From de3820dc1d0c5c1471a290c0877ca19d450ffdec Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sun, 7 Sep 2025 15:19:09 +0200 Subject: [PATCH 01/24] First implementation of Meson Build system --- .github/pull_request_template.md | 4 +- .github/workflows/ci.yml | 2 +- .gitignore | 32 + CONTRIBUTING.md | 34 +- README.md | 29 +- SECURITY.md | 20 + ...io.github.vikdevelop.SaveDesktop.Devel.svg | 0 .../io.github.vikdevelop.SaveDesktop.svg | 0 .../icons/hicolor/scalable/status}/done.svg | 0 ...github.vikdevelop.SaveDesktop-symbolic.svg | 0 ...o.github.vikdevelop.SaveDesktop.Source.svg | 0 data/icons/meson.build | 25 + ...o.github.vikdevelop.SaveDesktop.desktop.in | 7 + ....github.vikdevelop.SaveDesktop.gschema.xml | 2 +- ...hub.vikdevelop.SaveDesktop.metainfo.xml.in | 52 +- ...o.github.vikdevelop.SaveDesktop.service.in | 3 + data/meson.build | 46 + {flatpak => data}/screenshots/import_page.png | Bin .../screenshots/import_page_dark.png | Bin {flatpak => data}/screenshots/save_page.png | Bin .../screenshots/save_page_dark.png | Bin {flatpak => data}/screenshots/sync_page.png | Bin .../screenshots/sync_page_dark.png | Bin flatpak/icons/i | 1 - .../io.github.vikdevelop.SaveDesktop.desktop | 29 - flatpak/symbolic-icons/desktop-symbolic.svg | 4 - io.github.vikdevelop.SaveDesktop.json | 121 ++ io.github.vikdevelop.SaveDesktop.yaml | 115 -- meson.build | 18 + native/directories.sh | 46 - native/native_installer.py | 68 - po/LINGUAS | 25 + po/POTFILES.in | 13 + po/ar.po | 470 +++++ po/ca.po | 471 +++++ po/cs.po | 470 +++++ po/de.po | 470 +++++ po/es.po | 472 +++++ po/et.po | 469 +++++ po/fi.po | 471 +++++ po/fr.po | 471 +++++ po/hi.po | 470 +++++ po/hu.po | 470 +++++ po/ia.po | 470 +++++ po/id.po | 471 +++++ po/it.po | 472 +++++ po/meson.build | 1 + po/nb_NO.po | 470 +++++ po/nl.po | 471 +++++ po/pl.po | 470 +++++ po/pt.po | 471 +++++ po/pt_BR.po | 473 +++++ po/ru.po | 471 +++++ po/savedesktop.pot | 471 +++++ po/sv.po | 472 +++++ po/ta.po | 469 +++++ po/tr.po | 473 +++++ po/uk.po | 472 +++++ po/zh_Hans.po | 464 +++++ src/README.md | 15 - src/__init__.py | 1 + src/core/__init__.py | 1 + src/core/archive.py | 174 ++ src/{ => core}/config.py | 6 +- .../flatpaks_installer.py} | 0 src/core/meson.build | 11 + src/{ => core}/password_store.py | 2 +- src/{ => core}/periodic_saving.py | 10 +- src/{ => core}/synchronization.py | 26 +- src/core/synchronization_setup.py | 95 + src/globals.py | 63 + src/gui/__init__.py | 1 + src/gui/gtk/shortcuts_window.ui | 88 + src/{ => gui}/items_dialog.py | 36 +- src/gui/meson.build | 9 + src/gui/more_options_dialog.py | 186 ++ .../password_checker.py} | 16 +- src/gui/synchronization_dialogs.py | 471 +++++ src/gui/window.py | 817 ++++++++ src/localization.py | 101 - src/main.py | 152 ++ src/main_window.py | 1735 ----------------- src/meson.build | 43 + src/savedesktop.gresource.xml | 6 + savedesktop => src/savedesktop.in | 76 +- src/shortcuts_window.py | 101 - translations/ar.json | 103 - translations/ca.json | 103 - translations/cs.json | 103 - translations/de.json | 103 - translations/en.json | 103 - translations/es.json | 103 - translations/et.json | 103 - translations/fi.json | 103 - translations/fr.json | 103 - translations/hi.json | 103 - translations/hu.json | 103 - translations/ia.json | 103 - translations/id.json | 103 - translations/it.json | 103 - translations/nb_NO.json | 103 - translations/nl.json | 103 - translations/pl.json | 103 - translations/pt.json | 103 - translations/pt_BR.json | 103 - translations/ru.json | 103 - translations/sv.json | 103 - translations/ta.json | 103 - translations/tr.json | 103 - translations/uk.json | 103 - translations/zh_Hans.json | 103 - 111 files changed, 14321 insertions(+), 4957 deletions(-) create mode 100644 .gitignore create mode 100644 SECURITY.md rename {flatpak/icons => data/icons/hicolor/scalable/apps}/io.github.vikdevelop.SaveDesktop.Devel.svg (100%) rename {flatpak/icons => data/icons/hicolor/scalable/apps}/io.github.vikdevelop.SaveDesktop.svg (100%) rename {flatpak/symbolic-icons => data/icons/hicolor/scalable/status}/done.svg (100%) rename {flatpak/icons => data/icons/hicolor/symbolic/apps}/io.github.vikdevelop.SaveDesktop-symbolic.svg (100%) rename {flatpak => data}/icons/io.github.vikdevelop.SaveDesktop.Source.svg (100%) create mode 100644 data/icons/meson.build create mode 100644 data/io.github.vikdevelop.SaveDesktop.desktop.in rename {flatpak => data}/io.github.vikdevelop.SaveDesktop.gschema.xml (99%) rename flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml => data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in (66%) create mode 100644 data/io.github.vikdevelop.SaveDesktop.service.in create mode 100644 data/meson.build rename {flatpak => data}/screenshots/import_page.png (100%) rename {flatpak => data}/screenshots/import_page_dark.png (100%) rename {flatpak => data}/screenshots/save_page.png (100%) rename {flatpak => data}/screenshots/save_page_dark.png (100%) rename {flatpak => data}/screenshots/sync_page.png (100%) rename {flatpak => data}/screenshots/sync_page_dark.png (100%) delete mode 100644 flatpak/icons/i delete mode 100644 flatpak/io.github.vikdevelop.SaveDesktop.desktop delete mode 100644 flatpak/symbolic-icons/desktop-symbolic.svg create mode 100644 io.github.vikdevelop.SaveDesktop.json delete mode 100644 io.github.vikdevelop.SaveDesktop.yaml create mode 100644 meson.build delete mode 100644 native/directories.sh delete mode 100644 native/native_installer.py create mode 100644 po/LINGUAS create mode 100644 po/POTFILES.in create mode 100644 po/ar.po create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/de.po create mode 100644 po/es.po create mode 100644 po/et.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/hi.po create mode 100644 po/hu.po create mode 100644 po/ia.po create mode 100644 po/id.po create mode 100644 po/it.po create mode 100644 po/meson.build create mode 100644 po/nb_NO.po create mode 100644 po/nl.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ru.po create mode 100644 po/savedesktop.pot create mode 100644 po/sv.po create mode 100644 po/ta.po create mode 100644 po/tr.po create mode 100644 po/uk.po create mode 100644 po/zh_Hans.po delete mode 100644 src/README.md create mode 100644 src/__init__.py create mode 100644 src/core/__init__.py create mode 100644 src/core/archive.py rename src/{ => core}/config.py (98%) rename src/{install_flatpak_from_script.py => core/flatpaks_installer.py} (100%) create mode 100644 src/core/meson.build rename src/{ => core}/password_store.py (98%) rename src/{ => core}/periodic_saving.py (87%) rename src/{ => core}/synchronization.py (87%) create mode 100644 src/core/synchronization_setup.py create mode 100644 src/globals.py create mode 100644 src/gui/__init__.py create mode 100644 src/gui/gtk/shortcuts_window.ui rename src/{ => gui}/items_dialog.py (92%) create mode 100644 src/gui/meson.build create mode 100644 src/gui/more_options_dialog.py rename src/{password_check_gui.py => gui/password_checker.py} (82%) create mode 100644 src/gui/synchronization_dialogs.py create mode 100644 src/gui/window.py delete mode 100644 src/localization.py create mode 100644 src/main.py delete mode 100644 src/main_window.py create mode 100644 src/meson.build create mode 100644 src/savedesktop.gresource.xml rename savedesktop => src/savedesktop.in (57%) mode change 100644 => 100755 delete mode 100644 src/shortcuts_window.py delete mode 100644 translations/ar.json delete mode 100644 translations/ca.json delete mode 100644 translations/cs.json delete mode 100644 translations/de.json delete mode 100644 translations/en.json delete mode 100644 translations/es.json delete mode 100644 translations/et.json delete mode 100644 translations/fi.json delete mode 100644 translations/fr.json delete mode 100644 translations/hi.json delete mode 100644 translations/hu.json delete mode 100644 translations/ia.json delete mode 100644 translations/id.json delete mode 100644 translations/it.json delete mode 100644 translations/nb_NO.json delete mode 100644 translations/nl.json delete mode 100644 translations/pl.json delete mode 100644 translations/pt.json delete mode 100644 translations/pt_BR.json delete mode 100644 translations/ru.json delete mode 100644 translations/sv.json delete mode 100644 translations/ta.json delete mode 100644 translations/tr.json delete mode 100644 translations/uk.json delete mode 100644 translations/zh_Hans.json diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index de99921f..d27c4b9c 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -25,16 +25,14 @@ If your changes include visual modifications, please include screenshots to demo Select the installation methods on which you tested your changes: -- [ ] Flatpak +- [ ] Flatpak or GNOME Builder - [ ] Snap -- [ ] Native version from this repository ## Checklist - [ ] I have read the [contributing guidelines](https://github.com/vikdevelop/SaveDesktop/blob/main/CONTRIBUTING.md). - [ ] I have performed a self-review of my code. - [ ] I have commented my code where necessary. -- [ ] I have updated the documentation accordingly. - [ ] My changes do not introduce any new warnings. ## Additional Notes diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a57a769..bd9f6d8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: - name: Build Flatpak run: | - flatpak-builder --force-clean --repo=sdrepo build io.github.vikdevelop.SaveDesktop.yaml + flatpak-builder --force-clean --repo=sdrepo build io.github.vikdevelop.SaveDesktop.json flatpak build-bundle sdrepo io.github.vikdevelop.SaveDesktop.flatpak io.github.vikdevelop.SaveDesktop - name: Upload Flatpak artifact diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5216fdae --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# Build artifacts +build/ +build-dir/ +.flatpak-builder/ +.buildconfig + +# IDE/Editor files +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Python +__pycache__/ +*.pyc +*.pyo +*.egg-info/ + +# Temporary files +*.tmp +*.bak +*.orig +*.log + +# OS specific +.DS_Store +Thumbs.db + +# Meson specific +builddir/ +subprojects/*/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c464f4a2..61ac8c6d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,34 +11,20 @@ It is also possible to translate the application wiki using the same tool [here] To add or modify an existing language, you must be registered for Weblate, which can be done via email, a Github or Google account, and many other services. ## Involvement in development -The SaveDesktop application is written in Python 3 using [GTK 4.0](https://docs.gtk.org/gtk4/) and [LibAdwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/index.html) libraries, so if you have knowledge of Python and, ideally, in combination with these libraries, your contributions are welcome! +The application is written in Python 3 using [GTK 4.0](https://docs.gtk.org/gtk4/) and [LibAdwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/index.html) libraries, so if you have knowledge of Python and, ideally, in combination with these libraries, your contributions are welcome! If you don't know how to contribute specifically, you can check out the [issues marked as “good first issue”](https://github.com/vikdevelop/SaveDesktop/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). -No Python knowledge? Never mind. For example, you can contribute to the [application wiki](https://github.com/vikdevelop/SaveDesktop/tree/webpage/wiki) (improve webpage style, add screenshots in the `wiki/synchronization/screenshots` directory, etc.) +No Python knowledge? Never mind. For example, you can contribute to the [application wiki](https://github.com/vikdevelop/SaveDesktop/tree/webpage/wiki) (e.g. improve webpage style) ### So how to proceed? -1. Fork this repository *(see the [Github docs](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) for more information)* -2. Go to your fork of this repository *(e.g., https://github.com//SaveDesktop)* -3. Make changes you want -4. If you want to test your changes, you can proceed as follows: - - clone your fork - ```bash - git clone https://github.com//SaveDesktop - ``` - - go to the cloned fork folder - ```bash - cd SaveDesktop - ``` - - build the application using Flatpak Builder - - if you have not installed org.gnome.Sdk (the latest version) runtime, install it using this command: `flatpak install runtime/org.gnome.Sdk/x86_64/[GNOME's latest version] -y` - ```bash - flatpak-builder build *.yaml --install --user - ``` - - alternatively, you can build a native version as follows (assuming you have GTK 4.0 and LibAdwaita libraries in the latest version): - ```bash - sh native/directories.sh --install - ``` -5. Once you are happy with your changes, submit a pull request to this repository, which I will review and merge with my repository if necessary. +1. Fork this repository +2. Clone your fork in GNOME Builder +3. Make and test your changes +4. Open terminal (Ctrl+Shift+T) and run: + ```bash + git add . && git commit -m "Describe your changes" && git push + ``` +5. Create pull request on GitHub *It should be noted that this app is available under the [GNU GPL 3.0](https://github.com/vikdevelop/SaveDesktop/blob/main/LICENSE) license, so it is necessary to follow the license conditions.* diff --git a/README.md b/README.md index 412a746d..0365822b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- +

Save Desktop

Save your desktop configuration

@@ -148,25 +148,12 @@ NOTE: It can happen that a backup file will not be created, in that case, just a ### Stable releases -- Flathub Download on Flathub -- Snap - Get it from the Snap Store -- Install on the system (native version) - - ```bash - # Install - wget -qO /tmp/savedesktop-native-installer.py https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/native/native_installer.py && python3 /tmp/savedesktop-native-installer.py --install - - # Remove - wget -qO /tmp/savedesktop-native-installer.py https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/native/native_installer.py && python3 /tmp/savedesktop-native-installer.py --remove - ``` - ### Beta releases If you want to help with the testing of the future releases of this app, you can use one of these options: @@ -185,20 +172,16 @@ To install the Save Desktop Beta, run the following command: ``` snap install savedesktop --beta ``` -#### 3. Flatpak Builder -Before building this app using Flatpak Builder, ensure if you have installed org.gnome.Sdk runtime. If not, use this command: `flatpak install org.gnome.Sdk//48` - -Then, you can continue in building this app using Flatpak Builder by entering this command: - -``` -git clone https://github.com/vikdevelop/SaveDesktop && cd SaveDesktop && flatpak-builder build *.yaml --install --user -``` +#### 3. GNOME Builder +1. Install GNOME Builder from [Flathub](https://flathub.org/apps/org.gnome.Builder) +2. Click on the "Clone repository" button and enter URL of this repository +3. Click on the Run button (Ctrl+Shift+Space)
-

Contribution

Translations, reporting issues, contributing and code of conduct

+

Contribution

Code of Conduct, translations and reporting issues

### Code of Conduct diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..748d4c9d --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,20 @@ +# Security Policy +### Reporting Security Issues + +If you discover a vulnerability, please **don't open a public issue.** + +Instead, report it privately to the maintainer via one of the following methods: +- GitHub Security Advisory: use the _Security_ tab +- Email: vikdevelop@proton.me + +### Distribution +The application is officially distributed through **Flathub** and the **Snap Store**, both with automatic updates. + +Unofficial, community-maintained packages may also exist for other platforms or distributions (e.g. AUR, PPAs, third-party repositories). + +Please note that these builds are **not officially supported** by the maintainer. + +- **Security vulnerabilities in the application itself** should always be reported directly to the maintainer (see above). +- **Issues related to unofficial packages** (e.g. build errors, missing dependencies, outdated versions) should be reported to the respective package maintainer. + +Thank you for helping keep this project secure by reporting issues responsibly! diff --git a/flatpak/icons/io.github.vikdevelop.SaveDesktop.Devel.svg b/data/icons/hicolor/scalable/apps/io.github.vikdevelop.SaveDesktop.Devel.svg similarity index 100% rename from flatpak/icons/io.github.vikdevelop.SaveDesktop.Devel.svg rename to data/icons/hicolor/scalable/apps/io.github.vikdevelop.SaveDesktop.Devel.svg diff --git a/flatpak/icons/io.github.vikdevelop.SaveDesktop.svg b/data/icons/hicolor/scalable/apps/io.github.vikdevelop.SaveDesktop.svg similarity index 100% rename from flatpak/icons/io.github.vikdevelop.SaveDesktop.svg rename to data/icons/hicolor/scalable/apps/io.github.vikdevelop.SaveDesktop.svg diff --git a/flatpak/symbolic-icons/done.svg b/data/icons/hicolor/scalable/status/done.svg similarity index 100% rename from flatpak/symbolic-icons/done.svg rename to data/icons/hicolor/scalable/status/done.svg diff --git a/flatpak/icons/io.github.vikdevelop.SaveDesktop-symbolic.svg b/data/icons/hicolor/symbolic/apps/io.github.vikdevelop.SaveDesktop-symbolic.svg similarity index 100% rename from flatpak/icons/io.github.vikdevelop.SaveDesktop-symbolic.svg rename to data/icons/hicolor/symbolic/apps/io.github.vikdevelop.SaveDesktop-symbolic.svg diff --git a/flatpak/icons/io.github.vikdevelop.SaveDesktop.Source.svg b/data/icons/io.github.vikdevelop.SaveDesktop.Source.svg similarity index 100% rename from flatpak/icons/io.github.vikdevelop.SaveDesktop.Source.svg rename to data/icons/io.github.vikdevelop.SaveDesktop.Source.svg diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 00000000..fe5c942f --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,25 @@ +application_id = 'io.github.vikdevelop.SaveDesktop' + +# Scalable app icons +scalable_apps_dir = join_paths('hicolor', 'scalable', 'apps') +install_data( + files( + join_paths(scalable_apps_dir, ('@0@.svg').format(application_id)), + join_paths(scalable_apps_dir, ('@0@.Devel.svg').format(application_id)) + ), + install_dir: join_paths(get_option('datadir'), 'icons', scalable_apps_dir) +) + +# Scalable status icon +scalable_status_dir = join_paths('hicolor', 'scalable', 'status') +install_data( + files(join_paths(scalable_status_dir, 'done.svg')), + install_dir: join_paths(get_option('datadir'), 'icons', scalable_status_dir) +) + +# Symbolic app icon +symbolic_apps_dir = join_paths('hicolor', 'symbolic', 'apps') +install_data( + files(join_paths(symbolic_apps_dir, ('@0@-symbolic.svg').format(application_id))), + install_dir: join_paths(get_option('datadir'), 'icons', symbolic_apps_dir) +) \ No newline at end of file diff --git a/data/io.github.vikdevelop.SaveDesktop.desktop.in b/data/io.github.vikdevelop.SaveDesktop.desktop.in new file mode 100644 index 00000000..78d7b65d --- /dev/null +++ b/data/io.github.vikdevelop.SaveDesktop.desktop.in @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Save Desktop +Categories=Utility +Comment=Save your desktop configuration +Exec=savedesktop +Type=Application +Icon=io.github.vikdevelop.SaveDesktop diff --git a/flatpak/io.github.vikdevelop.SaveDesktop.gschema.xml b/data/io.github.vikdevelop.SaveDesktop.gschema.xml similarity index 99% rename from flatpak/io.github.vikdevelop.SaveDesktop.gschema.xml rename to data/io.github.vikdevelop.SaveDesktop.gschema.xml index e59131cc..5b4bb015 100644 --- a/flatpak/io.github.vikdevelop.SaveDesktop.gschema.xml +++ b/data/io.github.vikdevelop.SaveDesktop.gschema.xml @@ -2,7 +2,7 @@ - (570, 570) + (630, 517) Window size diff --git a/flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml b/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in similarity index 66% rename from flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml rename to data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in index 9c59657e..987fadcf 100644 --- a/flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml +++ b/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in @@ -36,67 +36,26 @@ https://hosted.weblate.org/projects/vikdevelop/savedesktop/ https://github.com/vikdevelop/SaveDesktop/blob/main/CONTRIBUTING.md - Save your desktop configuration - Uložte konfiguraci plochy - Sauvegarder la configuration actuelle de votre environnement de bureau - Salve a configuração da sua área de trabalho - Salva la configurazione del tuo desktop - Sla de huidige voorkeuren van uw werkomgeving op - احفظ التخصيصات الحالية لبيئة سطح المكتب الخاص بك - Сохраните конфигурацию вашего окружения рабочего стола - Simpan konfigurasi lingkungan desktop Anda saat ini - Lagre nåværende oppsett av skrivebordsmiljøet ditt - Збережіть конфігурацію вашої стільниці - Mentsd el az asztali környezeted jelenlegi konfigurációját - Guardar la configuración del escritorio - Masaüstünün şuanki ayarlarını kayıt et - Speichern Sie die aktuelle Konfiguration Ihrer Desktop-Umgebung - 保存您的桌面环境配置 - Desa la configuració actual del vostre entorn d'escriptori - अपना डेस्कटॉप विन्यास सहेजें - Grave a sua configuração da área de trabalho - Tallenna työpöytäsi määritys - Spara din skrivbordskonfiguration - Salvesta oma töölaua seadistused - உங்கள் டெச்க்டாப் உள்ளமைவைச் சேமிக்கவும் + Save your desktop configuration -

Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click.

-

Save Desktop umožňuje uložit aktuální konfiguraci (motivy, ikony, tapety, všechna nastavení prostředí, rozšíření atd.) jedním kliknutím.

-

Save Desktop vous permet de sauvegarder votre configuration actuelle (thèmes, icônes, fonds d'écran, tous les paramètres de l'environnement de bureau, les extensions, en un seul clic.

-

Save Desktop permite que você salve sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um único clique.

-

Desideri salvare la tua configurazione corrente inclusi temi, icone, sfondi, tutte le impostazioni dell'ambiente desktop, estensioni e così via? Save Desktop può aiutarti in questo. Basta un clic e hai la tua configurazione salvata.

-

Wilt u uw huidige voorkeuren (thema's, pictogrammen, bureaubladachtergronden, systeemvoorkeuren, uitbreidingen, etc.) opslaan? SaveDesktop kan u hierbij helpen. Met slechts één muisklik wordt alles opgeslagen.

-

هل ترغب في حفظ التخصيصات الحالي الخاص بك بما في ذلك السمات والرموز والخلفيات وجميع إعدادات بيئة سطح المكتب والإضافات وما إلى ذلك؟ يمكن أن يساعدك Save Desktop في ذلك. بنقرة واحدة فقط ويتم حفظ التخصيصات الخاص بك.

-

Вы хотите сохранить текущую конфигурацию, включая темы, значки, обои, все настройки окружения рабочего стола, расширения и т.д.? Save Desktop поможет вам в этом. Всего один клик - и ваша конфигурация сохранена.

-

Save Desktop memungkinkan Anda menyimpan konfigurasi saat ini (tema, ikon, wallpaper, semua pengaturan lingkungan desktop, ekstensi, dll.) dengan satu klik.

-

Save Desktop lar deg lagre ditt nåværende oppsett (drakter, ikoner, bakgrunnsbilder, alle skrivebordsmiljøinnstillinger, utvidelser, osv.) med ett klikk.

-

Save Desktop дозволяє зберегти поточну конфігурацію (теми, значки, шпалери, всі налаштування середовища робочого столу, розширення тощо) одним клацанням миші.

-

Save Desktop lehetővé teszi, hogy egy gombnyomással elmentsd a jelenlegi konfigurációdat (témákat, ikonokat, háttereket, az összes asztali környezeti beállítást, kiegészítéseket, stb.).

-

Save Desktop te permite guardar tu configuración actual (temas, iconos, fondos de pantalla, todos los ajustes del entorno del escritorio, extensiones, etc.) con un solo clic.

-

Save Desktop senin suanki ayarlarını(temalar,iconlar,duvar kağıtları, tüm masaüstü ortam ayları , eklentiler , vb.) tek tıkla kaydetmene izin verir.

-

Mit Save Desktop können Sie Ihre aktuelle Konfiguration (Designs, Symbole, Hintergrundbilder, alle Einstellungen der Desktop-Umgebung, Erweiterungen usw.) mit einem Klick speichern.

-

Save Desktop 可让您一键保存当前配置(主题、图标、壁纸、所有桌面环境设置、扩展等)。

-

El Save Desktop us permet desar la configuració actual (temes, icones, fons de pantalla, totes les opcions de configuració de l'entorn d'escriptori, complements, etc.) amb un sol clic.

-

Save Desktop आपको एक क्लिक से अपने वर्तमान विन्यास (थीम, आइकन, वॉलपेपर, सभी डेस्कटॉप वातावरण सेटिंग्स, एक्सटेंशन इत्यादि) को सहेजने देता है।

-

Save Desktop permite gravar a sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um clique.

-

Save Desktopin avulla voit tallentaa työpöytäympäristösi määrityksen (teemat, kuvakkeet, taustakuvat, kaikki työpöytäympäristön asetukset, laajennukset jne.) yhdellä napsautuksella.

-

Save Desktop låter dig spara din nuvarande konfiguration (teman, ikoner, bakgrundsbilder, alla skrivbordsmiljöinställningar, tillägg, etc.) med ett klick.

-

Save Desktop võimaldab sul ühe klõpsuga salvestada (ja seega ka varundada) oma töölaua seadistused (kujundus, ikoonid, taustapildid, kõik töölauakeskkonna seadistused, lisamoodulid, jne).

-

உங்கள் தற்போதைய உள்ளமைவை (கருப்பொருள்கள், சின்னங்கள், வால்பேப்பர்கள், அனைத்து டெச்க்டாப் சுற்றுச்சூழல் அமைப்புகள், நீட்டிப்புகள் போன்றவை) ஒரே கிளிக்கில் சேமிக்க சேமிப்பக்டாப் உங்களை அனுமதிக்கிறது.

+

Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click.

Configuration save page + https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/flatpak/screenshots/save_page.png Configuration import page + https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/flatpak/screenshots/import_page.png Configuration synchronization page + https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/flatpak/screenshots/sync_page.png @@ -363,3 +322,4 @@ + diff --git a/data/io.github.vikdevelop.SaveDesktop.service.in b/data/io.github.vikdevelop.SaveDesktop.service.in new file mode 100644 index 00000000..d4b41abb --- /dev/null +++ b/data/io.github.vikdevelop.SaveDesktop.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=io.github.vikdevelop.SaveDesktop +Exec=@bindir@/savedesktop --gapplication-service diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 00000000..1626be19 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,46 @@ +desktop_file = i18n.merge_file( + input: 'io.github.vikdevelop.SaveDesktop.desktop.in', + output: 'io.github.vikdevelop.SaveDesktop.desktop', + type: 'desktop', + po_dir: '../po', + install: true, + install_dir: get_option('datadir') / 'applications' +) + +desktop_utils = find_program('desktop-file-validate', required: false) +if desktop_utils.found() + test('Validate desktop file', desktop_utils, args: [desktop_file]) +endif + +appstream_file = i18n.merge_file( + input: 'io.github.vikdevelop.SaveDesktop.metainfo.xml.in', + output: 'io.github.vikdevelop.SaveDesktop.metainfo.xml', + po_dir: '../po', + install: true, + install_dir: get_option('datadir') / 'metainfo' +) + +appstreamcli = find_program('appstreamcli', required: false, disabler: true) +test('Validate appstream file', appstreamcli, + args: ['validate', '--no-net', '--explain', appstream_file]) + +install_data('io.github.vikdevelop.SaveDesktop.gschema.xml', + install_dir: get_option('datadir') / 'glib-2.0' / 'schemas' +) + +compile_schemas = find_program('glib-compile-schemas', required: false, disabler: true) +test('Validate schema file', + compile_schemas, + args: ['--strict', '--dry-run', meson.current_source_dir()]) + + +service_conf = configuration_data() +service_conf.set('bindir', get_option('prefix') / get_option('bindir')) +configure_file( + input: 'io.github.vikdevelop.SaveDesktop.service.in', + output: 'io.github.vikdevelop.SaveDesktop.service', + configuration: service_conf, + install_dir: get_option('datadir') / 'dbus-1' / 'services' +) + +subdir('icons') diff --git a/flatpak/screenshots/import_page.png b/data/screenshots/import_page.png similarity index 100% rename from flatpak/screenshots/import_page.png rename to data/screenshots/import_page.png diff --git a/flatpak/screenshots/import_page_dark.png b/data/screenshots/import_page_dark.png similarity index 100% rename from flatpak/screenshots/import_page_dark.png rename to data/screenshots/import_page_dark.png diff --git a/flatpak/screenshots/save_page.png b/data/screenshots/save_page.png similarity index 100% rename from flatpak/screenshots/save_page.png rename to data/screenshots/save_page.png diff --git a/flatpak/screenshots/save_page_dark.png b/data/screenshots/save_page_dark.png similarity index 100% rename from flatpak/screenshots/save_page_dark.png rename to data/screenshots/save_page_dark.png diff --git a/flatpak/screenshots/sync_page.png b/data/screenshots/sync_page.png similarity index 100% rename from flatpak/screenshots/sync_page.png rename to data/screenshots/sync_page.png diff --git a/flatpak/screenshots/sync_page_dark.png b/data/screenshots/sync_page_dark.png similarity index 100% rename from flatpak/screenshots/sync_page_dark.png rename to data/screenshots/sync_page_dark.png diff --git a/flatpak/icons/i b/flatpak/icons/i deleted file mode 100644 index 8b137891..00000000 --- a/flatpak/icons/i +++ /dev/null @@ -1 +0,0 @@ - diff --git a/flatpak/io.github.vikdevelop.SaveDesktop.desktop b/flatpak/io.github.vikdevelop.SaveDesktop.desktop deleted file mode 100644 index 5ddac223..00000000 --- a/flatpak/io.github.vikdevelop.SaveDesktop.desktop +++ /dev/null @@ -1,29 +0,0 @@ -[Desktop Entry] -Name=Save Desktop -Categories=Utility -Comment=Save your desktop configuration -Comment[cs]=Uložte konfiguraci plochy -Comment[fr]=Sauvegarder la configuration actuelle de votre environnement de bureau -Comment[pt_BR]=Salve a configuração da sua área de trabalho -Comment[it]=Salva la configurazione del tuo desktop -Comment[nl]=Sla de huidige voorkeuren van uw werkomgeving op -Comment[ar]=احفظ التخصيصات الحالية لبيئة سطح المكتب الخاص بك -Comment[ru]=Сохраните конфигурацию вашего окружения рабочего стола -Comment[id]=Simpan konfigurasi lingkungan desktop Anda saat ini -Comment[uk]=Збережіть конфігурацію вашої стільниці -Comment[nb_NO]=Lagre nåværende oppsett av skrivebordsmiljøet ditt -Comment[hu]=Mentsd el az asztali környezeted jelenlegi konfigurációját -Comment[es]=Guardar la configuración del escritorio -Comment[tr]=Masaüstünün şuanki ayarlarını kayıt et -Comment[de]=Speichern Sie die aktuelle Konfiguration Ihrer Desktop-Umgebung -Comment[zh]=保存您的桌面环境配置 -Comment[ca]=Desa la configuració actual del vostre entorn d'escriptori -Comment[hi]=अपना डेस्कटॉप विन्यास सहेजें -Comment[pt]=Grave a sua configuração da área de trabalho -Comment[fi]=Tallenna työpöytäsi määritys -Comment[sv]=Spara din skrivbordskonfiguration -Comment[et]=Salvesta oma töölaua seadistused -Comment[ta]=உங்கள் டெச்க்டாப் உள்ளமைவைச் சேமிக்கவும் -Exec=savedesktop -Type=Application -Icon=io.github.vikdevelop.SaveDesktop diff --git a/flatpak/symbolic-icons/desktop-symbolic.svg b/flatpak/symbolic-icons/desktop-symbolic.svg deleted file mode 100644 index 3e68cb29..00000000 --- a/flatpak/symbolic-icons/desktop-symbolic.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/io.github.vikdevelop.SaveDesktop.json b/io.github.vikdevelop.SaveDesktop.json new file mode 100644 index 00000000..64574339 --- /dev/null +++ b/io.github.vikdevelop.SaveDesktop.json @@ -0,0 +1,121 @@ +{ + "app-id" : "io.github.vikdevelop.SaveDesktop", + "desktop-file-name-suffix" : " (Master)", + "runtime" : "org.gnome.Platform", + "runtime-version" : "48", + "sdk" : "org.gnome.Sdk", + "command" : "savedesktop", + "finish-args" : [ + "--share=ipc", + "--socket=wayland", + "--socket=fallback-x11", + "--device=dri", + "--filesystem=xdg-run/gvfs", + "--filesystem=xdg-run/gvfsd", + "--filesystem=~/.config", + "--filesystem=~/.local/share", + "--filesystem=xdg-download", + "--filesystem=xdg-music", + "--filesystem=xdg-videos", + "--filesystem=xdg-documents", + "--filesystem=xdg-public-share", + "--filesystem=xdg-pictures", + "--filesystem=xdg-desktop", + "--filesystem=~/.themes:create", + "--filesystem=~/.icons:create", + "--filesystem=~/.cinnamon:create", + "--filesystem=~/.xfce4:create", + "--filesystem=~/.fonts:create", + "--filesystem=/var/lib/flatpak:ro", + "--filesystem=~/.local/share/flatpak/app:ro", + "--filesystem=~/.var/app:ro", + "--talk-name=org.gnome.SessionManager", + "--talk-name=org.xfce.SessionManager", + "--talk-name=org.kde.LogoutPrompt", + "--talk-name=com.system76.CosmicSession", + "--talk-name=org.freedesktop.FileManager1", + "--env=DCONF_USER_CONFIG_DIR=.config/dconf", + "--filesystem=xdg-run/dconf", + "--talk-name=ca.desrt.dconf" + ], + "modules" : [ + { + "name" : "7zip", + "buildsystem" : "simple", + "subdir" : "CPP/7zip/Bundles/Alone2", + "build-commands" : [ + "make -j $FLATPAK_BUILDER_N_JOBS -f makefile.gcc", + "install -D ./_o/7zz -t /app/bin", + "ln -s /app/bin/7zz /app/bin/7z" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://github.com/ip7z/7zip.git", + "tag" : "25.01", + "commit" : "5e96a8279489832924056b1fa82f29d5837c9469" + } + ], + "x-checker-data" : { + "type" : "git", + "tag-pattern" : "^([\\d.]+)$" + } + }, + { + "name" : "dconf-amd64", + "only-arches" : [ + "x86_64" + ], + "buildsystem" : "simple", + "build-commands" : [ + "cp -R * /app" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://github.com/vikdevelop/SaveDesktop/releases/download/2.9.5n/dconf_build.tar.xz", + "sha256" : "164fc714f96ef4b348665fc3617f54cfa5acf12df5c039d7a9d21ba1d86a2f2d" + } + ] + }, + { + "name" : "dconf-aarch64", + "only-arches" : [ + "aarch64" + ], + "buildsystem" : "meson", + "config-opts" : [ + "-Dsystemduserunitdir=/app/lib/systemd/user/", + "-Dbash_completion=false", + "-Dman=false" + ], + "cleanup" : [ + "/include", + "/lib/pkgconfig", + "/libexec", + "/share/dbus-1" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://download.gnome.org/sources/dconf/0.40/dconf-0.40.0.tar.xz", + "sha256" : "cf7f22a4c9200421d8d3325c5c1b8b93a36843650c9f95d6451e20f0bcb24533" + } + ] + }, + { + "name" : "savedesktop", + "builddir" : true, + "buildsystem" : "meson", + "sources" : [ + { + "type" : "dir", + "path" : "." + } + ], + "config-opts" : [ + "--libdir=lib" + ] + } + ] +} diff --git a/io.github.vikdevelop.SaveDesktop.yaml b/io.github.vikdevelop.SaveDesktop.yaml deleted file mode 100644 index 9bc7fa0f..00000000 --- a/io.github.vikdevelop.SaveDesktop.yaml +++ /dev/null @@ -1,115 +0,0 @@ -app-id: io.github.vikdevelop.SaveDesktop -desktop-file-name-suffix: ' (Master)' -runtime: org.gnome.Platform -runtime-version: '48' -sdk: org.gnome.Sdk -command: savedesktop -finish-args: - - --share=ipc - - --socket=wayland - - --socket=fallback-x11 - - --device=dri - # for opening cloud folders properly - - --filesystem=xdg-run/gvfs - - --filesystem=xdg-run/gvfsd - # load Desktop environment config files - - --filesystem=~/.config - # load Desktop environment data files (e.g. backgrounds, extensions, etc.) - - --filesystem=~/.local/share - # to be able to select destination for saving configuration in also these directories - - --filesystem=xdg-download - - --filesystem=xdg-music - - --filesystem=xdg-videos - - --filesystem=xdg-documents - - --filesystem=xdg-public-share - - --filesystem=xdg-pictures - - --filesystem=xdg-desktop - # save all themes installed in home folder - - --filesystem=~/.themes:create - # save all icons installed in home folder - - --filesystem=~/.icons:create - # save cinnamon config in home directory - - --filesystem=~/.cinnamon:create - # save xfce config in home directory - - --filesystem=~/.xfce4:create - # save all fonts installed in home directory - - --filesystem=~/.fonts:create - # save a list of installed flatpak apps - - --filesystem=/var/lib/flatpak:ro - - --filesystem=~/.local/share/flatpak/app:ro - # save user data of installed flatpak apps - - --filesystem=~/.var/app:ro - # log out from session (GNOME-based environments) for changes to the desktop configuration to take effect - - --talk-name=org.gnome.SessionManager - # log out from session (Xfce) for changes to the Xfce desktop configuration to take effect - - --talk-name=org.xfce.SessionManager - # log out from session (KDE5) for changes to the KDE5 desktop configuration to take effect - - --talk-name=org.kde.LogoutPrompt - # log out from session (COSMIC Rust) for changes to the COSMIC Rust desktop configuration to take effect - - --talk-name=com.system76.CosmicSession - # ensuring to FileChooserNative will work correctly - - --talk-name=org.freedesktop.FileManager1 - - --env=DCONF_USER_CONFIG_DIR=.config/dconf - - --filesystem=xdg-run/dconf - - --talk-name=ca.desrt.dconf -modules: - - name: 7zip - buildsystem: simple - subdir: CPP/7zip/Bundles/Alone2 - build-commands: - - make -j $FLATPAK_BUILDER_N_JOBS -f makefile.gcc - - install -D ./_o/7zz -t /app/bin - - ln -s /app/bin/7zz /app/bin/7z - sources: - - type: git - url: https://github.com/ip7z/7zip.git - tag: '25.01' - commit: 5e96a8279489832924056b1fa82f29d5837c9469 - x-checker-data: - type: git - tag-pattern: ^([\d.]+)$ - - name: dconf-amd64 - only-arches: ['x86_64'] - buildsystem: simple - build-commands: - - cp -R * /app - sources: - - type: archive - url: https://github.com/vikdevelop/SaveDesktop/releases/download/2.9.5n/dconf_build.tar.xz - sha256: 164fc714f96ef4b348665fc3617f54cfa5acf12df5c039d7a9d21ba1d86a2f2d - - name: dconf-aarch64 - only-arches: ['aarch64'] - buildsystem: meson - config-opts: - - "-Dsystemduserunitdir=/app/lib/systemd/user/" - - "-Dbash_completion=false" - - "-Dman=false" - cleanup: - - "/include" - - "/lib/pkgconfig" - - "/libexec" - - "/share/dbus-1" - sources: - - type: archive - url: https://download.gnome.org/sources/dconf/0.40/dconf-0.40.0.tar.xz - sha256: cf7f22a4c9200421d8d3325c5c1b8b93a36843650c9f95d6451e20f0bcb24533 - - name: savedesktop - buildsystem: simple - build-commands: - - install -Dm755 -t /app/bin savedesktop - - cp -R src/* /app - - install -D -t /app/share/applications flatpak/io.github.vikdevelop.SaveDesktop.desktop - - install -D -t /app/share/icons/hicolor/scalable/apps flatpak/icons/io.github.vikdevelop.SaveDesktop.svg - - install -D -t /app/share/icons/hicolor/scalable/apps flatpak/icons/io.github.vikdevelop.SaveDesktop.Devel.svg - - install -D -t /app/share/icons/hicolor/symbolic/apps flatpak/icons/io.github.vikdevelop.SaveDesktop-symbolic.svg - - install -D -t /app/share/icons/hicolor/128x128/apps flatpak/symbolic-icons/exclamation_mark.png - - install -D -t /app/share/icons/hicolor/128x128/apps flatpak/symbolic-icons/desktop-symbolic.svg - - install -D -t /app/share/icons/hicolor/128x128/apps flatpak/symbolic-icons/list-view.png - - install -D -t /app/share/icons/hicolor/128x128/apps flatpak/symbolic-icons/done.svg - - install -D -t /app/share/metainfo flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml - - install -D -t /app/share/glib-2.0/schemas flatpak/io.github.vikdevelop.SaveDesktop.gschema.xml - - glib-compile-schemas /app/share/glib-2.0/schemas - - cp -R translations /app/ - sources: - - type: dir - path: . diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..8b0624da --- /dev/null +++ b/meson.build @@ -0,0 +1,18 @@ +project('savedesktop', + version: '3.6.2', + meson_version: '>= 1.0.0', + default_options: [ 'warning_level=2', 'werror=false', ], +) + +i18n = import('i18n') +gnome = import('gnome') + +subdir('data') +subdir('src') +subdir('po') + +gnome.post_install( + glib_compile_schemas: true, + gtk_update_icon_cache: true, + update_desktop_database: true, +) diff --git a/native/directories.sh b/native/directories.sh deleted file mode 100644 index 40cec390..00000000 --- a/native/directories.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/bash - -if [ "$1" = "--install" ]; then - # Create cache and data dirs - mkdir -p ~/.cache/io.github.vikdevelop.SaveDesktop - mkdir -p ~/.local/share/io.github.vikdevelop.SaveDesktop - install -Dm755 -t ~/.local/bin savedesktop - install -D -t ~/.local/share/applications flatpak/io.github.vikdevelop.SaveDesktop.desktop - install -D -t ~/.local/share/metainfo flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml - install -D -t ~/.local/share/glib-2.0/schemas flatpak/io.github.vikdevelop.SaveDesktop.gschema.xml - install -D -t ~/.local/share/licenses/savedesktop LICENSE - mkdir -p ~/.local/share/savedesktop - cp -R src ~/.local/share/savedesktop/ - cp -R translations ~/.local/share/savedesktop/ - cp -R native/native_installer.py ~/.local/share/savedesktop/ - echo -e "[Desktop Entry]\nName=SaveDesktop Native Updater\nType=Application\nExec=python3 ${HOME}/.local/share/savedesktop/native_installer.py --update" > ~/.config/autostart/io.github.vikdevelop.SaveDesktop.Updater.desktop - export GSETTINGS_SCHEMA_DIR="$HOME/.local/share/glib-2.0/schemas:${GSETTINGS_SCHEMA_DIR}" - glib-compile-schemas ~/.local/share/glib-2.0/schemas - # Install app icons - install -D -t ~/.local/share/icons/hicolor/scalable/apps flatpak/icons/io.github.vikdevelop.SaveDesktop.svg - install -D -t ~/.local/share/icons/hicolor/symbolic/apps flatpak/icons/io.github.vikdevelop.SaveDesktop-symbolic.svg - install -D -t ~/.local/share/icons/hicolor/symbolic/apps flatpak/symbolic-icons/desktop-symbolic.svg - install -D -t ~/.local/share/icons/hicolor/symbolic/apps flatpak/symbolic-icons/list-view.png - install -D -t ~/.local/share/icons/hicolor/symbolic/apps flatpak/symbolic-icons/done.svg - install -D -t ~/.local/share/icons/hicolor/symbolic/apps flatpak/symbolic-icons/exclamation_mark.png - cd - echo "SaveDesktop has been installed! You can run it with this command: \"savedesktop\" or \"~/.local/bin/savedesktop\"." -fi - -if [ "$1" = "--remove" ]; then - rm ~/.local/bin/savedesktop - rm ~/.local/share/applications/io.github.vikdevelop.SaveDesktop.desktop - rm ~/.local/share/metainfo/io.github.vikdevelop.SaveDesktop.metainfo.xml - rm ~/.local/share/glib-2.0/schemas/io.github.vikdevelop.SaveDesktop.gschema.xml - rm -rf ~/.local/share/savedesktop - rm -rf ~/.local/share/licenses/savedesktop - # Remove app icons - rm ~/.local/share/icons/hicolor/scalable/apps/io.github.vikdevelop.SaveDesktop.svg - rm ~/.local/share/icons/hicolor/symbolic/apps/io.github.vikdevelop.SaveDesktop-symbolic.svg - rm ~/.local/share/icons/hicolor/symbolic/apps/desktop-symbolic.svg - rm ~/.local/share/icons/hicolor/symbolic/apps/list-view.png - rm ~/.local/share/icons/hicolor/symbolic/apps/done.svg - rm ~/.local/share/icons/hicolor/symbolic/apps/exclamation_mark.png - cd - echo "SaveDesktop has been removed." -fi diff --git a/native/native_installer.py b/native/native_installer.py deleted file mode 100644 index d5c7b62d..00000000 --- a/native/native_installer.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/python3 -import requests, json, os, sys, argparse, gi -gi.require_version('Gtk', '4.0') -gi.require_version('Adw', '1') -from gi.repository import Gtk, Adw -from pathlib import Path - -# Check GTK and LibAdwaita versions -gtk_ver = f"{Gtk.MAJOR_VERSION}.{Gtk.MINOR_VERSION}" -adw_ver = f"{Adw.MAJOR_VERSION}.{Adw.MINOR_VERSION}" - -if gtk_ver < "4.14" or adw_ver < "1.5": - print(f"You have installed an unsupported version of the GTK and LibAdwaita libraries, specifically you have GTK {gtk_ver} and LibAdwaita {adw_ver}. For proper functionality, you must have at least GTK 4.14 and LibAdwaita 1.5.") - print("If you want a simple solution to this problem, please install the Flatpak or Snap packages, which have available the necessary libraries available. The instructions are available here: https://github.com/vikdevelop/SaveDesktop?tab=readme-ov-file#installation") - exit() - -parser = argparse.ArgumentParser() -parser.add_argument("--install", help="Install SaveDesktop", action="store_true") -parser.add_argument("--remove", help="Remove SaveDesktop", action="store_true") -parser.add_argument("--update", help="Update SaveDesktop", action="store_true") - -args = parser.parse_args() - -def install(github_version): - os.makedirs("/tmp/SaveDesktop", exist_ok=True) - os.chdir("/tmp/SaveDesktop") - os.system(f"wget -c https://github.com/vikdevelop/SaveDesktop/archive/refs/tags/{github_version}.tar.gz") - os.system("tar -xf *.tar.gz") - os.chdir(f"SaveDesktop-{github_version}") - - os.system("wget -c https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/native/directories.sh") - os.system("sh directories.sh --install") - os.system("rm -rf /tmp/SaveDesktop") - -def remove(): - os.makedirs("/tmp/SaveDesktop", exist_ok=True) - os.chdir("/tmp/SaveDesktop") - os.system("wget -c https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/native/directories.sh") - os.system("sh directories.sh --remove") - os.system("rm -rf /tmp/SaveDesktop") - -if args.install: - response = requests.get("https://api.github.com/repos/vikdevelop/SaveDesktop/releases/latest") - github_version = response.json()["tag_name"] - install(github_version) - -if args.remove: - remove() - -if args.update: - response = requests.get("https://api.github.com/repos/vikdevelop/SaveDesktop/releases/latest") - github_version = response.json()["tag_name"] - - sys.path.append(f"{Path.home()}/.local/share/savedesktop") - os.chdir(f"{Path.home()}/.local/share/savedesktop") - from src.localization import * - os.chdir(f"{Path.home()}/.local/bin") - - d_ver = subprocess.getoutput("cat ~/.local/share/io.github.vikdevelop.SaveDesktop/version.txt") - - if not d_ver == f"{github_version}": - remove() - - install(github_version) - - with open(Path.home() / ".local/share/io.github.vikdevelop.SaveDesktop/version.txt", "w") as version_file: - version_file.write(github_version) - diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 00000000..84d19932 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,25 @@ +# Please keep this file sorted alphabetically. +ar +ca +cs +de +es +et +fi +fr +hi +hu +ia +id +it +nb_NO +nl +pl +pt_BR +pt +ru +sv +ta +tr +uk +zh_Hans diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 00000000..05557faa --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,13 @@ +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. +data/io.github.vikdevelop.SaveDesktop.desktop.in +data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in +data/io.github.vikdevelop.SaveDesktop.gschema.xml +src/core/synchronization.py +src/gui/more_options_dialog.py +src/gui/items_dialog.py +src/gui/password_checker.py +src/gui/shortcuts_window.ui +src/gui/synchronization_dialogs.py +src/gui/window.py +src/globals.py \ No newline at end of file diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 00000000..ab67faba --- /dev/null +++ b/po/ar.po @@ -0,0 +1,470 @@ +# Translation file for ar +# Generated from ar.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Save" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "حفظ التخصيصات الحالية" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "قم بتعيين اسم الملف (بدون مسافات)" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Items to include in the configuration archive" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "These settings also apply to periodic saving" + +# Translation key: icons +msgid "Icons" +msgstr "Icons" + +# Translation key: themes +msgid "Themes" +msgstr "Themes" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fonts" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Backgrounds" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Save installed Flatpak apps" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodic saving" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Changes will only take effect after the next login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Never" + +# Translation key: daily +msgid "Daily" +msgstr "Daily" + +# Translation key: weekly +msgid "Weekly" +msgstr "Weekly" + +# Translation key: monthly +msgid "Monthly" +msgstr "Monthly" + +# Translation key: manually +msgid "Manually" +msgstr "Manually" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Learn more" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Folder for periodic saving" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Choose custom folder for periodic saving" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Choose another folder" + +# Translation key: filename_format +msgid "File name format" +msgstr "File name format" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Reset to default" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "تم حفظ التخصيصات!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "افتح المجلد" + +# Translation key: import_title +msgid "Import" +msgstr "Import" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "استيراد تخصيصات محفوظة" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Import from file" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "إلغاء" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop ملفات" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "تم تطبيق التخصيصات!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "تسجيل الخروج" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Apply" + +# Translation key: sync +msgid "Sync" +msgstr "Sync" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sync your desktop environment configuration with other computers in the network." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Set up the sync file" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "انتظر من فضلك …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodic synchronization" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "From now on, you can sync the config from the menu in the header bar" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "حول التطبيق" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"بيئة سطح المكتب التي لديك غير مدعومة.\nالرجاء استخدام هذه البيئات: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "احفظ التخصيصات الحالية لبيئة سطح المكتب الخاص بك" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"هل ترغب في حفظ التخصيصات الحالي الخاص بك بما في ذلك السمات والرموز والخلفيات وجميع إعدادات بيئة سطح المكتب والإضافات وما إلى ذلك؟ يمكن أن يساعدك Save Desktop في ذلك. بنقرة واحدة فقط ويتم حفظ التخصيصات الخاص بك." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Translator github-link" + diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 00000000..cbc10633 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,471 @@ +# Translation file for ca +# Generated from ca.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Desa" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Desa la configuració actual" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Nom del fitxer" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Elements que voleu incloure al fitxer de configuració" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Aquestes opcions afecten també a la còpia automàtica" + +# Translation key: icons +msgid "Icons" +msgstr "Icones" + +# Translation key: themes +msgid "Themes" +msgstr "Temes" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fonts" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Fons d'escriptori" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Escriptori" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Programari Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Llistat del programari Flatpak instal·lat" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Dades d'usuari del programari Flatpak instal·lat" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Selecció de dades d'aplicacions Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Més opcions" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Còpia automàtica" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Els canvis seran efectius al proper inici de sessió" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Mai" + +# Translation key: daily +msgid "Daily" +msgstr "Diàriament" + +# Translation key: weekly +msgid "Weekly" +msgstr "Setmanalment" + +# Translation key: monthly +msgid "Monthly" +msgstr "Mensualment" + +# Translation key: manually +msgid "Manually" +msgstr "Manual" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Més informació" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Carpeta de destinació" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Trieu una carpeta on desar la còpia automàtica" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Trieu altra carpeta" + +# Translation key: filename_format +msgid "File name format" +msgstr "Format del nom de fitxer" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Restaura als valors per defecte" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Xifrat de ftxer" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"En desar la configuració de forma manual, si us demanarà crear una contrasenya. Això és útil quan deseu la configuració en mitjans extraïbles per mantenir segures les vostres dades." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Crea una contrasenya nova" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Creeu una contrasenya nova per al vostre fitxer. Es recomana emprar almenys 12 caràcters, incloent-hi majúscules, minúscules i caràcters especials." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Crea una contrasenya" + +# Translation key: password_entry +msgid "Password" +msgstr "Contrasenya" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Desbloca el fitxer amb una contrasenya" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Inseriu més avall una contrasenya per a desblocar el fitxer de configuració. Si l'oblideu, no podreu descomprimir el fitxer i aplicar la importació de la configuració." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Desant la configuració ...\nLa configuració del vostre escriptori es desarà a:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "S'ha desat la configuració!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nAra podeu revisar el fitxer amb la configuració del vostre escriptori, o tornar a la pàgina anterior.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Obre la carpeta" + +# Translation key: import_title +msgid "Import" +msgstr "Importa" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importa una configuració" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Des d'un fitxer" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancel·la" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Fitxers del Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Important la configuració ...\nS'està important la configuració des de:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "S'ha aplicat la configuració!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nPodeu tancar la sessió ara perquè els canvis siguin aplicats, o podeu tornar a la pàgina anterior i tancar la sessió més tard.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Torna a la pàgina anterior" + +# Translation key: logout +msgid "Log Out" +msgstr "Tanca la sessió" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "S'ha produït un error" + +# Translation key: apply +msgid "Apply" +msgstr "Aplica" + +# Translation key: sync +msgid "Sync" +msgstr "Sincronitza" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sincronitzeu el vostre entorn d'escriptori amb altres equips de la xarxa." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Configura el fitxer de sincronització" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Fitxer de desat periòdic" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "No existeix el fitxer de desat periòdic." + +# Translation key: create +msgid "Create" +msgstr "Crea" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Un moment…" + +# Translation key: change +msgid "Change" +msgstr "Canvia" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connecta a l'emmagatzematge al núvol" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"Obriu aquesta pàgina del Save Desktop a l'altre ordinador i feu clic al botó «Configura el fitxer de sincronització» per a realitzar els canvis necessaris. En aquest ordinador, seleccioneu la carpeta que heu sincronitzat amb l'emmagatzematge al núvol i on heu desat el fitxer de desament automàtic." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Selecciona la carpeta del núvol" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "No heu seleccionat cap carpeta del núvol!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Sincronització periòdica" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Sincronització bidireccional" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"En habilitar-ho i seleccionar l'interval de la sincronització i la carpeta de la unitat al núvol, tota la informació del desament automàtic (interval, carpeta i nom de fitxer) de l'altre ordinador es copia en aquest mitjançant la sincronització indicada." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"Ja podeu sincronitzar la configuració des del menú de la barra superior" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Sincronitza manualment" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Dreceres de teclat" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Surt" + +# Translation key: about_app +msgid "About app" +msgstr "Quant a..." + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Teniu un entorn d'escriptori no suportat. \nEl programa funciona amb: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Desa la configuració actual del vostre entorn d'escriptori" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"El Save Desktop us permet desar la configuració actual (temes, icones, fons de pantalla, totes les opcions de configuració de l'entorn d'escriptori, complements, etc.) amb un sol clic." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "BennyBeat https://github.com/BennyBeat" + diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 00000000..19005312 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,470 @@ +# Translation file for cs +# Generated from cs.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Uložit" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Uložit aktuální konfiguraci" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Nastavit název souboru" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Položky, které mají být zahrnuty do archivu konfigurace" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Tato nastavení platí i pro pravidelné ukládání" + +# Translation key: icons +msgid "Icons" +msgstr "Ikony" + +# Translation key: themes +msgid "Themes" +msgstr "Motivy" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fonty" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Pozadí" + +# Translation key: extensions +msgid "Extensions" +msgstr "Rozšíření" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Plocha" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Aplikace Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Seznam nainstalovaných aplikací Flatpak" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Uživatelská data nainstalovaných aplikací Flatpak" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Výběr dat aplikací Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Více možností" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Pravidelné ukládání" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Změny se projeví až po dalším přihlášení" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Nikdy" + +# Translation key: daily +msgid "Daily" +msgstr "Denně" + +# Translation key: weekly +msgid "Weekly" +msgstr "Týdně" + +# Translation key: monthly +msgid "Monthly" +msgstr "Měsíčně" + +# Translation key: manually +msgid "Manually" +msgstr "Ručně" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Zjistit více" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Složka pro pravidelné ukládání" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Vybrat vlastní složku pro pravidelné ukládání" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Vybrat jinou složku" + +# Translation key: filename_format +msgid "File name format" +msgstr "Formát názvu souboru" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Resetovat na výchozí" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Heslo pro šifrování" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Ruční ukládání" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Šifrování archivu" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Při ručním ukládání konfigurace budete vyzváni k vytvoření hesla. To je užitečné při ukládání konfigurace na přenosné médium pro lepší zabezpečení dat." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Uložit konfiguraci bez vytváření archivu" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Vytvořit nové heslo" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Vytvořte si prosím nové heslo pro svůj archiv. Kritéria zahrnují délku alespoň 12 znaků, jedno velké písmeno, jedno malé písmeno a jeden speciální znak." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Vygenerovat heslo" + +# Translation key: password_entry +msgid "Password" +msgstr "Heslo" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Odemknout archiv pomocí hesla" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Zadáním níže uvedeného hesla odemknete archiv s vaší konfigurací. Pokud jste ho zapomněli, nebudete moci archiv rozbalit a začít importovat konfiguraci." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "Zadejte prosím heslo k odemknutí archivu pro synchronizaci konfigurace" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"Pro synchronizaci pomocí aplikace Save Desktop byl vybrán šifrovaný archiv. Pro jeho odemčení a spuštění synchronizace zadejte níže uvedené heslo." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Zapamatovat heslo" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Heslo nebylo zadáno, nebo je nesprávné. Nelze pokračovat." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Ukládání konfigurace … \nKonfigurace vašeho desktopového prostředí bude uložena v:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Konfigurace byla uložena!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nNyní si můžete prohlédnout archiv s konfigurací svého desktopového prostředí nebo se vrátit na předchozí stránku.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Otevřít složku" + +# Translation key: import_title +msgid "Import" +msgstr "Import" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importovat již uloženou konfiguraci" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importovat ze souboru" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Importovat ze složky" + +# Translation key: cancel +msgid "Cancel" +msgstr "Zrušit" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Soubory Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importování konfigurace …\nImportování konfigurace z: \n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Konfigurace byla provedena!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nAby se změny projevily, můžete se ze systému odhlásit, nebo se vrátit na předchozí stránku a odhlásit se později.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Vrátit se na předchozí stránku" + +# Translation key: logout +msgid "Log Out" +msgstr "Odhlásit se" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Došlo k chybě" + +# Translation key: apply +msgid "Apply" +msgstr "Použít" + +# Translation key: sync +msgid "Sync" +msgstr "Synchronizovat" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Synchronizujte konfiguraci vašeho desktopového prostředí s ostatními počítači v síti." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Počáteční nastavení synchronizace" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Otevřete nastavení systému" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Přejděte do sekce Online účty" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"V této sekci vyberte požadovanou cloudovou službu, jako je Google, Microsoft 365 nebo Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "" +"3. Klikněte na tlačítko Další a vyberte vytvořenou složku cloudové jednotky" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"Vytvořenou složku cloudové jednotky je možné nalézt na postranním panelu dialogu pro výběr souborů v tomto tvaru: uzivatelskejmeno@sluzba.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Aby synchronizace fungovala správně, potřebujete mít složku, která je synchronizována s vaší cloudovou službou pomocí Rclone.\nZačněte výběrem používané cloudové služby." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Nyní zkopírujte příkaz pro nastavení Rclone pomocí postranního tlačítka a otevřete aplikaci Terminál pomocí klávesové zkratky Ctrl+Alt+T nebo ji najděte v nabídce aplikací." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Po dokončení nastavení Rclone pomocí uvedeného příkazu klikněte na tlačítko \"Apply\"" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Použít místo toho složku Syncthing" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Téměř hotovo!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Nyní máte vytvořenou složku cloudové jednotky! Klikněte na tlačítko Další pro dokončení nastavení." + +# Translation key: select +msgid "Select" +msgstr "Vybrat" + +# Translation key: next +msgid "Next" +msgstr "Další" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Nastavit synchronizační soubor" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Soubor pravidelného ukládání" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Soubor pravidelného ukládání neexistuje." + +# Translation key: create +msgid "Create" +msgstr "Vytvořit" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Počkejte prosím …" + +# Translation key: change +msgid "Change" +msgstr "Změnit" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Připojit se ke cloudovému úložišti" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"Na jiném počítači otevřete aplikaci Save Desktop a na této stránce klikněte na tlačítko „Nastavit synchronizační soubor“ a proveďte potřebná nastavení. Na tomto počítači vyberte složku, kterou jste synchronizovali s cloudovým úložištěm a do které jste také uložili stejný soubor pro pravidelné ukládání." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Vybrat cloudovou složku" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Nevybrali jste složku cloudové jednotky!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Pravidelná synchronizace" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Obousměrná synchronizace" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Pokud je tato funkce povolena a je vybrán interval synchronizace a složka cloudové jednotky, informace o pravidelném ukládání (interval, složka a název souboru) z druhého počítače s nastavenou synchronizací se zkopírují do tohoto počítače." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "Od teď můžete synchronizovat konfiguraci z nabídky v záhlaví" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronizovat ručně" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Klávesové zkratky" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Otevřít wiki aplikace" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Ukončit" + +# Translation key: about_app +msgid "About app" +msgstr "O aplikaci" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Máte nainstalované nepodporované prostředí. \nPoužijte jedno z těchto prostředí: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Uložte konfiguraci plochy" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop umožňuje uložit aktuální konfiguraci (motivy, ikony, tapety, všechna nastavení prostředí, rozšíření atd.) jedním kliknutím." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "vikdevelop https://github.com/vikdevelop" + diff --git a/po/de.po b/po/de.po new file mode 100644 index 00000000..91f15d3b --- /dev/null +++ b/po/de.po @@ -0,0 +1,470 @@ +# Translation file for de +# Generated from de.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Speichern" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Die aktuelle Konfiguration speichern" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Den Dateinamen festlegen" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Elemente, die in das Konfigurationsarchiv aufzunehmen sind" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Diese Einstellungen gelten auch für das periodische Speichern" + +# Translation key: icons +msgid "Icons" +msgstr "Symbole" + +# Translation key: themes +msgid "Themes" +msgstr "Themen" + +# Translation key: fonts +msgid "Fonts" +msgstr "Schriftarten" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Hintergründe" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak-Apps" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Regelmäßiges Speichern" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Die Änderungen werden erst nach der nächsten Anmeldung wirksam." + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Nie" + +# Translation key: daily +msgid "Daily" +msgstr "Täglich" + +# Translation key: weekly +msgid "Weekly" +msgstr "Wöchentlich" + +# Translation key: monthly +msgid "Monthly" +msgstr "Monatlich" + +# Translation key: manually +msgid "Manually" +msgstr "Manually" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Mehr erfahren" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Ordner für das periodische Speichern" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Benutzerdefinierten Ordner für das periodische Speichern auswählen" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Anderen Ordner auswählen" + +# Translation key: filename_format +msgid "File name format" +msgstr "Dateinamensformat" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Auf Standardeinstellungen zurücksetzen" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Speichert die Konfiguration ...\nDie Konfiguration ihrer Desktop Umgebung wird gespeichert in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Die Konfiguration wurde gespeichert!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Den Ordner öffnen" + +# Translation key: import_title +msgid "Import" +msgstr "Importieren" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Die gespeicherte Konfiguration importieren" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Aus Datei importieren" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Abbrechen" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop Dateien" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Die Konfiguration wurde angewendet!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Zurück zur vorherigen Seite" + +# Translation key: logout +msgid "Log Out" +msgstr "Ausloggen" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Ein Fehler ist aufgetreten" + +# Translation key: apply +msgid "Apply" +msgstr "Anwenden" + +# Translation key: sync +msgid "Sync" +msgstr "Sync" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sync your desktop environment configuration with other computers in the network." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Set up the sync file" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Bitte warten …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodic synchronization" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "From now on, you can sync the config from the menu in the header bar" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "Über" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Sie haben eine nicht unterstützte Umgebung installiert.\nBitte verwenden Sie eine der folgenden Umgebungen: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Speichern Sie die aktuelle Konfiguration Ihrer Desktop-Umgebung" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Mit Save Desktop können Sie Ihre aktuelle Konfiguration (Designs, Symbole, Hintergrundbilder, alle Einstellungen der Desktop-Umgebung, Erweiterungen usw.) mit einem Klick speichern." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Github Link des Übersetzers" + diff --git a/po/es.po b/po/es.po new file mode 100644 index 00000000..aa2c68c5 --- /dev/null +++ b/po/es.po @@ -0,0 +1,472 @@ +# Translation file for es +# Generated from es.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Guardar" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Guardar la configuración actual" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Establecer el nombre del archivo" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Elementos que deben incluirse en el archivo de la configuración" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Estos ajustes también se aplican al guardado periódico" + +# Translation key: icons +msgid "Icons" +msgstr "Iconos" + +# Translation key: themes +msgid "Themes" +msgstr "Temas" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fuentes" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Fondos de pantalla" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensiones" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Escritorio" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Aplicaciones de Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Lista de aplicaciones Flatpak instaladas" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Datos de usuario de las aplicaciones Flatpak instaladas" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Selección de datos de aplicaciones Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Más opiniones" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Copia de seguridad periódica" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Los cambios sólo surtirán efecto tras el siguiente inicio de sesión" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Intervalo" + +# Translation key: never +msgid "Never" +msgstr "Nunca" + +# Translation key: daily +msgid "Daily" +msgstr "Diariamente" + +# Translation key: weekly +msgid "Weekly" +msgstr "Semanalmente" + +# Translation key: monthly +msgid "Monthly" +msgstr "Mensualmente" + +# Translation key: manually +msgid "Manually" +msgstr "Manualmente" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Más información" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Carpeta de almacenamiento periódico" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Elegir una carpeta personalizada para el almacenamiento periódico" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Elegir otra carpeta" + +# Translation key: filename_format +msgid "File name format" +msgstr "Formato del nombre del archivo" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Restablecer los valores por defecto" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Cifrado de archivos" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Al guardar manualmente la configuración, se le pedirá que cree una contraseña. Esto es útil cuando se guarda la configuración en medios portátiles para una mayor seguridad de sus datos." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Crear una nueva contraseña" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Por favor, cree una nueva contraseña para su archivo. Los criterios incluyen al menos 12 caracteres, una letra mayúscula, una letra minúscula y un carácter especial." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generar contraseña" + +# Translation key: password_entry +msgid "Password" +msgstr "Contraseña" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Desbloquear el archivo con una contraseña" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Introduzca la contraseña a continuación para desbloquear el archivo con su configuración. Si la has olvidado, no podrás descomprimir el archivo y empezar a importar tu configuración." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Guardar la configuración ...\nLa configuración de su entorno de escritorio se guardará en:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "¡Se ha guardado la configuración!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nAhora puede ver el archivo con la configuración de su entorno de escritorio o volver a la página anterior.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Abrir la carpeta" + +# Translation key: import_title +msgid "Import" +msgstr "Importar" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importar la configuración guardada" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importar desde archivo" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancelar" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Archivos de Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importando la configuración ...\nImportando la configuración desde:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "¡La configuración se ha aplicado!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nPuede salir del sistema para que los cambios surtan efecto, o volver a la página anterior y salir más tarde.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Volver a la página anterior" + +# Translation key: logout +msgid "Log Out" +msgstr "Cerrar sesión" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Se produjo un error" + +# Translation key: apply +msgid "Apply" +msgstr "Aplicar" + +# Translation key: sync +msgid "Sync" +msgstr "Sincronizar" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sincronizar la configuración de tu entorno de escritorio con otros ordenadores en la red." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Configuración de sincronización inicial" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Abrir los ajustes del sistema" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Ir a la sección Cuentas en línea" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"En esta sección selecciona el servicio de nube que deseas, como Google, Microsoft 365 o Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "" +"3. Haz clic en el botón \"Siguiente\" y seleccione la carpeta de la unidad de la nube creada" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"La carpeta de la unidad en la nube creada se puede encontrar en el panel lateral del cuadro de diálogo del selector de archivos, con este formato: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Para que la sincronización funcione correctamente, debe tener la carpeta sincronizada con su servicio en la nube mediante Rclone.\nComience seleccionando el servicio de almacenamiento en la nube que utiliza." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Ahora, copie el comando para configurar Rclone usando el botón lateral y abra la aplicación de terminal usando el atajo de teclado Ctrl+Alt+T o buscándolo en el menú de aplicaciones." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Una vez que haya terminado de configurar Rclone usando el comando proporcionado, haga clic en el botón \"Aplicar\"" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "¡Casi terminamos!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"¡Ya has creado la carpeta de la unidad en la nube! Haz clic en el botón Siguiente para completar la configuración." + +# Translation key: select +msgid "Select" +msgstr "Selecciona" + +# Translation key: next +msgid "Next" +msgstr "Siguiente" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Configurar el archivo de sincronización" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Archivo de almacenamiento periódico" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "El archivo de guardado periódico no existe." + +# Translation key: create +msgid "Create" +msgstr "Crear" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Espera, por favor…" + +# Translation key: change +msgid "Change" +msgstr "Cambiar" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Conectarse al almacenamiento en la nube" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"En otro ordenador, abra la aplicación Save Desktop y, en esta página, haga clic en el botón \"Configurar el archivo de sincronización\" y realice los ajustes necesarios. En este ordenador, seleccione la carpeta que ha sincronizado con su almacenamiento en la nube y también ha guardado el mismo archivo de guardado periódico." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Seleccione la carpeta de la nube" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "¡No has seleccionado la carpeta de la unidad en la nube!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Sincronización periódica" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Sincronización bidireccional" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Si está activada y se seleccionan el intervalo de sincronización y la carpeta de la unidad en la nube, la información de guardado periódico (intervalo, carpeta y nombre de archivo) del otro ordenador con la sincronización establecida se copia en este ordenador." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"A partir de ahora, puedes sincronizar la configuración desde el menú de la barra de cabecera" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Sincronizar manualmente" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Atajos de teclado" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Abrir la wiki de la aplicación" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Dejar" + +# Translation key: about_app +msgid "About app" +msgstr "Acerca de la aplicación" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Tiene instalado un entorno no compatible. \nPor favor, utilice uno de estos entornos: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Guardar la configuración del escritorio" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop le permite guardar su configuración actual (temas, iconos, fondos de pantalla, todos los ajustes del entorno del escritorio, extensiones, etc.) con un solo clic." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "gallegonovato fran-carro@hotmail.es" + diff --git a/po/et.po b/po/et.po new file mode 100644 index 00000000..ef85bc59 --- /dev/null +++ b/po/et.po @@ -0,0 +1,469 @@ +# Translation file for et +# Generated from et.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Salvesta" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Salvesta praegused seadistused" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Sisesta faili nimi" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Vali seadistuste arhiivifaili kaasatavad objektid" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Need seadistused kehtivad ka regulaarsel varundamisel" + +# Translation key: icons +msgid "Icons" +msgstr "Ikoonid" + +# Translation key: themes +msgid "Themes" +msgstr "Kujundused" + +# Translation key: fonts +msgid "Fonts" +msgstr "Kirjatüübid" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Taustapildid" + +# Translation key: extensions +msgid "Extensions" +msgstr "Lisamoodulid" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Töölaud" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpaki rakendused" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Paigaldatud Flatpaki rakenduste loend" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Paigaldatud Flatpaki rakenduste kasutajaandmed" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Vali Flatpaki rakendused, mille andmed tahad kaasata" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Lisavalikud" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Regulaarne salvestamine" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Muudatused jõustuvad järgmisel sisselogimisel" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Sagedus" + +# Translation key: never +msgid "Never" +msgstr "Mitte kunagi" + +# Translation key: daily +msgid "Daily" +msgstr "Kord päevas" + +# Translation key: weekly +msgid "Weekly" +msgstr "Iga nädal" + +# Translation key: monthly +msgid "Monthly" +msgstr "Iga kuu" + +# Translation key: manually +msgid "Manually" +msgstr "Valides aja käsitsi" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Lisateave" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Kaust regulaarseks salvestamiseks" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Vali kaust regulaarseks salvestamiseks sobilik kaust" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Vali muu kaust" + +# Translation key: filename_format +msgid "File name format" +msgstr "Failinime vorming" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Taasta algväärtused" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Krüptimise salasõna" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Käsitsi salvestamine" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Arhiivifaili krüptimine" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Seadistuste käsitsi salvestamisel palume, et lisaksid salasõna. See võimalus parandab turvalisust, kui kavatsed kasutada salvestamist teisaldatavale andmekandjale." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Salvesta seadistused ilma arhiivi loomata" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Loo uus salasõna" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Palun lisa oma arhiivifailile salasõna. Eeldame, et ta oleks vähemalt 12 tähemärki pikk, sisaldaks vähemalt ühte suurtähte, väiketähte ja erimärki." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Loo salasõna" + +# Translation key: password_entry +msgid "Password" +msgstr "Salasõna" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Kasutades salasõna eemalda arhiivifaili krüptimine" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Alljärgnevalt sisesta arhiivifaili krüptimise eemaldamiseks vajalik salasõna. Kui oled salasõna unustanud, siis arhiivifaili lahtipakkimine ja järgnev importimine pole võimalik." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "Seadistuste sünkroniseerimiseks palun sisesta salasõna" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"Oled Save Desktopi abil sünkroniseerimiseks valinud krüptitud arhiivifaili. Lukustuse eemaldamiseks palun sisesta salasõna ja sünkroniseerimine saab alata." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Jäta salasõna meelde" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Salasõna on kas sisestamata või vale. Jätkamine pole võimalik." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Salvestame seadistusi …\nSinu töölauakeskkonna seadistused salvestuvad faili:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Seadistused on salvestatud!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nSa võid nüüd vaadata oma töölauakeskkonna seadistuste archive või minna tagasi eelmise vaate juurde.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Ava kaust" + +# Translation key: import_title +msgid "Import" +msgstr "Impordi" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Impordi salvestatud seadistused" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Impordi failist" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Impordi kaustast" + +# Translation key: cancel +msgid "Cancel" +msgstr "Katkesta" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktopi failid" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Impordime seadistusi…\nImpordime seadistusi failist:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Seadistused on nüüd kasutusel!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nMuudatuste kasutuselevõtmiseks võid sa kohe välja logida või minna tagasi ja logida välja hiljem.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Tagasi eelmisesse vaatesse" + +# Translation key: logout +msgid "Log Out" +msgstr "Logi välja" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Tekkis viga" + +# Translation key: apply +msgid "Apply" +msgstr "Rakenda" + +# Translation key: sync +msgid "Sync" +msgstr "Sünkroniseerimine" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sünkroniseeri oma töölauakeskkonna seadistusi teiste arvutitega võrgus." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Sünkroniseerimise algne seadistus" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Ava süsteemi seadistused" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Ava võrguteenuste valik" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"Siin vali soovitud pilveteenus, nagu Google, Microsoft 365 või Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Klõpsi nuppu Edasi ja vali loodud pilveteenuse kaust" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"Loodud pilvekaust leidub külgpaanis failivalija vaates ja tavaliselt näeb välja umbes nii: kasutajanimi@teenus.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Et sünkroniseerimine toimiks korralikult vajad sa kausta, mis on rclone'i abil sünkroniseeritud sinu pilveteenusega.\nAlustamiseks vali soovitud pilveteenuse kaust." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Seejärel kasutades küljel asuvat nuppu kopeeri rclone'i ülesseadmiseks vajalik käsk, ava terminalirakendus kas Ctrl+Alt+T kiirklahviga või valides ta rakenduste käivitajast." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Kui oled selle käsu abil rclone'i seadistanud, siis klõpsi „Rakenda“ nuppu" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Selle asemel kasuta Syncthingi kausta" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Peaaegu valmis!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Pilveteenuse kausta oled sa nüüd loonud! Seadistamise lõpetamiseks vajuta nuppu „Edasi“." + +# Translation key: select +msgid "Select" +msgstr "Vali" + +# Translation key: next +msgid "Next" +msgstr "Edasi" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Seadista sünkroniseerimisfail" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Fail regulaarseks salvestamiseks" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Regulaarseks salvestamiseks mõeldud faili pole olemas." + +# Translation key: create +msgid "Create" +msgstr "Loo" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Palun oota…" + +# Translation key: change +msgid "Change" +msgstr "Muuda" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Ühenda pilvesalvestusteenusega" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"Ava teises arvutis Save Desktop rakendus ja sellel lehel klõpsi nuppu „Seadista sünkroniseerimisfail“ ja seadista vastavalt. Selles arvutis vali kaust, mille oled sünkroniseerinud oma pilveteenusega ja kuhu oled lisanud faili regulaarseks salvestamiseks." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Vali pilveteenuse kaust" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Sa pole pilveteenuse kausta valinud!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Regulaarne sünkroniseerimine" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Mõlemasuunaline sünkroniseerimine" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Kui eelistus on kasutusel, sünkroniseerimisvälp ja pilveteenuse kaust valitud, siis regulaarse salvestamise teave (välp, kaust ja failinimi) teisest arvutist kopeeritakse siia arvutisse." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "Alates nüüdsest saad sa andmed sünkroniseerida menüüst päiseriba kohal" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Sünkroniseeri käsitsi" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Klaviatuuri kiirklahvid" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Ava rakenduse viki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Välju" + +# Translation key: about_app +msgid "About app" +msgstr "Rakenduse teave" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Sa kasutad mittetoetatud töölauakeskkonda. \nHetkel on toetatud: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Salvesta oma töölaua seadistused" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop võimaldab sul ühe klõpsuga salvestada (ja seega ka varundada) oma töölaua seadistused (kujundus, ikoonid, taustapildid, kõik töölauakeskkonna seadistused, lisamoodulid, jne)." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Priit Jõerüüt 2025" + diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 00000000..438bfdac --- /dev/null +++ b/po/fi.po @@ -0,0 +1,471 @@ +# Translation file for fi +# Generated from fi.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Tallenna" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Tallenna nykyiset määritykset" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Aseta tiedostonimi" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Määritysarkistoon sisällytettävät kohteet" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Nämä asetukset pätevät myös jaksottaiseen tallennukseen" + +# Translation key: icons +msgid "Icons" +msgstr "Kuvakkeet" + +# Translation key: themes +msgid "Themes" +msgstr "Teemat" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fontit" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Taustakuvat" + +# Translation key: extensions +msgid "Extensions" +msgstr "Laajennukset" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Työpöytä" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak-sovellukset" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Luettelo asennetuista Flatpak-sovelluksista" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Asennettujen Flatpak-sovellusten käyttäjädata" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak-sovellusten datavalinta" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Lisää valintoja" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Jaksottainen tallennus" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Muutokset tulevat voimaan vasta seuraavalla kirjautumiskerralla" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Aikaväli" + +# Translation key: never +msgid "Never" +msgstr "Ei koskaan" + +# Translation key: daily +msgid "Daily" +msgstr "Päivittäin" + +# Translation key: weekly +msgid "Weekly" +msgstr "Viikottain" + +# Translation key: monthly +msgid "Monthly" +msgstr "Kuukausittain" + +# Translation key: manually +msgid "Manually" +msgstr "Manuaalisesti" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Lue lisää" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Kansio jaksottaista tallennusta varten" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Valitse mukautettu kansio jaksottaista tallennusta varten" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Valitse toinen kansio" + +# Translation key: filename_format +msgid "File name format" +msgstr "Tiedostonimen muoto" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Palauta oletusasetus" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Salasana salausta varten" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manuaalinen tallennus" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Arkiston salaus" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Kun tallennat määrityksen manuaalisesti, sinua pyydetään luomaan salasana. Tämä on hyödyllinen ominaisuus datan turvaamiseksi, kun määritys on tarkoitus tallentaa esimerkiksi erilliselle muistitikulle." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Tallenna kokoonpano luomatta arkistoa" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Luo uusi salasana" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Luo uusi salasana arkistoon. Salasanan on sisällettävä vähintään 12 merkkiä, yksi iso kirjain, yksi pieni kirjain ja yksi erikoismerkki." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Luo salasana" + +# Translation key: password_entry +msgid "Password" +msgstr "Salasana" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Avaa arkiston lukitus salasanalla" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Kirjoita määritysarkiston salasana alapuolelle. Jos olet unohtanut salasanan, et pysty avata arkistoa ja tuoda määritystä." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Muista salasana" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "" +"Salasanaa ei kirjoitettu, tai se oli väärin. Jatkaminen ei ole mahdollista." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Tallennetaan määritystä …\nTyöpöytäympäristösi määritys tallennetaan seuraavaan tiedostoon:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Määritys on tallennettu!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nVoit nyt katselmoida arkiston, jossa työpöytäympäristösi määritys on, tai palata edelliselle sivulle.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Avaa kansio" + +# Translation key: import_title +msgid "Import" +msgstr "Tuo" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Tuo tallennettu määritys" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Tuo tiedostosta" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Tuo kansiosta" + +# Translation key: cancel +msgid "Cancel" +msgstr "Peru" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop-tiedostot" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Tuodaan määritystä…\nMääritys tuodaan seuraavasta lähteestä:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Määritys on toteutettu!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nVoit kirjautua ulos järjestelmästä, jotta muutokset tulevat voimaan, tai palata edelliselle sivulle ja kirjautua ulos myöhemmin.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Takaisin edelliselle sivulle" + +# Translation key: logout +msgid "Log Out" +msgstr "Kirjaudu ulos" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Tapahtui virhe" + +# Translation key: apply +msgid "Apply" +msgstr "Toteuta" + +# Translation key: sync +msgid "Sync" +msgstr "Synkronoi" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Synkronoi työpöytämäärityksesi muiden verkossa olevien tietokoneiden kanssa." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Ensimmäisen synkronoinnin määritys" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Avaa järjestelmän asetukset" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Siirry verkkotileihin" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"Valitse haluamasi pilvipalvelu kuten Google, Microsoft 365 tai Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Napsauta Seuraava-painiketta ja valitse luotu kansio pilvestä" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Käytä Syncthing-kansiota sen sijaan" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Melkein valmista!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Valitse" + +# Translation key: next +msgid "Next" +msgstr "Seuraava" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Aseta synkronointitiedosto" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Jaksottaisen tallennuksen tiedosto" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Jaksottaisen tallennuksen tiedostoa ei ole olemassa." + +# Translation key: create +msgid "Create" +msgstr "Luo" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Odota hetki…" + +# Translation key: change +msgid "Change" +msgstr "Vaihda" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Yhdistä pilvitallennustilaan" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Valitse pilviaseman kansio" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Et valinnut pilviaseman kansiota!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Jaksottainen synkronointi" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Kaksisuuntainen synkronointi" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "Vastedes voit synkronoida määrityksen otsakepalkin valikosta" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synkronoi manuaalisesti" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Pikanäppäimet" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Avaa sovelluksen wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Lopeta" + +# Translation key: about_app +msgid "About app" +msgstr "Tietoja sovelluksesta" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Havaittu tuen ulkopuolella olevan ympäristön asennus. \nKäytä jotain näistä ympäristöistä: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Tallenna työpöytäsi määritys" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktopin avulla voit tallentaa työpöytäympäristösi määrityksen (teemat, kuvakkeet, taustakuvat, kaikki työpöytäympäristön asetukset, laajennukset jne.) yhdellä napsautuksella." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Name jiri.gronroos+l10n@iki.fi" + diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 00000000..095ef388 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,471 @@ +# Translation file for fr +# Generated from fr.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Sauvegarder" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Sauvegarder la configuration actuelle" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Définir le nom du fichier" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Éléments à inclure dans l'archive de configuration" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Ces paramètres s'appliquent également à l'enregistrement périodique" + +# Translation key: icons +msgid "Icons" +msgstr "Icônes" + +# Translation key: themes +msgid "Themes" +msgstr "Thèmes" + +# Translation key: fonts +msgid "Fonts" +msgstr "Polices de caractères" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Fonds d'écran" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Bureau" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Applications Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Liste des applications Flatpak installées" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Données utilisateur des applications Flatpak installées" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Sélection des données des applications Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Plus d'options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Sauvegarde périodique" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Les modifications ne prendront effet qu'après la prochaine connexion" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Intervalle" + +# Translation key: never +msgid "Never" +msgstr "Jamais" + +# Translation key: daily +msgid "Daily" +msgstr "Journalier" + +# Translation key: weekly +msgid "Weekly" +msgstr "Hebdomadaire" + +# Translation key: monthly +msgid "Monthly" +msgstr "Mensuel" + +# Translation key: manually +msgid "Manually" +msgstr "Manuellement" + +# Translation key: learn_more +msgid "Learn more" +msgstr "En savoir plus" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Répertoire de sauvegarde périodique" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Sélectionner un répertoire personnalisé pour la sauvegarde périodique" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Sélectionner un autre dossier" + +# Translation key: filename_format +msgid "File name format" +msgstr "Format du nom de fichier" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Réinitialisation aux valeurs par défaut" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Chiffrement de l'archive" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Lors de la sauvegarde manuelle de la configuration, il vous sera demandé de créer un mot de passe. Cette option permet d'améliorer la sécurité de vos données lorsque la configuration est enregistrée sur un support de stockage amovible." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Créer un nouveau mot de passe" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Veuillez créer un nouveau mot de passe. Le nouveau mot de passe doit contenir au moins 12 caractères avec au moins une majuscule, au moins une minuscule et au moins un caractère spécial." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Mot de passe" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Déverrouiller l'archive avec un mot de passe" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Veuillez saisir ci-dessous le mot de passe permettant de déverrouiller l'archive qui contient votre configuration. En cas d'oubli du mot de passe, vous ne serez pas en mesure d'ouvrir l'archive contenant votre configuration et votre configuration ne pourra donc pas être importée." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Enregistrement de la configuration ...\nLa configuration de votre environnement de bureau sera enregistrée dans :\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "La configuration a été enregistrée !" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nVous pouvez maintenant consulter l'archive contenant la configuration de votre environnement de bureau, ou revenir à la page précédente.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Ouvrir le dossier" + +# Translation key: import_title +msgid "Import" +msgstr "Importation" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importer la configuration sauvegardée" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importer à partir d'un fichier" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Annuler" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Fichiers Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Import de la configuration ...\nImport de la configuration à partir de : {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "La configuration a été appliquée !" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nVous pouvez vous déconnecter du système pour que les changements prennent effet, ou revenir à la page précédente et vous déconnecter plus tard.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Revenir à la page précédente" + +# Translation key: logout +msgid "Log Out" +msgstr "Fermer la session" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Une erreur est survenue" + +# Translation key: apply +msgid "Apply" +msgstr "Appliquer" + +# Translation key: sync +msgid "Sync" +msgstr "Synchroniser" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Synchroniser la configuration de votre environnement de bureau avec les autres ordinateurs du réseau." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Configurer le fichier de synchronisation" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Fichier pour l'enregistrement périodique" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Veuillez patienter …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Synchronisation périodique" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"Désormais, vous pouvez synchroniser la configuration à partir du menu de la barre d'en-tête" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchroniser manuellement" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Raccourcis clavier" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quitter" + +# Translation key: about_app +msgid "About app" +msgstr "À propos" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Votre environnements de bureau n'est pas compatible \nVeuillez utiliser l'un de ces environnements : {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Sauvegarder la configuration de votre bureau" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop vous permet de sauvegarder votre configuration actuelle (thèmes, icônes, fonds d'écran, tous les paramètres de l'environnement de bureau, les extensions, en un seul clic." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Lien github des traducteurs" + diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 00000000..657e9cb9 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,470 @@ +# Translation file for hi +# Generated from hi.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "सहेजें" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "वर्तमान विन्यास सहेजें" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "फाइल नाम निर्धारित करें" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "विन्यास पुरालेख में शामिल करने योग्य आइटम" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "ये सेटिंग्स आवधिक सहेजने पर भी लागू होती हैं" + +# Translation key: icons +msgid "Icons" +msgstr "आइकन" + +# Translation key: themes +msgid "Themes" +msgstr "थीम" + +# Translation key: fonts +msgid "Fonts" +msgstr "फॉन्ट" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "पृष्ठभूमि" + +# Translation key: extensions +msgid "Extensions" +msgstr "विस्तार" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "डेस्कटॉप" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "फ्लैटपैक ऐप्स" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "स्थापित फ्लैटपैक ऐप्स की सूची" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "स्थापित फ्लैटपैक ऐप्स का उपयोक्ता डेटा" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "फ्लैटपैक ऐप्स डेटा चयन" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "अधिक विकल्प" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "आवधिक सहेजना" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "परिवर्तन अगले लॉगिन के बाद ही प्रभावी होंगे" + +# Translation key: pb_interval +msgid "Interval" +msgstr "अंतराल" + +# Translation key: never +msgid "Never" +msgstr "कभी नहीं" + +# Translation key: daily +msgid "Daily" +msgstr "दैनिक" + +# Translation key: weekly +msgid "Weekly" +msgstr "साप्ताहिक" + +# Translation key: monthly +msgid "Monthly" +msgstr "मासिक" + +# Translation key: manually +msgid "Manually" +msgstr "हाथ से" + +# Translation key: learn_more +msgid "Learn more" +msgstr "और अधिक जानें" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "आवधिक सहेजने के लिए फोल्डर" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "आवधिक सहेजने के लिए तदनुकूल फोल्डर चुनें" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "कोई अन्य फोल्डर चुनें" + +# Translation key: filename_format +msgid "File name format" +msgstr "फाइल नाम प्रारूप" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "तयशुदा पर रीसेट" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "पुरालेख कूटलेखन" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"विन्यास को हस्तचालित रूप से सहेजते समय, आपको पासवर्ड बनाने के लिए कहा जाएगा। यह आपके डेटा की बेहतर सुरक्षा के लिए पोर्टेबल मीडिया में विन्यास को सहेजते समय उपयोगी है।" + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "नया पासवर्ड बनाएं" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"कृपया अपने पुरालेख के लिए नया पासवर्ड बनाएं। मानदंड में कम से कम 12 अक्षर, एक बड़ा अक्षर, एक छोटा अक्षर और एक विशेष वर्ण शामिल है।" + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "पासवर्ड" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "पासवर्ड से पुरालेख को खोलें" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"अपने विन्यास के साथ पुरालेख को खोलने के लिए नीचे दिया गया पासवर्ड दर्ज करें। यदि आप इसे भूल गए हैं, तो आप पुरालेख को अनज़िप नहीं कर पाएंगे और अपना विन्यास आयात करना शुरू नहीं कर पाएंगे।" + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization।" + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue।" + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"विन्यास सहेजा जा रहा है …\nआपके डेस्कटॉप वातावरण का विन्यास इसमें सहेजा जाएगा:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "विन्यास सहेजा गया है!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nअब आप अपने डेस्कटॉप वातावरण के विन्यास के साथ संग्रह देख सकते हैं, या पिछले पृष्ठ पर लौट सकते हैं।\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "फोल्डर खोलें" + +# Translation key: import_title +msgid "Import" +msgstr "आयात" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "सहेजा गया विन्यास आयात करें" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "फाइल से आयात" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "रद्द करें" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop फाइलें" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"विन्यास आयात किया जा रहा है...\nयहाँ से विन्यास आयात किया जा रहा है:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "विन्यास लागू कर दिया गया है!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nपरिवर्तनों को प्रभावी करने के लिए आप सिस्टम से लॉग आउट कर सकते हैं, या पिछले पृष्ठ पर वापस जा सकते हैं और बाद में लॉग आउट कर सकते हैं।\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "पिछले पृष्ठ पर जाएं" + +# Translation key: logout +msgid "Log Out" +msgstr "लॉग आउट" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "लागू करें" + +# Translation key: sync +msgid "Sync" +msgstr "समन्वयन" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"नेटवर्क में अन्य कंप्यूटरों के साथ अपने डेस्कटॉप वातावरण विन्यास को समन्वयित करें।" + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud।" + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com।" + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu।" + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup।" + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "समन्वयन फाइल निर्धारित करें" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "आवधिक फाइल सहेजना" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist।" + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "कृपया प्रतीक्षा करें …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file।" + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "आवधिक समन्वयन" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer।" + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "अब से, आप शीर्षलेख पट्टी में मेनू से विन्यास को समन्वयित कर सकते हैं" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "हस्तचालित रूप से समन्वयित करें" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "कीबोर्ड शॉर्टकट" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "छोड़ें" + +# Translation key: about_app +msgid "About app" +msgstr "ऐप के बारे में" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"आपके पास एक असमर्थित परिवेश स्थापित है। \nकृपया इनमें से किसी एक परिवेश का उपयोग करें: {}।" + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "अपना डेस्कटॉप विन्यास सहेजें" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop आपको एक क्लिक से अपने वर्तमान विन्यास (थीम, आइकन, वॉलपेपर, सभी डेस्कटॉप वातावरण सेटिंग्स, एक्सटेंशन इत्यादि) को सहेजने देता है।" + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Scrambled777 " + diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 00000000..ee93aee4 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,470 @@ +# Translation file for hu +# Generated from hu.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Mentés" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Jelenlegi konfiguráció mentése" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Fájlnév megadása" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "A konfigurációs archívumba felveendő elemek" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Ezek a beállítások érvényesek az időszakos mentésekre is" + +# Translation key: icons +msgid "Icons" +msgstr "Ikonok" + +# Translation key: themes +msgid "Themes" +msgstr "Témák" + +# Translation key: fonts +msgid "Fonts" +msgstr "Betűtípusok" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Hátterek" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak alkalmazások" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Telepített Flatpak alkalmazások felhasználói adatai" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Időszakos mentés" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "A változtatások csak a következő belépéskor lépnek érvénybe" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Soha" + +# Translation key: daily +msgid "Daily" +msgstr "Naponta" + +# Translation key: weekly +msgid "Weekly" +msgstr "Hetente" + +# Translation key: monthly +msgid "Monthly" +msgstr "Havonta" + +# Translation key: manually +msgid "Manually" +msgstr "Manuálisan" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Tudj meg többet" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Időszakos mentések mappája" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Válassz egyéni mappát az időszakos mentéshez" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Válassz másik mappát" + +# Translation key: filename_format +msgid "File name format" +msgstr "Fájlnév formátum" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Alaphelyzetbe állítás" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "A konfiguráció elmentve!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "A mappa megnyitása" + +# Translation key: import_title +msgid "Import" +msgstr "Importálás" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Mentett konfiguráció importálása" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importálás fájlból" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Mégsem" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop fájlok" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "A konfigurációt alkalmaztuk!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "Kijelentkezés" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Alkalmazás" + +# Translation key: sync +msgid "Sync" +msgstr "Szinkronizálás" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Szinkronizálja az asztali környezet konfigurációját a hálózat többi számítógépével." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Szinkronizálási fájl beállítása" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Szinkronizálási fájl" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Kérlek várj …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Időszakos szinkronizálás" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "Ezentúl szinkronizálhatod a konfigurációt a fejlécsáv menüjéből" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "Névjegy" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Az általad használt környezet nem támogatott. \nKérlek használd a következők valamelyikét: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Mentsd el az asztali környezeted jelenlegi konfigurációját" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop lehetővé teszi, hogy egy gombnyomással elmentsd a jelenlegi konfigurációdat (témákat, ikonokat, háttereket, az összes asztali környezeti beállítást, kiegészítéseket, stb.)." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Daniel Uhrinyi https://github.com/danieluhrinyi" + diff --git a/po/ia.po b/po/ia.po new file mode 100644 index 00000000..4f3c8290 --- /dev/null +++ b/po/ia.po @@ -0,0 +1,470 @@ +# Translation file for ia +# Generated from ia.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Save" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Save the current configuration" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Set the file name" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Items to include in the configuration archive" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "These settings also apply to periodic saving" + +# Translation key: icons +msgid "Icons" +msgstr "Icons" + +# Translation key: themes +msgid "Themes" +msgstr "Themes" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fonts" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Backgrounds" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak apps" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodic saving" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Changes will only take effect after the next login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Never" + +# Translation key: daily +msgid "Daily" +msgstr "Daily" + +# Translation key: weekly +msgid "Weekly" +msgstr "Weekly" + +# Translation key: monthly +msgid "Monthly" +msgstr "Monthly" + +# Translation key: manually +msgid "Manually" +msgstr "Manually" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Learn more" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Folder for periodic saving" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Choose custom folder for periodic saving" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Choose another folder" + +# Translation key: filename_format +msgid "File name format" +msgstr "File name format" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Reset to default" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Configuration has been saved!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Open the folder" + +# Translation key: import_title +msgid "Import" +msgstr "Import" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Import saved configuration" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Import from file" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancel" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop files" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration …\nImporting configuration from:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "The configuration has been applied!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "Log Out" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Apply" + +# Translation key: sync +msgid "Sync" +msgstr "Sync" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sync your desktop environment configuration with other computers in the network." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Set up the sync file" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Please wait …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodic synchronization" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "From now on, you can sync the config from the menu in the header bar" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "About app" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Save your desktop configuration" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Translator github-link" + diff --git a/po/id.po b/po/id.po new file mode 100644 index 00000000..5a15a08d --- /dev/null +++ b/po/id.po @@ -0,0 +1,471 @@ +# Translation file for id +# Generated from id.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Simpan" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Menyimpan konfigurasi saat ini" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Tetapkan nama file" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Item yang harus dimasukkan dalam arsip konfigurasi" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Pengaturan ini juga berlaku untuk penyimpanan berkala" + +# Translation key: icons +msgid "Icons" +msgstr "Ikon" + +# Translation key: themes +msgid "Themes" +msgstr "Tema" + +# Translation key: fonts +msgid "Fonts" +msgstr "Font" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Latar Belakang" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Aplikasi flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Simpan berkala" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Perubahan hanya akan berlaku setelah login berikutnya" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Tidak Pernah" + +# Translation key: daily +msgid "Daily" +msgstr "Setiap hari" + +# Translation key: weekly +msgid "Weekly" +msgstr "Mingguan" + +# Translation key: monthly +msgid "Monthly" +msgstr "Bulanan" + +# Translation key: manually +msgid "Manually" +msgstr "Manual" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Pelajari lebih lanjut" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Folder untuk penyimpanan berkala" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Pilih folder khusus untuk penyimpanan berkala" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Pilih folder lain" + +# Translation key: filename_format +msgid "File name format" +msgstr "Format nama file" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Setel ulang ke default" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Konfigurasi telah tersimpan!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Membuka folder" + +# Translation key: import_title +msgid "Import" +msgstr "Impor" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Mengimpor konfigurasi yang tersimpan" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Impor dari file" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Batal" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "SimpanFile desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Konfigurasi ini telah diterapkan!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "Keluar Sesi" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Terapkan" + +# Translation key: sync +msgid "Sync" +msgstr "Sinkronisasi" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Menyinkronkan konfigurasi lingkungan desktop Anda dengan komputer lain dalam jaringan." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Atur file sinkronisasi" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Harap tunggu…" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Sinkronisasi berkala" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"Mulai sekarang, Anda dapat menyinkronkan konfigurasi dari menu di bilah header" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "Tentang aplikasi" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Anda telah menginstal lingkungan yang tidak didukung. \nSilakan gunakan salah satu lingkungan berikut: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Simpan konfigurasi lingkungan desktop Anda saat ini" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop memungkinkan Anda menyimpan konfigurasi saat ini (tema, ikon, wallpaper, semua pengaturan lingkungan desktop, ekstensi, dll.) dengan satu klik." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Penerjemah github-tautan" + diff --git a/po/it.po b/po/it.po new file mode 100644 index 00000000..39cb4e6c --- /dev/null +++ b/po/it.po @@ -0,0 +1,472 @@ +# Translation file for it +# Generated from it.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Salva" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Salva la configurazione corrente" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Impostare il nome file" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Elementi da includere nell'archivio di configurazione" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Queste impostazioni si applicano anche al salvataggio periodico" + +# Translation key: icons +msgid "Icons" +msgstr "Icone" + +# Translation key: themes +msgid "Themes" +msgstr "Temi" + +# Translation key: fonts +msgid "Fonts" +msgstr "Font" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Sfondi" + +# Translation key: extensions +msgid "Extensions" +msgstr "Estensioni" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "App flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Elenco delle app Flatpak installate" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Dati utente delle app Flatpak installate" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Selezione dei dati delle app Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Ulteriori opzioni" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Salvataggio periodico" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Le modifiche avranno effetto solo dopo il prossimo login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Intervallo" + +# Translation key: never +msgid "Never" +msgstr "Mai" + +# Translation key: daily +msgid "Daily" +msgstr "Giornaliero" + +# Translation key: weekly +msgid "Weekly" +msgstr "Settimanale" + +# Translation key: monthly +msgid "Monthly" +msgstr "Mensile" + +# Translation key: manually +msgid "Manually" +msgstr "Manualmente" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Ulteriori informazioni" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Cartella per il salvataggio periodico" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Scegli la cartella personalizzata per il salvataggio periodico" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Scegli un'altra cartella" + +# Translation key: filename_format +msgid "File name format" +msgstr "Formato del nome del file" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Ripristina le impostazioni predefinite" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password per la crittografia" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Salvataggio manuale" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Cifratura dell'archivio" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Quando salvi manualmente la configurazione, ti verrà richiesto di creare una password. Ciò è utile quando si salva la configurazione su un supporto portatile per una migliore sicurezza dei dati." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Salvare la configurazione senza creare un archivio" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Crea una nuova password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Crea una nuova password per il tuo archivio. I criteri includono una lunghezza di almeno 12 caratteri, una lettera maiuscola, una lettera minuscola e un carattere speciale." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Genera Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Sblocca l'archivio con una password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Inserisci la password qui sotto per sbloccare l'archivio con la tua configurazione. Se l'hai dimenticata, non potrai decomprimere l'archivio e iniziare a importare la tua configurazione." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Inserisci una password per sbloccare l'archivio e sincronizzare la configurazione" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"È stato selezionato un archivio crittografato per la sincronizzazione tramite l'app Save Desktop. Inserisci la password qui sotto per sbloccarlo e avviare la sincronizzazione." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Ricorda password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password non inserita o errata. Impossibile continuare." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Salvataggio della configurazione…\nLa configurazione del tuo ambiente desktop verrà salvata in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "La configurazione è stata salvata!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nOra puoi visualizzare l'archivio con la configurazione del tuo ambiente desktop oppure tornare alla pagina precedente.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Apri la cartella" + +# Translation key: import_title +msgid "Import" +msgstr "Importa" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importa la configurazione salvata" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importa da file" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Importa dalla cartella" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancella" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Salva i file del desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importazione della configurazione…\nImportazione configurazione da:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "La configurazione è stata applicata!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nÈ possibile disconnettersi dal sistema per rendere effettive le modifiche oppure tornare alla pagina precedente e disconnettersi in seguito.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Ritorno alla pagina precedente" + +# Translation key: logout +msgid "Log Out" +msgstr "Disconnettersi" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Si è verificato un errore" + +# Translation key: apply +msgid "Apply" +msgstr "Applica" + +# Translation key: sync +msgid "Sync" +msgstr "Sincronizzazione" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sincronizza la configurazione del tuo ambiente desktop con altri computer nella rete." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Configurazione iniziale della sincronizzazione" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Aprire le impostazioni di sistema" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Vai alla sezione Account online" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In questa sezione seleziona il servizio cloud desiderato, ad esempio Google, Microsoft 365 o Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "" +"3. Fare clic sul pulsante Avanti e selezionare la cartella dell'unità cloud creata" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"La cartella dell'unità cloud creata può essere trovata nel pannello laterale della finestra di dialogo di selezione file, nel seguente formato: nomeutente@servizio.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Per far funzionare correttamente la sincronizzazione, devi avere la cartella sincronizzata con il tuo servizio cloud tramite Rclone.\nInizia selezionando il servizio di unità cloud che utilizzi." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Ora copia il comando per configurare Rclone utilizzando il pulsante laterale e apri l'app terminale utilizzando la scorciatoia da tastiera Ctrl+Alt+T o trovandola nel menu delle app." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Una volta terminata la configurazione di Rclone utilizzando il comando fornito, fare clic sul pulsante \"Applica\"" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Utilizzare invece la cartella Syncthing" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Quasi finito!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Ora hai creato la cartella dell'unità cloud! Fai clic sul pulsante Avanti per completare la configurazione." + +# Translation key: select +msgid "Select" +msgstr "Seleziona" + +# Translation key: next +msgid "Next" +msgstr "Prossimo" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Imposta il file di sincronizzazione" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "File di salvataggio periodico" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Il file di salvataggio periodico non esiste." + +# Translation key: create +msgid "Create" +msgstr "Crea" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Attendere prego …" + +# Translation key: change +msgid "Change" +msgstr "Modifica" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connettiti allo storage cloud" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"Su un altro computer, apri l'app Save Desktop e, in questa pagina, clicca sul pulsante \"Imposta il file di sincronizzazione\" e fai le impostazioni necessarie. Su questo computer, seleziona la cartella che hai sincronizzato con il tuo archivio cloud ed hai anche salvato lo stesso file di salvataggio periodico." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Seleziona la cartella dell'unità cloud" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Non hai selezionato la cartella dell'unità cloud!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Sincronizzazione periodica" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Sincronizzazione bidirezionale" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Se abilitata e se sono selezionati l'intervallo di sincronizzazione e la cartella dell'unità cloud, le informazioni di salvataggio periodico (intervallo, cartella e nome file) dall'altro computer con sincronizzazione impostata su sincronizza, vengono copiate su questo computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"D'ora in poi, puoi sincronizzare la configurazione dal menu nella barra dell'intestazione" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Sincronizza manualmente" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Scorciatoie da tastiera" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Apri il wiki dell'applicazione" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Esci" + +# Translation key: about_app +msgid "About app" +msgstr "Informazioni sull'app" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Hai installato un ambiente non supportato.\nSi prega di utilizzare uno di questi ambienti: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Salva la configurazione del tuo desktop" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Desideri salvare la tua configurazione corrente inclusi temi, icone, sfondi, tutte le impostazioni dell'ambiente desktop, estensioni e così via? Save Desktop può aiutarti in questo. Basta un clic e hai la tua configurazione salvata." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Albano Battistella https://github.com/albanobattistella" + diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 00000000..03237c93 --- /dev/null +++ b/po/meson.build @@ -0,0 +1 @@ +i18n.gettext('savedesktop', preset: 'glib') \ No newline at end of file diff --git a/po/nb_NO.po b/po/nb_NO.po new file mode 100644 index 00000000..76cb1b89 --- /dev/null +++ b/po/nb_NO.po @@ -0,0 +1,470 @@ +# Translation file for nb_NO +# Generated from nb_NO.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Save" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Lagre nåværende oppsett" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Sett filnavn (uten mellomrom)" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Items to include in the configuration archive" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "These settings also apply to periodic saving" + +# Translation key: icons +msgid "Icons" +msgstr "Icons" + +# Translation key: themes +msgid "Themes" +msgstr "Themes" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fonts" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Backgrounds" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Save installed Flatpak apps" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodic saving" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Changes will only take effect after the next login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Never" + +# Translation key: daily +msgid "Daily" +msgstr "Daily" + +# Translation key: weekly +msgid "Weekly" +msgstr "Weekly" + +# Translation key: monthly +msgid "Monthly" +msgstr "Monthly" + +# Translation key: manually +msgid "Manually" +msgstr "Manually" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Learn more" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Folder for periodic saving" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Choose custom folder for periodic saving" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Choose another folder" + +# Translation key: filename_format +msgid "File name format" +msgstr "File name format" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Reset to default" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Oppsettet har blitt lagret." + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Åpne mappen" + +# Translation key: import_title +msgid "Import" +msgstr "Import" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importer lagret oppsett" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Import from file" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Avbryt" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop-filer" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Oppsettet har blitt anvendt." + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "Logg ut" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Apply" + +# Translation key: sync +msgid "Sync" +msgstr "Sync" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sync your desktop environment configuration with other computers in the network." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Set up the sync file" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Vent …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodic synchronization" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "From now on, you can sync the config from the menu in the header bar" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "Om programmet" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Du har et ustøttet miljø installert. \nBruk ett av disse miljøene: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Lagre nåværende oppsett av skrivebordsmiljøet ditt" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop lar deg lagre ditt nåværende oppsett (drakter, ikoner, bakgrunnsbilder, alle skrivebordsmiljøinnstillinger, utvidelser, osv.) med ett klikk." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Allan Nordhøy https://github.com/comradekingu" + diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 00000000..d3bc4788 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,471 @@ +# Translation file for nl +# Generated from nl.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Opslaan" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Huidige voorkeuren opslaan" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Geef het bestand een naam" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Items om op te nemen in het voorkeurenarchief" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Deze voorkeuren zijn ook van toepassing op periodiek opslaan" + +# Translation key: icons +msgid "Icons" +msgstr "Pictogrammen" + +# Translation key: themes +msgid "Themes" +msgstr "Thema's" + +# Translation key: fonts +msgid "Fonts" +msgstr "Lettertypen" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Achtergronden" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpaktoepassingen" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Gebruikersgegevens van geïnstalleerde Flatpaktoepassingen" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodiek opslaan" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Meld u opnieuw aan om de wijzigingen toe te passen" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Nooit" + +# Translation key: daily +msgid "Daily" +msgstr "Iedere dag" + +# Translation key: weekly +msgid "Weekly" +msgstr "Iedere week" + +# Translation key: monthly +msgid "Monthly" +msgstr "Iedere maand" + +# Translation key: manually +msgid "Manually" +msgstr "Handmatig" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Meer informatie" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Periodieke-opslagmap" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Kies een map waarin periodiek reservekopieën dienen te worden bewaard" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Kies een andere map" + +# Translation key: filename_format +msgid "File name format" +msgstr "Bestandsnaamopmaak" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Standaardwaarden" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "De voorkeuren zijn opgeslagen!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Map openen" + +# Translation key: import_title +msgid "Import" +msgstr "Importeren" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Voorkeuren importeren" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importeren uit bestand" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Annuleren" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop-bestanden" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "De voorkeuren zijn ingesteld!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "Afmelden" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Toepassen" + +# Translation key: sync +msgid "Sync" +msgstr "Synchronisatie" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Synchroniseer uw werkomgevingsvoorkeuren met andere computers op het netwerk." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Synchronisatiebestand instellen" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodiek opgeslagen bestand" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Even geduld…" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodieke synchronisatie" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"Voortaan kunt u de voorkeuren synchroniseren middels het menu op de kopbalk" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronise manually" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "Over de toepassing" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"U maakt gebruik van een niet-ondersteunde werkomgeving. \nDe volgende werkomgevingen worden ondersteund: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Sla de huidige voorkeuren van uw werkomgeving op" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Wilt u uw huidige voorkeuren (thema's, pictogrammen, bureaubladachtergronden, systeemvoorkeuren, uitbreidingen, etc.) opslaan? Save Desktop kan u hierbij helpen. Met slechts één muisklik wordt alles opgeslagen." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "https://github.com/Vistaus" + diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 00000000..bff63495 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,470 @@ +# Translation file for pl +# Generated from pl.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Zapisz" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Zapisz obecną konfigurację" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Ustaw nazwę pliku" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Items to include in the configuration archive" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "These settings also apply to periodic saving" + +# Translation key: icons +msgid "Icons" +msgstr "Ikony" + +# Translation key: themes +msgid "Themes" +msgstr "Motywy" + +# Translation key: fonts +msgid "Fonts" +msgstr "Czcionki" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Tapety" + +# Translation key: extensions +msgid "Extensions" +msgstr "Rozszerzenia" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Pulpit" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Aplikacje Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Więcej opcji" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodic saving" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Changes will only take effect after the next login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Nigdy" + +# Translation key: daily +msgid "Daily" +msgstr "Codziennie" + +# Translation key: weekly +msgid "Weekly" +msgstr "Co tydzień" + +# Translation key: monthly +msgid "Monthly" +msgstr "Co miesiąc" + +# Translation key: manually +msgid "Manually" +msgstr "Ręcznie" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Dowiedz się więcej" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Folder for periodic saving" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Choose custom folder for periodic saving" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Wybierz inny katalog" + +# Translation key: filename_format +msgid "File name format" +msgstr "Format nazwy pliku" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Przywróć ustawienia domyślne" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Hasło szyfrowania" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Ręczne zapisywanie" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Utwórz nowe hasło" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generuj hasło" + +# Translation key: password_entry +msgid "Password" +msgstr "Hasło" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Zapamiętaj hasło" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Konfiguracja została zapisana!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Otwórz katalog" + +# Translation key: import_title +msgid "Import" +msgstr "Importuj" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importuj zapisaną konfigurację" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importuj z pliku" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Importuj z katalogu" + +# Translation key: cancel +msgid "Cancel" +msgstr "Anuluj" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Pliki Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration ...\nImporting configuration from: {}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "The configuration has been applied!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Wróć do poprzedniej strony" + +# Translation key: logout +msgid "Log Out" +msgstr "Wyloguj się" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Wystąpił błąd" + +# Translation key: apply +msgid "Apply" +msgstr "Zastosuj" + +# Translation key: sync +msgid "Sync" +msgstr "Synchronizacja" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sync your desktop environment configuration with other computers in the network." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Wybierz" + +# Translation key: next +msgid "Next" +msgstr "Dalej" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Set up the sync file" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Utwórz" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Proszę czekać…" + +# Translation key: change +msgid "Change" +msgstr "Zmień" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodic synchronization" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "From now on, you can sync the config from the menu in the header bar" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synchronizuj ręcznie" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Skróty klawiszowe" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Wyjdź" + +# Translation key: about_app +msgid "About app" +msgstr "O aplikacji" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Zapisz konfigurację swojego pulpitu" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Eryk Michalak gnu.ewm@protonmail.com" + diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 00000000..66a9d2f5 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,471 @@ +# Translation file for pt +# Generated from pt.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Gravar" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Gravar configuração atual" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Definir o nome do ficheiro" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Itens à serem incluídos no arquivo de configuração" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Estas configurações também aplicam-se à gravação periódica" + +# Translation key: icons +msgid "Icons" +msgstr "Ícones" + +# Translation key: themes +msgid "Themes" +msgstr "Temas" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fontes" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Papéis de parede" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensões" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Área de Trabalho" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Apps Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Lista de apps Flatpak instalados" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Dados do utilizador de apps Flatpak instalados" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Seleção de dados de apps Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Gravação periódica" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "As alterações só terão efeito após o próximo login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Nunca" + +# Translation key: daily +msgid "Daily" +msgstr "Diariamente" + +# Translation key: weekly +msgid "Weekly" +msgstr "Semanalmente" + +# Translation key: monthly +msgid "Monthly" +msgstr "Mensalmente" + +# Translation key: manually +msgid "Manually" +msgstr "Manualmente" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Aprender mais" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Pasta para gravação periódica" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Escolha uma pasta para gravar periódicamente" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Escolha outra pasta" + +# Translation key: filename_format +msgid "File name format" +msgstr "Formato do nome do ficheiro" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Restaurar para o padrão" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"A gravar a configuração …\nA configuração do seu ambiente de desktop será gravada em:\n{}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "A configuração foi gravada!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nAgora pode visualizar o arquivo com a configuração do seu ambiente de desktop, ou retornar à página anterior.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Abrir a pasta" + +# Translation key: import_title +msgid "Import" +msgstr "Importar" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importar configuração gravada" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importar do ficheiro" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancelar" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Ficheiros Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importando configuração ...\nImportando configuração de:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "A configuração foi aplicada!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nPode encerrar a sessão para que as alterações tenham efeito, ou voltar para a página anterior e encerrar mais tarde.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Voltar para a página anterior" + +# Translation key: logout +msgid "Log Out" +msgstr "Sair" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Aplicar" + +# Translation key: sync +msgid "Sync" +msgstr "Sincronizar" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sincronize a configuração do seu ambiente de desktop com outros computadores na rede." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Configure o ficheiro de sincronização" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Ficheiro de gravação periódica" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Por favor, aguarde…" + +# Translation key: change +msgid "Change" +msgstr "Change" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Sincronização periódica" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"De agora em diante, pode sincronizar a configuração no menu da barra de cabeçalho" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Sincronizar manualmente" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Atalhos do teclado" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Open the application wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Encerrar" + +# Translation key: about_app +msgid "About app" +msgstr "Sobre o app" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Tem instalado um ambiente sem suporte. \nPor favor, use um desses ambientes: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Grave a sua configuração da área de trabalho" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop permite gravar a sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um clique." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Trandutor github-link" + diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 00000000..86ffaaf6 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,473 @@ +# Translation file for pt_BR +# Generated from pt_BR.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Salvar" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Salvar configuração atual" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Defina o nome do arquivo" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Itens a serem incluídos no arquivo de configuração" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Estas configurações também se aplicam ao salvamento periódico" + +# Translation key: icons +msgid "Icons" +msgstr "Ícones" + +# Translation key: themes +msgid "Themes" +msgstr "Temas" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fontes" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Papéis de parede" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensões" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Área de trabalho" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Aplicativos Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Lista de aplicativos Flatpak instalados" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Dados do usuário de aplicativos Flatpak instalados" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Seleção de dados de aplicativos Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Mais opções" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Salvamento periódico" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "As alterações só terão efeito após o próximo login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Intervalo" + +# Translation key: never +msgid "Never" +msgstr "Nunca" + +# Translation key: daily +msgid "Daily" +msgstr "Diariamente" + +# Translation key: weekly +msgid "Weekly" +msgstr "Semanalmente" + +# Translation key: monthly +msgid "Monthly" +msgstr "Mensalmente" + +# Translation key: manually +msgid "Manually" +msgstr "Manualmente" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Saiba mais" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Pasta para salvamento periódico" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Escolha uma pasta para salvar periodicamente" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Escolha outra pasta" + +# Translation key: filename_format +msgid "File name format" +msgstr "Formato do nome do arquivo" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Restaurar para o padrão" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Encriptação de arquivo" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Ao salvar manualmente a configuração, o aplicativo solicitará que você crie uma senha. Isso é útil ao salvar a configuração em uma mídia portátil para aumentar a segurança de seus dados." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Criar nova senha" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Por favor, crie uma nova senha para o seu arquivo. Os critérios incluem, pelo menos, 12 caracteres de tamanho, uma letra maiúscula, uma letra minúscula e um caractere especial." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Gerar Senha" + +# Translation key: password_entry +msgid "Password" +msgstr "Senha" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Desbloqueie o arquivo com uma senha" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Insira a senha abaixo para desbloquear o arquivo com a sua configuração. Caso você tenha esquecido, não poderá descompactar o arquivo e começar a importar sua configuração." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Salvando configuração…\nA configuração do seu ambiente de desktop será salva em:\n{}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "A configuração foi salva!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nAgora você pode visualizar o arquivo com a configuração do seu desktop, ou retornar à página anterior.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Abrir a pasta" + +# Translation key: import_title +msgid "Import" +msgstr "Importar" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importar configuração salva" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importar do arquivo" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancelar" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Arquivos Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importando configuração...\nImportando a configuração de:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "A configuração foi aplicada!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nVocê pode encerrar a sessão para que as alterações tenham efeito, ou voltar para a página anterior e encerrar mais tarde.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Voltar para a página anterior" + +# Translation key: logout +msgid "Log Out" +msgstr "Sair" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Ocorreu um erro" + +# Translation key: apply +msgid "Apply" +msgstr "Aplicar" + +# Translation key: sync +msgid "Sync" +msgstr "Sincronizar" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sincronize a configuração do seu ambiente de desktop com outros computadores na rede." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Configuração inicial de sincronização" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Abra as configurações do sistema" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Vá para a seção Contas Online" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"Nesta seção, selecione o serviço de nuvem desejado, como Google, Microsoft 365 ou Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "" +"3. Clique no botão Avançar e selecione a pasta da unidade criada na nuvem" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"A pasta da unidade criada na nuvem pode ser encontrada no painel lateral da caixa de diálogo do seletor de arquivos, neste formato: nomedeusuario@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Para que a sincronização funcione corretamente, você precisa ter a pasta que está sincronizada com seu serviço de nuvem usando Rclone.\nComece selecionando o serviço de unidade em nuvem que você usa." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Agora, copie o comando para configurar o Rclone usando o botão lateral e abra o aplicativo do terminal usando o atalho de teclado Ctrl+Alt+T ou encontrando-o no menu de aplicativos." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Depois de terminar de configurar o Rclone usando o comando fornecido, clique no botão \"Aplicar\"" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Quase pronto!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Agora você criou a pasta da unidade em nuvem! Clique no botão Avançar para concluir a configuração." + +# Translation key: select +msgid "Select" +msgstr "Selecionar" + +# Translation key: next +msgid "Next" +msgstr "Avançar" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Configurar o arquivo de sincronização" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Arquivo de salvamento periódico" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "O arquivo de salvamento periódico não existe." + +# Translation key: create +msgid "Create" +msgstr "Criar" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Por favor, aguarde…" + +# Translation key: change +msgid "Change" +msgstr "Alterar" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Conectar ao armazenamento em nuvem" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"Em outro computador, abra o aplicativo Save Desktop e, nesta página, clique no botão “Configurar o arquivo de sincronização” e faça as configurações necessárias. Neste computador, selecione a pasta que você sincronizou com seu armazenamento em nuvem e também salvou o mesmo arquivo de salvamento periódico." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Selecionar a pasta da unidade em nuvem" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Você não selecionou a pasta da unidade em nuvem!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Sincronização periódica" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Sincronização bidirecional" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Se ativado e o intervalo de sincronização e a pasta da unidade na nuvem estiverem selecionados, as informações de salvamento periódico (intervalo, pasta e nome do arquivo) do outro computador, com sincronização definida, serão copiadas para este computador." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"De agora em diante, você pode sincronizar a configuração no menu da barra de cabeçalho" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Sincronizar manualmente" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Atalhos de teclado" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Abrir o wiki do aplicativo" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Encerrar" + +# Translation key: about_app +msgid "About app" +msgstr "Sobre o aplicativo" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Você tem instalado um ambiente sem suporte. \nPor favor, use um destes ambientes: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Salvar a configuração da sua área de trabalho" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop permite que você salve sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um único clique." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "" +"Felipe Nogueira https://github.com/fnogcps\nIsaac Dias https://hosted.weblate.org/user/IsaacDias/\nFilipe Motta \nEzilei Correia " + diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 00000000..a5b40b7a --- /dev/null +++ b/po/ru.po @@ -0,0 +1,471 @@ +# Translation file for ru +# Generated from ru.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Сохранить" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Сохранить текущую конфигурацию" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Задайте имя файла" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Элементы для включения в архив конфигурации" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Эти настройки также применяются для периодического сохранения" + +# Translation key: icons +msgid "Icons" +msgstr "Иконки" + +# Translation key: themes +msgid "Themes" +msgstr "Темы" + +# Translation key: fonts +msgid "Fonts" +msgstr "Шрифты" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Фоны" + +# Translation key: extensions +msgid "Extensions" +msgstr "Расширения" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Рабочий стол" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Приложения Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Список установленных Flatpak приложений" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Пользовательские данные установленных приложений Flatpak" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Выбор данных приложений Flatpak" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Больше опций" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Периодическое сохранение" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Изменения вступят в силу после следующего входа в систему" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Интервал" + +# Translation key: never +msgid "Never" +msgstr "Никогда" + +# Translation key: daily +msgid "Daily" +msgstr "Ежедневно" + +# Translation key: weekly +msgid "Weekly" +msgstr "Еженедельно" + +# Translation key: monthly +msgid "Monthly" +msgstr "Ежемесячно" + +# Translation key: manually +msgid "Manually" +msgstr "Вручную" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Подробнее" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Папка для периодических сохранений" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Выберите папку для периодического сохранения" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Выбрать другую папку" + +# Translation key: filename_format +msgid "File name format" +msgstr "Формат имени файла" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Восстановить по умолчанию" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Пароль для шифрования" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Ручное сохранение" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Шифрование архива" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"При ручном сохранении конфигурации вам будет предложено создать пароль. Это полезно при сохранении конфигурации на переносном носителе для большей безопасности ваших данных." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Сохранить конфигурацию без создания архива" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Создать новый пароль" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Пожалуйста, создайте новый пароль для вашего архива. Критерии включают длину не менее 12 символов, одну заглавную букву, одну строчную букву и один специальный символ." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Сгенерировать пароль" + +# Translation key: password_entry +msgid "Password" +msgstr "Пароль" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Разблокировать архив паролем" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Введите пароль ниже, чтобы разблокировать архив с вашей конфигурацией. Если вы его забыли, то не сможете распаковать архив и начать импорт вашей конфигурации." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Пожалуйста, введите пароль, чтобы разблокировать архив для синхронизации конфигурации" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"Для синхронизации с помощью приложения Save Desktop выбран зашифрованный архив. Введите пароль ниже, чтобы разблокировать его и начать синхронизацию." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Запомнить Пароль" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Пароль не введен или указан неверно. Невозможно продолжить" + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Сохранение конфигурации ...\nКонфигурация среды рабочего стола будет сохранена в:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Конфигурация сохранена!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nТеперь вы можете просмотреть архив с конфигурацией вашей среды рабочего стола или вернуться на предыдущую страницу.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Открыть папку" + +# Translation key: import_title +msgid "Import" +msgstr "Импорт" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Импорт сохраненной конфигурации" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Импорт из файла" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Импорт из папки" + +# Translation key: cancel +msgid "Cancel" +msgstr "Отменить" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Файлы Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Импорт конфигурации ...\nИмпорт конфигурации из: \n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Конфигурация применена!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nВы можете выйти из системы, чтобы изменения вступили в силу, или вернуться на предыдущую страницу и выйти из системы позже.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Вернуться на предыдущую страницу" + +# Translation key: logout +msgid "Log Out" +msgstr "Выйти" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Произошла ошибка" + +# Translation key: apply +msgid "Apply" +msgstr "Применить" + +# Translation key: sync +msgid "Sync" +msgstr "Синхронизация" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Синхронизируйте конфигурацию среды рабочего стола с другими компьютерами в сети." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Первоначальная настройка синхронизации" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Откройте системные настройки" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Перейдите в раздел «Сетевые учётные записи»" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"В этом разделе выберите нужный облачный сервис, например Google, Microsoft 365 или Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Нажмите кнопку «Далее» и выберите имеющуюся папку облачного диска" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"Создаваемую папку облачного диска можно найти в боковой панели диалога выбора файлов в виде username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Для правильного функционирования синхронизации необходимо иметь папку, которая синхронизируется с облачным сервисом с помощью Rclone.\nНачните с выбора облачного сервиса, который вы используете." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Теперь скопируйте команду для настройки Rclone с помощью боковой кнопки и откройте приложение терминала, используя комбинацию клавиш Ctrl+Alt+T или найдя его в меню приложений." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Завершив настройку Rclone с помощью данной команды, нажмите кнопку «Применить»" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Вместо этого использовать папку Syncthing" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Почти готово!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Теперь вы создали папку на облачном диске! Чтобы завершить настройку, нажмите кнопку «Далее»." + +# Translation key: select +msgid "Select" +msgstr "Выбрать" + +# Translation key: next +msgid "Next" +msgstr "Далее" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Настройка файла синхронизации" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Файл периодического сохранения" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Файл периодического сохранения не существует." + +# Translation key: create +msgid "Create" +msgstr "Создать" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Пожалуйста, подождите…" + +# Translation key: change +msgid "Change" +msgstr "Изменить" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Подключить облачное хранилище" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"На другом компьютере откройте приложение Save Desktop и на этой странице нажмите кнопку «Настроить файл синхронизации» и выполните необходимые настройки. На этом компьютере выберите папку, которую вы синхронизировали с вашим облачным хранилищем, а также сохранили тот же файл периодического сохранения." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Выбрать папку облачного диска" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Вы не выбрали папку облачного диска!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Периодическая синхронизация" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Двунаправленная синхронизация" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Если этот параметр включен, а интервал синхронизации и папка облачного диска выбраны, информация о периодическом сохранении (интервал, папка и имя файла) с другого компьютера, на котором настроена синхронизация, копируется на этот компьютер." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "Теперь вы можете синхронизировать конфиг из меню в панели заголовка" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Синхронизовать вручную" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Комбинации клавиш" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Открыть Wiki-страницу приложения" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Выйти" + +# Translation key: about_app +msgid "About app" +msgstr "О приложении" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"У вас установлено неподдерживаемое окружение. \nПожалуйста, используйте одно из этих окружений: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Сохраните конфигурацию вашего окружения рабочего стола" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Вы хотите сохранить текущую конфигурацию, включая темы, значки, обои, все настройки окружения рабочего стола, расширения и т.д.? Save Desktop поможет вам в этом. Всего один клик - и ваша конфигурация сохранена." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "" +"voron \nvolkov " + diff --git a/po/savedesktop.pot b/po/savedesktop.pot new file mode 100644 index 00000000..ab6ff541 --- /dev/null +++ b/po/savedesktop.pot @@ -0,0 +1,471 @@ +# Translation file for en +# Generated from en.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Save" + +# Translation key: save_config +#: src/gui/shortcuts_window.ui:22 +msgid "Save the current configuration" +msgstr "Save the current configuration" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Set the file name" + +# Translation key: items_for_archive +#: src/gui/shortcuts_window.ui:64 +msgid "Items to include in the configuration archive" +msgstr "Items to include in the configuration archive" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "These settings also apply to periodic saving" + +# Translation key: icons +msgid "Icons" +msgstr "Icons" + +# Translation key: themes +msgid "Themes" +msgstr "Themes" + +# Translation key: fonts +msgid "Fonts" +msgstr "Fonts" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Backgrounds" + +# Translation key: extensions +msgid "Extensions" +msgstr "Extensions" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Desktop" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak apps" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "List of installed Flatpak apps" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "User data of installed Flatpak apps" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak apps data selection" + +# Translation key: more_options +#: src/gui/shortcuts_window.ui +msgid "More options" +msgstr "More options" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodic saving" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Changes will only take effect after the next login" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "Never" + +# Translation key: daily +msgid "Daily" +msgstr "Daily" + +# Translation key: weekly +msgid "Weekly" +msgstr "Weekly" + +# Translation key: monthly +msgid "Monthly" +msgstr "Monthly" + +# Translation key: manually +msgid "Manually" +msgstr "Manually" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Learn more" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Folder for periodic saving" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Choose custom folder for periodic saving" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Choose another folder" + +# Translation key: filename_format +msgid "File name format" +msgstr "File name format" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Reset to default" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Password for encryption" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manual saving" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Archive encryption" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Save the configuration without creating an archive" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Create new password" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generate Password" + +# Translation key: password_entry +msgid "Password" +msgstr "Password" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Unlock the archive with a password" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Please enter a password to unlock the archive for sync the configuration" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Remember Password" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Password not entered, or it's incorrect. Unable to continue." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Configuration has been saved!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Open the folder" + +# Translation key: import_title +msgid "Import" +msgstr "Import" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Import saved configuration" + +# Translation key: import_from_file +#: src/gui/shortcuts_window.ui:29 +msgid "Import from file" +msgstr "Import from file" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Import from folder" + +# Translation key: cancel +msgid "Cancel" +msgstr "Cancel" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop files" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importing configuration …\nImporting configuration from:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "The configuration has been applied!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Back to previous page" + +# Translation key: logout +msgid "Log Out" +msgstr "Log Out" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "An error occurred" + +# Translation key: apply +msgid "Apply" +msgstr "Apply" + +# Translation key: sync +msgid "Sync" +msgstr "Sync" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Sync your desktop environment configuration with other computers in the network." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Initial synchronization setup" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Open the system settings" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Go to the Online Accounts section" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Click on the Next button and select the created cloud drive folder" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Almost done!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." + +# Translation key: select +msgid "Select" +msgstr "Select" + +# Translation key: next +msgid "Next" +msgstr "Next" + +# Translation key: set_up_sync_file +#: src/gui/shortcuts_window.ui:71 +msgid "Set up the sync file" +msgstr "Set up the sync file" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodic saving file" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "Create" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Please wait …" + +# Translation key: change +msgid "Change" +msgstr "Change" + +# Translation key: connect_cloud_storage +#: src/gui/shortcuts_window.ui:78 +msgid "Connect to the cloud storage" +msgstr "Connect to the cloud storage" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Select the cloud drive folder" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "You didn't select the cloud drive folder!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodic synchronization" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "From now on, you can sync the config from the menu in the header bar" + +# Translation key: sync_manually +#: src/gui/shortcuts_window.ui:50 +msgid "Synchronise manually" +msgstr "Synchronise manually" + +# Translation key: keyboard_shortcuts +#: src/gui/shortcuts_window.ui:36 +msgid "Keyboard shortcuts" +msgstr "Keyboard shortcuts" + +# Translation key: open_wiki +#: src/gui/shortcuts_window.ui:15 +msgid "Open the application wiki" +msgstr "Open the application wiki" + +# Translation key: quit +#: src/gui/shortcuts_window.ui:43 +msgid "Quit" +msgstr "Quit" + +# Translation key: about_app +msgid "About app" +msgstr "About app" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." + +# Translation key: summary +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +msgid "Save your desktop configuration" +msgstr "Save your desktop configuration" + +# Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:41 +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr " " + diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 00000000..742b70cc --- /dev/null +++ b/po/sv.po @@ -0,0 +1,472 @@ +# Translation file for sv +# Generated from sv.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Spara" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Spara nuvarande konfiguration" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Ange filnamn" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Objekt som ska inkluderas i konfigurationsarkivet" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Dessa inställningar gäller även för periodiskt sparande" + +# Translation key: icons +msgid "Icons" +msgstr "Ikoner" + +# Translation key: themes +msgid "Themes" +msgstr "Teman" + +# Translation key: fonts +msgid "Fonts" +msgstr "Teckensnitt" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Bakgrunder" + +# Translation key: extensions +msgid "Extensions" +msgstr "Tillägg" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Skrivbord" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak program" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Lista av installerade Flatpak program" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Användardata av installerade Flatpak program" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Dataval för Flatpak program" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Mer alternativ" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Periodiskt sparande" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Ändringar träder i kraft först efter nästa inloggning" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Intervall" + +# Translation key: never +msgid "Never" +msgstr "Aldrig" + +# Translation key: daily +msgid "Daily" +msgstr "Dagligen" + +# Translation key: weekly +msgid "Weekly" +msgstr "Veckovis" + +# Translation key: monthly +msgid "Monthly" +msgstr "Månadsvis" + +# Translation key: manually +msgid "Manually" +msgstr "Manuellt" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Läs mer" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Mapp för periodiskt sparande" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Välj anpassad mapp för periodiskt sparande" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Välj en annan mapp" + +# Translation key: filename_format +msgid "File name format" +msgstr "Filnamnsformat" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Återställ till standard" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Lösenord för kryptering" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manuell sparning" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Arkivkryptering" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"När du sparar konfigurationen manuellt blir du ombedd att skapa ett lösenord. Detta är användbart när du sparar konfigurationen på flyttbart media för bättre säkerhet för din data." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Spara konfigurationen utan att skapa ett arkiv" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Skapa nytt lösenord" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Skapa ett nytt lösenord för ditt arkiv. Kriterier inkluderar en längd på minst 12 tecken, en stor bokstav, en liten bokstav och ett specialtecken." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Generera lösenord" + +# Translation key: password_entry +msgid "Password" +msgstr "Lösenord" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Lås upp arkivet med ett lösenord" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Ange lösenordet nedan för att låsa upp arkivet med din konfiguration. Om du har glömt det kommer du inte att kunna packa upp arkivet och börja importera din konfiguration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Ange ett lösenord för att låsa upp arkivet för att synkronisera konfigurationen." + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"Ett krypterat arkiv har valts ut för synkronisering med Save Desktop programmet. Ange lösenordet nedan för att låsa upp det och starta synkroniseringen." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Kom ihåg lösenord" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "" +"Lösenordet är inte inmatat, eller så är det felaktigt. Det går inte att fortsätta." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Sparar konfiguration …\nKonfigurationen av din skrivbordsmiljö kommer att sparas i:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Konfigurationen har sparats!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nDu kan nu se arkivet med konfigurationen av din skrivbordsmiljö, eller gå tillbaka till föregående sida.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Öppna mappen" + +# Translation key: import_title +msgid "Import" +msgstr "Importera" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Importera sparad konfiguration" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Importera från fil" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Importera från mapp" + +# Translation key: cancel +msgid "Cancel" +msgstr "Avbryt" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop filer" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Importerar konfiguration …\nImporterar konfiguration från:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Konfigurationen har tillämpats!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nDu kan logga ut från systemet för att ändringarna ska träda i kraft, eller gå tillbaka till föregående sida och logga ut senare.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Tillbaka till föregående sida" + +# Translation key: logout +msgid "Log Out" +msgstr "Logga ut" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Ett fel har uppstått" + +# Translation key: apply +msgid "Apply" +msgstr "Tillämpa" + +# Translation key: sync +msgid "Sync" +msgstr "Synkronisera" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Synkronisera konfigurationen av din skrivbordsmiljö med andra datorer i nätverket." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Inledande synkroniseringsinställningar" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Öppna systeminställningarna" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Gå till avsnittet Onlinekonton" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"I det här avsnittet väljer du den molntjänst du vill ha, till exempel Google, Microsoft 365 eller Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Klicka på knappen Nästa och välj den skapade molnlagringsmappen" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"Den skapade molnlagringsmappen finns i sidopanelen i filväljardialogrutan, i denna form: användarnamn@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"För att synkroniseringen ska fungera korrekt måste du ha mappen som är synkroniserad med din molntjänst med hjälp av Rclone.\nBörja med att välja den molnlagringstjänst du använder." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Kopiera nu kommandot för att ställa in Rclone med hjälp av sidoknappen och öppna terminalappen med kortkommandot Ctrl+Alt+T eller leta reda på det i programmenyn." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"När du har slutfört konfigureringen av Rclone med det angivna kommandot klickar du på \"Verkställ\" knappen" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Använd Syncthing mapp istället" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Nästan klart!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Du har nu skapatmolnenhet mappen! Klicka på nästa för att slutföra installationen." + +# Translation key: select +msgid "Select" +msgstr "Välj" + +# Translation key: next +msgid "Next" +msgstr "Nästa" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Ställ in synkfil" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Periodisk sparfil" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodisk sparfil existerar inte." + +# Translation key: create +msgid "Create" +msgstr "Skapa" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Vänligen vänta …" + +# Translation key: change +msgid "Change" +msgstr "Ändra" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Anslut till molnlagring" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"På den andra datorn öppnar du Save Desktop programmet och på den här sidan klickar du på knappen \"Konfigurera synkroniseringsfil\" och gör nödvändiga inställningar. På den här datorn väljer du mappen som du har synkroniserat med din molnlagring och som även har sparat samma periodiska sparfil." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Välj mappen i molnlagring" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Du valde inte mappen för molnlagring!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Periodisk synkronisering" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Dubbelriktad synkronisering" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Om det är aktiverat och synkroniseringsintervallet och mappen för molnlagring är vald, kopieras den periodiska sparinformationen (intervall, mapp och filnamn) från den andra datorn med synkronisering inställd på att synkronisera till den här datorn." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"Från och med nu kan du synkronisera konfigurationen från menyn i huvudfältet" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Synkronisera manuellt" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Tangentbordsgenvägar" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Öppna programmets wiki" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Avsluta" + +# Translation key: about_app +msgid "About app" +msgstr "Om programmet" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Du har en miljö som inte stöds installerad. \nVänligen använd någon av dessa miljöer: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Spara din skrivbordskonfiguration" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop låter dig spara din nuvarande konfiguration (teman, ikoner, bakgrundsbilder, alla skrivbordsmiljöinställningar, tillägg, etc.) med ett klick." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "Luna Jernberg https://github.com/bittin/" + diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 00000000..3a000bfa --- /dev/null +++ b/po/ta.po @@ -0,0 +1,469 @@ +# Translation file for ta +# Generated from ta.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "சேமி" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "தற்போதைய உள்ளமைவைச் சேமி" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "கோப்புப் பெயரை அமை" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "உள்ளமைவு காப்பகத்தில் சேர்க்க வேண்டிய உருப்படிகள்" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "இந்த அமைப்புகள் அவ்வப்போது சேமிப்பதற்கும் பொருந்தும்" + +# Translation key: icons +msgid "Icons" +msgstr "சின்னங்கள்" + +# Translation key: themes +msgid "Themes" +msgstr "கருப்பொருள்கள்" + +# Translation key: fonts +msgid "Fonts" +msgstr "எழுத்துருக்கள்" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "பின்னணிகள்" + +# Translation key: extensions +msgid "Extensions" +msgstr "நீட்டிப்புகள்" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "பணிமேடை" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "தட்டைகட்டு பயன்பாடுகள்" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "நிறுவப்பட்ட தட்டைகட்டு பயன்பாடுகளின் பட்டியல்" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "நிறுவப்பட்ட தட்டைகட்டு பயன்பாடுகளின் பயனர் தரவு" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "தட்டைகட்டு பயன்பாடுகள் தரவுத் தேர்வு" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "மேலும் விருப்பங்கள்" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "அவ்வப்போது சேமி" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "அடுத்த உள்நுழைவுக்குப் பிறகுதான் மாற்றங்கள் நடைமுறைக்கு வரும்" + +# Translation key: pb_interval +msgid "Interval" +msgstr "இடைவேளை" + +# Translation key: never +msgid "Never" +msgstr "ஒருபோதும்" + +# Translation key: daily +msgid "Daily" +msgstr "நாள்தோறும்" + +# Translation key: weekly +msgid "Weekly" +msgstr "வாராந்தோறும்" + +# Translation key: monthly +msgid "Monthly" +msgstr "திங்கள்தோறும்" + +# Translation key: manually +msgid "Manually" +msgstr "கைமுறையாக" + +# Translation key: learn_more +msgid "Learn more" +msgstr "மேலும் அறிக" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "அவ்வப்போது சேமிப்பதற்கான கோப்புறை" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "அவ்வப்போது சேமிக்க தனிப்பயன் கோப்புறையைத் தேர்வுசெய்க" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "மற்றொரு கோப்புறையைத் தேர்வுசெய்க" + +# Translation key: filename_format +msgid "File name format" +msgstr "கோப்புப் பெயர் வடிவம்" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "இயல்புநிலைக்கு மீட்டமை" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "குறியாக்கத்திற்கான கடவுச்சொல்" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "கையேடு சேமிப்பு" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "காப்பக குறியாக்கம்" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"உள்ளமைவை கைமுறையாகச் சேமிக்கும்போது, கடவுச்சொல்லை உருவாக்கும்படி கேட்கப்படுவீர்கள். உங்கள் தரவின் சிறந்த பாதுகாப்பிற்காக உள்ளமைவை எடுத்துசெல்லதக்க ஊடகத்தில் சேமிக்கும்போது இது பயனுள்ளதாக இருக்கும்." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "காப்பகத்தை உருவாக்காமல் உள்ளமைவைச் சேமி" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "புதிய கடவுச்சொல்லை உருவாக்கு" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"உங்கள் காப்பகத்திற்கு புதிய கடவுச்சொல்லை உருவாக்கு. அளவுகோல்கள் குறைந்தது 12 எழுத்து நீளம், ஒரு பெரிய எழுத்து, ஒரு சிறிய எழுத்து மற்றும் ஒரு சிறப்பு எழுத்து ஆகியவை அடங்கும்." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "கடவுச்சொல்லை உருவாக்கு" + +# Translation key: password_entry +msgid "Password" +msgstr "கடவுச்சொல்" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "கடவுச்சொல் மூலம் காப்பகத்தைத் திற" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"உங்கள் உள்ளமைவுடன் காப்பகத்தைத் திறக்கக் கீழே உள்ள கடவுச்சொல்லை உள்ளிடவும். நீங்கள் அதை மறந்துவிட்டால், நீங்கள் காப்பகத்தை அவிழ்த்து உங்கள் உள்ளமைவை இறக்குமதி செய்யத் தொடங்க முடியாது." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "உள்ளமைவை ஒத்திசைக்க காப்பகத்தைத் திறக்கக் கடவுச்சொல்லை உள்ளிடவும்" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"Savedesktop பயன்பாட்டைப் பயன்படுத்தி ஒத்திசைவுக்கு மறைகுறியாக்கப்பட்ட காப்பகம் தேர்ந்தெடுக்கப்பட்டுள்ளது. அதைத் திறக்கக் கீழே உள்ள கடவுச்சொல்லை உள்ளிடவும் மற்றும் ஒத்திசைவைத் தொடங்கவும்." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "கடவுச்சொல்லை நினைவில் கொள்" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "கடவுச்சொல் உள்ளிடப்படவில்லை, அல்லது அது தவறானது. தொடர முடியவில்லை." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +" உள்ளமைவைச் சேமித்தல்… \n உங்கள் பணிமேடை சூழலின் உள்ளமைவு சேமிக்கப்படும்:\n {}/{}. Sd.tar.gz \n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "உள்ளமைவு சேமிக்கப்பட்டது!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +" {} \n உங்கள் பணிமேடை சூழலின் உள்ளமைவுடன் காப்பகத்தை இப்போது காணலாம் அல்லது முந்தைய பக்கத்திற்குத் திரும்பலாம்.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "கோப்புறையைத் திற" + +# Translation key: import_title +msgid "Import" +msgstr "இறக்குமதி" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "இறக்குமதி சேமிக்கப்பட்ட உள்ளமைவு" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "கோப்பிலிருந்து இறக்குமதி" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "கோப்புறையிலிருந்து இறக்குமதி" + +# Translation key: cancel +msgid "Cancel" +msgstr "கைவிடு" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "சேமிபணிமேடை கோப்புகள்" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +" உள்ளமைவை இறக்குமதி செய்தல்… \n இதிலிருந்து உள்ளமைவை இறக்குமதி செய்தல்:\n {} \n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "உள்ளமைவு பயன்படுத்தப்பட்டது!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +" {} \n மாற்றங்கள் நடைமுறைக்கு வர நீங்கள் கணினியிலிருந்து வெளியேறலாம், அல்லது முந்தைய பக்கத்திற்குச் சென்று பின்னர் வெளியேறலாம்.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "முந்தைய பக்கத்திற்குத் திரும்பு" + +# Translation key: logout +msgid "Log Out" +msgstr "விடுபதிகை" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "பிழை ஏற்பட்டது" + +# Translation key: apply +msgid "Apply" +msgstr "இடு" + +# Translation key: sync +msgid "Sync" +msgstr "ஒத்திசைவு" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "இணைப்பில் உள்ள பிற கணினிகளுடன் உங்கள் பணிமேடை சூழல் உள்ளமைவை ஒத்திசை." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "ஆரம்ப ஒத்திசைவு அமைப்பு" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. கணினி அமைப்புகளைத் திற" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. நிகழ்நிலை கணக்குகள் பகுதிக்குச் செல்" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"இந்தப் பிரிவில் கூகிள், நுண்மென் 365 அல்லது அடுத்தமுகில் போன்ற நீங்கள் விரும்பும் முகில் சேவையைத் தேர்ந்தெடு." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "" +"3. அடுத்த பொத்தானைக் சொடுக்கு செய்து உருவாக்கிய முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"உருவாக்கப்பட்ட முகில் இயக்கிக் கோப்புறையை கோப்புத் தேர்வு உரையாடலின் பக்க பலைகையில் இந்தப் படிவத்தில் காணலாம்: USERNAME@SERVICE.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"சரியாக வேலை செய்ய ஒத்திசைவு, நீங்கள் கோப்புறையை வைத்திருக்க வேண்டும், அது ஆர்நகலியைப் பயன்படுத்தி உங்கள் முகில் சேவையுடன் ஒத்திசைக்கப்படுகிறது.\n நீங்கள் பயன்படுத்தும் முகில் இயக்கிச் சேவையைத் தேர்ந்தெடுப்பதன் மூலம் தொடங்கு. " + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"இப்போது, பக்க பொத்தானைப் பயன்படுத்தி ஆர்நகலியை அமைக்கக் கட்டளையை நகலெடுத்து, கட்டு+மாற்று+ஏ விசைப்பலகை குறுக்குவழியைப் பயன்படுத்தி முனையப் பயன்பாட்டைத் திற அல்லது பயன்பாடுகளின் பட்டியலில் கண்டுபிடி." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"வழங்கப்பட்ட கட்டளையைப் பயன்படுத்தி ஆர்நகலியை அமைத்ததும், \"இடு\" பொத்தானைக் சொடுக்கு" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "அதற்குப் பதிலாக ஒத்திசைவு கோப்புறையைப் பயன்படுத்தவும்" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "கிட்டத்தட்ட முடிந்தது!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"நீங்கள் இப்போது முகில் இயக்கிக் கோப்புறையை உருவாக்கியுள்ளீர்கள்! அமைப்பை முடிக்க அடுத்த பொத்தானைக் சொடுக்கு." + +# Translation key: select +msgid "Select" +msgstr "தேர்ந்தெடு" + +# Translation key: next +msgid "Next" +msgstr "அடுத்தது" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "ஒத்திசைவு கோப்பை அமை" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "அவ்வப்போது சேமிக்கும் கோப்பு" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "அவ்வப்போது சேமிக்கும் கோப்பு இல்லை." + +# Translation key: create +msgid "Create" +msgstr "உருவாக்கு" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "தயவுசெய்து காத்திரு…" + +# Translation key: change +msgid "Change" +msgstr "மாற்றம்" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "முகில் சேமிப்பகத்துடன் இணை" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"மற்றொரு கணினியில், சேமிபணிமேடை பயன்பாட்டைத் திறந்து, இந்தப் பக்கத்தில், \"ஒத்திசைவு கோப்பை அமைக்கவும்\" பொத்தானைக் சொடுக்கு செய்து தேவையான அமைப்புகளை உருவாக்கவும். இந்தக் கணினியில், உங்கள் மேகக்கணி சேமிப்பகத்துடன் நீங்கள் ஒத்திசைத்த கோப்புறையைத் தேர்ந்தெடுக்கவும், அதே கால சேமிப்பு கோப்பையும் சேமித்துள்ளீர்கள்." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "நீங்கள் முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடுக்கவில்லை!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "அவ்வப்போது ஒத்திசைவு" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "இருதரப்பு ஒத்திசைவு" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"இயக்கப்பட்டிருந்தால், மற்றும் ஒத்திசைவு இடைவெளி மற்றும் முகில் இயக்கிக் கோப்புறை தேர்ந்தெடுக்கப்பட்டால், ஒத்திசைவதற்கு அமைக்கப்பட்ட பிற கணினியிலிருந்து அவ்வப்போது சேமிக்கும் செய்தி (இடைவெளி, கோப்புறை மற்றும் கோப்புப் பெயர்) இந்தக் கணினியில் நகலெடுக்கப்படுகிறது." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "இனிமேல், தலைப்பு பட்டியில் உள்ள பட்டியலிருந்து உள்ளமைவை ஒத்திசைக்கலாம்" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "கைமுறையாக ஒத்திசை" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "விசைப்பலகை குறுக்குவழிகள்" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "பயன்பாட்டு விக்கியைத் திற" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "வெளியேறு" + +# Translation key: about_app +msgid "About app" +msgstr "பயன்பாடுபற்றி" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +" உங்களிடம் ஆதரிக்கப்படாத சூழல் நிறுவப்பட்டுள்ளது. \nஇந்தச் சூழல்களில் ஒன்றைப் பயன்படுத்தவும்: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "உங்கள் பணிமேடை உள்ளமைவைச் சேமி" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"உங்கள் தற்போதைய உள்ளமைவை (கருப்பொருள்கள், சின்னங்கள், பின்ணணிகள், அனைத்து பணிமேடை சுற்றுச்சூழல் அமைப்புகள், நீட்டிப்புகள் போன்றவை) ஒரே சொடுக்கில் சேமிக்க சேமிபணிமேடை உங்களை அனுமதிக்கிறது." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "தமிழ்நேரம் " + diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 00000000..4741d93c --- /dev/null +++ b/po/tr.po @@ -0,0 +1,473 @@ +# Translation file for tr +# Generated from tr.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Kaydet" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Şuanki ayarları kaydet" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Dosya adı" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Yapılandırma arşivine eklenecek ögeler" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Bu ayarlar aynı zamanda düzenli kayıt için de uygulanır" + +# Translation key: icons +msgid "Icons" +msgstr "Simgeler" + +# Translation key: themes +msgid "Themes" +msgstr "Temalar" + +# Translation key: fonts +msgid "Fonts" +msgstr "Yazı Tipleri" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Arka Planlar" + +# Translation key: extensions +msgid "Extensions" +msgstr "Uzantılar" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Masaüstü" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak uygulamaları" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Kurulu Flatpak uygulamalarının listesi" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Kurulu Flatpak uygulamalarının kullanıcı verileri" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak uygulamaları veri seçimi" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Daha çok seçenek" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Düzenli kaydetme" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "" +"Değişiklikler yalnızca sonraki oturum açma işleminden sonra geçerli olacak" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Aralık" + +# Translation key: never +msgid "Never" +msgstr "Asla" + +# Translation key: daily +msgid "Daily" +msgstr "Günlük" + +# Translation key: weekly +msgid "Weekly" +msgstr "Haftalık" + +# Translation key: monthly +msgid "Monthly" +msgstr "Aylık" + +# Translation key: manually +msgid "Manually" +msgstr "Elle" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Daha çoğunu öğren" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Düzenli kayıt klasörü" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Düzenli kayıt için özel klasör seçin" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Başka bir klasör seçin" + +# Translation key: filename_format +msgid "File name format" +msgstr "Dosya adı biçimi" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Öntanımlılara sıfırla" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Şifreleme için parola" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Manuel kaydet" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Arşiv şifreleme" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"Yapılandırmayı elle kaydederken parola oluşturmanız istenir. Bu, verilerinizin daha iyi güvenliği için yapılandırmayı taşınabilir ortama kaydederken kullanışlıdır." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Arşiv oluşturmadan yapılandırmayı kaydedin" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Yeni parola oluştur" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Lütfen arşiviniz için yeni parola oluşturun. Parolanız en az 12 karakter uzunluğunda olmalı, bir büyük harf, bir küçük harf ve bir özel karakter içermelidir." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Parola Oluştur" + +# Translation key: password_entry +msgid "Password" +msgstr "Parola" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Arşiv kilidini parolayla aç" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Yapılandırmanızın bulunduğu arşivin kilidini açmak için aşağıya parolayı girin. Parolayı unuttuysanız, arşivi açamaz ve yapılandırmanızı içe aktarmaya başlayamazsınız." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Yapılandırmayı senkronize etmek için arşivin kilidini açmak üzere lütfen bir parola girin" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"Save Desktop uygulaması kullanılarak senkronizasyon için şifrelenmiş bir arşiv seçildi. Lütfen kilidini açmak ve senkronizasyonu başlatmak için aşağıdaki şifreyi girin." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Parolayı hatırla" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Şifre girilmedi veya yanlış. Devam edilemiyor." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Yapılandırma kaydediliyor…\nMasaüstü ortamınızın yapılandırması şuraya kaydedilecek:\n{}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Ayarlar kayıt edildi!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nArtık arşivi masaüstü ortamınızın yapılandırmasıyla görüntüleyebilir ya da önceki sayfaya dönebilirsiniz.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Klasörü aç" + +# Translation key: import_title +msgid "Import" +msgstr "İçe Aktar" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Kaydedilmiş ayarları yükle" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Dosyadan içe aktar" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Klasörden aktar" + +# Translation key: cancel +msgid "Cancel" +msgstr "İptal et" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop dosyaları" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Yapılandırma içe aktarılıyor...\nYapılandırma şuradan içe aktarılıyor:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Ayarlar uygulandı !" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nDeğişikliklerin geçerli olması için oturumu şimdi kapatabilir ya da önceki sayfaya geri dönüp daha sonra oturumu kapatabilirsiniz.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Önceki sayfaya dön" + +# Translation key: logout +msgid "Log Out" +msgstr "Çıkış Yap" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Hata oluştu" + +# Translation key: apply +msgid "Apply" +msgstr "Uygula" + +# Translation key: sync +msgid "Sync" +msgstr "Eşzamanla" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Masaüstü ortamı yapılandırmanızı ağdaki diğer bilgisayarlarla eşzamanlayın." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "İlk senkronizasyon kurulumu" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Sistem ayarlarını açın." + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Çevrimiçi Hesaplar bölümüne gidin" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"Bu bölümde Google, Microsoft 365 veya Nextcloud gibi istediğiniz bulut hizmetini seçin." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "" +"3. İleri düğmesine tıklayın ve oluşturulan bulut sürücü klasörünü seçin" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"Oluşturulan bulut sürücü klasörü, dosya seçici iletişim kutusunun yan panelinde, şu biçimde bulunabilir: kullanıcıadı@sunucu.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Senkronizasyonun düzgün çalışması için, Rclone kullanarak bulut servisinizle senkronize edilmiş klasöre sahip olmanız gerekir.\nKullandığınız bulut sürücü servisini seçerek başlayın." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Şimdi, yan düğmeyi kullanarak Rclone'ı kurmak için komutu kopyalayın ve Ctrl+Alt+T klavye kısayolunu kullanarak veya uygulamalar menüsünden terminal uygulamasını açın." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Verilen komutu kullanarak Rclone kurulumunu tamamladıktan sonra \"Uygula\" düğmesine tıklayın" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Bunun yerine Syncthing klasörünü kullanın" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Az kaldı!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Bulut sürücü klasörünü oluşturdunuz! Kurulumu tamamlamak için İleri düğmesine tıklayın." + +# Translation key: select +msgid "Select" +msgstr "Seç" + +# Translation key: next +msgid "Next" +msgstr "Sürdür" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Eşzamanlama dosyası ayarla" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Düzenli kayıt dosyası" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Düzenli kayıt dosyası yok." + +# Translation key: create +msgid "Create" +msgstr "Oluştur" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Lütfen bekleyin …" + +# Translation key: change +msgid "Change" +msgstr "Değiştir" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Bulut depolamaya bağlan" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"Başka bilgisayarda Save Desktop uygulamasını açıp bu sayfadaki “Eşzamanlama dosyasını ayarla” düğmesine tıklayın ve gerekli ayarları yapın. Bu bilgisayarda, bulut depolama alanınızla eşzamanlamak istediğiniz ve aynı düzenli kayıt dosyasına kaydettiğiniz klasörü seçin." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Bulut sunucu klasörünü seç" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Bulut sürücü klasörünü seçmediniz!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Düzenli eşzamanlama" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Çift yönlü eşzamanlama" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Etkinse ve eşzamanlama aralığı ve bulut sürücü klasörü seçilirse, eşzamanlama ayarlı diğer bilgisayardaki düzenli kayıt bilgileri (aralık, klasör ve dosya adı) bu bilgisayara kopyalanır." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "Artık yapılandırmayı başlık çubuğundaki menüden eşzamanlayabilirsiniz" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Elle eşzamanla" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Klavye kısayolları" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Uygulama wiki'sini açın" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Çık" + +# Translation key: about_app +msgid "About app" +msgstr "Uygulama Hakkında" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Daha önceden yüklenmiş , desteklenmeyen ortama sahipsiniz. \nLütfen bu ortamlardan herhangi birini kullanın.: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Masaüstü yapılandırmanızı kaydedin" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop senin suanki ayarlarını(temalar,iconlar,duvar kağıtları, tüm masaüstü ortam ayları , eklentiler , vb.) tek tıkla kaydetmene izin verir." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "" +"Batmanly https://github.com/batmanly\nSabri Ünal https://github.com/yakushabb" + diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 00000000..661809cd --- /dev/null +++ b/po/uk.po @@ -0,0 +1,472 @@ +# Translation file for uk +# Generated from uk.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "Зберегти" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "Зберегти поточну конфігурацію" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "Задайте ім'я файлу" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "Елементи для включення в архів конфігурації" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "Ці налаштування також застосовуються до періодичного збереження" + +# Translation key: icons +msgid "Icons" +msgstr "Піктограми" + +# Translation key: themes +msgid "Themes" +msgstr "Теми" + +# Translation key: fonts +msgid "Fonts" +msgstr "Шрифти" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "Шпалери" + +# Translation key: extensions +msgid "Extensions" +msgstr "Розширення" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "Робочий стіл" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Додатки Flatpak" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "Список встановлених додатків Flatpak" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "Дані користувача встановлених додатків Flatpak" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Обирання даних Flatpak додатків" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "Додаткові опції" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "Періодичне збереження" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "Зміни набудуть чинності тільки після наступного входу в систему" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Інтервал" + +# Translation key: never +msgid "Never" +msgstr "Ніколи" + +# Translation key: daily +msgid "Daily" +msgstr "Щодня" + +# Translation key: weekly +msgid "Weekly" +msgstr "Щотижня" + +# Translation key: monthly +msgid "Monthly" +msgstr "Щомісяця" + +# Translation key: manually +msgid "Manually" +msgstr "Вручну" + +# Translation key: learn_more +msgid "Learn more" +msgstr "Дізнатися більше" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "Тека для періодичного збереження" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "Виберіть власну теку для періодичного збереження" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "Виберіть іншу теку" + +# Translation key: filename_format +msgid "File name format" +msgstr "Формат назви файлу" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "Скинути до замовчування" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "Пароль для шифрування" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "Ручне збереження" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "Шифрування архіву" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "" +"При ручному збереженні конфігурації вам буде запропоновано створити пароль. Це корисно, коли ви зберігаєте конфігурацію на портативних носіях для кращого захисту ваших даних." + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "Зберегти конфігурацію без створення архіву" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "Створити новий пароль" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Будь ласка, створіть новий пароль для вашого архіву. Критерії включають довжину не менше 12 символів, одну велику літеру, одну маленьку літеру та один спеціальний символ." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "Згенерувати пароль" + +# Translation key: password_entry +msgid "Password" +msgstr "Пароль" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "Розблокувати архів за допомогою пароля" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Введіть пароль нижче, щоб розблокувати архів з вашою конфігурацією. Якщо ви його забули, ви не зможете розпакувати архів і почати імпорт конфігурації." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "" +"Будь ласка, введіть пароль, щоб розблокувати архів для синхронізації конфігурації" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "Запам'ятати пароль" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "Введено не правильний пароль або нічого. Неможливо продовжити." + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"Збереження конфігурації...\nКонфігурація вашої стільниці буде збережена в:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "Конфігурацію збережено!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\nТепер ви можете переглянути архів з конфігурацією вашої стільниці або повернутися до попередньої сторінки.\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "Відкрити теку" + +# Translation key: import_title +msgid "Import" +msgstr "Імпорт" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "Імпорт збереженої конфігурації" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "Імпорт з файлу" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "Імпортувати з теки" + +# Translation key: cancel +msgid "Cancel" +msgstr "Скасувати" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Файли Save Desktop" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"Імпортування конфігурації...\nІмпортування конфігурації з:\n{}\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "Конфігурацію застосовано!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\nВи можете вийти із системи що зміни набули чинності, або повернутися до попередньої сторінки і вийти із системи пізніше.\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "Повернутися до попередньої сторінки" + +# Translation key: logout +msgid "Log Out" +msgstr "Вийти" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "Виникла помилка" + +# Translation key: apply +msgid "Apply" +msgstr "Застосувати" + +# Translation key: sync +msgid "Sync" +msgstr "Синхронізувати" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "" +"Синхронізуйте конфігурацію середовище стільниці з іншими комп'ютерами в мережі." + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "Налаштування початкової синхронізації" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. Відкрийте налаштування системи" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. Перейдіть до розділу \"Онлайн-акаунти\"" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "" +"У цьому розділі виберіть хмарний сервіс, який вам потрібен, наприклад, Google, Microsoft 365 або Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. Натисніть кнопку \"Далі\" та виберіть створену папку хмарного диска" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"Створену папку хмарного диска можна знайти в бічній панелі діалогу вибору файлів у вигляді: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"Для правильного функціонування синхронізації, вам потрібно мати папку, яка синхронізується з вашим хмарним сервісом за допомогою Rclone.\nПочніть з вибору хмарного сервісу, який ви використовуєте." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Тепер скопіюйте команду для налаштування Rclone за допомогою бічної кнопки та відкрийте додаток термінала, використовуючи комбінацію клавіш Ctrl+Alt+T або знайшовши його в меню програм." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Після того, як ви завершите налаштування Rclone за допомогою наданої команди, натисніть кнопку \"Застосувати\"" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Використовувати замість теку Syncthing" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "Майже готово!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "" +"Ви щойно створили папку хмарного диска! Натисніть кнопку \"Далі\", щоб завершити налаштування." + +# Translation key: select +msgid "Select" +msgstr "Вибрати" + +# Translation key: next +msgid "Next" +msgstr "Далі" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "Налаштування файлу синхронізації" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "Періодичне збереження файлу" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Файл періодичного збереження не існує." + +# Translation key: create +msgid "Create" +msgstr "Створити" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "Будь ласка, зачекайте…" + +# Translation key: change +msgid "Change" +msgstr "Змінити" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "Підключитися до хмарного сховища" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"На іншому комп'ютері відкрийте додаток Save Desktop, а на цій сторінці натисніть кнопку \"Налаштувати файл синхронізації\" і зробіть необхідні налаштування. На цьому комп'ютері виберіть папку, яку ви синхронізували з вашим хмарним сховищем, і де також збережено той же файл періодичного збереження." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "Виберіть папку хмарного диска" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "Ви не вибрали папку хмарного диска!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "Періодична синхронізація" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Двостороння синхронізація" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"Якщо увімкнено, і вибрані інтервал синхронізації та папка хмарного диска, інформація про періодичне збереження (інтервал, папка та ім'я файлу) з іншого комп'ютера, для якого налаштовано синхронізацію, буде скопійована на цей комп'ютер." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "" +"Відтепер ви можете синхронізувати налаштування з меню на панелі заголовка" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "Синхронізувати вручну" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "Клавіатурні скорочення" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "Відкрити вікі-документацію додатку" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "Вийти" + +# Translation key: about_app +msgid "About app" +msgstr "Про додаток" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"Ви використовуєте не підтримуване середовище. \nБудь ласка, використовуйте одне з підтримуваних: {}." + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "Збережіть конфігурацію вашої стільниці" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "" +"Save Desktop дозволяє зберегти поточну конфігурацію (теми, значки, шпалери, всі налаштування середовища робочого столу, розширення тощо) в один клац." + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "" +"Kefir2105 https://github.com/Kefir2105\nvolkov " + diff --git a/po/zh_Hans.po b/po/zh_Hans.po new file mode 100644 index 00000000..70b2a76c --- /dev/null +++ b/po/zh_Hans.po @@ -0,0 +1,464 @@ +# Translation file for zh_Hans +# Generated from zh_Hans.json +# +msgid "" +msgstr "" +"Project-Id-Version: savedesktop\n" +"POT-Creation-Date: 2025-09-03 19:10\n" +"PO-Revision-Date: 2025-09-03 19:10\n" +"Last-Translator: Auto-generated\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Translation key: save +msgid "Save" +msgstr "保存" + +#: src/gui/shortcuts_window.ui:22 +# Translation key: save_config +msgid "Save the current configuration" +msgstr "保存当前配置" + +# Translation key: set_filename +msgid "Set the file name" +msgstr "设置文件名" + +#: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive +msgid "Items to include in the configuration archive" +msgstr "要包含在配置存档中的项目" + +# Translation key: items_desc +msgid "These settings also apply to periodic saving" +msgstr "这些设置也适用于定期保存" + +# Translation key: icons +msgid "Icons" +msgstr "图标" + +# Translation key: themes +msgid "Themes" +msgstr "主题" + +# Translation key: fonts +msgid "Fonts" +msgstr "字体" + +# Translation key: backgrounds +msgid "Backgrounds" +msgstr "背景" + +# Translation key: extensions +msgid "Extensions" +msgstr "扩展" + +# Translation key: desktop_folder +msgid "Desktop" +msgstr "桌面" + +# Translation key: save_installed_flatpaks +msgid "Flatpak apps" +msgstr "Flatpak 包" + +# Translation key: list +msgid "List of installed Flatpak apps" +msgstr "已安装的Flatpak应用列表" + +# Translation key: user_data_flatpak +msgid "User data of installed Flatpak apps" +msgstr "使用已安装 Flatpak 程序的用户数据" + +# Translation key: flatpaks_data_tittle +msgid "Flatpak apps data selection" +msgstr "Flatpak应用数据选项" + +#: src/gui/shortcuts_window.ui +# Translation key: more_options +msgid "More options" +msgstr "更多选项" + +# Translation key: periodic_saving +msgid "Periodic saving" +msgstr "定期保存" + +# Translation key: periodic_saving_desc +msgid "Changes will only take effect after the next login" +msgstr "更改仅在下次登录后生效" + +# Translation key: pb_interval +msgid "Interval" +msgstr "Interval" + +# Translation key: never +msgid "Never" +msgstr "从不" + +# Translation key: daily +msgid "Daily" +msgstr "每日" + +# Translation key: weekly +msgid "Weekly" +msgstr "每周" + +# Translation key: monthly +msgid "Monthly" +msgstr "每月" + +# Translation key: manually +msgid "Manually" +msgstr "手动" + +# Translation key: learn_more +msgid "Learn more" +msgstr "学习更多" + +# Translation key: pb_folder +msgid "Folder for periodic saving" +msgstr "定期保存目录" + +# Translation key: set_pb_folder_tooltip +msgid "Choose custom folder for periodic saving" +msgstr "手动选择定期保存目录" + +# Translation key: set_another +msgid "Choose another folder" +msgstr "选择其他目录" + +# Translation key: filename_format +msgid "File name format" +msgstr "文件名称格式" + +# Translation key: reset_button +msgid "Reset to default" +msgstr "恢复默认" + +# Translation key: pwd_for_encryption +msgid "Password for encryption" +msgstr "加密所需的密码" + +# Translation key: manual_saving +msgid "Manual saving" +msgstr "手动保存" + +# Translation key: archive_encryption +msgid "Archive encryption" +msgstr "存档加密" + +# Translation key: archive_encryption_desc +msgid "" +"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." +msgstr "在手动保存配置的时候,会有创建密码的提示信息。这在使用移动便携存储设备保存配置时能更好的保护您的数据。" + +# Translation key: save_without_archive +msgid "Save the configuration without creating an archive" +msgstr "保存配置时不创建存档" + +# Translation key: create_pwd_title +msgid "Create new password" +msgstr "创建新密码" + +# Translation key: create_pwd_desc +msgid "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." +msgstr "" +"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." + +# Translation key: gen_password +msgid "Generate Password" +msgstr "生成密码" + +# Translation key: password_entry +msgid "Password" +msgstr "密码" + +# Translation key: check_pwd_title +msgid "Unlock the archive with a password" +msgstr "解锁存档时不需要密码" + +# Translation key: check_pwd_desc +msgid "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." +msgstr "" +"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." + +# Translation key: enter_password_title +msgid "" +"Please enter a password to unlock the archive for sync the configuration" +msgstr "请输入密码解锁存档以同步配置" + +# Translation key: enter_password_desc +msgid "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." +msgstr "" +"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." + +# Translation key: remember_password +msgid "Remember Password" +msgstr "记住密码" + +# Translation key: password_store_err +msgid "Password not entered, or it's incorrect. Unable to continue." +msgstr "密码为空或密码错误,无法进行下一步。" + +# Translation key: saving_config_status +msgid "" +"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" +msgstr "" +"保存配置……\n您的桌面环境配置将被保存至:\n {}/{}.sd.tar.gz\n" + +# Translation key: config_saved +msgid "Configuration has been saved!" +msgstr "配置已保存!" + +# Translation key: config_saved_desc +msgid "" +"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" +msgstr "" +"{}\n现在您可以查看桌面环境配置存档,或者返回上一页。\n" + +# Translation key: open_folder +msgid "Open the folder" +msgstr "打开文件夹" + +# Translation key: import_title +msgid "Import" +msgstr "导入" + +# Translation key: import_config +msgid "Import saved configuration" +msgstr "导入保存的配置" + +#: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file +msgid "Import from file" +msgstr "从文件导入" + +# Translation key: import_from_folder +msgid "Import from folder" +msgstr "从文件夹导入" + +# Translation key: cancel +msgid "Cancel" +msgstr "取消" + +# Translation key: savedesktop_f +msgid "Save Desktop files" +msgstr "Save Desktop文件" + +# Translation key: importing_config_status +msgid "" +"Importing configuration …\nImporting configuration from:\n{}\n" +msgstr "" +"导入配置……\n从:{}导入配置\n" + +# Translation key: config_imported +msgid "The configuration has been applied!" +msgstr "配置已应用!" + +# Translation key: config_imported_desc +msgid "" +"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" +msgstr "" +"{}\n您可以注销以使更改生效,或返回上一页稍后再注销。\n" + +# Translation key: back_to_page +msgid "Back to previous page" +msgstr "返回上一页" + +# Translation key: logout +msgid "Log Out" +msgstr "注销" + +# Translation key: err_occured +msgid "An error occurred" +msgstr "出现一个错误" + +# Translation key: apply +msgid "Apply" +msgstr "应用" + +# Translation key: sync +msgid "Sync" +msgstr "同步" + +# Translation key: sync_desc +msgid "" +"Sync your desktop environment configuration with other computers in the network." +msgstr "将您的桌面环境配置与网络中的其他计算机同步。" + +# Translation key: initial_setup +msgid "Initial synchronization setup" +msgstr "初始化同步设置" + +# Translation key: gnome_oa_settings +msgid "1. Open the system settings" +msgstr "1. 打开系统设置" + +# Translation key: gnome_oa_section +msgid "2. Go to the Online Accounts section" +msgstr "2. 定位到在线账号(Online Accounts)部分" + +# Translation key: gnome_oa_section_desc +msgid "" +"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." +msgstr "选择你想使用的任一云服务,比如 Google,Microsoft 365 或 Nextcloud." + +# Translation key: gnome_oa_chooser +msgid "3. Click on the Next button and select the created cloud drive folder" +msgstr "3. 点击下一步,选择已创建的云同步文件夹" + +# Translation key: gnome_oa_chooser_desc +msgid "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." +msgstr "" +"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." + +# Translation key: rclone_intro_desc +msgid "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." +msgstr "" +"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." + +# Translation key: rclone_copy_cmd +msgid "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." +msgstr "" +"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." + +# Translation key: rclone_cmd_copied_msg +msgid "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" +msgstr "" +"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" + +# Translation key: syncthing_folder +msgid "Use Syncthing folder instead" +msgstr "Use Syncthing folder instead" + +# Translation key: almost_done_title +msgid "Almost done!" +msgstr "马上就好!" + +# Translation key: almost_done_desc +msgid "" +"You've now created the cloud drive folder! Click on the Next button to complete the setup." +msgstr "您已经创建好云驱动文件夹了!点击下一步以完成设置。" + +# Translation key: select +msgid "Select" +msgstr "选择" + +# Translation key: next +msgid "Next" +msgstr "下一步" + +#: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file +msgid "Set up the sync file" +msgstr "设置同步文件" + +# Translation key: periodic_saving_file +msgid "Periodic saving file" +msgstr "定期保存文件" + +# Translation key: periodic_saving_file_err +msgid "Periodic saving file does not exist." +msgstr "Periodic saving file does not exist." + +# Translation key: create +msgid "Create" +msgstr "新建" + +# Translation key: please_wait +msgid "Please wait …" +msgstr "请稍等 …" + +# Translation key: change +msgid "Change" +msgstr "更改" + +#: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage +msgid "Connect to the cloud storage" +msgstr "连接到云存储" + +# Translation key: connect_cloud_storage_desc +msgid "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." +msgstr "" +"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." + +# Translation key: select_cloud_folder_btn +msgid "Select the cloud drive folder" +msgstr "选择云驱动文件夹" + +# Translation key: cloud_folder_err +msgid "You didn't select the cloud drive folder!" +msgstr "您没有选择云驱动文件夹!" + +# Translation key: periodic_sync +msgid "Periodic synchronization" +msgstr "周期性同步" + +# Translation key: bidirectional_sync +msgid "Bidirectional synchronization" +msgstr "Bidirectional synchronization" + +# Translation key: bidirectional_sync_desc +msgid "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." +msgstr "" +"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." + +# Translation key: m_sync_desc +msgid "From now on, you can sync the config from the menu in the header bar" +msgstr "从现在开始,您可以从标题栏中的菜单中同步配置╰(*°▽°*)╯" + +#: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually +msgid "Synchronise manually" +msgstr "手动同步" + +#: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts +msgid "Keyboard shortcuts" +msgstr "快捷键" + +#: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki +msgid "Open the application wiki" +msgstr "打开本应用使用说明(WIKI)" + +#: src/gui/shortcuts_window.ui:43 +# Translation key: quit +msgid "Quit" +msgstr "退出" + +# Translation key: about_app +msgid "About app" +msgstr "关于应用" + +# Translation key: unsuppurted_env_desc +msgid "" +"You have an unsupported environment installed. \nPlease use one of these environments: {}." +msgstr "" +"您安装了不受支持的环境。\n请使用以下环境之一:{}。" + +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 +#: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary +msgid "Save your desktop configuration" +msgstr "保存您的桌面环境配置" + +# Translation key: description +msgid "" +"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." +msgstr "Save Desktop 可让您一键保存当前配置(主题、图标、壁纸、所有桌面环境设置、扩展等)。" + +# Translation key: translator_credits +msgid "Translator credits" +msgstr "译者github链接" + diff --git a/src/README.md b/src/README.md deleted file mode 100644 index 9002eeed..00000000 --- a/src/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Navigation -In this directory is located the most important part of the app, which is its source code. -Because there are a lot of files, this README helps you navigate in this directory. - -What are the individual scripts used for? -- `config.py` - saving and importing a user configuration from and to the home folder's directories -- `install_flatpak_from_script.py` - installing Flatpak apps from the list to the system and copying user data from the configuration archive to the ~/.var/app directory -- `items_dialog.py` - selecting what items should be included in the configuration archive -- `localization.py` - setting up the app's language, cache, data directories, and more -- `main_window.py` - showing a GUI of the app -- `password_check_gui.py` - showing a dialog for entering a password to the encrypted archive in the synchronization mode -- `password_store.py` - storing the entered password in the More options dialog or the Connect to the cloud storage dialog to the file -- `periodic_saving.py` - saving a configuration periodically -- `shortcuts_window.py` - showing available keyboard shortcuts in the window -- `synchronization.py` - importing a configuration archive from the cloud storage folder diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 00000000..143f486c --- /dev/null +++ b/src/__init__.py @@ -0,0 +1 @@ +# __init__.py diff --git a/src/core/__init__.py b/src/core/__init__.py new file mode 100644 index 00000000..ac2514b9 --- /dev/null +++ b/src/core/__init__.py @@ -0,0 +1 @@ +# __init__.py (core) diff --git a/src/core/archive.py b/src/core/archive.py new file mode 100644 index 00000000..c4ff7e6b --- /dev/null +++ b/src/core/archive.py @@ -0,0 +1,174 @@ +import os, sys, shutil, subprocess, argparse, re +from savedesktop.globals import * + +parser = argparse.ArgumentParser() +parser.add_argument("-c", "--create", help="Create archive", type=str) +parser.add_argument("-u", "--unpack", help="Unpack archive", type=str) +args = parser.parse_args() + +def get_password(): + temp_file = f"{CACHE}/temp_file" + if os.path.exists(temp_file): + with open(temp_file) as tmp: + return tmp.read().strip() + else: + return None + +def remove_temp_file(): + try: + os.remove(f"{CACHE}/temp_file") + except FileNotFoundError: + pass + +class Create: + def __init__(self): + self.start_saving() + + def start_saving(self): + self._cleanup_cache_dir() + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + + print("Creating and moving the configuration archive or folder to the user-defined directory") + + if settings["save-without-archive"]: + self._copy_config_to_folder() + else: + self._create_archive() + shutil.copyfile('cfg.sd.zip', f"{args.create}.sd.zip") + + print("Configuration saved successfully.") + remove_temp_file() + + def _cleanup_cache_dir(self): + # Cleanup the cache dir before importing + print("Cleaning up the cache directory") + save_cache_dir = f"{CACHE}/save_config" + try: + shutil.rmtree(save_cache_dir) + except: + pass + os.makedirs(save_cache_dir, exist_ok=True) + os.chdir(save_cache_dir) + + def _copy_config_to_folder(self): + open(f"{CACHE}/save_config/.folder.sd", "w").close() + shutil.move(f"{CACHE}/save_config", f"{args.create}") + + def _create_archive(self): + password = get_password() + cmd = ['7z', 'a', '-tzip', '-mx=3', '-x!*.zip', '-x!saving_status', 'cfg.sd.zip', '.'] + if settings["enable-encryption"]: + cmd.insert(4, "-mem=AES256") + cmd.insert(5, f"-p{password}") + + proc = subprocess.run(cmd, capture_output=True, text=True) + + if proc.returncode not in (0, 1): + # 0 = everything is OK, 1 = warning (e.g. file not found) + raise OSError(f"7z failed: {proc.stderr}") + else: + print("7z finished with warnings:", proc.stderr) + +class Unpack: + def __init__(self): + self.start_importing() + + def start_importing(self): + self.import_file = args.unpack + self.import_folder = args.unpack + + self._cleanup_cache_dir() + self._check_config_type() + + # Check, if the input is folder or not + if self.is_folder: + self._copy_folder_to_cache() + else: + if self.import_file.endswith(".sd.zip"): + self._unpack_zip_archive() + + elif ".sd.tar.gz" in self.import_file: + self._unpack_tar_archive() + + self._replace_home_in_files(".", home) + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--import_"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + + self._remove_status_file() + + print("Configuration imported successfully.") + remove_temp_file() + + def _cleanup_cache_dir(self): + # Cleanup the cache dir before importing + print("Cleaning up the cache directory") + imp_cache_dir = f"{CACHE}/import_config" + try: + shutil.rmtree(imp_cache_dir) + except: + pass + os.makedirs(imp_cache_dir, exist_ok=True) + os.chdir(imp_cache_dir) + + # Create a txt file to prevent removing the cache's content after closing the app window + open("import_status", "w").close() + + def _check_config_type(self): + if self.import_file.endswith(".sd.zip") or self.import_file.endswith(".sd.tar.gz"): + self.is_folder = False + else: + self.is_folder = True + + def _copy_folder_to_cache(self): + shutil.copytree(self.import_folder, f"{CACHE}/import_config", dirs_exist_ok=True, ignore_dangling_symlinks=True) + + def _unpack_zip_archive(self): + password = get_password() + + if password: + try: + subprocess.run( + ['7z', 'e', '-so', f'-p{password}' if password else '', self.import_file, 'dconf-settings.ini'], + capture_output=True, text=True, check=True + ) + except subprocess.CalledProcessError as e: + first_error = next((l for l in e.stderr.splitlines() if "Wrong password" in l), None) + raise ValueError(first_error or "Wrong password") + print("Checking password is completed.") + + subprocess.run( + ['7z', 'x', '-y', f'-p{password}', self.import_file, f'-o{CACHE}/import_config'], + capture_output=False, text=True, check=True + ) + + def _unpack_tar_archive(self): + subprocess.run(["tar", "-xzf", self.import_file, "-C", f"{CACHE}/import_config"],capture_output=True, text=True, check=True) + + # Replace original /home/$USER path with actual path in the dconf-settings.ini file and other XML files + def _replace_home_in_files(self, root, home, patterns=(".xml", ".ini")): + regex = re.compile(r"/home/[^/]+/") + for dirpath, _, filenames in os.walk(root): + for filename in filenames: + if filename.endswith(patterns): + path = os.path.join(dirpath, filename) + with open(path, "r", encoding="utf-8") as f: + text = f.read() + new_text = regex.sub(f"{home}/", text) + if new_text != text: + with open(path, "w", encoding="utf-8") as f: + f.write(new_text) + print(f"Updated /home/$USER path in: {path}") + + def _remove_status_file(self): + if all(not os.path.exists(p) for p in [ + f"{CACHE}/import_config/app", + f"{CACHE}/import_config/installed_flatpaks.sh", + f"{CACHE}/import_config/installed_user_flatpaks.sh" + ]): + os.remove("import_status") + +if args.create: + Create() +elif args.unpack: + Unpack() +else: + pass diff --git a/src/config.py b/src/core/config.py similarity index 98% rename from src/config.py rename to src/core/config.py index f2ab92fb..775f8686 100644 --- a/src/config.py +++ b/src/core/config.py @@ -1,6 +1,6 @@ import os, shutil, argparse from gi.repository import GLib -from localization import * +from savedesktop.globals import * # Helping functions def safe_copy(src: str, dst: str): @@ -217,13 +217,13 @@ def __init__(self): # Create an autostart file to install Flatpaks from a list after the next login def create_flatpak_autostart(self): - os.system(f"cp {system_dir}/install_flatpak_from_script.py {CACHE}/") + os.system(f"cp /app/share/savedesktop/savedesktop/core/flatpaks_installer.py {CACHE}/") if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh") or not os.path.exists(f"{CACHE}/syncing/sync_status"): if not os.path.exists(f"{home}/.config/autostart"): os.mkdir(f"{home}/.config/autostart") if not os.path.exists(f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Flatpak.desktop"): with open(f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Flatpak.desktop", "w") as fa: - fa.write(f"[Desktop Entry]\nName=SaveDesktop (Flatpak Apps installer)\nType=Application\nExec=python3 {CACHE}/install_flatpak_from_script.py") + fa.write(f"[Desktop Entry]\nName=SaveDesktop (Flatpak Apps installer)\nType=Application\nExec=python3 {CACHE}/flatpaks_installer.py") if args.save: Save() diff --git a/src/install_flatpak_from_script.py b/src/core/flatpaks_installer.py similarity index 100% rename from src/install_flatpak_from_script.py rename to src/core/flatpaks_installer.py diff --git a/src/core/meson.build b/src/core/meson.build new file mode 100644 index 00000000..9b121859 --- /dev/null +++ b/src/core/meson.build @@ -0,0 +1,11 @@ +core_sources = [ '__init__.py', + 'archive.py', + 'config.py', + 'flatpaks_installer.py', + 'password_store.py', + 'periodic_saving.py', + 'synchronization.py', + 'synchronization_setup.py', + ] + +install_data(core_sources, install_dir: moduledir / 'core') \ No newline at end of file diff --git a/src/password_store.py b/src/core/password_store.py similarity index 98% rename from src/password_store.py rename to src/core/password_store.py index bc9b0524..26223131 100644 --- a/src/password_store.py +++ b/src/core/password_store.py @@ -1,5 +1,5 @@ import hashlib, os -from localization import * +from savedesktop.globals import * # Repeated XOR with SHA-256-hashed key def xor(data: bytes, key: bytes) -> bytes: diff --git a/src/periodic_saving.py b/src/core/periodic_saving.py similarity index 87% rename from src/periodic_saving.py rename to src/core/periodic_saving.py index a9a90b56..fbdd1727 100644 --- a/src/periodic_saving.py +++ b/src/core/periodic_saving.py @@ -2,8 +2,8 @@ from datetime import datetime, date, timedelta from pathlib import Path from gi.repository import GLib, Gio -from localization import * -from password_store import * +from savedesktop.globals import * +from savedesktop.core.password_store import * # Get the current date dt = datetime.now() @@ -71,7 +71,7 @@ def backup(self): os.makedirs(f"{CACHE}/periodic_saving", exist_ok=True) os.chdir(f"{CACHE}/periodic_saving") os.system("echo > saving_status") - os.system(f"python3 {system_dir}/config.py --save") + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) print("creating the configuration archive") print("moving the configuration archive to the user-defined directory") @@ -87,9 +87,9 @@ def get_password_from_file(self): except: self.password = None if self.password != None: - os.system(f'7z a -tzip -mx=6 -p"{self.password}" -x!*.zip -x!saving_status cfg.sd.zip .') + subprocess.run(['7z', 'a', '-tzip', '-mx=6', f'-p{self.password}', '-mem=AES256', '-x!*.zip', '-x!saving_status', 'cfg.sd.zip', '.'], check=True) else: - os.system(f"7z a -tzip -mx=6 -x!*.zip -x!saving_status cfg.sd.zip .") + subprocess.run(['7z', 'a', '-tzip', '-mx=6', '-x!*.zip', '-x!saving_status', 'cfg.sd.zip', '.'], check=True) shutil.copyfile('cfg.sd.zip', f'{self.pbfolder}/{self.filename}.sd.zip') def save_last_backup_date(self): diff --git a/src/synchronization.py b/src/core/synchronization.py similarity index 87% rename from src/synchronization.py rename to src/core/synchronization.py index bcc264ee..97b904ba 100644 --- a/src/synchronization.py +++ b/src/core/synchronization.py @@ -3,8 +3,8 @@ from datetime import datetime, date, timedelta import subprocess, os, locale, json, gi, socket, shutil, zipfile, tarfile, re from gi.repository import Gio, GLib -from localization import * -from password_store import * +from savedesktop.globals import * +from savedesktop.core.password_store import * dt = datetime.now() @@ -63,10 +63,10 @@ def check_manually_sync_status(self): # Download the configuration archive from the cloud drive folder def download_config(self): - subtitle = (lambda s: re.sub(r'<.*?>', '', s).split('…')[-1].strip())(_["importing_config_status"].format(settings["file-for-syncing"])) + subtitle = (lambda s: re.sub(r'<.*?>', '', s).split('…')[-1].strip())(_("Importing configuration …\nImporting configuration from:\n{}").format(settings["file-for-syncing"])) os.system(f'notify-send "Save Desktop Synchronization" "{subtitle}"') if not os.path.exists(f"{settings['file-for-syncing']}/SaveDesktop.json"): - err_str = _["err_occured"] + err_str = _("An error occurred") err = "SaveDesktop.json doesn't exist in the cloud drive folder!" os.system(f'notify-send "{err_str}" "{err}"') exit() @@ -115,7 +115,7 @@ def try_passwordstore(): # #2 If it fails, run GUI if not self.password: - os.system(f"python3 {system_dir}/password_check_gui.py") + os.system(f"python3 -m savedesktop.gui.password_checker") self.password = try_passwordstore() # #3 If password is still unavailable, get it from the {DATA}/entered-password.txt file @@ -125,10 +125,10 @@ def try_passwordstore(): # #4 Final check if not self.password: - msg = _["password_store_err"] - err_occured = _['err_occured'] + msg = _("Password not entered, or it's incorrect. Unable to continue.") + err_occurred = _("An error occurred") print(msg) - os.system(f'notify-send "{err_occured}" "{msg}"') + os.system(f'notify-send "{err_occurred}" "{msg}"') exit() # #5 Continue in extraction @@ -158,13 +158,16 @@ def extract_archive(self): self.password = None os.system(f"rm {DATA}/entered-password.txt") except Exception as e: - os.system(f"notify-send '{_['err_occured']}' '{e}' -i io.github.vikdevelop.SaveDesktop-symbolic") + err_occurred = _("An error occurred") + os.system(f"notify-send '{err_str}' '{e}' -i io.github.vikdevelop.SaveDesktop-symbolic") + if os.path.exists(f"{DATA}/password"): + os.remove(f"{DATA}/password") exit() self.import_config() # Start importing a configuration from the configuration archive def import_config(self): - os.system(f"python3 {system_dir}/config.py --import_") + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) self.done() def done(self): @@ -179,6 +182,7 @@ def done(self): shutil.rmtree("syncing") # Send a notification about finished synchronization - os.system(f"notify-send 'Save Desktop ({self.file})' '{_['config_imported']} {_['periodic_saving_desc']}' -i io.github.vikdevelop.SaveDesktop-symbolic") + os.system(f"notify-send 'Save Desktop ({self.file})' '{_('The configuration has been applied!')} {_('Changes will only take effect after the next login')}' -i io.github.vikdevelop.SaveDesktop-symbolic") Syncing() + diff --git a/src/core/synchronization_setup.py b/src/core/synchronization_setup.py new file mode 100644 index 00000000..e70bf76c --- /dev/null +++ b/src/core/synchronization_setup.py @@ -0,0 +1,95 @@ +import subprocess, argparse, re, os, gettext +from savedesktop.globals import * + +parser = argparse.ArgumentParser() +parser.add_argument("-c", "--checkfs", help="Check file system", action="store_true") +parser.add_argument("-s", "--automount-setup", help="Set up auto mount", type=str) +args = parser.parse_args() + +def check_fs(): + check_filesystem = subprocess.getoutput('df -T "%s" | awk \'NR==2 {print $2}\'' % settings['file-for-syncing']) + if not "gvfsd" in check_filesystem: + if not "rclone" in check_filesystem: + if not os.path.exists(f"{settings['file-for-syncing']}/.stfolder"): + print("You have not selected the cloud drive folder!") + +# set up auto-mounting of the cloud drives after logging in to the system +def set_up_auto_mount(): + if args.automount_setup == "periodic-saving": + cfile_subtitle = settings["periodic-saving-folder"] + elif args.automount_setup == "cloud-receiver": + cfile_subtitle = settings["file-for-syncing"] + else: + cfile_subtitle = "none" + + if not cfile_subtitle == "none": + if "gvfs" in cfile_subtitle: + pattern = r'.*/gvfs/([^:]*):host=([^,]*),user=([^/]*).*' if "google-drive" in cfile_subtitle else r'.*/gvfs/([^:]+):host=([^,]+),user=([^/]+)' if "onedrive" in cfile_subtitle else r'.*/gvfs/([^:]*):host=([^,]*),ssl=([^,]*),user=([^,]*),prefix=([^/]*).*' + + match = re.search(pattern, cfile_subtitle) + + if match: + if "google-drive" in cfile_subtitle: # Google Drive + cloud_service = match.group(1) # cloud_service for Google Drive + host = match.group(2) # host for Google Drive + user = match.group(3) + ssl = None # ssl is not relevant for Google Drive + prefix = None # prefix is not relevant for Google Drive + cmd = f"gio mount {cloud_service}://{user}@{host}" # command for Google Drive + elif "onedrive" in cfile_subtitle: # OneDrive + cloud_service = match.group(1) # cloud_service for OneDrive + host = match.group(2) # host for OneDrive + user = match.group(3) # user is not relevant for OneDrive + ssl = None # ssl is not relevant for OneDrive + prefix = None # prefix is not relevant for OneDrive + cmd = f"gio mount {cloud_service}://{user}@{host}" # command for OneDrive + elif "dav" in cfile_subtitle: # DAV + cloud_service = match.group(1) # cloud_service for DAV + host = match.group(2) # host for DAV + ssl = match.group(3) # ssl for DAV + user = match.group(4) # user for DAV + if match.group(5): # prefix for DAV + prefix_old = match.group(5) + prefix = re.sub(r'gio mount |%2F', '/', prefix_old).replace('//', '').strip() # Replace 2%F with / + else: + prefix = "" + fm = "nautilus" if not self.environment == "Cinnamon" else "nemo" + cmd = ( + f"output=$(secret-tool lookup object Nextcloud) && " + f"output=\"Positive signal\" || " + f"output=\"Negative signal\"\n" + f"if [[ \"$output\" == \"Positive signal\" ]]; then\n" + f" gio mount davs://{user}@{host}{prefix}\n" + f"else\n" + f" {fm} davs://{user}@{host}{prefix}\n" + f"fi" + ) + else: + extracted_values = { + "cloud_service": cloud_service, + "host": host, + "user": user, + "prefix": prefix, + "cmd": cmd + } + elif os.path.exists(f"{cfile_subtitle}/.stfolder"): + cmd = "" + else: + cmd = f"rclone mount {cfile_subtitle.split('/')[-1]}: {cfile_subtitle}" if not os.path.exists(f"{download_dir}/SaveDesktop/rclone_drive") else f"rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive" + synchronization_content = f'#!/usr/bin/bash\n{cmd}\nsleep 60s\n{sync_cmd}\n{periodic_saving_cmd}' + if flatpak: + synchronization_content += f'\npython3 {CACHE}/install_flatpak_from_script.py' + with open(f"{DATA}/savedesktop-synchronization.sh", "w") as f: + f.write(synchronization_content) + os.makedirs(f'{home}/.config/autostart', exist_ok=True) + open(f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", "w").write(f"[Desktop Entry]\nName=SaveDesktop (Synchronization)\nType=Application\nExec=sh {DATA}/savedesktop-synchronization.sh") + [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.MountDrive.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.server.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Flatpak.desktop"] if os.path.exists(path)] + else: + raise AttributeError("There aren't possible to get values from the periodic-saving-folder or file-for-syncing strings") + +if args.checkfs: + print("checkfs - executed") + check_fs() +elif args.automount_setup: + print("automount-setup - executed") + set_up_auto_mount() diff --git a/src/globals.py b/src/globals.py new file mode 100644 index 00000000..31a67ac5 --- /dev/null +++ b/src/globals.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +import gi, os, locale, gettext +gi.require_version('Gtk', '4.0') +gi.require_version('Adw', '1') +from gi.repository import Gtk, Adw, Gio, GLib +from pathlib import Path + +# Environment detection +def get_app_environment(): + if os.path.exists("/.flatpak-info"): + return { + 'type': 'flatpak', + 'home': Path(os.getenv('HOME', Path.home())), + 'version_suffix': '', + 'run_cmd': 'flatpak run io.github.vikdevelop.SaveDesktop' + } + + elif os.environ.get('SNAP_NAME') == 'savedesktop': + return { + 'type': 'snap', + 'home': Path(os.getenv('SNAP_REAL_HOME', os.getenv('HOME', Path.home()))), + 'version_suffix': '-snap', + 'run_cmd': 'savedesktop' + } + + else: + return { + 'type': 'native', + 'home': Path.home(), + 'version_suffix': '-native', + 'run_cmd': 'savedesktop' + } + +env = get_app_environment() + +home = env['home'] +version = f"1.0.0{env['version_suffix']}" + +# System paths +download_dir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD) +settings = Gio.Settings.new_with_path( + "io.github.vikdevelop.SaveDesktop", + "/io/github/vikdevelop/SaveDesktop/" +) + +DATA = f'{GLib.get_user_data_dir()}' +CACHE = f'{GLib.get_user_cache_dir()}' + +# Commands +periodic_saving_cmd = f'{env["run_cmd"]} --background' +sync_cmd = f'{env["run_cmd"]} --sync' + +# Detect flags +flatpak = (env['type'] == 'flatpak') +snap = (env['type'] == 'snap') + +# Export +__all__ = [ + 'home', 'download_dir', 'snap', 'flatpak', 'settings', + 'DATA', 'CACHE', 'version', + 'periodic_saving_cmd', 'sync_cmd' +] + diff --git a/src/gui/__init__.py b/src/gui/__init__.py new file mode 100644 index 00000000..d392e590 --- /dev/null +++ b/src/gui/__init__.py @@ -0,0 +1 @@ +# __init__.py (gui) diff --git a/src/gui/gtk/shortcuts_window.ui b/src/gui/gtk/shortcuts_window.ui new file mode 100644 index 00000000..3af5df78 --- /dev/null +++ b/src/gui/gtk/shortcuts_window.ui @@ -0,0 +1,88 @@ + + + + + diff --git a/src/items_dialog.py b/src/gui/items_dialog.py similarity index 92% rename from src/items_dialog.py rename to src/gui/items_dialog.py index cb87b5ee..9e4d40cf 100644 --- a/src/items_dialog.py +++ b/src/gui/items_dialog.py @@ -2,7 +2,7 @@ gi.require_version('Gtk', '4.0') gi.require_version('Adw', '1') from gi.repository import Gtk, Adw, Gio, GLib -from localization import * +from savedesktop.globals import * # Row for showing available apps class FolderSwitchRow(Adw.ActionRow): @@ -44,7 +44,7 @@ def on_switch_activated(self, switch, state): class FlatpakAppsDialog(Adw.AlertDialog): def __init__(self): super().__init__() - self.set_heading(_["flatpaks_data_tittle"]) + self.set_heading(_("Flatpak apps data selection")) # primary Gtk.Box for this dialog self.dialogBox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=10) @@ -68,8 +68,8 @@ def __init__(self): scrolled_window.set_child(self.flowbox) # add buttons to the dialog - self.add_response('cancel', _["cancel"]) - self.add_response('ok', _["apply"]) + self.add_response('cancel', _("Cancel")) + self.add_response('ok', _("Apply")) self.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) self.connect('response', self.apply_settings) @@ -111,8 +111,8 @@ def apply_settings(self, w, response): class itemsDialog(Adw.AlertDialog): def __init__(self): super().__init__() - self.set_heading(_["items_for_archive"]) - self.set_body(_["items_desc"]) + self.set_heading(_("Items to include in the configuration archive")) + self.set_body(_("These settings also apply to periodic saving")) # Box for loading widgets in this dialog self.itemsBox = Gtk.ListBox.new() @@ -127,7 +127,7 @@ def __init__(self): self.switch_01.set_valign(align=Gtk.Align.CENTER) self.icons_row = Adw.ActionRow.new() - self.icons_row.set_title(title=_["icons"]) + self.icons_row.set_title(title=_("Icons")) self.icons_row.set_use_markup(True) self.icons_row.set_title_lines(2) self.icons_row.set_subtitle_lines(3) @@ -142,7 +142,7 @@ def __init__(self): self.switch_02.set_valign(align=Gtk.Align.CENTER) self.themes_row = Adw.ActionRow.new() - self.themes_row.set_title(title=_["themes"]) + self.themes_row.set_title(title=_("Themes")) self.themes_row.set_use_markup(True) self.themes_row.set_title_lines(2) self.themes_row.set_subtitle_lines(3) @@ -157,7 +157,7 @@ def __init__(self): self.switch_03.set_valign(align=Gtk.Align.CENTER) self.fonts_row = Adw.ActionRow.new() - self.fonts_row.set_title(title=_["fonts"]) + self.fonts_row.set_title(title=_("Fonts")) self.fonts_row.set_use_markup(True) self.fonts_row.set_title_lines(2) self.fonts_row.set_subtitle_lines(3) @@ -172,7 +172,7 @@ def __init__(self): self.switch_04.set_valign(align=Gtk.Align.CENTER) self.backgrounds_row = Adw.ActionRow.new() - self.backgrounds_row.set_title(title=_["backgrounds"]) + self.backgrounds_row.set_title(title=_("Backgrounds")) self.backgrounds_row.set_use_markup(True) self.backgrounds_row.set_title_lines(2) self.backgrounds_row.set_subtitle_lines(3) @@ -192,7 +192,7 @@ def __init__(self): self.switch_de.set_valign(align=Gtk.Align.CENTER) self.desktop_row = Adw.ActionRow.new() - self.desktop_row.set_title(title=_["desktop_folder"]) + self.desktop_row.set_title(title=_("Desktop")) self.desktop_row.set_subtitle(subtitle=GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP)) self.desktop_row.set_subtitle_selectable(True) self.desktop_row.set_use_markup(True) @@ -204,7 +204,7 @@ def __init__(self): if flatpak: self.flatpak_row = Adw.ExpanderRow.new() - self.flatpak_row.set_title(title=_["save_installed_flatpaks"]) + self.flatpak_row.set_title(title=_("Flatpak apps")) self.flatpak_row.set_use_markup(True) self.flatpak_row.set_title_lines(2) self.flatpak_row.set_subtitle_lines(3) @@ -217,7 +217,7 @@ def __init__(self): self.switch_05.set_valign(align=Gtk.Align.CENTER) self.list_row = Adw.ActionRow.new() - self.list_row.set_title(title=_["list"]) + self.list_row.set_title(title=_("List of installed Flatpak apps")) self.list_row.set_use_markup(True) self.list_row.set_title_lines(4) self.list_row.add_suffix(self.switch_05) @@ -229,7 +229,7 @@ def __init__(self): self.appsButton = Gtk.Button.new_from_icon_name("go-next-symbolic") self.data_row = Adw.ActionRow.new() - self.data_row.set_title(title=_["user_data_flatpak"]) + self.data_row.set_title(title=_("User data of installed Flatpak apps")) self.data_row.set_use_markup(True) self.data_row.set_title_lines(4) self.data_row.add_suffix(self.switch_06) @@ -245,11 +245,11 @@ def __init__(self): self.appsButton.add_css_class("flat") self.appsButton.set_valign(Gtk.Align.CENTER) - self.appsButton.set_tooltip_text(_["flatpaks_data_tittle"]) + self.appsButton.set_tooltip_text(_("Flatpak apps data selection")) self.appsButton.connect("clicked", self.manage_data_list) - self.add_response('cancel', _["cancel"]) - self.add_response('ok', _["apply"]) + self.add_response('cancel', _("Cancel")) + self.add_response('ok', _("Apply")) self.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) self.connect('response', self.itemsdialog_closed) @@ -297,7 +297,7 @@ def show_extensions_row(self): self.switch_ext.set_valign(align=Gtk.Align.CENTER) self.ext_row = Adw.ActionRow.new() - self.ext_row.set_title(title=_["extensions"]) + self.ext_row.set_title(title=_("Extensions")) self.ext_row.set_use_markup(True) self.ext_row.set_title_lines(2) self.ext_row.set_subtitle_lines(3) diff --git a/src/gui/meson.build b/src/gui/meson.build new file mode 100644 index 00000000..7fcd64cd --- /dev/null +++ b/src/gui/meson.build @@ -0,0 +1,9 @@ +gui_sources = [ '__init__.py', + 'window.py', + 'password_checker.py', + 'items_dialog.py', + 'more_options_dialog.py', + 'synchronization_dialogs.py', + ] + +install_data(gui_sources, install_dir: moduledir / 'gui') diff --git a/src/gui/more_options_dialog.py b/src/gui/more_options_dialog.py new file mode 100644 index 00000000..0ad8cc47 --- /dev/null +++ b/src/gui/more_options_dialog.py @@ -0,0 +1,186 @@ +import gi, os +gi.require_version('Gtk', '4.0') +gi.require_version('Adw', '1') +from gi.repository import Gtk, Adw +from savedesktop.globals import * +from savedesktop.core.password_store import PasswordStore + +class MoreOptionsDialog(Adw.AlertDialog): + def __init__(self, parent): + super().__init__() + self.parent = parent + self.set_heading(_("More options")) + + # Box for this dialog + self.msBox = Gtk.ListBox.new() + self.msBox.set_selection_mode(mode=Gtk.SelectionMode.NONE) + self.msBox.add_css_class('boxed-list') + self.set_extra_child(self.msBox) + + # Periodic saving section + # Expander row for showing options of the periodic saving + self.saving_eRow = Adw.ExpanderRow.new() + self.saving_eRow.set_title(_("Periodic saving")) + #self.saving_eRow.set_expanded(True) if self.parent.parent.open_setdialog_tf else None + self.msBox.append(child=self.saving_eRow) + + options = Gtk.StringList.new(strings=[ + _("Never"), _("Daily"), _("Weekly"), _("Monthly") + ]) + + self.pbRow = Adw.ComboRow.new() + self.pbRow.set_title(_("Interval")) + self.pbRow.set_use_markup(True) + self.pbRow.set_subtitle(_("Changes will only take effect after the next login")) + self.pbRow.set_subtitle_lines(4) + self.pbRow.set_model(model=options) + self.saving_eRow.add_row(self.pbRow) + + # Load options from GSettings database + if settings["periodic-saving"] == 'Never': + self.pbRow.set_selected(0) + elif settings["periodic-saving"] == 'Daily': + self.pbRow.set_selected(1) + elif settings["periodic-saving"] == 'Weekly': + self.pbRow.set_selected(2) + elif settings["periodic-saving"] == 'Monthly': + self.pbRow.set_selected(3) + + # Restore filename format text to default + self.filefrmtButton = Gtk.Button.new_from_icon_name("view-refresh-symbolic") + self.filefrmtButton.add_css_class('destructive-action') + self.filefrmtButton.set_valign(Gtk.Align.CENTER) + self.filefrmtButton.set_tooltip_text(_("Reset to default")) + self.filefrmtButton.connect("clicked", self.reset_fileformat) + + # Entry for selecting file name format + self.filefrmtEntry = Adw.EntryRow.new() + self.filefrmtEntry.set_title(_("File name format")) + self.filefrmtEntry.add_suffix(self.filefrmtButton) + self.filefrmtEntry.set_text(settings["filename-format"]) + self.saving_eRow.add_row(self.filefrmtEntry) + + # Button for choosing folder for periodic saving + self.folderButton = Gtk.Button.new_from_icon_name("document-open-symbolic") + self.folderButton.set_valign(Gtk.Align.CENTER) + self.folderButton.set_tooltip_text(_("Choose another folder")) + self.folderButton.connect("clicked", self.open_file_dialog) + + # Adw.ActionRow for showing folder for periodic saving + self.dirRow = Adw.ActionRow.new() + self.dirRow.set_title(_("Folder for periodic saving")) + self.dirRow.add_suffix(self.folderButton) + self.dirRow.set_use_markup(True) + self.dirRow.set_subtitle(settings["periodic-saving-folder"].format(download_dir)) + self.saving_eRow.add_row(self.dirRow) + + # Adw.ActionRow for entering a password for the archive encryption + self.get_password_from_file() + + self.cpwdRow = Adw.PasswordEntryRow.new() + self.cpwdRow.set_title(_("Password for encryption")) + try: + self.cpwdRow.set_text(self.password) + except: + self.cpwdRow.set_text("") + self.saving_eRow.add_row(self.cpwdRow) + + # Manual saving section + self.manRow = Adw.ExpanderRow.new() + self.manRow.set_title(_("Manual saving")) + self.manRow.set_expanded(True) + self.msBox.append(self.manRow) + + # action row and switch for showing options of the archive encryption + self.encryptSwitch = Gtk.Switch.new() + self.archSwitch = Gtk.Switch.new() + self.encryptSwitch.set_valign(Gtk.Align.CENTER) + self.encryptSwitch.connect('notify::active', self.set_encryptswitch_sensitivity) + if settings["enable-encryption"] == True: + self.encryptSwitch.set_active(True) + self.archSwitch.set_sensitive(False) + + self.encryptRow = Adw.ActionRow.new() + self.encryptRow.set_title(_("Archive encryption")) + self.encryptRow.set_subtitle(f'{_("When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.")}') + self.encryptRow.set_subtitle_lines(15) + self.encryptRow.add_suffix(self.encryptSwitch) + self.encryptRow.set_activatable_widget(self.encryptSwitch) + self.manRow.add_row(self.encryptRow) + + # action row and switch for showing the "Save a configuration without creating the archive" option + self.archSwitch.set_valign(Gtk.Align.CENTER) + self.archSwitch.connect('notify::active', self.set_archswitch_sensitivity) + if settings["save-without-archive"] == True: + self.archSwitch.set_active(True) + self.encryptSwitch.set_sensitive(False) + + self.archRow = Adw.ActionRow.new() + self.archRow.set_title(_("Save the configuration without creating an archive")) + self.archRow.add_suffix(self.archSwitch) + self.archRow.set_activatable_widget(self.archSwitch) + self.manRow.add_row(self.archRow) + + # add response of this dialog + self.add_response('cancel', _("Cancel")) + self.add_response('ok', _("Apply")) + self.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) + self.connect('response', self.msDialog_closed) + + def get_password_from_file(self): + if os.path.exists(f"{DATA}/password"): + p = PasswordStore() + self.password = p.password + else: + self.password = "" + + def open_file_dialog(self, w): + self.parent.select_pb_folder(w="") + + # create desktop file for enabling periodic saving at startup + def create_pb_desktop(self): + os.makedirs(f'{home}/.config/autostart', exist_ok=True) + if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh"): + with open(f'{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop', 'w') as cb: + cb.write(f'[Desktop Entry]\nName=SaveDesktop (Periodic backups)\nType=Application\nExec={periodic_saving_cmd}') + + # Action after closing dialog for showing more options + def msDialog_closed(self, w, response): + if response == 'ok': + settings["filename-format"] = self.filefrmtEntry.get_text() # save the file name format entry + settings["periodic-saving-folder"] = self.dirRow.get_subtitle() # save the selected periodic saving folder + # save the periodic saving interval + selected_item = self.pbRow.get_selected_item() + backup_mapping = {_("Never"): "Never", _("Daily"): "Daily", _("Weekly"): "Weekly", _("Monthly"): "Monthly"} + backup_item = backup_mapping.get(selected_item.get_string(), "Never") + self.create_pb_desktop() if not backup_item == "Never" else None + settings["periodic-saving"] = backup_item + settings["enable-encryption"] = self.encryptSwitch.get_active() # save the archive encryption's switch state + settings["save-without-archive"] = self.archSwitch.get_active() # save the switch state of the "Save a configuration without creating the configuration archive" option + # save the entered password to the file + if self.cpwdRow.get_text(): + password = self.cpwdRow.get_text() + PasswordStore(password) + else: + try: + os.remove(f"{DATA}/password") + except: + pass + + # reset the file name format entry to the default value + def reset_fileformat(self, w): + self.filefrmtEntry.set_text("Latest_configuration") + + # set sensitivity of the encryptSwitch + def set_encryptswitch_sensitivity(self, GParamBoolean, encryptSwitch): + if self.encryptSwitch.get_active(): + self.archSwitch.set_sensitive(False) + else: + self.archSwitch.set_sensitive(True) + + # set sensitivity of the archSwitch + def set_archswitch_sensitivity(self, GParamBoolean, archSwitch): + if self.archSwitch.get_active(): + self.encryptSwitch.set_sensitive(False) + else: + self.encryptSwitch.set_sensitive(True) diff --git a/src/password_check_gui.py b/src/gui/password_checker.py similarity index 82% rename from src/password_check_gui.py rename to src/gui/password_checker.py index 56a7779d..0892dba6 100644 --- a/src/password_check_gui.py +++ b/src/gui/password_checker.py @@ -2,13 +2,13 @@ gi.require_version('Gtk', '4.0') gi.require_version('Adw', '1') from gi.repository import Gtk, Adw, Gio -from localization import * -from password_store import * +from savedesktop.globals import * +from savedesktop.core.password_store import * class PasswordWindow(Gtk.ApplicationWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.set_title(f"{_['sync']} | Save Desktop") + self.set_title(f"{_("Sync")} | Save Desktop") # Header bar self.headerbar = Gtk.HeaderBar.new() @@ -31,16 +31,16 @@ def __init__(self, *args, **kwargs): # Label self.titleRow = Adw.ActionRow.new() - self.titleRow.set_title(_["enter_password_title"]) + self.titleRow.set_title(_("Please enter a password to unlock the archive for sync the configuration")) self.titleRow.set_title_lines(3) - self.titleRow.set_subtitle(_["enter_password_desc"]) + self.titleRow.set_subtitle(_("An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization.")) self.titleRow.set_size_request(10, -1) self.titleRow.set_subtitle_lines(10) self.winBox.append(self.titleRow) # Password Entry self.passEntry = Adw.PasswordEntryRow.new() - self.passEntry.set_title(_["password_entry"]) + self.passEntry.set_title(_("Password")) self.winBox.append(self.passEntry) # Switch and row for showing the "Remember a password" option @@ -49,12 +49,12 @@ def __init__(self, *args, **kwargs): self.remSwitch.set_active(True) self.remRow = Adw.ActionRow.new() - self.remRow.set_title(_["remember_password"]) + self.remRow.set_title(_("Remember Password")) self.remRow.add_suffix(self.remSwitch) self.remRow.set_activatable_widget(self.remSwitch) self.winBox.append(self.remRow) - self.applyButton = Gtk.Button.new_with_label(_["apply"]) + self.applyButton = Gtk.Button.new_with_label(_("Apply")) self.applyButton.add_css_class('suggested-action') self.applyButton.add_css_class('pill') self.applyButton.set_halign(Gtk.Align.CENTER) diff --git a/src/gui/synchronization_dialogs.py b/src/gui/synchronization_dialogs.py new file mode 100644 index 00000000..e80f5ed4 --- /dev/null +++ b/src/gui/synchronization_dialogs.py @@ -0,0 +1,471 @@ +import gi, sys, subprocess, os, locale +gi.require_version('Gtk', '4.0') +gi.require_version('Adw', '1') +from threading import Thread +from gi.repository import Gtk, Gdk, Adw, GLib +from savedesktop.globals import * + +class InitSetupDialog(Adw.AlertDialog): + def __init__(self, parent): + super().__init__() + self.parent = parent + self.cloud_dialog = CloudDialog(parent) + + # set the self.get_button_type variable before starting the dialog + self.get_button_type = self.parent.get_btn_type + + # Dialog itself + self.set_heading(_("Initial synchronization setup")) + self.set_body_use_markup(True) + self.set_can_close(False) + self.add_response('cancel', _("Cancel")) + self.add_response('ok-syncthing', _("Use Syncthing folder instead")) + self.set_response_appearance('cancel', Adw.ResponseAppearance.DESTRUCTIVE) + self.connect('response', self.initsetupDialog_closed) + + # create a ListBox for the rows below + self.initBox = Gtk.ListBox.new() + self.initBox.set_selection_mode(Gtk.SelectionMode.NONE) + self.initBox.add_css_class("boxed-list") + self.initBox.set_vexpand(True) + self.set_extra_child(self.initBox) + + # if the user has GNOME, Cinnamon, COSMIC (Old) or Budgie environment, it shows text about setting up GNOME Online Accounts. + # otherwise, it shows the text about setting up Rclone + if self.parent.environment in ["GNOME", "Cinnamon", "COSMIC (Old)", "Budgie"]: + self.firstRow = Adw.ActionRow.new() + self.firstRow.set_title(_("1. Open the system settings")) + self.initBox.append(self.firstRow) + + self.secondRow = Adw.ActionRow.new() + self.secondRow.set_title(_("2. Go to the Online Accounts section")) + self.secondRow.set_subtitle(_("In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.")) + self.initBox.append(self.secondRow) + + self.thirdRow = Adw.ActionRow.new() + self.thirdRow.set_title(_("3. Click on the Next button and select the created cloud drive folder")) + self.thirdRow.set_subtitle(_("The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.")) + self.initBox.append(self.thirdRow) + + self.add_response('next', _("Next")) + self.set_response_appearance('next', Adw.ResponseAppearance.SUGGESTED) + else: + self.set_body(_("For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.")) + + # create a list with available services, which can be connected via Rclone + services = Gtk.StringList.new(strings=[_("Select"), 'Google Drive', 'Microsoft OneDrive', 'DropBox', 'pCloud']) + + # row for selecting the cloud service + self.servRow = Adw.ComboRow.new() + self.servRow.set_model(services) + self.servRow.connect("notify::selected-item", self.get_service) + self.initBox.append(self.servRow) + + # button for copying the Rclone command to clipboard + self.copyButton = Gtk.Button.new() + self.copyButton.add_css_class('flat') + self.copyButton.set_valign(Gtk.Align.CENTER) + self.copyButton.set_sensitive(False) + + # row for showing the command for setting up the Rclone + self.cmdRow = Adw.ActionRow.new() + self.cmdRow.set_title_selectable(True) + self.cmdRow.set_use_markup(True) + self.cmdRow.add_suffix(self.copyButton) + self.initBox.append(self.cmdRow) + + # add the Apply and Syncthing buttons to the dialog + self.add_response('ok-rclone', _("Apply")) + self.set_response_appearance('ok-rclone', Adw.ResponseAppearance.SUGGESTED) + self.set_response_enabled('ok-rclone', False) + + # show the message about finished setup the synchronization + def almost_done(self): + self.remove_response('ok-rclone') + self.remove_response('ok-syncthing') + self.remove_response('next') + self.set_extra_child(None) + self.set_body(_("You've now created the cloud drive folder! Click on the Next button to complete the setup.")) + self.set_can_close(True) + self.add_response('open-setdialog', _("Next")) if self.get_button_type == 'set-button' else self.add_response('open-clouddialog', _("Next")) + self.set_response_appearance('open-setdialog', Adw.ResponseAppearance.SUGGESTED) if self.get_button_type == 'set-button' else self.set_response_appearance('open-clouddialog', Adw.ResponseAppearance.SUGGESTED) + + # copy the command for setting up the Rclone using Gdk.Clipboard() + def copy_rclone_command(self, w): + os.makedirs(f"{download_dir}/SaveDesktop/rclone_drive", exist_ok=True) # create the requested folder before copying the command for setting up Rclone to the clipboard + clipboard = Gdk.Display.get_default().get_clipboard() + Gdk.Clipboard.set(clipboard, f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") # copy the command for setting up Rclone to the clipboard + self.copyButton.set_icon_name("done") + self.cmdRow.set_title(_("Once you have finished setting up Rclone using the command provided, click the \"Apply\" button")) + self.cmdRow.set_subtitle("") + self.set_response_enabled('ok-rclone', True) + + # Set the Rclone setup command + def get_service(self, comborow, GParamObject): + self.set_body("") + get_servrow = self.servRow.get_selected_item().get_string() + self.cloud_service = "drive" if get_servrow == "Google Drive" else "onedrive" if get_servrow == "Microsoft OneDrive" else "dropbox" if get_servrow == "DropBox" else "pcloud" + self.cmdRow.set_title(_("Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.")) + self.cmdRow.set_subtitle(f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") + # set the copyButton properties + self.copyButton.set_sensitive(True) + self.copyButton.set_icon_name("edit-copy-symbolic") + self.copyButton.set_tooltip_text("Copy") + self.copyButton.connect("clicked", copy_rclone_command) + + # Responses of this dialog + def initsetupDialog_closed(self, w, response): + if response == 'next' or response == 'ok-syncthing': # open the Gtk.FileDialog in the GNOME Online accounts case + self.parent.select_pb_folder(w) if self.get_button_type == 'set-button' else self.cloud_dialog.select_folder_to_sync(w) + self.almost_done() + elif response == 'ok-rclone': # set the periodic saving folder in the Rclone case + if self.get_button_type == 'set-button': + settings["periodic-saving-folder"] = f"{download_dir}/SaveDesktop/rclone_drive" + else: + settings["file-for-syncing"] = f"{download_dir}/SaveDesktop/rclone_drive" + self.almost_done() + elif response == 'cancel': # if the user clicks on the Cancel button + self.set_can_close(True) + elif response == 'open-setdialog': # open the "Set up the sync file" dialog after clicking on the Next button in "Almost done!" page + self.auto_save_start = True + settings["periodic-saving"] = "Daily" + self.restart_app_win = True + self.parent._open_SetDialog(w) + elif response == 'open-clouddialog': # open the "Connect to the cloud folder" dialog after clicking on the Next button in "Almost done!" page + settings["first-synchronization-setup"] = False + self.restart_app_win = True + self.parent._open_CloudDialog(w) + +class SetDialog(Adw.AlertDialog): + def __init__(self, parent): + super().__init__() + self.parent = parent + self.app_wiki = "https://vikdevelop.github.io/SaveDesktop/wiki" + + # Dialog itself + self.set_heading(_("Set up the sync file")) + self.set_body(_("Please wait …")) + self.set_body_use_markup(True) + self.add_response('cancel', _("Cancel")) + self.add_response('ok', _("Apply")) + self.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) + self.connect('response', self.setDialog_closed) + + # List Box for appending widgets + self.l_setdBox = Gtk.ListBox.new() + self.l_setdBox.set_selection_mode(Gtk.SelectionMode.NONE) + self.l_setdBox.get_style_context().add_class('boxed-list') + self.l_setdBox.set_size_request(-1, 160) + self.set_extra_child(self.l_setdBox) + + # Check the synchronization matters + check_thread = Thread(target=self.check_filesystem_fnc) + check_thread.start() + + # Button for opening More options dialog + self.open_setdialog_tf = True # set this value to TRUE for expanding the Periodic saving row + self.ps_button = Gtk.Button.new_with_label(_("Change")) + self.ps_button.connect('clicked', self.parent._open_more_options_dialog) + self.ps_button.set_valign(Gtk.Align.CENTER) + + # Row for showing the selected periodic saving interval + ## translate the periodic-saving key to the user language + pb = next((key for key, value in {_("Never"): "Never", _("Daily"): "Daily", _("Weekly"): "Weekly", _("Monthly"): "Monthly"}.items() if settings["periodic-saving"] == value), None) + self.ps_row = Adw.ActionRow.new() + self.ps_row.set_title(f'{_("Periodic saving")} ({_("Interval")})') + self.ps_row.set_use_markup(True) + self.ps_row.add_suffix(self.ps_button) + self.ps_row.set_subtitle(f'{_("Never")}' if settings["periodic-saving"] == "Never" + else f'{pb}') + self.ps_button.add_css_class('suggested-action') if settings["periodic-saving"] == "Never" else None + + # make the periodic saving file if it does not exist + def make_pb_file(self, w): + self.setupButton.set_sensitive(False) + pb_thread = Thread(target=self.save_now) + pb_thread.start() + + def save_now(self): + try: + e_o = False + self.file_row.set_subtitle(_("Please wait …")) + self.file_row.set_use_markup(False) + subprocess.run(['notify-send', 'SaveDesktop', _("Please wait …")]) + subprocess.run([sys.executable, "savedesktop.core.periodic_saving", "--save-now"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + except Exception as e: + e_o = True + subprocess.run(['notify-send', _("An error occurred"), f'{e}']) + self.file_row.set_subtitle(f'{e}') + finally: + if not e_o: + self.file_row.remove(self.setupButton) + self.file_row.set_subtitle(f'{settings["periodic-saving-folder"]}/{settings["filename-format"]}.sd.zip') + os.system(f"notify-send 'SaveDesktop' '{_('Configuration has been saved!')}'") + self.set_response_enabled('ok', True) + self.auto_save_start = False + + # Refer to the article about synchronization + def open_sync_link(self, w): + language = locale.getlocale()[0].split("_")[0] + os.system(f"xdg-open {self.app_wiki}/synchronization/{language}") + + def update_gui(self): + global folder, path, check_filesystem + self.file_row = Adw.ActionRow() + self.file_row.set_title(_("Periodic saving file")) + self.file_row.set_subtitle(folder) + self.file_row.add_suffix(Gtk.Image.new_from_icon_name("network-wired-symbolic")) if "red" not in folder else None + self.file_row.set_subtitle_lines(8) + self.file_row.set_use_markup(True) + self.file_row.set_subtitle_selectable(True) + self.l_setdBox.append(self.file_row) + self.l_setdBox.append(self.ps_row) + + set_button_sensitive = settings["periodic-saving"] != "Never" and not os.path.exists(path) + if "red" in folder: + self.set_response_enabled('ok', False) + [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", f"{DATA}/savedesktop-synchronization.sh"] if os.path.exists(path)] # remove these files if the periodic saving folder is not a cloud drive folder + if _("Periodic saving file does not exist.") in folder: + self.setupButton = Gtk.Button.new_with_label(_("Create")) + self.setupButton.set_valign(Gtk.Align.CENTER) + self.setupButton.add_css_class("suggested-action") + self.setupButton.connect("clicked", self.make_pb_file) + self.file_row.add_suffix(self.setupButton) + make_pb_file(w) if self.auto_save_start else None # start creating the periodic saving file if the self.start_saving value is TRUE + if _("You didn't select the cloud drive folder!") in folder: + self.lmButton = Gtk.Button.new_with_label(_("Learn more")) + self.lmButton.set_valign(Gtk.Align.CENTER) + self.lmButton.add_css_class("suggested-action") + self.lmButton.connect("clicked", self.open_sync_link) + self.file_row.add_suffix(self.lmButton) + self.set_body("") # set the body as empty after loading the periodic saving information + + # Check the file system of the periodic saving folder and their existation + def check_filesystem_fnc(self): + global folder, path, check_filesystem + check_filesystem = subprocess.getoutput('df -T "%s" | awk \'NR==2 {print $2}\'' % settings["periodic-saving-folder"]) + + path = f'{settings["periodic-saving-folder"]}/{settings["filename-format"].replace(" ", "_")}.sd.zip' + + # Check if periodic saving is set to "Never" + if settings["periodic-saving"] == "Never": + folder = f'{_("Interval")}: {_("Never")}' + # Check if the filesystem is not FUSE + elif ("gvfsd" not in check_filesystem and "rclone" not in check_filesystem) and not os.path.exists(f"{settings['periodic-saving-folder']}/.stfolder"): + folder = f'{_("You didn't select the cloud drive folder!")}' + # Check if the periodic saving file exists + elif not os.path.exists(path): + folder = f'{_("Periodic saving file does not exist.")}' + else: + folder = path + + self.update_gui() + + # save the SaveDesktop.json file to the periodic saving folder and set up the auto-mounting the cloud drive + def save_file(self): + try: + self.mount_type = "periodic-saving" + open(f"{settings['periodic-saving-folder']}/SaveDesktop.json", "w").write('{\n "periodic-saving-interval": "%s",\n "filename": "%s"\n}' % (settings["periodic-saving"], settings["filename-format"])) + subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--automount-setup", self.mount_type], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + except Exception as e: + os.system(f"notify-send \'{_('An error occurred')}\' '{e}'") + finally: + pass + + # Action after closing dialog for setting synchronization file + def setDialog_closed(self, w, response): + if response == 'ok': + self.open_setdialog_tf = False + + thread = Thread(target=self.save_file) + thread.start() + else: + self.open_setdialog_tf = False + +class CloudDialog(Adw.AlertDialog): + def __init__(self, parent): + super().__init__() + self.parent = parent + + self.set_heading(_("Connect to the cloud storage")) + self.set_body(_("On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.")) + self.add_response('cancel', _("Cancel")) + self.add_response('ok', _("Apply")) + self.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) + self.connect('response', self.cloudDialog_closed) + + # Box for adding widgets in this dialog + self.cloudBox = Gtk.ListBox.new() + self.cloudBox.set_selection_mode(mode=Gtk.SelectionMode.NONE) + self.cloudBox.get_style_context().add_class(class_name='boxed-list') + self.cloudBox.set_size_request(-1, 400) + self.set_extra_child(self.cloudBox) + + # Row and buttons for selecting the cloud drive folder + ## button for selecting the cloud drive folder + self.cloudButton = Gtk.Button.new_from_icon_name("document-open-symbolic") + self.cloudButton.add_css_class('flat') + self.cloudButton.set_valign(Gtk.Align.CENTER) + self.cloudButton.set_tooltip_text(_("Choose another folder")) + self.cloudButton.connect("clicked", self.select_folder_to_sync) + + ## button for reseting the selected cloud drive folder + self.resetButton = Gtk.Button.new_from_icon_name("view-refresh-symbolic") + self.resetButton.add_css_class('destructive-action') + self.resetButton.connect("clicked", self.reset_cloud_folder) + self.resetButton.set_tooltip_text(_("Reset to default")) + self.resetButton.set_valign(Gtk.Align.CENTER) + + ## the row itself + self.cfileRow = Adw.ActionRow.new() + self.cfileRow.add_suffix(self.resetButton) if not settings["file-for-syncing"] == "" else None + self.cfileRow.set_title(_("Select the cloud drive folder")) + self.cfileRow.set_subtitle(settings["file-for-syncing"]) + self.cfileRow.set_subtitle_selectable(True) + self.cfileRow.add_suffix(self.cloudButton) + self.cfileRow.set_activatable_widget(self.cloudButton) + self.cloudBox.append(self.cfileRow) + + if not self.cfileRow.get_subtitle(): + self.set_response_enabled('ok', False) + else: + self.set_response_enabled('ok', True) + + # Periodic sync section + options = Gtk.StringList.new(strings=[ + _("Never"), _("Manually"), _("Daily"), _("Weekly"), _("Monthly") + ]) + + self.psyncRow = Adw.ComboRow.new() + self.psyncRow.set_use_markup(True) + self.psyncRow.set_use_underline(True) + self.psyncRow.set_title(_("Periodic synchronization")) + self.psyncRow.set_title_lines(2) + self.psyncRow.set_model(model=options) + self.psyncRow.connect('notify::selected-item', self.on_psync_changed) + self.cloudBox.append(self.psyncRow) + + # Load periodic sync values form GSettings database + old_psync = settings["periodic-import"] + if settings["periodic-import"] == "Never2": + self.psyncRow.set_selected(0) + elif settings["periodic-import"] == "Manually2": + self.psyncRow.set_selected(1) + elif settings["periodic-import"] == "Daily2": + self.psyncRow.set_selected(2) + elif settings["periodic-import"] == "Weekly2": + self.psyncRow.set_selected(3) + elif settings["periodic-import"] == "Monthly2": + self.psyncRow.set_selected(4) + + # Bidirectional Synchronization section + ## Switch + self.bsSwitch = Gtk.Switch.new() + if settings["bidirectional-sync"] == True: + self.bsSwitch.set_active(True) + self.bsSwitch.set_valign(Gtk.Align.CENTER) + + ## Action Row + self.bsyncRow = Adw.ActionRow.new() + self.bsyncRow.set_title(_("Bidirectional synchronization")) + self.bsyncRow.set_subtitle(_("If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.")) + self.bsyncRow.set_title_lines(2) + self.bsyncRow.add_suffix(self.bsSwitch) + self.bsyncRow.set_activatable_widget(self.bsSwitch) + self.cloudBox.append(self.bsyncRow) + + # Select folder for syncing the configuration with other computers in the network + def select_folder_to_sync(self, w): + def set_selected(source, res, data): + try: + folder = source.select_folder_finish(res) + except: + return + self.sync_folder = folder.get_path() + settings["file-for-syncing"] = self.sync_folder if settings["first-synchronization-setup"] else settings["file-for-syncing"] + self.cfileRow.set_subtitle(self.sync_folder) if hasattr(self, 'cfileRow') else None + if hasattr(self, 'cloudDialog'): + self.cloudDialog.set_response_enabled('ok', True) if not self.psyncRow.get_selected_item().get_string() == _("Never") else None + + self.sync_folder_chooser = Gtk.FileDialog.new() + self.sync_folder_chooser.set_modal(True) + self.sync_folder_chooser.set_title(_("Select the cloud drive folder")) + self.sync_folder_chooser.select_folder(self.parent, None, set_selected, None) + + def reset_cloud_folder(self, w): + self.cfileRow.set_subtitle("") + self.cfileRow.remove(self.resetButton) + self.set_response_enabled('ok', True) + settings["file-for-syncing"] = self.cfileRow.get_subtitle() + [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", f"{DATA}/savedesktop-synchronization.sh"] if os.path.exists(path)] + + # enable or disable the response of this dialog in depending on the selected periodic synchronization interval + def on_psync_changed(self, psyncRow, GParamObject): + self.set_response_enabled('ok', not (self.psyncRow.get_selected_item().get_string() == _("Never") or not self.cfileRow.get_subtitle())) + + def call_automount(self): + try: + if self.cfileRow.get_subtitle(): + self.mount_type = "cloud-receiver" + settings["file-for-syncing"] = self.cfileRow.get_subtitle() + result = subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--checkfs"], + capture_output=True, text=True, + env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + + if result.returncode == 0: + output = result.stdout.strip() + if "You have not selected the cloud drive folder!" in output: + settings["file-for-syncing"] = "" + if os.path.exists(f"{DATA}/savedesktop-synchronization.sh"): + os.remove(f"{DATA}/savedesktop-synchronization.sh") + raise AttributeError(_("You have not selected the cloud drive folder")) + else: + subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", + "--automount-setup", self.mount_type], + env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + else: + raise AttributeError(_("You have not selected the cloud drive folder")) + except Exception as e: + os.system(f'notify-send \'{_("An error occurred")}\' \'{e}\'') + return + else: + GLib.idle_add(self.__post_setup) + + # check if the selected periodic sync interval was Never: if yes, shows the message about the necessity to log out of the system + def __post_setup(self): + if self.check_psync == "Never2": + if not settings["periodic-import"] == "Never2": + self.parent.show_warn_toast() + + # if it is selected to manually sync, it creates an option in the app menu in the header bar + if settings["manually-sync"]: + self.sync_menu = Gio.Menu() + self.sync_menu.append(_("Sync"), 'app.m-sync-with-key') + self.main_menu.prepend_section(None, self.sync_menu) + self.parent.show_special_toast() + else: + try: + self.sync_menu.remove_all() + except: + pass + + # Action after closing URL dialog + def cloudDialog_closed(self, w, response): + if response == 'ok': + self.check_psync = settings["periodic-import"] + # translate the periodic sync options to English + selected_item = self.psyncRow.get_selected_item() + sync = {_("Never"): "Never2", _("Manually"): "Manually2", _("Daily"): "Daily2", _("Weekly"): "Weekly2", _("Monthly"): "Monthly2"} + + sync_item = sync.get(selected_item.get_string(), "Never2") + + settings["periodic-import"] = sync_item + + # if the selected periodic saving interval is "Manually2", it enables the manually-sync value + settings["manually-sync"] = True and settings["periodic-import"] == "Manually2" + + # save the status of the Bidirectional Synchronization switch + settings["bidirectional-sync"] = self.bsSwitch.get_active() + + check_thread = Thread(target=self.call_automount) + check_thread.start() diff --git a/src/gui/window.py b/src/gui/window.py new file mode 100644 index 00000000..84923a9d --- /dev/null +++ b/src/gui/window.py @@ -0,0 +1,817 @@ +#!/usr/bin/python3 +import os, sys, re, zipfile, random, string, gi, subprocess, locale +gi.require_version('Gtk', '4.0') +gi.require_version('Adw', '1') +from gi.repository import Gtk, Adw, Gio, GLib, Gdk +from datetime import date +from pathlib import Path +from threading import Thread +from savedesktop.globals import * +from savedesktop.gui.items_dialog import FolderSwitchRow, FlatpakAppsDialog, itemsDialog +from savedesktop.gui.more_options_dialog import MoreOptionsDialog +from savedesktop.gui.synchronization_dialogs import InitSetupDialog, SetDialog, CloudDialog +from savedesktop.core.password_store import PasswordStore + +# Application window +class MainWindow(Adw.ApplicationWindow): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.set_title("Save Desktop") + self.app_wiki = "https://vikdevelop.github.io/SaveDesktop/wiki" + + # header bar and toolbarview + self.headerbar = Adw.HeaderBar.new() + self.toolbarview = Adw.ToolbarView.new() + self.toolbarview.add_top_bar(self.headerbar) + + # set the window size and maximization from the GSettings database + (width, height) = settings["window-size"] + self.set_default_size(width, height) + + # if the value is TRUE, it enables window maximalization + if settings["maximized"]: + self.maximize() + + # App menu - primary menu + self.main_menu = Gio.Menu() + + # primary menu section + self.general_menu = Gio.Menu() + self.general_menu.append(_("Keyboard shortcuts"), 'app.shortcuts') + self.general_menu.append(_("About app"), 'app.about') + self.main_menu.append_section(None, self.general_menu) + + # menu button + self.menu_button = Gtk.MenuButton.new() + self.menu_button.set_icon_name(icon_name='open-menu-symbolic') + self.menu_button.set_menu_model(menu_model=self.main_menu) + #self.menu_button.set_tooltip_text(_("Main Menu")) + self.menu_button.set_primary(True) + self.headerbar.pack_end(child=self.menu_button) + + self.menu_button.set_tooltip_text(tooltip_text) + + # add Manually sync section + if settings["manually-sync"] == True: + self.sync_menu = Gio.Menu() + self.sync_menu.append(_("Synchronise manually"), 'app.m-sync-with-key') + self.main_menu.prepend_section(None, self.sync_menu) + + # primary layout + self.headapp = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.headapp.set_valign(Gtk.Align.CENTER) + self.headapp.set_halign(Gtk.Align.CENTER) + self.toolbarview.set_content(self.headapp) + + # A view container for the menu switcher + self.stack = Adw.ViewStack(vexpand=True) + self.stack.set_hhomogeneous(True) + self.headapp.append(self.stack) + + # Layout for saving and importing configuration + self.saveBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=15) + self.importBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.syncingBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + + # Add pages to the menu switcher + self.stack.add_titled_with_icon(self.saveBox,"savepage",_("Save"),"document-save-symbolic") + self.stack.add_titled_with_icon(self.importBox,"importpage",_("Import"),"document-open-symbolic") + self.stack.add_titled_with_icon(self.syncingBox,"syncpage",_("Sync"),"view-refresh-symbolic") if not snap else None + + # menu switcher + self.switcher_title = Adw.ViewSwitcherTitle.new() + self.switcher_title.set_stack(self.stack) + self.switcher_title.set_title("Save Desktop") + self.headerbar.set_title_widget(self.switcher_title) + + # menu bar + self.switcher_bar = Adw.ViewSwitcherBar.new() + self.switcher_bar.set_stack(self.stack) + self.toolbarview.add_bottom_bar(self.switcher_bar) + + self.setup_switcher_responsive() + + # Toast Overlay for showing the popup window + self.toast_overlay = Adw.ToastOverlay.new() + self.toast_overlay.set_margin_top(margin=1) + self.toast_overlay.set_margin_end(margin=1) + self.toast_overlay.set_margin_bottom(margin=1) + self.toast_overlay.set_margin_start(margin=1) + self.toast_overlay.set_child(self.toolbarview) + self.set_content(self.toast_overlay) + + # Popup window for showing messages about necessity to log out of the system after selected the periodic synchronization interval + self.toast = Adw.Toast.new(title='') + self.toast.set_timeout(0) + + self._env_detection() + + # If the user has a supported environment, it shows the app window, otherwise, it shows the window with information about an unsupported environment + def _env_detection(self): + def setup_environment(env_name): + self.environment = env_name + self.save_desktop() + self.import_desktop() + self.sync_desktop() if not snap else print("Synchronization in the Snap environment is temporarily disabled.") + self.connect("close-request", self.on_close) + + # Check the user's current desktop + desktop_env = os.getenv('XDG_CURRENT_DESKTOP') + desktop_map = { + 'GNOME': 'GNOME', + 'zorin:GNOME': 'GNOME', + 'ubuntu:GNOME': 'GNOME', + 'pop:GNOME': 'COSMIC (Old)', + 'COSMIC': 'COSMIC (New)', + 'Pantheon': 'Pantheon', + 'X-Cinnamon': 'Cinnamon', + 'Budgie:GNOME': 'Budgie', + 'XFCE': 'Xfce', + 'MATE': 'MATE', + 'KDE': 'KDE Plasma', + 'Deepin': 'Deepin', + 'Hyprland': 'Hyprland'} + + if desktop_env in desktop_map: + setup_environment(desktop_map[desktop_env]) + else: + # Handle unsupported desktop environments + self.headerbar.set_title_widget(None) + self.toolbarview.remove(self.switcher_bar) + self.pBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.pBox.set_halign(Gtk.Align.CENTER) + self.pBox.set_valign(Gtk.Align.CENTER) + self.pBox.set_margin_start(50) + self.pBox.set_margin_end(50) + self.toolbarview.set_content(self.pBox) + self.unsupp_label = Gtk.Label.new(str=f'{_("You have an unsupported environment installed.\nPlease use one of these environments: {}.")}'.format(', '.join(set(desktop_map.values())))); self.unsupp_label.set_use_markup(True); self.unsupp_label.set_justify(Gtk.Justification.CENTER); self.unsupp_label.set_wrap(True); self.pBox.append(self.unsupp_label) + + # Switch between ViewSwitcherTitle and ViewSwitcherBar based on the title visible + def setup_switcher_responsive(self): + narrow_breakpoint = Adw.Breakpoint.new( + Adw.BreakpointCondition.parse("max-width: 400sp") + ) + + # When activating a narrow breakpoint, display the switcher_bar + narrow_breakpoint.connect("apply", + lambda bp: self.switcher_bar.set_reveal(True)) + + # Hide switcher_bar when narrow breakpoint is deactivated + narrow_breakpoint.connect("unapply", + lambda bp: self.switcher_bar.set_reveal(False)) + + # Add a breakpoint to the window + self.add_breakpoint(narrow_breakpoint) + + # Default state - hidden (only displayed when the breakpoint is met) + self.switcher_bar.set_reveal(False) + + # Show main page + def save_desktop(self): + # Set valign for the save desktop layout + self.saveBox.set_valign(Gtk.Align.CENTER) + + # Title image for the save page + self.titleImage = Gtk.Image.new_from_icon_name("preferences-desktop-display-symbolic") + self.titleImage.set_pixel_size(64) + self.saveBox.append(self.titleImage) + + # Title "Save Current configuration" for save page and subtitle "{user_desktop}" + self.label_title = Gtk.Label.new() + self.label_title.set_markup('{}\n{}'.format(_("Save the current configuration"), self.environment)) + self.label_title.set_justify(Gtk.Justification.CENTER) + self.saveBox.append(self.label_title) + + # Box for show these options: set the filename, set items that will be included to the config archive and periodic saving + self.lbox_e = Gtk.ListBox.new() + self.lbox_e.set_selection_mode(mode=Gtk.SelectionMode.NONE) + self.lbox_e.add_css_class(css_class='boxed-list-separate') + self.lbox_e.set_margin_start(20) + self.lbox_e.set_margin_end(20) + self.lbox_e.set_halign(Gtk.Align.CENTER) + self.lbox_e.set_valign(Gtk.Align.CENTER) + self.saveBox.append(self.lbox_e) + + # set the filename section + self.saveEntry = Adw.EntryRow.new() + self.saveEntry.set_title(_("Set the file name")) + self.saveEntry.set_text(settings["filename"]) + self.lbox_e.append(self.saveEntry) + + # Button for opening dialog for selecting items that will be included to the config archive + self.itemsButton = Gtk.Button.new_from_icon_name("go-next-symbolic") + self.itemsButton.set_valign(Gtk.Align.CENTER) + self.itemsButton.add_css_class("flat") + self.itemsButton.connect("clicked", self._open_itemsDialog) + + # Action row for opening dialog for selecting items that will be included to the config archive + self.items_row = Adw.ActionRow.new() + self.items_row.set_title(title=_("Items to include in the configuration archive")) + self.items_row.set_use_markup(True) + self.items_row.set_title_lines(5) + self.items_row.add_suffix(self.itemsButton) + self.items_row.set_activatable_widget(self.itemsButton) + self.lbox_e.append(child=self.items_row) + + self.lbox_e.set_show_separators(True) + + # section for showing dialog with more options + # button + self.msButton = Gtk.Button.new_from_icon_name("go-next-symbolic") + self.msButton.add_css_class('flat') + self.msButton.set_valign(Gtk.Align.CENTER) + self.msButton.connect("clicked", self._open_more_options_dialog) + + # action row + self.moreSettings = Adw.ActionRow.new() + self.moreSettings.set_title(_("More options")) + self.moreSettings.set_subtitle(f'{_("Periodic saving")}, {_("Manual saving")}') + self.moreSettings.set_subtitle_lines(3) + self.moreSettings.add_suffix(self.msButton) + self.moreSettings.set_activatable_widget(self.msButton) + self.lbox_e.append(self.moreSettings) + + # Save configuration button + self.saveButton = Gtk.Button.new_with_label(_("Save")) + self.saveButton.add_css_class("suggested-action") + self.saveButton.add_css_class("pill") + self.saveButton.connect("clicked", self.select_folder) + self.saveButton.set_valign(Gtk.Align.CENTER) + self.saveButton.set_halign(Gtk.Align.CENTER) + self.saveBox.append(self.saveButton) + + def _open_more_options_dialog(self, w): + self.more_options_dialog = MoreOptionsDialog(self) + self.more_options_dialog.choose(self, None, None, None) + self.more_options_dialog.present(self) + + # open a dialog for selecting the items to include in the configuration archive + def _open_itemsDialog(self, w): + self.itemsd = itemsDialog() + self.itemsd.choose(self, None, None, None) + self.itemsd.present() + + # Import configuration page + def import_desktop(self): + self.importBox.set_valign(Gtk.Align.CENTER) + self.importBox.set_halign(Gtk.Align.CENTER) + + # Box for the below buttons + self.btnBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + + # Import configuration button + self.fileButton = Gtk.Button.new_with_label(_("Import from file")) + self.fileButton.add_css_class("pill") + self.fileButton.add_css_class("suggested-action") + self.fileButton.set_halign(Gtk.Align.CENTER) + self.fileButton.set_valign(Gtk.Align.CENTER) + self.fileButton.connect("clicked", self.select_file_to_import) + self.btnBox.append(self.fileButton) + + # Import configuration from folder button + self.folderButton = Gtk.Button.new_with_label(_("Import from folder")) + self.folderButton.add_css_class("pill") + self.folderButton.set_halign(Gtk.Align.CENTER) + self.folderButton.set_valign(Gtk.Align.CENTER) + self.folderButton.connect("clicked", self.select_folder_to_import) + self.btnBox.append(self.folderButton) + + # Image and title for the Import page + self.importPage = Adw.StatusPage.new() + self.importPage.set_icon_name("document-open-symbolic") + self.importPage.set_title(_("Import")) + self.importPage.set_description(_("Import saved configuration")) + self.importPage.set_size_request(360, -1) + self.importPage.set_child(self.btnBox) + self.importBox.append(self.importPage) + + # Syncing desktop page + def sync_desktop(self): + # Set showing the Initial synchronization setup dialog only if the periodic saving folder or cloud drive folder does not use GVFS or Rclone filesystem + settings["first-synchronization-setup"] = True if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh") else False + language = locale.getlocale()[0].split("_")[0] + + # Box, image and title for this page + self.sync_btn_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.syncPage = Adw.StatusPage.new() + self.syncPage.set_icon_name("view-refresh-symbolic") + self.syncPage.set_title(_("Sync")) + self.syncPage.set_description(f'{_("Sync your desktop environment configuration with other computers in the network.")} {_("Learn more")}') + self.syncPage.set_child(self.sync_btn_box) + self.syncingBox.append(self.syncPage) + + # "Set up the sync file" button + self.setButton = Gtk.Button.new_with_label(_("Set up the sync file")) + self.setButton.set_name("set-button") + self.setButton.add_css_class("pill") + self.setButton.add_css_class("suggested-action") + self.setButton.connect("clicked", self._open_SetDialog if not settings["first-synchronization-setup"] else self._open_InitSetupDialog) + self.setButton.set_valign(Gtk.Align.CENTER) + self.setButton.set_halign(Gtk.Align.CENTER) + self.sync_btn_box.append(self.setButton) + + # "Connect with other computer" button + self.getButton = Gtk.Button.new_with_label(_("Connect to the cloud storage")) + self.getButton.set_name("get-button") + self.getButton.add_css_class("pill") + self.getButton.connect("clicked", self._open_CloudDialog if not settings["first-synchronization-setup"] else self._open_InitSetupDialog) + self.getButton.set_valign(Gtk.Align.CENTER) + self.getButton.set_halign(Gtk.Align.CENTER) + self.sync_btn_box.append(self.getButton) + + def _open_InitSetupDialog(self, w): + self.get_btn_type = w.get_name() + self.init_setup_dialog = InitSetupDialog(self) + self.init_setup_dialog.choose(self, None, None, None) + self.init_setup_dialog.present(self) + + def _open_SetDialog(self, w): + self.set_dialog = SetDialog(self) + self.set_dialog.choose(self, None, None, None) + self.set_dialog.present(self) + + def _open_CloudDialog(self, w): + self.set_dialog = CloudDialog(self) + self.set_dialog.choose(self, None, None, None) + self.set_dialog.present(self) + + # Select folder for periodic backups (Gtk.FileDialog) + def select_pb_folder(self, w): + def save_selected(source, res, data): + try: + folder = source.select_folder_finish(res) + except: + return + self.folder_pb = folder.get_path() + settings["periodic-saving-folder"] = self.folder_pb if settings["first-synchronization-setup"] else settings["periodic-saving-folder"] + self.dirRow.set_subtitle(f"{self.folder_pb}") if hasattr(self, 'dirRow') else None + + self.pb_chooser = Gtk.FileDialog.new() + self.pb_chooser.set_modal(True) + self.pb_chooser.set_title(_("Choose custom folder for periodic saving")) + self.pb_chooser.select_folder(self, None, save_selected, None) + + # Select folder for saving configuration + def select_folder(self, w): + def save_selected(source, res, data): + try: + folder = source.select_folder_finish(res) + except: + return + self.folder = folder.get_path() + if settings["enable-encryption"] == True: + self.create_password_dialog() + else: + self.save_config() + + if self.saveEntry.get_text() == "": + self.filename_text = "config" + else: + if " " in self.saveEntry.get_text(): + self.with_spaces_text = self.saveEntry.get_text() + self.filename_text = self.with_spaces_text.replace(" ", "_") + else: + self.filename_text = f'{self.saveEntry.get_text()}' + + self.folderchooser = Gtk.FileDialog.new() + self.folderchooser.set_modal(True) + self.folderchooser.set_title(_("Save the current configuration")) + self.folderchooser.select_folder(self, None, save_selected, None) + + # Select a ZIP or TAR.GZ file to import + def select_file_to_import(self, w): + # Show a "Please wait" pop-up window while checking the archive type + def show_please_wait_toast(): + wait_toast = Adw.Toast.new(title=_("Please wait …")) + wait_toast.set_timeout(10) + self.toast_overlay.add_toast(wait_toast) + + # Check, if the archive is encrypted or not + def get_status_of_encryption(): + self.is_folder = False + try: + status = any(z.flag_bits & 0x1 for z in zipfile.ZipFile(self.import_file).infolist() if not z.filename.endswith("/")) + except: + status = False + if status == True: + GLib.idle_add(self.check_password_dialog) + else: + self.import_config() + + # Get path from the dialog + def open_selected(source, res, data): + try: + file = source.open_finish(res) + except: + return + self.import_file = file.get_path() + show_please_wait_toast() + check_thread = Thread(target=get_status_of_encryption) + check_thread.start() + + self.file_chooser = Gtk.FileDialog.new() + self.file_chooser.set_modal(True) + self.file_chooser.set_title(_("Import saved configuration")) + self.file_filter = Gtk.FileFilter.new() + self.file_filter.set_name(_("Save Desktop files")) + self.file_filter.add_pattern('*.sd.tar.gz') + self.file_filter.add_pattern('*.sd.zip') + self.file_filter_list = Gio.ListStore.new(Gtk.FileFilter); + self.file_filter_list.append(self.file_filter) + self.file_chooser.set_filters(self.file_filter_list) + self.file_chooser.open(self, None, open_selected, None) + + # Select folder to import configuration + def select_folder_to_import(self, w): + def import_selected(source, res, data): + try: + folder = source.select_folder_finish(res) + except: + return + self.import_folder = folder.get_path() + self.is_folder = True if os.path.exists(f"{self.import_folder}/.folder.sd") else False + self.import_config() + + self.file_chooser = Gtk.FileDialog.new() + self.file_chooser.set_modal(True) + self.file_chooser.set_title(_("Import saved configuration")) + self.file_chooser.select_folder(self, None, import_selected, None) + + # Dialog for creating password for the config archive + def create_password_dialog(self): + # Action after closing pswdDialog + def pswdDialog_closed(w, response): + if response == 'ok': + with open(f"{CACHE}/temp_file", "w") as tmp: + tmp.write(self.pswdEntry.get_text()) + self.save_config() + + # Check the password to see if it meets the criteria + def check_password(pswdEntry): + password = self.pswdEntry.get_text() + criteria = [ + (len(password) < 12, "The password is too short. It should has at least 12 characters"), + (not re.search(r'[A-Z]', password), "The password should has at least one capital letter"), + (not re.search(r'[a-z]', password), "The password should has at least one lowercase letter"), + (not re.search(r'[-_@.:,+=]', password), "The password should has at least one special character"), + (" " in password, "The password must not contain spaces") + ] + + for condition, message in criteria: + if condition: + self.pswdDialog.set_response_enabled("ok", False) + print(message) + return + + self.pswdDialog.set_response_enabled("ok", True) + + # Generate Password + def pswd_generator(w): + safe = "-_@.:,+=" + allc = safe + string.ascii_letters + string.digits + password = [random.choice(safe), random.choice(string.ascii_letters), random.choice(string.digits)] + \ + [random.choice(allc) for _ in range(21)] + random.shuffle(password) + password = ''.join(password) + self.pswdEntry.set_text(password) + + # Dialog itself + self.pswdDialog = Adw.AlertDialog.new() + self.pswdDialog.set_heading(_("Create new password")) + self.pswdDialog.set_body(_("Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.")) + self.pswdDialog.choose(self, None, None, None) + self.pswdDialog.add_response("cancel", _("Cancel")) + self.pswdDialog.add_response("ok", _("Apply")) + self.pswdDialog.set_response_enabled("ok", False) + self.pswdDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) + self.pswdDialog.connect('response', pswdDialog_closed) + self.pswdDialog.present() + + # Button for generating strong password + self.pswdgenButton = Gtk.Button.new_from_icon_name("dialog-password-symbolic") + self.pswdgenButton.set_tooltip_text(_("Generate Password")) + self.pswdgenButton.add_css_class("flat") + self.pswdgenButton.set_valign(Gtk.Align.CENTER) + self.pswdgenButton.connect("clicked", pswd_generator) + + # entry for entering password + self.pswdEntry = Adw.PasswordEntryRow.new() + self.pswdEntry.set_title(_("Password")) + self.pswdEntry.connect('changed', check_password) + self.pswdEntry.add_suffix(self.pswdgenButton) + self.pswdDialog.set_extra_child(self.pswdEntry) + + # Save configuration + def save_config(self): + self.archive_mode = "--create" + self.archive_name = f"{self.folder}/{self.filename_text}" + self.please_wait_save() + save_thread = Thread(target=self._call_archive_command) + save_thread.start() + + def _call_archive_command(self): + try: + subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + except subprocess.CalledProcessError as e: + GLib.idle_add(self.show_err_msg, e) + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) + finally: + if self.archive_mode == "--create": + GLib.idle_add(self.exporting_done) + elif self.archive_mode == "--unpack": + GLib.idle_add(self.applying_done) + else: + pass + + # "Please wait" information page on the "Save" page + def please_wait_save(self): + # Stop saving configuration + def cancel_save(w): + os.popen('pkill -f "savedesktop.core.config"') + os.popen(f"pkill -9 7z") + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) + self.set_title("Save Desktop") + for widget in [self.savewaitSpinner, self.savewaitLabel, self.savewaitButton, self.sdoneImage, self.opensaveButton, self.backtomButton]: + self.savewaitBox.remove(widget) + + self.headerbar.set_title_widget(None) + self.switcher_bar.set_reveal(False) + + # Create box widget for this page + self.savewaitBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.savewaitBox.set_halign(Gtk.Align.CENTER) + self.savewaitBox.set_valign(Gtk.Align.CENTER) + self.toolbarview.set_content(self.savewaitBox) + + # Set bold title + self.set_title(_("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz").split('')[0].split('')[-1]) + + # Create spinner for this page + self.savewaitSpinner = Gtk.Spinner.new() + self.savewaitSpinner.set_size_request(100, 100) + self.savewaitSpinner.start() + self.savewaitBox.append(self.savewaitSpinner) + + # Prepare Gtk.Image widget for the next page + self.sdoneImage = Gtk.Image.new() + self.savewaitBox.append(self.sdoneImage) + + # Use "sd.zip" if Archive Encryption is enabled + status_old = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz") + status = status_old.replace("sd.tar.gz", "sd.zip") if not settings["save-without-archive"] else status_old.replace("sd.tar.gz", "") + + # Create label about selected directory for saving the configuration + self.savewaitLabel = Gtk.Label.new(str=status.format(self.folder, self.filename_text)) + self.savewaitLabel.set_use_markup(True) + self.savewaitLabel.set_justify(Gtk.Justification.CENTER) + self.savewaitLabel.set_wrap(True) + self.savewaitBox.append(self.savewaitLabel) + + # Create button for cancel saving configuration + self.savewaitButton = Gtk.Button.new_with_label(_("Cancel")) + self.savewaitButton.add_css_class("pill") + self.savewaitButton.add_css_class("destructive-action") + self.savewaitButton.connect("clicked", cancel_save) + self.savewaitButton.set_valign(Gtk.Align.CENTER) + self.savewaitButton.set_halign(Gtk.Align.CENTER) + self.savewaitBox.append(self.savewaitButton) + + # config has been saved action + def exporting_done(self): + # back to the previous page from this page + def back_to_main(w): + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) + self.set_title("Save Desktop") + for widget in [self.savewaitSpinner, self.savewaitLabel, self.savewaitButton, self.sdoneImage, self.opensaveButton, self.backtomButton]: + self.savewaitBox.remove(widget) + + # send notification about saved configuration if application window is inactive only + self.notification_save = Gio.Notification.new("SaveDesktop") + self.notification_save.set_body(_("Configuration has been saved!")) + app = self.get_application() + active_window = app.get_active_window() + if active_window is None or not active_window.is_active(): + app.send_notification(None, self.notification_save) + + # stop spinner animation + self.savewaitSpinner.stop() + self.savewaitBox.remove(self.savewaitButton) + self.savewaitBox.remove(self.savewaitSpinner) + + # set title to "Configuration has been saved!" + self.set_title(_("Configuration has been saved!")) + + # use widget for showing done.svg icon + self.sdoneImage.set_from_icon_name("done") + self.sdoneImage.set_pixel_size(128) + + # edit label for the purposes of this page + self.savewaitLabel.set_label(_("{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.").format(_("Configuration has been saved!"))) + self.opensaveButton = Gtk.Button.new_with_label(_("Open the folder")) + self.opensaveButton.add_css_class('pill') + self.opensaveButton.add_css_class('suggested-action') + self.opensaveButton.set_action_name("app.open_dir") + self.opensaveButton.set_valign(Gtk.Align.CENTER) + self.opensaveButton.set_halign(Gtk.Align.CENTER) + self.savewaitBox.append(self.opensaveButton) + + # create button for backing to the previous page + self.backtomButton = Gtk.Button.new_with_label(_("Back to previous page")) + self.backtomButton.connect("clicked", back_to_main) + self.backtomButton.add_css_class("pill") + self.backtomButton.set_valign(Gtk.Align.CENTER) + self.backtomButton.set_halign(Gtk.Align.CENTER) + self.savewaitBox.append(self.backtomButton) + + # dialog for entering password of the archive + def check_password_dialog(self): + # action after closing dialog for checking password + def checkDialog_closed(w, response): + if response == 'ok': + self.checkDialog.set_response_enabled("ok", False) + with open(f"{CACHE}/temp_file", "w") as tmp: + tmp.write(self.checkEntry.get_text()) + + self.import_config() + + # Dialog itself + self.checkDialog = Adw.AlertDialog.new() + self.checkDialog.set_heading(_("Unlock the archive with a password")) + self.checkDialog.set_body(_("Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.")) + self.checkDialog.choose(self, None, None, None) + self.checkDialog.add_response("cancel", _("Cancel")) + self.checkDialog.add_response("ok", _("Apply")) + self.checkDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) + self.checkDialog.connect('response', checkDialog_closed) + self.checkDialog.present() + + self.checkEntry = Adw.PasswordEntryRow.new() + self.checkEntry.set_title(_("Password")) + self.checkDialog.set_extra_child(self.checkEntry) + + # Import configuration + def import_config(self): + self.archive_mode = "--unpack" + self._identify_file_type() + self.please_wait_import() + import_thread = Thread(target=self._call_archive_command) + import_thread.start() + + def _identify_file_type(self): + try: + self.archive_name = self.import_folder + except: + self.archive_name = self.import_file + + # "Please wait" information on the "Import" page + def please_wait_import(self): + # Stop importing configuration + def cancel_import(w): + os.popen("pkill -9 7z") + os.popen("pkill -9 tar") + os.popen('pkill -f "savedesktop.core.config"') + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) + self.set_title("Save Desktop") + for widget in [self.importwaitSpinner, self.importwaitLabel, self.importwaitButton, self.idoneImage, self.logoutButton, self.backtomButton]: + self.importwaitBox.remove(widget) + + # Add new headerbar for this page + self.headerbar.set_title_widget(None) + self.switcher_bar.set_reveal(False) + + # Create box widget for this page + self.importwaitBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.importwaitBox.set_halign(Gtk.Align.CENTER) + self.importwaitBox.set_valign(Gtk.Align.CENTER) + self.toolbarview.set_content(self.importwaitBox) + + # Set bold title + self.set_title(_("Importing configuration …\nImporting configuration from:\n{}").split('')[0].split('')[-1]) + + # Create spinner for this page + self.importwaitSpinner = Gtk.Spinner.new() + self.importwaitSpinner.set_size_request(100, 100) + self.importwaitSpinner.start() + self.importwaitBox.append(self.importwaitSpinner) + + # Prepare Gtk.Image widget for this page + self.idoneImage = Gtk.Image.new() + self.importwaitBox.append(self.idoneImage) + + # Create label about configuration archive name + try: + self.importwaitLabel = Gtk.Label.new(str=_("Importing configuration …\nImporting configuration from:\n{}").format(self.import_file)) + except: + self.importwaitLabel = Gtk.Label.new(str=_("Importing configuration …\nImporting configuration from:\n{}").format(self.import_folder)) + self.importwaitLabel.set_use_markup(True) + self.importwaitLabel.set_justify(Gtk.Justification.CENTER) + self.importwaitLabel.set_wrap(True) + self.importwaitBox.append(self.importwaitLabel) + + # Create button for canceling importing configuration + self.importwaitButton = Gtk.Button.new_with_label(_("Cancel")) + self.importwaitButton.add_css_class("pill") + self.importwaitButton.add_css_class("destructive-action") + self.importwaitButton.connect("clicked", cancel_import) + self.importwaitButton.set_halign(Gtk.Align.CENTER) + self.importwaitButton.set_valign(Gtk.Align.CENTER) + self.importwaitBox.append(self.importwaitButton) + + # Config has been imported action + def applying_done(self): + # back to the previous page from this page + def back_to_main(w): + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) + self.set_title("Save Desktop") + [self.importwaitBox.remove(widget) for widget in [self.importwaitSpinner, self.importwaitLabel, self.importwaitButton, self.idoneImage, self.logoutButton, self.backtomButton]] + if hasattr(self, 'flistBox'): + self.pBox.remove(self.flistBox) + + # send notification about imported configuration if application window is inactive only + self.notification_import = Gio.Notification.new("Save Desktop") + self.notification_import.set_body(_("The configuration has been applied!")) + app = self.get_application() + active_window = app.get_active_window() + if active_window is None or not active_window.is_active(): + app.send_notification(None, self.notification_import) + + # stop spinner animation + self.importwaitSpinner.stop() + self.importwaitBox.remove(self.importwaitButton) + self.importwaitBox.remove(self.importwaitSpinner) + + # set title to "Configuration has been applied!" + self.set_title(_("The configuration has been applied!")) + + # widget for showing done.svg icon + self.idoneImage.set_from_icon_name("done") + self.idoneImage.set_pixel_size(128) + + # edit label for the purposes of this page + self.importwaitLabel.set_label(_("{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.").format(_("The configuration has been applied!"))) + + # create button for loging out of the system + self.logoutButton = Gtk.Button.new_with_label(_("Log Out")) + self.logoutButton.add_css_class('pill') + self.logoutButton.add_css_class('suggested-action') + self.logoutButton.set_halign(Gtk.Align.CENTER) + self.logoutButton.set_valign(Gtk.Align.CENTER) + self.logoutButton.set_action_name("app.logout") + self.importwaitBox.append(self.logoutButton) if not (flatpak and self.environment == "Hyprland") else None + + # create button for backing to the previous page + self.backtomButton = Gtk.Button.new_with_label(_("Back to previous page")) + self.backtomButton.connect("clicked", back_to_main) + self.backtomButton.add_css_class("pill") + self.backtomButton.set_halign(Gtk.Align.CENTER) + self.backtomButton.set_valign(Gtk.Align.CENTER) + self.importwaitBox.append(self.backtomButton) + + # show message dialog in the error case + def show_err_msg(self, error): + error_str = str(error) + if "died" in error_str: + return + + self.errDialog = Adw.AlertDialog.new() + self.errDialog.choose(self, None, None, None) + self.errDialog.set_heading(heading=_("An error occurred")) + self.errDialog.set_body(body=f"{error_str}") + self.errDialog.add_response('cancel', _("Cancel")) + self.errDialog.present() + + # a warning indicating that the user must log out + def show_warn_toast(self): + self.warn_toast = Adw.Toast.new(title=_("Changes will only take effect after the next login")) + self.warn_toast.set_button_label(_("Log Out")) + self.warn_toast.set_action_name("app.logout") + self.toast_overlay.add_toast(self.warn_toast) + + # message that says where will be run a synchronization + def show_special_toast(self): + self.special_toast = Adw.Toast.new(title=_("From now on, you can sync the config from the menu in the header bar")) + self.toast_overlay.add_toast(self.special_toast) + + # action after closing the main window + def on_close(self, w): + self.close() + # Save window size, state, and filename + settings["window-size"] = self.get_default_size() + settings["maximized"] = self.is_maximized() + settings["filename"] = self.saveEntry.get_text() + + # Check for ongoing operations before clearing cache + if any(os.path.exists(f"{CACHE}/{path}") for path in ["import_config/import_status", "syncing/sync_status", "periodic_saving/saving_status"]): + print("saving/importing/syncing configuration in progress...") + else: + pass diff --git a/src/localization.py b/src/localization.py deleted file mode 100644 index 37d0c9b7..00000000 --- a/src/localization.py +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/python3 -import json, locale, os, socket, subprocess, gi -from pathlib import Path -from gi.repository import Gio, GLib - -# For simpler import this script to the other scripts -__all__ = ['_', 'home', 'download_dir', 'snap', 'flatpak', 'settings', 'DATA', 'CACHE', 'r_lang', 'version', 'icon', 'rel_notes', 'system_dir', 'periodic_saving_cmd', 'sync_cmd'] - -# Load system language -p_lang = locale.getlocale()[0] -if p_lang == 'pt_BR': - r_lang = 'pt_BR' -elif p_lang == 'nb_NO': - r_lang = 'nb_NO' -elif 'zh' in p_lang: - r_lang = 'zh_Hans' -else: - r_lang = p_lang[:-3] - -# Set application version, icon, and release notes -v = "3.6.2-hotfix" -icon = "io.github.vikdevelop.SaveDesktop" -rel_notes = "

Fixed a bug with importing configuration from the archive

\ -

3.6.2

    \ -
  • Fixed a bug with properly including extensions in the archive (#428)
  • \ -
  • Fixed a bug with importing a configuration from the folder
  • \ -
  • Fixed a bug with cancelling saving or importing configuration
  • \ -
  • Fixed a bug with crashing the app after setting up the synchronization
  • \ -
  • Added the Ctrl+W keyboard shortcut for closing the app window
\ -

3.6.1

This version brings significant speedup of saving and importing configurations thanks to parallel copying (thanks to @ArthurValadares), change of application name from \"SaveDesktop\" to \"Save Desktop\" and minor user interface improvements along with minor bug fixes. Also improved the import of dynamic wallpapers in GNOME and improved archive encryption.

\ -

3.6-hotfix

Fixed a \"buffer overflow\" error when creating configuration archives by replacing the ZIP utility with 7-Zip.

\ -

3.6

    \ -
  • Added an option to encrypt the periodic saving files and added support for its usage in the synchronization mode
  • \ -
  • Migrated from the *.sd.tar.gz to the *.sd.zip archive format, but for backward compatibility reasons, it will still be possible to select the first named archive format
  • \ -
  • Added support for using the syncthing folders in the synchronization mode (#392)
  • \ -
  • Fixed other minor bugs
  • \ -
" - -flatpak = os.path.exists("/.flatpak-info") -snap = os.environ.get('SNAP_NAME', '') == 'savedesktop' - -# Checking for Snap and Real Home directories - -snap_home = Path.home()#keeping this value if it comes handy -snap_real_home = os.getenv('SNAP_REAL_HOME') - -# Setting home as per the confinement -home = snap_real_home if 'SNAP' in os.environ else snap_home - -# Load GSettings database -settings = Gio.Settings.new_with_path("io.github.vikdevelop.SaveDesktop", "/io/github/vikdevelop/SaveDesktop/") - -# Get the user download dir -download_dir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD) - -# Check, if the app is running in the sandbox (Flatpak or Snap) -if flatpak: - try: - locale = open(f"/app/translations/{r_lang}.json") - except: - locale = open(f"/app/translations/en.json") - version = f"{v}" - # Directories - system_dir = "/app" - CACHE = f"{GLib.get_user_cache_dir()}/tmp" - DATA = f"{GLib.get_user_data_dir()}" - # Commands - periodic_saving_cmd = 'flatpak run io.github.vikdevelop.SaveDesktop --background' - sync_cmd = "flatpak run io.github.vikdevelop.SaveDesktop --sync" -elif snap: - try: - locale = open(f"{os.getenv('SNAP')}/usr/translations/{r_lang}.json") - except: - locale = open(f"{os.getenv('SNAP')}/usr/translations/en.json") - version = f"{v}-snap" - # Directories - import dbus - system_dir = f"{os.getenv('SNAP')}/usr" - CACHE = f"{os.getenv('SNAP_USER_COMMON')}/.cache/tmp" - DATA = f"{os.getenv('SNAP_USER_DATA')}/.local/share" - os.makedirs(f"{CACHE}", exist_ok=True) - # Commands - periodic_saving_cmd = 'savedesktop --background' - sync_cmd = "savedesktop --sync" -else: - try: - locale = open(f"{home}/.local/share/savedesktop/translations/{r_lang}.json") - except: - locale = open(f"{home}/.local/share/savedesktop/translations/en.json") - version = f"{v}-native" - # Directories - system_dir = f"{home}/.local/share/savedesktop/src" - CACHE = f"{GLib.get_user_cache_dir()}/io.github.vikdevelop.SaveDesktop" - DATA = f"{GLib.get_user_data_dir()}/io.github.vikdevelop.SaveDesktop" - [os.makedirs(path, exist_ok=True) for path in (CACHE, DATA)] - # Commands - periodic_saving_cmd = f'savedesktop --background' - sync_cmd = f"savedesktop --sync" - -# Load the translation file -_ = json.load(locale) diff --git a/src/main.py b/src/main.py new file mode 100644 index 00000000..693db29e --- /dev/null +++ b/src/main.py @@ -0,0 +1,152 @@ +import os, sys, gi, subprocess +gi.require_version('Gtk', '4.0') +gi.require_version('Adw', '1') +from gi.repository import Gtk, Adw, Gio, GLib +from threading import Thread +from savedesktop.gui.window import MainWindow +from savedesktop.globals import * + +@Gtk.Template(resource_path="/io/github/vikdevelop/SaveDesktop/gui/gtk/shortcuts_window.ui") +class ShortcutsWindow(Gtk.ShortcutsWindow): + __gtype_name__ = 'SaveDesktopShortcutsWindow' + + def __init__(self, **kwargs): + super().__init__(**kwargs) + +class SaveDesktopApp(Adw.Application): + def __init__(self, **kwargs): + super().__init__(**kwargs, flags=Gio.ApplicationFlags.FLAGS_NONE, + application_id="io.github.vikdevelop.SaveDesktop" if not snap else None) + self.create_action('m-sync-with-key', self.sync_pc, ["s"] if settings["manually-sync"] else None) + self.create_action('save-config', self.call_saving_config, ["s"]) + self.create_action('import-config', self.call_importing_config, ["o"]) + self.create_action('ms-dialog', self.call_ms_dialog, ["m"]) + self.create_action('items-dialog', self.call_items_dialog, ["i"]) + self.create_action('set-dialog', self.call_setDialog, ["f"]) + self.create_action('cloud-dialog', self.call_cloudDialog, ["c"]) + self.create_action('open-wiki', self.open_wiki, ["F1"]) + self.create_action('quit', self.app_quit, ["q", "w"]) + self.create_action('shortcuts', self.shortcuts, ["question"]) + self.create_action('logout', self.logout) + self.create_action('open_dir', self.open_dir) + self.create_action('about', self.on_about_action) + self.connect('activate', self.on_activate) + + # Synchronize configuation manually after clicking on the "Synchronise manually" button in the header bar menu + def sync_pc(self, action, param): + self.win.import_file = settings["file-for-syncing"] + self.win.please_wait_import() + sync_thread = Thread(target=self._sync_process) + sync_thread.start() + + def _sync_process(self): + try: + os.system(f'notify-send "{_("Please wait …")}"') + os.system(f"echo > {CACHE}/.from_app") + subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + except subprocess.CalledProcessError as e: + GLib.idle_add(self.win.show_err_msg, e) + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) + finally: + self.win.applying_done() + + # Start saving the configuration using Ctrl+S keyboard shortcut + def call_saving_config(self, action, param): + self.win.select_folder(w="") + + # Start importing the configuration using Ctrl+I keyboard shortcut + def call_importing_config(self, action, param): + self.win.select_file_to_import(w="") + + # Open the More options dialog using Ctrl+Shift+M keyboard shortcut + def call_ms_dialog(self, action, param): + self.win.more_options_dialog(w="") + self.win.msDialog.present() + + # Open the "Items to include in the configuration archive" dialog using Ctrl+Shift+I keyboard shortcut + def call_items_dialog(self, action, param): + self.win.items_dialog(w="") + + # Open the "Set up the sync file" dialog using Ctrl+Shift+S keyboard shortcut + def call_setDialog(self, action, param): + if not snap: + self.win.open_setDialog(w="set-button") if not settings["first-synchronization-setup"] else self.win.open_initsetupDialog(w="set-button") + + # Open the "Connect to the cloud drive" dialog using Ctrl+Shift+C keyboard shortcut + def call_cloudDialog(self, action, param): + if not snap: + self.win.open_cloudDialog(w="get-button") if not settings["first-synchronization-setup"] else self.win.open_initsetupDialog(w="get-button") + + # Open the application wiki using F1 keyboard shortcut + def open_wiki(self, action, param): + os.system("xdg-open https://vikdevelop.github.io/SaveDesktop/wiki") + + # Action after closing the application using Ctrl+Q keyboard shortcut + def app_quit(self, action, param): + self.win.on_close(w="") + self.quit() + + # Show Keyboard Shortcuts window + def shortcuts(self, action, param): + ShortcutsWindow(transient_for=self.get_active_window()).present() + + # log out of the system after clicking on the "Log Out" button + def logout(self, action, param): + if snap: + os.system("dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.TerminateSession string:$(dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.ListSessions | awk -F 'string \"' '/string \"/ {print $2; exit}' | awk -F '\"' '{print $1}')") + else: + if self.win.environment == 'Xfce': + os.system("dbus-send --print-reply --session --dest=org.xfce.SessionManager /org/xfce/SessionManager org.xfce.Session.Manager.Logout boolean:true boolean:false") + elif self.win.environment == 'KDE Plasma': + os.system("dbus-send --print-reply --session --dest=org.kde.LogoutPrompt /LogoutPrompt org.kde.LogoutPrompt.promptLogout") + elif self.win.environment == 'COSMIC (New)': + os.system("dbus-send --print-reply --session --dest=com.system76.CosmicSession --type=method_call /com/system76/CosmicSession com.system76.CosmicSession.Exit") + elif self.win.environment == 'Hyprland': + os.system("hyprctl dispatch exit") + else: + os.system("gdbus call --session --dest org.gnome.SessionManager --object-path /org/gnome/SessionManager --method org.gnome.SessionManager.Logout 1") + + # open a directory with created configuration archive after clicking on the "Open the folder" button + def open_dir(self, action, param): + if settings["save-without-archive"]: + path = f"{self.win.folder}/{self.win.filename_text}" + else: + path = f"{self.win.folder}/{self.win.filename_text}.sd.zip" + + Gtk.FileLauncher.new(Gio.File.new_for_path(path)).open_containing_folder() + + # "About app" dialog + def on_about_action(self, action, param): + dialog = Adw.AboutDialog() + dialog.set_application_name("Save Desktop") + dialog.set_developer_name("vikdevelop") + dialog.set_comments(_("Save your desktop configuration")) + dialog.set_translator_credits(_("Translator credits")) if not _("Translator credits") == "Translator credits" else None + dialog.set_license_type(Gtk.License(Gtk.License.GPL_3_0)) + dialog.set_website("https://vikdevelop.github.io/SaveDesktop") + dialog.set_issue_url("https://github.com/vikdevelop/SaveDesktop/issues") + dialog.set_copyright("© 2023-2025 vikdevelop") + dialog.set_developers(["vikdevelop https://github.com/vikdevelop"]) + dialog.set_artists(["Brage Fuglseth"]) + dialog.set_version(os.environ.get("SAVEDESKTOP_VERSION")) + dialog.set_application_icon("io.github.vikdevelop.SaveDesktop") + dialog.set_release_notes("") + dialog.present(app.get_active_window()) + + # create Gio actions for opening the folder, logging out of the system, etc. + def create_action(self, name, callback, shortcuts=None): + action = Gio.SimpleAction.new(name, None) + action.connect('activate', callback) + self.add_action(action) + if shortcuts: + self.set_accels_for_action(f'app.{name}', shortcuts) + + # Show the main window of the application + def on_activate(self, app): + self.win = MainWindow(application=app) + self.win.present() + +app = SaveDesktopApp() +app.run(sys.argv) diff --git a/src/main_window.py b/src/main_window.py deleted file mode 100644 index 66427514..00000000 --- a/src/main_window.py +++ /dev/null @@ -1,1735 +0,0 @@ -#!/usr/bin/python3 -import os, socket, glob, sys, shutil, re, zipfile, random, string, gi, warnings, tarfile, subprocess, shlex -gi.require_version('Gtk', '4.0') -gi.require_version('Adw', '1') -from gi.repository import Gtk, Adw, Gio, GLib, Gdk -from datetime import date -from pathlib import Path -from threading import Thread -from localization import * -from shortcuts_window import * -from items_dialog import FolderSwitchRow, FlatpakAppsDialog, itemsDialog -from password_store import PasswordStore - -# Application window -class MainWindow(Adw.ApplicationWindow): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.set_title("Save Desktop") - self.app_wiki = "https://vikdevelop.github.io/SaveDesktop/wiki" - - # header bar and toolbarview - self.headerbar = Adw.HeaderBar.new() - self.toolbarview = Adw.ToolbarView.new() - self.toolbarview.add_top_bar(self.headerbar) - - # Values that are set if state of the switch "Extensions" in the Items, state of the switch "User data of installed Flatpak apps" will be saved or not, if whether to reopen the self.setDialog, if restarts the app window. Whether the Apply button in self.setDialog will be enabled or not. - self.save_ext_switch_state = self.flatpak_data_sw_state = self.open_setdialog_tf = self.set_button_sensitive = self.restart_app_win = self.auto_save_start = False - - # set the window size and maximization from the GSettings database - (width, height) = settings["window-size"] - self.set_default_size(width, height) - - # if the value is TRUE, it enables window maximalization - if settings["maximized"]: - self.maximize() - - # App menu - primary menu - self.main_menu = Gio.Menu() - - # primary menu section - self.general_menu = Gio.Menu() - self.general_menu.append(_["keyboard_shortcuts"], 'app.shortcuts') - self.general_menu.append(_["about_app"], 'app.about') - self.main_menu.append_section(None, self.general_menu) - - # menu button - self.menu_button = Gtk.MenuButton.new() - self.menu_button.set_icon_name(icon_name='open-menu-symbolic') - self.menu_button.set_menu_model(menu_model=self.main_menu) - self.menu_button.set_primary(True) - self.headerbar.pack_end(child=self.menu_button) - - # add Manually sync section - if settings["manually-sync"] == True: - self.sync_menu = Gio.Menu() - self.sync_menu.append(_["sync"], 'app.m-sync-with-key') - self.main_menu.prepend_section(None, self.sync_menu) - - # primary layout - self.headapp = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.headapp.set_valign(Gtk.Align.CENTER) - self.headapp.set_halign(Gtk.Align.CENTER) - self.toolbarview.set_content(self.headapp) - - # A view container for the menu switcher - self.stack = Adw.ViewStack(vexpand=True) - self.stack.set_hhomogeneous(True) - self.headapp.append(self.stack) - - # Layout for saving and importing configuration - self.saveBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=15) - self.importBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.syncingBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - - # Add pages to the menu switcher - self.stack.add_titled_with_icon(self.saveBox,"savepage",_["save"],"document-save-symbolic") - self.stack.add_titled_with_icon(self.importBox,"importpage",_["import_title"],"document-open-symbolic") - self.stack.add_titled_with_icon(self.syncingBox,"syncpage",_["sync"],"emblem-synchronizing-symbolic") if not snap else None - - # menu switcher - self.switcher_title = Adw.ViewSwitcherTitle.new() - self.switcher_title.set_stack(self.stack) - self.switcher_title.set_title("Save Desktop") - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_title.connect("notify::title-visible", self.change_bar) - - # menu bar - self.switcher_bar = Adw.ViewSwitcherBar.new() - self.switcher_bar.set_stack(self.stack) - self.toolbarview.add_bottom_bar(self.switcher_bar) - - # Toast Overlay for showing the popup window - self.toast_overlay = Adw.ToastOverlay.new() - self.toast_overlay.set_margin_top(margin=1) - self.toast_overlay.set_margin_end(margin=1) - self.toast_overlay.set_margin_bottom(margin=1) - self.toast_overlay.set_margin_start(margin=1) - self.toast_overlay.set_child(self.toolbarview) - self.set_content(self.toast_overlay) - - # Popup window for showing messages about necessity to log out of the system after selected the periodic synchronization interval - self.toast = Adw.Toast.new(title='') - self.toast.set_timeout(0) - - # Check the user's current desktop - desktop_env = os.getenv('XDG_CURRENT_DESKTOP') - desktop_map = { - 'GNOME': 'GNOME', - 'zorin:GNOME': 'GNOME', - 'ubuntu:GNOME': 'GNOME', - 'pop:GNOME': 'COSMIC (Old)', - 'COSMIC': 'COSMIC (New)', - 'Pantheon': 'Pantheon', - 'X-Cinnamon': 'Cinnamon', - 'Budgie:GNOME': 'Budgie', - 'XFCE': 'Xfce', - 'MATE': 'MATE', - 'KDE': 'KDE Plasma', - 'Deepin': 'Deepin', - 'Hyprland': 'Hyprland'} - - # If the user has a supported environment, it shows the app window, otherwise, it shows the window with information about an unsupported environment - def setup_environment(env_name): - self.environment = env_name - self.save_desktop() - self.import_desktop() - self.sync_desktop() if not snap else print("Synchronization in the Snap environment is temporarily disabled.") - self.connect("close-request", self.on_close) - - if desktop_env in desktop_map: - setup_environment(desktop_map[desktop_env]) - else: - # Handle unsupported desktop environments - self.headerbar.set_title_widget(None) - self.toolbarview.remove(self.switcher_bar) - self.pBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.pBox.set_halign(Gtk.Align.CENTER) - self.pBox.set_valign(Gtk.Align.CENTER) - self.pBox.set_margin_start(50) - self.pBox.set_margin_end(50) - self.toolbarview.set_content(self.pBox) - self.unsupp_img = Gtk.Image.new_from_icon_name("exclamation_mark"); self.unsupp_img.set_pixel_size(128); self.pBox.append(self.unsupp_img) - self.unsupp_label = Gtk.Label.new(str=f'{_["unsuppurted_env_desc"]}'.format(', '.join(set(desktop_map.values())))); self.unsupp_label.set_use_markup(True); self.unsupp_label.set_justify(Gtk.Justification.CENTER); self.unsupp_label.set_wrap(True); self.pBox.append(self.unsupp_label) - - # Switch between ViewSwitcherTitle and ViewSwitcherBar based on the title visible - def change_bar(self, *data): - if self.switcher_title.get_title_visible() == True: - self.switcher_bar.set_reveal(True) - else: - self.switcher_bar.set_reveal(False) - - # Show main page - def save_desktop(self): - # More options dialog - def more_options_dialog(w): - # create desktop file for enabling periodic saving at startup - def create_pb_desktop(): - os.makedirs(f'{home}/.config/autostart', exist_ok=True) - if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh"): - with open(f'{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop', 'w') as cb: - cb.write(f'[Desktop Entry]\nName=SaveDesktop (Periodic backups)\nType=Application\nExec={periodic_saving_cmd}') - - # Action after closing dialog for showing more options - def msDialog_closed(w, response): - if response == 'ok': - settings["filename-format"] = self.filefrmtEntry.get_text() # save the file name format entry - settings["periodic-saving-folder"] = self.dirRow.get_subtitle() # save the selected periodic saving folder - # save the periodic saving interval - selected_item = self.pbRow.get_selected_item() - backup_mapping = {_["never"]: "Never", _["daily"]: "Daily", _["weekly"]: "Weekly", _["monthly"]: "Monthly"} - backup_item = backup_mapping.get(selected_item.get_string(), "Never") - create_pb_desktop() if not backup_item == "Never" else None - settings["periodic-saving"] = backup_item - settings["enable-encryption"] = self.encryptSwitch.get_active() # save the archive encryption's switch state - settings["save-without-archive"] = self.archSwitch.get_active() # save the switch state of the "Save a configuration without creating the configuration archive" option - # save the entered password to the file - if self.cpwdRow.get_text(): - password = self.cpwdRow.get_text() - PasswordStore(password) - else: - try: - os.remove(f"{DATA}/password") - except: - pass - - # restart the SetDialog() after closing this dialog - if self.open_setdialog_tf: - self.setDialog.close() - w = "" - self.open_setDialog(w) - - # open a link to the wiki page about periodic saving - def open_pb_wiki(w): - os.system(f"xdg-open {pb_wiki}") - - # reset the file name format entry to the default value - def reset_fileformat(w): - self.filefrmtEntry.set_text("Latest_configuration") - - # set sensitivity of the encryptSwitch - def set_encryptswitch_sensitivity(GParamBoolean, encryptSwitch): - if self.encryptSwitch.get_active(): - self.archSwitch.set_sensitive(False) - else: - self.archSwitch.set_sensitive(True) - - # set sensitivity of the archSwitch - def set_archswitch_sensitivity(GParamBoolean, archSwitch): - if self.archSwitch.get_active(): - self.encryptSwitch.set_sensitive(False) - else: - self.encryptSwitch.set_sensitive(True) - - # Dialog itself - self.msDialog = Adw.AlertDialog.new() - self.msDialog.set_heading(_["more_options"]) - self.msDialog.choose(self, None, None, None) - - # Box for this dialog - self.msBox = Gtk.ListBox.new() - self.msBox.set_selection_mode(mode=Gtk.SelectionMode.NONE) - self.msBox.add_css_class('boxed-list') - self.msBox.set_size_request(-1, 520) if self.open_setdialog_tf else self.msBox.set_size_request(-1, 320) - self.msDialog.set_extra_child(self.msBox) - - # Periodic saving section - # Expander row for showing options of the periodic saving - self.saving_eRow = Adw.ExpanderRow.new() - self.saving_eRow.set_title(_["periodic_saving"]) - self.saving_eRow.set_expanded(True) if self.open_setdialog_tf else None - self.msBox.append(child=self.saving_eRow) - - options = Gtk.StringList.new(strings=[ - _["never"], _["daily"], _["weekly"], _["monthly"] - ]) - - self.pbRow = Adw.ComboRow.new() - self.pbRow.set_title(_["pb_interval"]) - self.pbRow.set_use_markup(True) - self.pbRow.set_subtitle(f"{_['periodic_saving_desc']}") - self.pbRow.set_subtitle_lines(4) - self.pbRow.set_model(model=options) - self.saving_eRow.add_row(self.pbRow) - - # Load options from GSettings database - if settings["periodic-saving"] == 'Never': - self.pbRow.set_selected(0) - elif settings["periodic-saving"] == 'Daily': - self.pbRow.set_selected(1) - elif settings["periodic-saving"] == 'Weekly': - self.pbRow.set_selected(2) - elif settings["periodic-saving"] == 'Monthly': - self.pbRow.set_selected(3) - - # Restore filename format text to default - self.filefrmtButton = Gtk.Button.new_from_icon_name("view-refresh-symbolic") - self.filefrmtButton.add_css_class('destructive-action') - self.filefrmtButton.set_valign(Gtk.Align.CENTER) - self.filefrmtButton.set_tooltip_text(_["reset_button"]) - self.filefrmtButton.connect("clicked", reset_fileformat) - - # Entry for selecting file name format - self.filefrmtEntry = Adw.EntryRow.new() - self.filefrmtEntry.set_title(_["filename_format"]) - self.filefrmtEntry.add_suffix(self.filefrmtButton) - self.filefrmtEntry.set_text(settings["filename-format"]) - self.saving_eRow.add_row(self.filefrmtEntry) - - # Button for choosing folder for periodic saving - self.folderButton = Gtk.Button.new_from_icon_name("document-open-symbolic") - self.folderButton.set_valign(Gtk.Align.CENTER) - self.folderButton.set_tooltip_text(_["set_another"]) - self.folderButton.connect("clicked", self.select_pb_folder) - - # Adw.ActionRow for showing folder for periodic saving - self.dirRow = Adw.ActionRow.new() - self.dirRow.set_title(_["pb_folder"]) - self.dirRow.add_suffix(self.folderButton) - self.dirRow.set_use_markup(True) - self.dirRow.set_subtitle(settings["periodic-saving-folder"].format(download_dir)) - self.saving_eRow.add_row(self.dirRow) - - # Adw.ActionRow for entering a password for the archive encryption - self.get_password_from_file() - - self.cpwdRow = Adw.PasswordEntryRow.new() - self.cpwdRow.set_title(_["pwd_for_encryption"]) - try: - self.cpwdRow.set_text(self.password) - except: - self.cpwdRow.set_text("") - self.saving_eRow.add_row(self.cpwdRow) - - # Manual saving section - self.manRow = Adw.ExpanderRow.new() - self.manRow.set_title(_["manual_saving"]) - self.manRow.set_expanded(True) - self.msBox.append(self.manRow) - - # action row and switch for showing options of the archive encryption - self.encryptSwitch = Gtk.Switch.new() - self.archSwitch = Gtk.Switch.new() - self.encryptSwitch.set_valign(Gtk.Align.CENTER) - self.encryptSwitch.connect('notify::active', set_encryptswitch_sensitivity) - if settings["enable-encryption"] == True: - self.encryptSwitch.set_active(True) - self.archSwitch.set_sensitive(False) - - self.encryptRow = Adw.ActionRow.new() - self.encryptRow.set_title(_["archive_encryption"]) - self.encryptRow.set_subtitle(f'{_["archive_encryption_desc"]}') - self.encryptRow.set_subtitle_lines(15) - self.encryptRow.add_suffix(self.encryptSwitch) - self.encryptRow.set_activatable_widget(self.encryptSwitch) - self.manRow.add_row(self.encryptRow) - - # action row and switch for showing the "Save a configuration without creating the archive" option - self.archSwitch.set_valign(Gtk.Align.CENTER) - self.archSwitch.connect('notify::active', set_archswitch_sensitivity) - if settings["save-without-archive"] == True: - self.archSwitch.set_active(True) - self.encryptSwitch.set_sensitive(False) - - self.archRow = Adw.ActionRow.new() - self.archRow.set_title(_["save_without_archive"]) - self.archRow.add_suffix(self.archSwitch) - self.archRow.set_activatable_widget(self.archSwitch) - self.manRow.add_row(self.archRow) - - # add response of this dialog - self.msDialog.add_response('cancel', _["cancel"]) - self.msDialog.add_response('ok', _["apply"]) - self.msDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) - self.msDialog.connect('response', msDialog_closed) - - self.msDialog.present() - - # open a dialog for selecting the items to include in the configuration archive - def open_itemsDialog(w): - self.itemsd = itemsDialog() - self.itemsd.choose(self, None, None, None) - self.itemsd.present() - - # ========= - # Save page - - # Open the More options dialog from the self.setDialog - self.more_options_dialog = more_options_dialog - self.items_dialog = open_itemsDialog - - # Set valign for the save desktop layout - self.saveBox.set_valign(Gtk.Align.CENTER) - - # Title image for the save page - self.titleImage = Gtk.Image.new_from_icon_name("desktop-symbolic") - self.titleImage.set_pixel_size(64) - self.saveBox.append(self.titleImage) - - # Title "Save Current configuration" for save page and subtitle "{user_desktop}" - self.label_title = Gtk.Label.new() - self.label_title.set_markup('{}\n{}'.format(_["save_config"], self.environment)) - self.label_title.set_justify(Gtk.Justification.CENTER) - self.saveBox.append(self.label_title) - - # Box for show these options: set the filename, set items that will be included to the config archive and periodic saving - self.lbox_e = Gtk.ListBox.new() - self.lbox_e.set_selection_mode(mode=Gtk.SelectionMode.NONE) - self.lbox_e.add_css_class(css_class='boxed-list-separate') - self.lbox_e.set_margin_start(20) - self.lbox_e.set_margin_end(20) - self.lbox_e.set_halign(Gtk.Align.CENTER) - self.lbox_e.set_valign(Gtk.Align.CENTER) - self.saveBox.append(self.lbox_e) - - # set the filename section - self.saveEntry = Adw.EntryRow.new() - self.saveEntry.set_title(_["set_filename"]) - self.saveEntry.set_text(settings["filename"]) - self.lbox_e.append(self.saveEntry) - - # Button for opening dialog for selecting items that will be included to the config archive - self.itemsButton = Gtk.Button.new_from_icon_name("go-next-symbolic") - self.itemsButton.set_valign(Gtk.Align.CENTER) - self.itemsButton.add_css_class("flat") - self.itemsButton.connect("clicked", open_itemsDialog) - - # Action row for opening dialog for selecting items that will be included to the config archive - self.items_row = Adw.ActionRow.new() - self.items_row.set_title(title=_["items_for_archive"]) - self.items_row.set_use_markup(True) - self.items_row.set_title_lines(5) - self.items_row.add_suffix(self.itemsButton) - self.items_row.set_activatable_widget(self.itemsButton) - self.lbox_e.append(child=self.items_row) - - self.lbox_e.set_show_separators(True) - - # section for showing dialog with more options - # button - self.msButton = Gtk.Button.new_from_icon_name("go-next-symbolic") - self.msButton.add_css_class('flat') - self.msButton.set_valign(Gtk.Align.CENTER) - self.msButton.connect("clicked", more_options_dialog) - - # action row - self.moreSettings = Adw.ActionRow.new() - self.moreSettings.set_title(_["more_options"]) - self.moreSettings.set_subtitle(f"{_['periodic_saving']}, {_['manual_saving']}") - self.moreSettings.set_subtitle_lines(3) - self.moreSettings.add_suffix(self.msButton) - self.moreSettings.set_activatable_widget(self.msButton) - self.lbox_e.append(self.moreSettings) - - # Save configuration button - self.saveButton = Gtk.Button.new_with_label(_["save"]) - self.saveButton.add_css_class("suggested-action") - self.saveButton.add_css_class("pill") - self.saveButton.connect("clicked", self.select_folder) - self.saveButton.set_valign(Gtk.Align.CENTER) - self.saveButton.set_halign(Gtk.Align.CENTER) - self.saveBox.append(self.saveButton) - - # Import configuration page - def import_desktop(self): - self.importBox.set_valign(Gtk.Align.CENTER) - self.importBox.set_halign(Gtk.Align.CENTER) - - # Box for the below buttons - self.btnBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - - # Import configuration button - self.fileButton = Gtk.Button.new_with_label(_["import_from_file"]) - self.fileButton.add_css_class("pill") - self.fileButton.add_css_class("suggested-action") - self.fileButton.set_halign(Gtk.Align.CENTER) - self.fileButton.set_valign(Gtk.Align.CENTER) - self.fileButton.connect("clicked", self.select_file_to_import) - self.btnBox.append(self.fileButton) - - # Import configuration from folder button - self.folderButton = Gtk.Button.new_with_label(_["import_from_folder"]) - self.folderButton.add_css_class("pill") - self.folderButton.set_halign(Gtk.Align.CENTER) - self.folderButton.set_valign(Gtk.Align.CENTER) - self.folderButton.connect("clicked", self.select_folder_to_import) - self.btnBox.append(self.folderButton) - - # Image and title for the Import page - self.importPage = Adw.StatusPage.new() - self.importPage.set_icon_name("document-open-symbolic") - self.importPage.set_title(_["import_title"]) - self.importPage.set_description(_["import_config"]) - self.importPage.set_size_request(360, -1) - self.importPage.set_child(self.btnBox) - self.importBox.append(self.importPage) - - # Syncing desktop page - def sync_desktop(self): - # Set showing the Initial synchronization setup dialog only if the periodic saving folder or cloud drive folder does not use GVFS or Rclone filesystem - settings["first-synchronization-setup"] = True if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh") else False - - # Box, image and title for this page - self.sync_btn_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.syncPage = Adw.StatusPage.new() - self.syncPage.set_icon_name("emblem-synchronizing-symbolic") - self.syncPage.set_title(_["sync"]) - self.syncPage.set_description(f'{_["sync_desc"]} {_["learn_more"]}') - self.syncPage.set_child(self.sync_btn_box) - self.syncingBox.append(self.syncPage) - - # "Set up the sync file" button - self.setButton = Gtk.Button.new_with_label(_["set_up_sync_file"]) - self.setButton.set_name("set-button") - self.setButton.add_css_class("pill") - self.setButton.add_css_class("suggested-action") - self.setButton.connect("clicked", self.open_setDialog if not settings["first-synchronization-setup"] else self.open_initsetupDialog) - self.setButton.set_valign(Gtk.Align.CENTER) - self.setButton.set_halign(Gtk.Align.CENTER) - self.sync_btn_box.append(self.setButton) - - # "Connect with other computer" button - self.getButton = Gtk.Button.new_with_label(_["connect_cloud_storage"]) - self.getButton.set_name("get-button") - self.getButton.add_css_class("pill") - self.getButton.connect("clicked", self.open_cloudDialog if not settings["first-synchronization-setup"] else self.open_initsetupDialog) - self.getButton.set_valign(Gtk.Align.CENTER) - self.getButton.set_halign(Gtk.Align.CENTER) - self.sync_btn_box.append(self.getButton) - - # Dialog for initial setting up the synchronization - def open_initsetupDialog(self, w): - # set the self.get_button_type variable before starting the dialog - try: - self.get_button_type = w.get_name() - except AttributeError: - self.get_button_type = w - - # show the message about finished setup the synchronization - def almost_done(): - self.initsetupDialog.remove_response('ok-rclone') - self.initsetupDialog.remove_response('ok-syncthing') - self.initsetupDialog.remove_response('next') - self.initsetupDialog.set_extra_child(None) - self.initsetupDialog.set_heading(_["almost_done_title"]) - self.initsetupDialog.set_body(_["almost_done_desc"]) - self.initsetupDialog.set_can_close(True) - self.initsetupDialog.add_response('open-setdialog', _["next"]) if self.get_button_type == 'set-button' else self.initsetupDialog.add_response('open-clouddialog', _["next"]) - self.initsetupDialog.set_response_appearance('open-setdialog', Adw.ResponseAppearance.SUGGESTED) if self.get_button_type == 'set-button' else self.initsetupDialog.set_response_appearance('open-clouddialog', Adw.ResponseAppearance.SUGGESTED) - - # copy the command for setting up the Rclone using Gdk.Clipboard() - def copy_rclone_command(w): - os.makedirs(f"{download_dir}/SaveDesktop/rclone_drive", exist_ok=True) # create the requested folder before copying the command for setting up Rclone to the clipboard - clipboard = Gdk.Display.get_default().get_clipboard() - Gdk.Clipboard.set(clipboard, f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") # copy the command for setting up Rclone to the clipboard - self.copyButton.set_icon_name("done") - self.cmdRow.set_title(_["rclone_cmd_copied_msg"]) - self.cmdRow.set_subtitle("") - self.initsetupDialog.set_response_enabled('ok-rclone', True) - - # Set the Rclone setup command - def get_service(comborow, GParamObject): - self.initsetupDialog.set_body("") - get_servrow = self.servRow.get_selected_item().get_string() - self.cloud_service = "drive" if get_servrow == "Google Drive" else "onedrive" if get_servrow == "Microsoft OneDrive" else "dropbox" if get_servrow == "DropBox" else "pcloud" - self.cmdRow.set_title(_["rclone_copy_cmd"]) - self.cmdRow.set_subtitle(f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") - # set the copyButton properties - self.copyButton.set_sensitive(True) - self.copyButton.set_icon_name("edit-copy-symbolic") - self.copyButton.set_tooltip_text("Copy") - self.copyButton.connect("clicked", copy_rclone_command) - - # Responses of this dialog - def initsetupDialog_closed(w, response): - if response == 'next' or response == 'ok-syncthing': # open the Gtk.FileDialog in the GNOME Online accounts case - self.select_pb_folder(w) if self.get_button_type == 'set-button' else self.select_folder_to_sync(w) - almost_done() - elif response == 'ok-rclone': # set the periodic saving folder in the Rclone case - if self.get_button_type == 'set-button': - settings["periodic-saving-folder"] = f"{download_dir}/SaveDesktop/rclone_drive" - else: - settings["file-for-syncing"] = f"{download_dir}/SaveDesktop/rclone_drive" - almost_done() - elif response == 'cancel': # if the user clicks on the Cancel button - self.initsetupDialog.set_can_close(True) - elif response == 'open-setdialog': # open the "Set up the sync file" dialog after clicking on the Next button in "Almost done!" page - self.auto_save_start = True - settings["periodic-saving"] = "Daily" - self.restart_app_win = True - self.open_setDialog(w) - elif response == 'open-clouddialog': # open the "Connect to the cloud folder" dialog after clicking on the Next button in "Almost done!" page - settings["first-synchronization-setup"] = False - self.restart_app_win = True - self.open_cloudDialog(w) - - # Dialog itself - self.initsetupDialog = Adw.AlertDialog.new() - self.initsetupDialog.set_heading(_["initial_setup"]) - self.initsetupDialog.choose(self, None, None, None) - self.initsetupDialog.set_body_use_markup(True) - self.initsetupDialog.set_can_close(False) - self.initsetupDialog.add_response('cancel', _["cancel"]) - self.initsetupDialog.set_response_appearance('cancel', Adw.ResponseAppearance.DESTRUCTIVE) - self.initsetupDialog.add_response('ok-syncthing', _["syncthing_folder"]) - self.initsetupDialog.connect('response', initsetupDialog_closed) - self.initsetupDialog.present() - - # create a ListBox for the rows below - self.initBox = Gtk.ListBox.new() - self.initBox.set_selection_mode(Gtk.SelectionMode.NONE) - self.initBox.add_css_class("boxed-list") - self.initBox.set_vexpand(True) - self.initsetupDialog.set_extra_child(self.initBox) - - # if the user has GNOME, Cinnamon, COSMIC (Old) or Budgie environment, it shows text about setting up GNOME Online Accounts. - # otherwise, it shows the text about setting up Rclone - if self.environment in ["GNOME", "Cinnamon", "COSMIC (Old)", "Budgie"]: - self.initBox.set_size_request(-1, 330) - self.firstRow = Adw.ActionRow.new() - self.firstRow.set_title(_["gnome_oa_settings"]) - self.initBox.append(self.firstRow) - - self.secondRow = Adw.ActionRow.new() - self.secondRow.set_title(_["gnome_oa_section"]) - self.secondRow.set_subtitle(_["gnome_oa_section_desc"]) - self.initBox.append(self.secondRow) - - self.thirdRow = Adw.ActionRow.new() - self.thirdRow.set_title(_["gnome_oa_chooser"]) - self.thirdRow.set_subtitle(_["gnome_oa_chooser_desc"]) - self.initBox.append(self.thirdRow) - - self.initsetupDialog.add_response('next', _["next"]) - self.initsetupDialog.set_response_appearance('next', Adw.ResponseAppearance.SUGGESTED) - else: - self.initsetupDialog.set_body(_["rclone_intro_desc"]) - - # create a list with available services, which can be connected via Rclone - services = Gtk.StringList.new(strings=[_["select"], 'Google Drive', 'Microsoft OneDrive', 'DropBox', 'pCloud']) - - # row for selecting the cloud service - self.servRow = Adw.ComboRow.new() - self.servRow.set_model(services) - self.servRow.connect("notify::selected-item", get_service) - self.initBox.append(self.servRow) - - # button for copying the Rclone command to clipboard - self.copyButton = Gtk.Button.new() - self.copyButton.add_css_class('flat') - self.copyButton.set_valign(Gtk.Align.CENTER) - self.copyButton.set_sensitive(False) - - # row for showing the command for setting up the Rclone - self.cmdRow = Adw.ActionRow.new() - self.cmdRow.set_title_selectable(True) - self.cmdRow.set_use_markup(True) - self.cmdRow.add_suffix(self.copyButton) - self.initBox.append(self.cmdRow) - - # add the Apply button to the dialog - self.initsetupDialog.add_response('ok-rclone', _["apply"]) - self.initsetupDialog.set_response_appearance('ok-rclone', Adw.ResponseAppearance.SUGGESTED) - self.initsetupDialog.set_response_enabled('ok-rclone', False) - - # Dialog for setting the sync file, periodic synchronization interval and copying the URL for synchronization - def open_setDialog(self, w): - # Create periodic saving file if it does not exist - def save_now(): - try: - e_o = False - subprocess.run(['notify-send', 'SaveDesktop', _["please_wait"]]) - self.file_row.set_subtitle(_["please_wait"]) - self.file_row.set_use_markup(False) - from periodic_saving import PeriodicBackups - pb = PeriodicBackups() - pb.run(now=True) - except Exception as e: - e_o = True - subprocess.run(['notify-send', _["err_occured"], f'{e}']) - self.file_row.set_subtitle(f'{e}') - finally: - if not e_o: - self.file_row.remove(self.setupButton) - self.file_row.set_subtitle(f'{settings["periodic-saving-folder"]}/{settings["filename-format"]}.sd.zip') - os.system(f"notify-send 'SaveDesktop' '{_['config_saved']}'") - self.setDialog.set_response_enabled('ok', True) - self.auto_save_start = False - - # make the periodic saving file if it does not exist - def make_pb_file(w): - self.setupButton.set_sensitive(False) - pb_thread = Thread(target=save_now) - pb_thread.start() - - # Refer to the article about synchronization - def open_sync_link(w): - os.system(f"xdg-open {self.app_wiki}/synchronization/{r_lang}") - - def update_gui(): - global folder, path, check_filesystem - self.file_row = Adw.ActionRow() - self.file_row.set_title(_["periodic_saving_file"]) - self.file_row.set_subtitle(folder) - self.file_row.add_suffix(Gtk.Image.new_from_icon_name("network-wired-symbolic")) if "red" not in folder else None - self.file_row.set_subtitle_lines(8) - self.file_row.set_use_markup(True) - self.file_row.set_subtitle_selectable(True) - self.l_setdBox.append(self.file_row) - self.l_setdBox.append(self.ps_row) - - set_button_sensitive = settings["periodic-saving"] != "Never" and not os.path.exists(path) - if "red" in folder: - self.setDialog.set_response_enabled('ok', False) - [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", f"{DATA}/savedesktop-synchronization.sh"] if os.path.exists(path)] # remove these files if the periodic saving folder is not a cloud drive folder - if _["periodic_saving_file_err"] in folder: - self.setupButton = Gtk.Button.new_with_label(_["create"]) - self.setupButton.set_valign(Gtk.Align.CENTER) - self.setupButton.add_css_class("suggested-action") - self.setupButton.connect("clicked", make_pb_file) - self.file_row.add_suffix(self.setupButton) - make_pb_file(w) if self.auto_save_start else None # start creating the periodic saving file if the self.start_saving value is TRUE - if _["cloud_folder_err"] in folder: - self.lmButton = Gtk.Button.new_with_label(_["learn_more"]) - self.lmButton.set_valign(Gtk.Align.CENTER) - self.lmButton.add_css_class("suggested-action") - self.lmButton.connect("clicked", open_sync_link) - self.file_row.add_suffix(self.lmButton) - self.setDialog.set_body("") # set the body as empty after loading the periodic saving information - - # Check the file system of the periodic saving folder and their existation - def check_filesystem_fnc(): - global folder, path, check_filesystem - check_filesystem = subprocess.getoutput('df -T "%s" | awk \'NR==2 {print $2}\'' % settings["periodic-saving-folder"]) - - path = f'{settings["periodic-saving-folder"]}/{settings["filename-format"].replace(" ", "_")}.sd.zip' - - # Check if periodic saving is set to "Never" - if settings["periodic-saving"] == "Never": - folder = f'{_["pb_interval"]}: {_["never"]}' - # Check if the filesystem is not FUSE - elif ("gvfsd" not in check_filesystem and "rclone" not in check_filesystem) and not os.path.exists(f"{settings['periodic-saving-folder']}/.stfolder"): - folder = f'{_["cloud_folder_err"]}' - # Check if the periodic saving file exists - elif not os.path.exists(path): - folder = f'{_["periodic_saving_file_err"]}' - else: - folder = path - - update_gui() - - # save the SaveDesktop.json file to the periodic saving folder and set up the auto-mounting the cloud drive - def save_file(): - try: - open(f"{settings['periodic-saving-folder']}/SaveDesktop.json", "w").write('{\n "periodic-saving-interval": "%s",\n "filename": "%s"\n}' % (settings["periodic-saving"], settings["filename-format"])) - except Exception as e: - os.system(f"notify-send \'{_['err_occured']}\' '{e}'") - finally: - self.mount_type = "periodic-saving" - self.set_up_auto_mount() - - # Action after closing dialog for setting synchronization file - def setDialog_closed(w, response): - if response == 'ok': - self.open_setdialog_tf = False - - thread = Thread(target=save_file) - thread.start() - else: - self.open_setdialog_tf = False - - # Dialog itself - self.setDialog = Adw.AlertDialog.new() - self.setDialog.set_heading(_["set_up_sync_file"]) - self.setDialog.set_body(_["please_wait"]) - self.setDialog.set_body_use_markup(True) - self.setDialog.choose(self, None, None, None) - self.setDialog.add_response('cancel', _["cancel"]) - self.setDialog.add_response('ok', _["apply"]) - self.setDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) - self.setDialog.connect('response', setDialog_closed) - self.setDialog.present() - - # List Box for appending widgets - self.l_setdBox = Gtk.ListBox.new() - self.l_setdBox.set_selection_mode(Gtk.SelectionMode.NONE) - self.l_setdBox.get_style_context().add_class('boxed-list') - self.l_setdBox.set_size_request(-1, 160) - self.setDialog.set_extra_child(self.l_setdBox) - - # Check the synchronization matters - check_thread = Thread(target=check_filesystem_fnc) - check_thread.start() - - # Button for opening More options dialog - self.open_setdialog_tf = True # set this value to TRUE for expanding the Periodic saving row - self.ps_button = Gtk.Button.new_with_label(_["change"]) - self.ps_button.connect('clicked', self.more_options_dialog) - self.ps_button.set_valign(Gtk.Align.CENTER) - - # Row for showing the selected periodic saving interval - ## translate the periodic-saving key to the user language - pb = next((key for key, value in {_["never"]: "Never", _["daily"]: "Daily", _["weekly"]: "Weekly", _["monthly"]: "Monthly"}.items() if settings["periodic-saving"] == value), None) - self.ps_row = Adw.ActionRow.new() - self.ps_row.set_title(f'{_["periodic_saving"]} ({_["pb_interval"]})') - self.ps_row.set_use_markup(True) - self.ps_row.add_suffix(self.ps_button) - self.ps_row.set_subtitle(f'{_["never"]}' if settings["periodic-saving"] == "Never" - else f'{pb}') - self.ps_button.add_css_class('suggested-action') if settings["periodic-saving"] == "Never" else None - - # Update the Sync page after setting up synchronization - def _update_sync_page(self): - self.syncingBox.remove(self.syncPage) - self.sync_desktop() - return False - - # Dialog for selecting the cloud drive folder and periodic synchronization interval - def open_cloudDialog(self, w): - # reset the cloud folder selection to the default value - def reset_cloud_folder(w): - self.cfileRow.set_subtitle("") - self.cfileRow.remove(self.resetButton) - self.cloudDialog.set_response_enabled('ok', True) - settings["file-for-syncing"] = self.cfileRow.get_subtitle() - [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", f"{DATA}/savedesktop-synchronization.sh"] if os.path.exists(path)] - - # enable or disable the response of this dialog in depending on the selected periodic synchronization interval - def on_psync_changed(psyncRow, GParamObject): - self.cloudDialog.set_response_enabled('ok', not (self.psyncRow.get_selected_item().get_string() == _["never"] or not self.cfileRow.get_subtitle())) - - def call_automount(): - try: - check_filesystem = subprocess.getoutput('df -T "%s" | awk \'NR==2 {print $2}\'' % self.cfileRow.get_subtitle()) - if not "gvfsd" in check_filesystem: - if not "rclone" in check_filesystem: - if not os.path.exists(f"{self.cfileRow.get_subtitle()}/.stfolder"): - raise AttributeError(_["cloud_folder_err"]) - except Exception as e: - os.system(f'notify-send \'{_["err_occured"]}\' \'{e}\'') - finally: - settings["file-for-syncing"] = self.cfileRow.get_subtitle() - self.mount_type = "periodic-saving" - self.set_up_auto_mount() - - # Action after closing URL dialog - def cloudDialog_closed(w, response): - if response == 'ok': - self.check_psync = settings["periodic-import"] - # translate the periodic sync options to English - selected_item = self.psyncRow.get_selected_item() - sync = {_["never"]: "Never2", _["manually"]: "Manually2", _["daily"]: "Daily2", _["weekly"]: "Weekly2", _["monthly"]: "Monthly2"} - - sync_item = sync.get(selected_item.get_string(), "Never2") - - settings["periodic-import"] = sync_item - - # if the selected periodic saving interval is "Manually2", it enables the manually-sync value - settings["manually-sync"] = True and settings["periodic-import"] == "Manually2" - - # save the status of the Bidirectional Synchronization switch - settings["bidirectional-sync"] = self.bsSwitch.get_active() - - if self.cfileRow.get_subtitle(): - # check if the selected periodic sync interval was Never: if yes, shows the message about the necessity to log out of the system - if self.check_psync == "Never2": - if not settings["periodic-import"] == "Never2": - self.show_warn_toast() - - # if it is selected to manually sync, it creates an option in the app menu in the header bar - if settings["manually-sync"]: - self.sync_menu = Gio.Menu() - self.sync_menu.append(_["sync"], 'app.m-sync-with-key') - self.main_menu.prepend_section(None, self.sync_menu) - self.show_special_toast() - else: - try: - self.sync_menu.remove_all() - except: - pass - - check_thread = Thread(target=call_automount) - check_thread.start() - - # Dialog itself - self.cloudDialog = Adw.AlertDialog.new() - self.cloudDialog.set_heading(_["connect_cloud_storage"]) - self.cloudDialog.set_body(_["connect_cloud_storage_desc"]) - self.cloudDialog.choose(self, None, None, None) - self.cloudDialog.add_response('cancel', _["cancel"]) - self.cloudDialog.add_response('ok', _["apply"]) - self.cloudDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) - self.cloudDialog.connect('response', cloudDialog_closed) - self.cloudDialog.present() - - # Box for adding widgets in this dialog - self.cloudBox = Gtk.ListBox.new() - self.cloudBox.set_selection_mode(mode=Gtk.SelectionMode.NONE) - self.cloudBox.get_style_context().add_class(class_name='boxed-list') - self.cloudBox.set_size_request(-1, 400) - self.cloudDialog.set_extra_child(self.cloudBox) - - # Row and buttons for selecting the cloud drive folder - ## button for selecting the cloud drive folder - self.cloudButton = Gtk.Button.new_from_icon_name("document-open-symbolic") - self.cloudButton.add_css_class('flat') - self.cloudButton.set_valign(Gtk.Align.CENTER) - self.cloudButton.set_tooltip_text(_["set_another"]) - self.cloudButton.connect("clicked", self.select_folder_to_sync) - - ## button for reseting the selected cloud drive folder - self.resetButton = Gtk.Button.new_from_icon_name("view-refresh-symbolic") - self.resetButton.add_css_class('destructive-action') - self.resetButton.connect("clicked", reset_cloud_folder) - self.resetButton.set_tooltip_text(_["reset_button"]) - self.resetButton.set_valign(Gtk.Align.CENTER) - - ## the row itself - self.cfileRow = Adw.ActionRow.new() - self.cfileRow.add_suffix(self.resetButton) if not settings["file-for-syncing"] == "" else None - self.cfileRow.set_title(_["select_cloud_folder_btn"]) - self.cfileRow.set_subtitle(settings["file-for-syncing"]) - self.cfileRow.set_subtitle_selectable(True) - self.cfileRow.add_suffix(self.cloudButton) - self.cfileRow.set_activatable_widget(self.cloudButton) - self.cloudBox.append(self.cfileRow) - - if not self.cfileRow.get_subtitle(): - self.cloudDialog.set_response_enabled('ok', False) - else: - self.cloudDialog.set_response_enabled('ok', True) - - # Periodic sync section - options = Gtk.StringList.new(strings=[ - _["never"], _["manually"], _["daily"], _["weekly"], _["monthly"] - ]) - - self.psyncRow = Adw.ComboRow.new() - self.psyncRow.set_use_markup(True) - self.psyncRow.set_use_underline(True) - self.psyncRow.set_title(_["periodic_sync"]) - self.psyncRow.set_title_lines(2) - self.psyncRow.set_model(model=options) - self.psyncRow.connect('notify::selected-item', on_psync_changed) - self.cloudBox.append(self.psyncRow) - - # Load periodic sync values form GSettings database - old_psync = settings["periodic-import"] - if settings["periodic-import"] == "Never2": - self.psyncRow.set_selected(0) - elif settings["periodic-import"] == "Manually2": - self.psyncRow.set_selected(1) - elif settings["periodic-import"] == "Daily2": - self.psyncRow.set_selected(2) - elif settings["periodic-import"] == "Weekly2": - self.psyncRow.set_selected(3) - elif settings["periodic-import"] == "Monthly2": - self.psyncRow.set_selected(4) - - # Bidirectional Synchronization section - ## Switch - self.bsSwitch = Gtk.Switch.new() - if settings["bidirectional-sync"] == True: - self.bsSwitch.set_active(True) - self.bsSwitch.set_valign(Gtk.Align.CENTER) - - ## Action Row - self.bsyncRow = Adw.ActionRow.new() - self.bsyncRow.set_title(_["bidirectional_sync"]) - self.bsyncRow.set_subtitle(_["bidirectional_sync_desc"]) - self.bsyncRow.set_title_lines(2) - self.bsyncRow.add_suffix(self.bsSwitch) - self.bsyncRow.set_activatable_widget(self.bsSwitch) - self.cloudBox.append(self.bsyncRow) - - # set up auto-mounting of the cloud drives after logging in to the system - def set_up_auto_mount(self): - if self.mount_type == "periodic-saving": - cfile_subtitle = settings["periodic-saving-folder"] - elif self.mount_type == "cloud-receiver": - cfile_subtitle = settings["file-for-syncing"] - else: - cfile_subtitle = "none" - - if not cfile_subtitle == "none": - if "gvfs" in cfile_subtitle: - pattern = r'.*/gvfs/([^:]*):host=([^,]*),user=([^/]*).*' if "google-drive" in cfile_subtitle else r'.*/gvfs/([^:]+):host=([^,]+),user=([^/]+)' if "onedrive" in cfile_subtitle else r'.*/gvfs/([^:]*):host=([^,]*),ssl=([^,]*),user=([^,]*),prefix=([^/]*).*' - - match = re.search(pattern, cfile_subtitle) - - if match: - if "google-drive" in cfile_subtitle: # Google Drive - cloud_service = match.group(1) # cloud_service for Google Drive - host = match.group(2) # host for Google Drive - user = match.group(3) - ssl = None # ssl is not relevant for Google Drive - prefix = None # prefix is not relevant for Google Drive - cmd = f"gio mount {cloud_service}://{user}@{host}" # command for Google Drive - elif "onedrive" in cfile_subtitle: # OneDrive - cloud_service = match.group(1) # cloud_service for OneDrive - host = match.group(2) # host for OneDrive - user = match.group(3) # user is not relevant for OneDrive - ssl = None # ssl is not relevant for OneDrive - prefix = None # prefix is not relevant for OneDrive - cmd = f"gio mount {cloud_service}://{user}@{host}" # command for OneDrive - elif "dav" in cfile_subtitle: # DAV - cloud_service = match.group(1) # cloud_service for DAV - host = match.group(2) # host for DAV - ssl = match.group(3) # ssl for DAV - user = match.group(4) # user for DAV - if match.group(5): # prefix for DAV - prefix_old = match.group(5) - prefix = re.sub(r'gio mount |%2F', '/', prefix_old).replace('//', '').strip() # Replace 2%F with / - else: - prefix = "" - fm = "nautilus" if not self.environment == "Cinnamon" else "nemo" - cmd = """output=$(secret-tool lookup object Nextcloud) && output="Positive signal" || output="Negative signal" -if [[ "$output" == "Positive signal" ]]; then - gio mount davs://%s@%s%s -else - %s davs://%s@%s%s -fi""" % (user, host, prefix, fm, user, host, prefix) - else: - extracted_values = { - "cloud_service": cloud_service, - "host": host, - "user": user, - "prefix": prefix, - "cmd": cmd - } - elif os.path.exists(f"{cfile_subtitle}/.stfolder"): - cmd = "" - else: - cmd = f"rclone mount {cfile_subtitle.split('/')[-1]}: {cfile_subtitle}" if not os.path.exists(f"{download_dir}/SaveDesktop/rclone_drive") else f"rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive" - synchronization_content = f'#!/usr/bin/bash\n{cmd}\nsleep 60s\n{sync_cmd}\n{periodic_saving_cmd}' - if flatpak: - synchronization_content += f'\npython3 {CACHE}/install_flatpak_from_script.py' - with open(f"{DATA}/savedesktop-synchronization.sh", "w") as f: - f.write(synchronization_content) - os.makedirs(f'{home}/.config/autostart', exist_ok=True) - open(f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", "w").write(f"[Desktop Entry]\nName=SaveDesktop (Synchronization)\nType=Application\nExec=sh {DATA}/savedesktop-synchronization.sh") - [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.MountDrive.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.server.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Flatpak.desktop"] if os.path.exists(path)] - else: - raise AttributeError("There aren't possible to get values from the periodic-saving-folder or file-for-syncing strings") - - # Select folder for periodic backups (Gtk.FileDialog) - def select_pb_folder(self, w): - def save_selected(source, res, data): - try: - folder = source.select_folder_finish(res) - except: - return - self.folder_pb = folder.get_path() - settings["periodic-saving-folder"] = self.folder_pb if settings["first-synchronization-setup"] else settings["periodic-saving-folder"] - self.dirRow.set_subtitle(f"{self.folder_pb}") if hasattr(self, 'dirRow') else None - - self.pb_chooser = Gtk.FileDialog.new() - self.pb_chooser.set_modal(True) - self.pb_chooser.set_title(_["set_pb_folder_tooltip"]) - self.pb_chooser.select_folder(self, None, save_selected, None) - - # Select folder for saving configuration - def select_folder(self, w): - def save_selected(source, res, data): - try: - folder = source.select_folder_finish(res) - except: - return - self.folder = folder.get_path() - if settings["enable-encryption"] == True: - self.create_password_dialog() - else: - self.save_config() - - if self.saveEntry.get_text() == "": - self.filename_text = "config" - else: - if " " in self.saveEntry.get_text(): - self.with_spaces_text = self.saveEntry.get_text() - self.filename_text = self.with_spaces_text.replace(" ", "_") - else: - self.filename_text = f'{self.saveEntry.get_text()}' - - self.folderchooser = Gtk.FileDialog.new() - self.folderchooser.set_modal(True) - self.folderchooser.set_title(_["save_config"]) - self.folderchooser.select_folder(self, None, save_selected, None) - - # Select a ZIP or TAR.GZ file to import - def select_file_to_import(self, w): - # Show a "Please wait" pop-up window while checking the archive type - def show_please_wait_toast(): - wait_toast = Adw.Toast.new(title=_["please_wait"]) - wait_toast.set_timeout(10) - self.toast_overlay.add_toast(wait_toast) - - # Check, if the archive is encrypted or not - def get_status_of_encryption(): - self.is_folder = False - try: - status = any(z.flag_bits & 0x1 for z in zipfile.ZipFile(self.import_file).infolist() if not z.filename.endswith("/")) - except: - status = False - if status == True: - GLib.idle_add(self.check_password_dialog) - else: - self.import_config() - - # Get path from the dialog - def open_selected(source, res, data): - try: - file = source.open_finish(res) - except: - return - self.import_file = file.get_path() - show_please_wait_toast() - check_thread = Thread(target=get_status_of_encryption) - check_thread.start() - - self.file_chooser = Gtk.FileDialog.new() - self.file_chooser.set_modal(True) - self.file_chooser.set_title(_["import_config"]) - self.file_filter = Gtk.FileFilter.new() - self.file_filter.set_name(_["savedesktop_f"]) - self.file_filter.add_pattern('*.sd.tar.gz') - self.file_filter.add_pattern('*.sd.zip') - self.file_filter_list = Gio.ListStore.new(Gtk.FileFilter); - self.file_filter_list.append(self.file_filter) - self.file_chooser.set_filters(self.file_filter_list) - self.file_chooser.open(self, None, open_selected, None) - - # Select folder to import configuration - def select_folder_to_import(self, w): - def import_selected(source, res, data): - try: - folder = source.select_folder_finish(res) - except: - return - self.import_folder = folder.get_path() - self.is_folder = True if os.path.exists(f"{self.import_folder}/.folder.sd") else False - self.import_config() - - self.file_chooser = Gtk.FileDialog.new() - self.file_chooser.set_modal(True) - self.file_chooser.set_title(_["import_config"]) - self.file_chooser.select_folder(self, None, import_selected, None) - - # Select folder for syncing the configuration with other computers in the network - def select_folder_to_sync(self, w): - def set_selected(source, res, data): - try: - folder = source.select_folder_finish(res) - except: - return - self.sync_folder = folder.get_path() - settings["file-for-syncing"] = self.sync_folder if settings["first-synchronization-setup"] else settings["file-for-syncing"] - self.cfileRow.set_subtitle(self.sync_folder) if hasattr(self, 'cfileRow') else None - if hasattr(self, 'cloudDialog'): - self.cloudDialog.set_response_enabled('ok', True) if not self.psyncRow.get_selected_item().get_string() == _["never"] else None - - self.sync_folder_chooser = Gtk.FileDialog.new() - self.sync_folder_chooser.set_modal(True) - self.sync_folder_chooser.set_title(_["select_cloud_folder_btn"]) - self.sync_folder_chooser.select_folder(self, None, set_selected, None) - - # Get a password from the {DATA}/password file - def get_password_from_file(self): - if os.path.exists(f"{DATA}/password"): - p = PasswordStore() - self.password = p.password - else: - self.password = "" - - # Dialog for creating password for the config archive - def create_password_dialog(self): - # Action after closing pswdDialog - def pswdDialog_closed(w, response): - if response == 'ok': - self.password = self.pswdEntry.get_text() - self.save_config() - - # Check the password to see if it meets the criteria - def check_password(pswdEntry): - password = self.pswdEntry.get_text() - criteria = [ - (len(password) < 12, "The password is too short. It should has at least 12 characters"), - (not re.search(r'[A-Z]', password), "The password should has at least one capital letter"), - (not re.search(r'[a-z]', password), "The password should has at least one lowercase letter"), - (not re.search(r'[-_@.:,+=]', password), "The password should has at least one special character"), - (" " in password, "The password must not contain spaces") - ] - - for condition, message in criteria: - if condition: - self.pswdDialog.set_response_enabled("ok", False) - print(message) - return - - self.pswdDialog.set_response_enabled("ok", True) - - # Generate Password - def pswd_generator(w): - safe = "-_@.:,+=" - allc = safe + string.ascii_letters + string.digits - password = [random.choice(safe), random.choice(string.ascii_letters), random.choice(string.digits)] + \ - [random.choice(allc) for _ in range(21)] - random.shuffle(password) - password = ''.join(password) - self.pswdEntry.set_text(password) - - # Dialog itself - self.pswdDialog = Adw.AlertDialog.new() - self.pswdDialog.set_heading(_["create_pwd_title"]) - self.pswdDialog.set_body(_["create_pwd_desc"]) - self.pswdDialog.choose(self, None, None, None) - self.pswdDialog.add_response("cancel", _["cancel"]) - self.pswdDialog.add_response("ok", _["apply"]) - self.pswdDialog.set_response_enabled("ok", False) - self.pswdDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) - self.pswdDialog.connect('response', pswdDialog_closed) - self.pswdDialog.present() - - # Button for generating strong password - self.pswdgenButton = Gtk.Button.new_from_icon_name("dialog-password-symbolic") - self.pswdgenButton.set_tooltip_text(_["gen_password"]) - self.pswdgenButton.add_css_class("flat") - self.pswdgenButton.set_valign(Gtk.Align.CENTER) - self.pswdgenButton.connect("clicked", pswd_generator) - - # entry for entering password - self.pswdEntry = Adw.PasswordEntryRow.new() - self.pswdEntry.set_title(_["password_entry"]) - self.pswdEntry.connect('changed', check_password) - self.pswdEntry.add_suffix(self.pswdgenButton) - self.pswdDialog.set_extra_child(self.pswdEntry) - - # Save configuration - def save_config(self): - self.please_wait_save() - save_thread = Thread(target=self.start_saving) - save_thread.start() - - # start process of saving the configuration - def start_saving(self): - try: - e_o = False - # Cleanup the cache dir before importing - print("Cleaning up the cache directory") - save_cache_dir = f"{CACHE}/save_config" - try: - shutil.rmtree(save_cache_dir) - except: - pass - os.makedirs(save_cache_dir, exist_ok=True) - os.chdir(save_cache_dir) - subprocess.run(["python3", f"{system_dir}/config.py", "--save"], check=True) - - print("Creating and moving the configuration archive or folder to the user-defined directory") - - if settings["save-without-archive"]: - open(f"{CACHE}/save_config/.folder.sd", "w").close() - shutil.move(f"{CACHE}/save_config", f"{self.folder}/{self.filename_text}") - else: - cmd = ['7z', 'a', '-tzip', '-mx=3', '-x!*.zip', '-x!saving_status', 'cfg.sd.zip', '.'] - if settings["enable-encryption"]: - cmd.insert(4, "-mem=AES256") - cmd.insert(5, f"-p{self.password}") - - proc = subprocess.run(cmd, capture_output=True, text=True) - - if proc.returncode not in (0, 1): - # 0 = everything is OK, 1 = warning (e.g. file not found) - raise OSError(f"7z failed: {proc.stderr}") - else: - print("7z finished with warnings:", proc.stderr) - - shutil.copyfile('cfg.sd.zip', f"{self.folder}/{self.filename_text}.sd.zip") - - print("Configuration saved successfully.") - - except Exception as e: - e_o = True - GLib.idle_add(self.show_err_msg, e) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) - self.toolbarview.set_content(self.headapp) - finally: - if not e_o: - GLib.idle_add(self.exporting_done) - - # "Please wait" information page on the "Save" page - def please_wait_save(self): - # Stop saving configuration - def cancel_save(w): - os.popen(f"pkill -xf 'python3 {system_dir}/config.py --save'") - os.popen(f"pkill -9 7z") - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) - self.set_title("Save Desktop") - for widget in [self.savewaitSpinner, self.savewaitLabel, self.savewaitButton, self.sdoneImage, self.opensaveButton, self.backtomButton]: - self.savewaitBox.remove(widget) - - self.headerbar.set_title_widget(None) - self.switcher_bar.set_reveal(False) - - # Create box widget for this page - self.savewaitBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.savewaitBox.set_halign(Gtk.Align.CENTER) - self.savewaitBox.set_valign(Gtk.Align.CENTER) - self.toolbarview.set_content(self.savewaitBox) - - # Set bold title - self.set_title(_["saving_config_status"].split('
')[0].split('')[-1]) - - # Create spinner for this page - self.savewaitSpinner = Gtk.Spinner.new() - self.savewaitSpinner.set_size_request(100, 100) - self.savewaitSpinner.start() - self.savewaitBox.append(self.savewaitSpinner) - - # Prepare Gtk.Image widget for the next page - self.sdoneImage = Gtk.Image.new() - self.savewaitBox.append(self.sdoneImage) - - # Use "sd.zip" if Archive Encryption is enabled - status_old = _["saving_config_status"] - status = status_old.replace("sd.tar.gz", "sd.zip") if not settings["save-without-archive"] else status_old.replace("sd.tar.gz", "") - - # Create label about selected directory for saving the configuration - self.savewaitLabel = Gtk.Label.new(str=status.format(self.folder, self.filename_text)) - self.savewaitLabel.set_use_markup(True) - self.savewaitLabel.set_justify(Gtk.Justification.CENTER) - self.savewaitLabel.set_wrap(True) - self.savewaitBox.append(self.savewaitLabel) - - # Create button for cancel saving configuration - self.savewaitButton = Gtk.Button.new_with_label(_["cancel"]) - self.savewaitButton.add_css_class("pill") - self.savewaitButton.add_css_class("destructive-action") - self.savewaitButton.connect("clicked", cancel_save) - self.savewaitButton.set_valign(Gtk.Align.CENTER) - self.savewaitButton.set_halign(Gtk.Align.CENTER) - self.savewaitBox.append(self.savewaitButton) - - # config has been saved action - def exporting_done(self): - # back to the previous page from this page - def back_to_main(w): - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) - self.set_title("Save Desktop") - for widget in [self.savewaitSpinner, self.savewaitLabel, self.savewaitButton, self.sdoneImage, self.opensaveButton, self.backtomButton]: - self.savewaitBox.remove(widget) - - # send notification about saved configuration if application window is inactive only - self.notification_save = Gio.Notification.new("SaveDesktop") - self.notification_save.set_body(_["config_saved"]) - active_window = app.get_active_window() - if active_window is None or not active_window.is_active(): - app.send_notification(None, self.notification_save) - - # stop spinner animation - self.savewaitSpinner.stop() - self.savewaitBox.remove(self.savewaitButton) - - # set title to "Configuration has been saved!" - self.set_title(_['config_saved']) - - # use widget for showing done.svg icon - self.sdoneImage.set_from_icon_name("done") - self.sdoneImage.set_pixel_size(128) - - # edit label for the purposes of this page - self.savewaitLabel.set_label(_["config_saved_desc"].format(_['config_saved'])) - self.opensaveButton = Gtk.Button.new_with_label(_["open_folder"]) - self.opensaveButton.add_css_class('pill') - self.opensaveButton.add_css_class('suggested-action') - self.opensaveButton.set_action_name("app.open_dir") - self.opensaveButton.set_valign(Gtk.Align.CENTER) - self.opensaveButton.set_halign(Gtk.Align.CENTER) - self.savewaitBox.append(self.opensaveButton) - - # create button for backing to the previous page - self.backtomButton = Gtk.Button.new_with_label(_["back_to_page"]) - self.backtomButton.connect("clicked", back_to_main) - self.backtomButton.add_css_class("pill") - self.backtomButton.set_valign(Gtk.Align.CENTER) - self.backtomButton.set_halign(Gtk.Align.CENTER) - self.savewaitBox.append(self.backtomButton) - - # dialog for entering password of the archive - def check_password_dialog(self): - # action after closing dialog for checking password - def checkDialog_closed(w, response): - if response == 'ok': - self.checkDialog.set_response_enabled("ok", False) - self.import_config() - - # Dialog itself - self.checkDialog = Adw.AlertDialog.new() - self.checkDialog.set_heading(_["check_pwd_title"]) - self.checkDialog.set_body(_["check_pwd_desc"]) - self.checkDialog.choose(self, None, None, None) - self.checkDialog.add_response("cancel", _["cancel"]) - self.checkDialog.add_response("ok", _["apply"]) - self.checkDialog.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) - self.checkDialog.connect('response', checkDialog_closed) - self.checkDialog.present() - - self.checkEntry = Adw.PasswordEntryRow.new() - self.checkEntry.set_title(_["password_entry"]) - self.checkDialog.set_extra_child(self.checkEntry) - - # Import configuration - def import_config(self): - self.please_wait_import() - import_thread = Thread(target=self.start_importing) - import_thread.start() - - def start_importing(self): - try: - e_o = False - - # Cleanup the cache dir before importing - print("Cleaning up the cache directory") - imp_cache_dir = f"{CACHE}/import_config" - try: - shutil.rmtree(imp_cache_dir) - except: - pass - os.makedirs(imp_cache_dir, exist_ok=True) - os.chdir(imp_cache_dir) - - # Create a txt file to prevent removing the cache's content after closing the app window - open("import_status", "w").close() - - # Check, if the input is folder or not - if self.is_folder: - shutil.copytree(self.import_folder, f"{CACHE}/import_config", - dirs_exist_ok=True, ignore_dangling_symlinks=True) - else: - if ".sd.zip" in self.import_file: - try: - password = getattr(self.checkEntry, "get_text", lambda: None)() - except: - password = None - - if password: - try: - subprocess.run( - ['7z', 'e', '-so', f'-p{password}' if password else '', self.import_file, 'dconf-settings.ini'], - capture_output=True, text=True, check=True - ) - except subprocess.CalledProcessError as e: - first_error = next((l for l in e.stderr.splitlines() if "Wrong password" in l), None) - raise ValueError(first_error or "Wrong password") - print("Checking password is completed.") - - subprocess.run( - ['7z', 'x', '-y', f'-p{password}', self.import_file, f'-o{CACHE}/import_config'], - capture_output=False, text=True, check=True - ) - - elif ".sd.tar.gz" in self.import_file: - subprocess.run(["tar", "-xzf", self.import_file, "-C", f"{CACHE}/import_config"], - capture_output=True, text=True, check=True) - - self.replace_home_in_files(".", home) - subprocess.run(["python3", f"{system_dir}/config.py", "--import_"], check=True) - - if all(not os.path.exists(p) for p in [ - f"{CACHE}/import_config/app", - f"{CACHE}/import_config/installed_flatpaks.sh", - f"{CACHE}/import_config/installed_user_flatpaks.sh" - ]): - os.remove("import_status") - - print("Configuration imported successfully.") - - except Exception as e: - e_o = True - GLib.idle_add(self.show_err_msg, e) - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) - finally: - if not e_o: - GLib.idle_add(self.applying_done) - - # Replace original /home/$USER path with actual path in the dconf-settings.ini file and other XML files - def replace_home_in_files(self, root, home, patterns=(".xml", ".ini")): - regex = re.compile(r"/home/[^/]+/") - for dirpath, _, filenames in os.walk(root): - for filename in filenames: - if filename.endswith(patterns): - path = os.path.join(dirpath, filename) - with open(path, "r", encoding="utf-8") as f: - text = f.read() - new_text = regex.sub(f"{home}/", text) - if new_text != text: - with open(path, "w", encoding="utf-8") as f: - f.write(new_text) - print(f"Updated /home/$USER path in: {path}") - - # "Please wait" information on the "Import" page - def please_wait_import(self): - # Stop importing configuration - def cancel_import(w): - os.popen("pkill -9 7z") - os.popen("pkill -9 tar") - os.popen(f"pkill -xf 'python3 {system_dir}/config.py --import_'") - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) - self.set_title("Save Desktop") - for widget in [self.importwaitSpinner, self.importwaitLabel, self.importwaitButton, self.idoneImage, self.logoutButton, self.backtomButton]: - self.importwaitBox.remove(widget) - - # Add new headerbar for this page - self.headerbar.set_title_widget(None) - self.switcher_bar.set_reveal(False) - - # Create box widget for this page - self.importwaitBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.importwaitBox.set_halign(Gtk.Align.CENTER) - self.importwaitBox.set_valign(Gtk.Align.CENTER) - self.toolbarview.set_content(self.importwaitBox) - - # Set bold title - self.set_title(_["importing_config_status"].split('')[0].split('')[-1]) - - # Create spinner for this page - self.importwaitSpinner = Gtk.Spinner.new() - self.importwaitSpinner.set_size_request(100, 100) - self.importwaitSpinner.start() - self.importwaitBox.append(self.importwaitSpinner) - - # Prepare Gtk.Image widget for this page - self.idoneImage = Gtk.Image.new() - self.importwaitBox.append(self.idoneImage) - - # Create label about configuration archive name - try: - self.importwaitLabel = Gtk.Label.new(str=_["importing_config_status"].format(self.import_file)) - except: - self.importwaitLabel = Gtk.Label.new(str=_["importing_config_status"].format(self.import_folder)) - self.importwaitLabel.set_use_markup(True) - self.importwaitLabel.set_justify(Gtk.Justification.CENTER) - self.importwaitLabel.set_wrap(True) - self.importwaitBox.append(self.importwaitLabel) - - # Create button for canceling importing configuration - self.importwaitButton = Gtk.Button.new_with_label(_["cancel"]) - self.importwaitButton.add_css_class("pill") - self.importwaitButton.add_css_class("destructive-action") - self.importwaitButton.connect("clicked", cancel_import) - self.importwaitButton.set_halign(Gtk.Align.CENTER) - self.importwaitButton.set_valign(Gtk.Align.CENTER) - self.importwaitBox.append(self.importwaitButton) - - # Config has been imported action - def applying_done(self): - # back to the previous page from this page - def back_to_main(w): - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) - self.set_title("Save Desktop") - [self.importwaitBox.remove(widget) for widget in [self.importwaitSpinner, self.importwaitLabel, self.importwaitButton, self.idoneImage, self.logoutButton, self.backtomButton]] - if hasattr(self, 'flistBox'): - self.pBox.remove(self.flistBox) - - # send notification about imported configuration if application window is inactive only - self.notification_import = Gio.Notification.new("Save Desktop") - self.notification_import.set_body(_["config_imported"]) - active_window = app.get_active_window() - if active_window is None or not active_window.is_active(): - app.send_notification(None, self.notification_import) - - # stop spinner animation - self.importwaitSpinner.stop() - self.importwaitBox.remove(self.importwaitButton) - - # set title to "Configuration has been applied!" - self.set_title(_['config_imported']) - - # widget for showing done.svg icon - self.idoneImage.set_from_icon_name("done") - self.idoneImage.set_pixel_size(128) - - # edit label for the purposes of this page - self.importwaitLabel.set_label(_["config_imported_desc"].format(_['config_imported'])) - - # create button for loging out of the system - self.logoutButton = Gtk.Button.new_with_label(_["logout"]) - self.logoutButton.add_css_class('pill') - self.logoutButton.add_css_class('suggested-action') - self.logoutButton.set_halign(Gtk.Align.CENTER) - self.logoutButton.set_valign(Gtk.Align.CENTER) - self.logoutButton.set_action_name("app.logout") - self.importwaitBox.append(self.logoutButton) if not (flatpak and self.environment == "Hyprland") else None - - # create button for backing to the previous page - self.backtomButton = Gtk.Button.new_with_label(_["back_to_page"]) - self.backtomButton.connect("clicked", back_to_main) - self.backtomButton.add_css_class("pill") - self.backtomButton.set_halign(Gtk.Align.CENTER) - self.backtomButton.set_valign(Gtk.Align.CENTER) - self.importwaitBox.append(self.backtomButton) - - # show message dialog in the error case - def show_err_msg(self, error): - error_str = str(error) - if "died" in error_str: - return - - self.errDialog = Adw.AlertDialog.new() - self.errDialog.choose(self, None, None, None) - self.errDialog.set_heading(heading=_["err_occured"]) - self.errDialog.set_body(body=f"{error_str}") - self.errDialog.add_response('cancel', _["cancel"]) - self.errDialog.present() - - # a warning indicating that the user must log out - def show_warn_toast(self): - self.warn_toast = Adw.Toast.new(title=_["periodic_saving_desc"]) - self.warn_toast.set_button_label(_["logout"]) - self.warn_toast.set_action_name("app.logout") - self.toast_overlay.add_toast(self.warn_toast) - - # message that says where will be run a synchronization - def show_special_toast(self): - self.special_toast = Adw.Toast.new(title=_["m_sync_desc"]) - self.toast_overlay.add_toast(self.special_toast) - - # action after closing the main window - def on_close(self, w): - self.close() - # Save window size, state, and filename - settings["window-size"] = self.get_default_size() - settings["maximized"] = self.is_maximized() - settings["filename"] = self.saveEntry.get_text() - - # Check for ongoing operations before clearing cache - if any(os.path.exists(f"{CACHE}/{path}") for path in ["import_config/import_status", "syncing/sync_status", "periodic_saving/saving_status"]): - print("saving/importing/syncing configuration in progress...") - else: - os.popen(f"rm -rf {CACHE}/* {CACHE}/.*") - -class MyApp(Adw.Application): - def __init__(self, **kwargs): - super().__init__(**kwargs, flags=Gio.ApplicationFlags.FLAGS_NONE, - application_id="io.github.vikdevelop.SaveDesktop" if not snap else None) - self.create_action('m-sync-with-key', self.sync_pc, ["s"] if settings["manually-sync"] else None) - self.create_action('save-config', self.call_saving_config, ["s"]) - self.create_action('import-config', self.call_importing_config, ["o"]) - self.create_action('ms-dialog', self.call_ms_dialog, ["m"]) - self.create_action('items-dialog', self.call_items_dialog, ["i"]) - self.create_action('set-dialog', self.call_setDialog, ["f"]) - self.create_action('cloud-dialog', self.call_cloudDialog, ["c"]) - self.create_action('open-wiki', self.open_wiki, ["F1"]) - self.create_action('quit', self.app_quit, ["q", "w"]) - self.create_action('shortcuts', self.shortcuts, ["question"]) - self.create_action('logout', self.logout) - self.create_action('open_dir', self.open_dir) - self.create_action('about', self.on_about_action) - self.connect('activate', self.on_activate) - - # Synchronize configuation manually after clicking on the "Sync" button in the header bar menu - def sync_pc(self, action, param): - os.system(f'notify-send "{_["please_wait"]}"') - os.system(f"echo > {CACHE}/.from_app") - self.sync_m = GLib.spawn_command_line_async(f"python3 {system_dir}/synchronization.py") - - # Start saving the configuration using Ctrl+S keyboard shortcut - def call_saving_config(self, action, param): - self.win.select_folder(w="") - - # Start importing the configuration using Ctrl+I keyboard shortcut - def call_importing_config(self, action, param): - self.win.select_file_to_import(w="") - - # Open the More options dialog using Ctrl+Shift+M keyboard shortcut - def call_ms_dialog(self, action, param): - self.win.more_options_dialog(w="") - self.win.msDialog.present() - - # Open the "Items to include in the configuration archive" dialog using Ctrl+Shift+I keyboard shortcut - def call_items_dialog(self, action, param): - self.win.items_dialog(w="") - - # Open the "Set up the sync file" dialog using Ctrl+Shift+S keyboard shortcut - def call_setDialog(self, action, param): - if not snap: - self.win.open_setDialog(w="set-button") if not settings["first-synchronization-setup"] else self.win.open_initsetupDialog(w="set-button") - - # Open the "Connect to the cloud drive" dialog using Ctrl+Shift+C keyboard shortcut - def call_cloudDialog(self, action, param): - if not snap: - self.win.open_cloudDialog(w="get-button") if not settings["first-synchronization-setup"] else self.win.open_initsetupDialog(w="get-button") - - # Open the application wiki using F1 keyboard shortcut - def open_wiki(self, action, param): - os.system("xdg-open https://vikdevelop.github.io/SaveDesktop/wiki") - - # Action after closing the application using Ctrl+Q keyboard shortcut - def app_quit(self, action, param): - self.win.on_close(w="") - self.quit() - - # Show Keyboard Shortcuts window - def shortcuts(self, action, param): - ShortcutsWindow(transient_for=self.get_active_window()).present() - - # log out of the system after clicking on the "Log Out" button - def logout(self, action, param): - if snap: - os.system("dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.TerminateSession string:$(dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.ListSessions | awk -F 'string \"' '/string \"/ {print $2; exit}' | awk -F '\"' '{print $1}')") - else: - if self.win.environment == 'Xfce': - os.system("dbus-send --print-reply --session --dest=org.xfce.SessionManager /org/xfce/SessionManager org.xfce.Session.Manager.Logout boolean:true boolean:false") - elif self.win.environment == 'KDE Plasma': - os.system("dbus-send --print-reply --session --dest=org.kde.LogoutPrompt /LogoutPrompt org.kde.LogoutPrompt.promptLogout") - elif self.win.environment == 'COSMIC (New)': - os.system("dbus-send --print-reply --session --dest=com.system76.CosmicSession --type=method_call /com/system76/CosmicSession com.system76.CosmicSession.Exit") - elif self.win.environment == 'Hyprland': - os.system("hyprctl dispatch exit") - else: - os.system("gdbus call --session --dest org.gnome.SessionManager --object-path /org/gnome/SessionManager --method org.gnome.SessionManager.Logout 1") - - # open a directory with created configuration archive after clicking on the "Open the folder" button - def open_dir(self, action, param): - if settings["save-without-archive"]: - path = f"{self.win.folder}/{self.win.filename_text}" - else: - path = f"{self.win.folder}/{self.win.filename_text}.sd.zip" - - Gtk.FileLauncher.new(Gio.File.new_for_path(path)).open_containing_folder() - - # "About app" dialog - def on_about_action(self, action, param): - dialog = Adw.AboutDialog() - dialog.set_application_name("Save Desktop") - dialog.set_developer_name("vikdevelop") - dialog.set_comments(_["summary"]) - r_lang != "en" and dialog.set_translator_credits(_["translator_credits"]) # add the translator credits section if the system language is not English - dialog.add_link("Save Desktop Github Wiki (Weblate)", "https://hosted.weblate.org/projects/vikdevelop/savedesktop-github-wiki/") # add a link to translate the SaveDesktop Github wiki on Weblate - dialog.set_license_type(Gtk.License(Gtk.License.GPL_3_0)) - dialog.set_website("https://vikdevelop.github.io/SaveDesktop") - dialog.set_issue_url("https://github.com/vikdevelop/SaveDesktop/issues") - dialog.add_link("Flathub Beta", "https://github.com/vikdevelop/savedesktop?tab=readme-ov-file#1-flathub-beta") if flatpak else dialog.add_link("Snap Beta", "https://github.com/vikdevelop/savedesktop?tab=readme-ov-file#2-snap") if snap else None # add a link to download the beta version of SaveDesktop - dialog.set_copyright("© 2023-2025 vikdevelop") - dialog.set_developers(["vikdevelop https://github.com/vikdevelop"]) - dialog.set_artists(["Brage Fuglseth"]) - dialog.set_version(version) - dialog.set_application_icon(icon) - dialog.set_release_notes(rel_notes) - dialog.present(app.get_active_window()) - - # create Gio actions for opening the folder, logging out of the system, etc. - def create_action(self, name, callback, shortcuts=None): - action = Gio.SimpleAction.new(name, None) - action.connect('activate', callback) - self.add_action(action) - if shortcuts: - self.set_accels_for_action(f'app.{name}', shortcuts) - - # Show the main window of the application - def on_activate(self, app): - self.win = MainWindow(application=app) - self.win.present() - -app = MyApp() -app.run(sys.argv) diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 00000000..46a5e60c --- /dev/null +++ b/src/meson.build @@ -0,0 +1,43 @@ +pkgdatadir = get_option('prefix') / get_option('datadir') / meson.project_name() +moduledir = pkgdatadir / 'savedesktop' +localedir = join_paths(get_option('prefix'), get_option('localedir')) + +gnome = import('gnome') +python = import('python') + +# === GResource === +gnome.compile_resources( + 'savedesktop', + 'savedesktop.gresource.xml', + gresource_bundle: true, + install: true, + install_dir: pkgdatadir, +) + +# === Configure wrapper (savedesktop.in -> savedesktop) === +conf = configuration_data() +conf.set('PYTHON', python.find_installation('python3').full_path()) +conf.set('VERSION', meson.project_version()) +conf.set('pkgdatadir', pkgdatadir) +conf.set('localedir', localedir) + +configure_file( + input: 'savedesktop.in', + output: 'savedesktop', + configuration: conf, + install: true, + install_dir: get_option('bindir'), + install_mode: 'r-xr-xr-x', +) + +# === Install Python sources === +savedesktop_sources = [ + '__init__.py', + 'main.py', + 'globals.py', +] + +install_data(savedesktop_sources, install_dir: moduledir) + +subdir('core') +subdir('gui') diff --git a/src/savedesktop.gresource.xml b/src/savedesktop.gresource.xml new file mode 100644 index 00000000..a8a23621 --- /dev/null +++ b/src/savedesktop.gresource.xml @@ -0,0 +1,6 @@ + + + + gui/gtk/shortcuts_window.ui + + diff --git a/savedesktop b/src/savedesktop.in old mode 100644 new mode 100755 similarity index 57% rename from savedesktop rename to src/savedesktop.in index 69182f3e..727d3fa1 --- a/savedesktop +++ b/src/savedesktop.in @@ -1,17 +1,45 @@ -#!/usr/bin/python3 -import os, sys, shutil, argparse -from pathlib import Path -from datetime import date +#!@PYTHON@ -flatpak = os.path.exists("/.flatpak-info") -snap = os.environ.get('SNAP_NAME', '') == 'savedesktop' +# savedesktop.in +# +# Copyright 2025 vikdevelop +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# SPDX-License-Identifier: GPL-3.0-or-later -# Cache directory -CACHE = f"{Path.home()}/.var/app/io.github.vikdevelop.SaveDesktop/cache/tmp" if flatpak else f"{os.getenv('SNAP_USER_COMMON')}/.cache/tmp" if snap else f"{Path.home()}/.cache/io.github.vikdevelop.SaveDesktop" +import os +import sys +import subprocess +import argparse +import signal +import locale +import gettext -# Init dir for loading the Python scripts -init_dir = "/app" if flatpak else f"{os.getenv('SNAP')}/usr" if snap else f"{Path.home()}/.local/share/savedesktop/src" -sys.path.append(init_dir) +VERSION = '@VERSION@' +pkgdatadir = '@pkgdatadir@' +localedir = '@localedir@' + +os.environ["SAVEDESKTOP_VERSION"] = VERSION +os.environ["SAVEDESKTOP_DIR"] = pkgdatadir +os.environ["SAVEDESKTOP_LOCALE"] = localedir + +sys.path.insert(1, pkgdatadir) +signal.signal(signal.SIGINT, signal.SIG_DFL) +locale.bindtextdomain('savedesktop', localedir) +locale.textdomain('savedesktop') +gettext.install('savedesktop', localedir) # Command-line arguments parser = argparse.ArgumentParser() @@ -24,18 +52,15 @@ cmd = parser.parse_args() # Run Python scripts from the listed command-line arguments if cmd.background: # start periodic saving - from periodic_saving import PeriodicBackups + from savedesktop.core.periodic_saving import PeriodicBackups pb = PeriodicBackups() pb.run(None) - exit() elif cmd.sync: # sync a desktop configuration - from synchronization import Syncing - exit() + from savedesktop.core.synchronization import Syncing elif cmd.save_now: # save a configuration using UI parameters - from periodic_saving import PeriodicBackups + from savedesktop.core.periodic_saving import PeriodicBackups pb = PeriodicBackups() pb.run(now=True) - exit() elif cmd.FOLDER_PATH: # save a configuration without an archive folder_path = cmd.FOLDER_PATH os.makedirs(f"{CACHE}/save_config", exist_ok=True) @@ -48,11 +73,11 @@ elif cmd.CFG_ARCHIVE_PATH: # import a configuration from a file, or folder if not os.path.exists(file_path): print(f"File not found: {file_path}") exit(1) - + shutil.rmtree(os.path.join(CACHE, "import_config"), ignore_errors=True) os.makedirs(os.path.join(CACHE, "import_config"), exist_ok=True) os.chdir(os.path.join(CACHE, "import_config")) - + if file_path.endswith('.sd.zip'): os.system(f"unzip {file_path}") elif file_path.endswith('.sd.tar.gz'): @@ -62,8 +87,13 @@ elif cmd.CFG_ARCHIVE_PATH: # import a configuration from a file, or folder else: print("Unsupported file type. Use *.sd.zip, *.sd.tar.gz or folder which contains the \".folder.sd\" file.") exit(1) - - os.system(f"python3 {init_dir}/config.py --import_") - exit() + + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--import_"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) else: # show the app window - import main_window + import gi + + from gi.repository import Gio + resource = Gio.Resource.load(os.path.join(pkgdatadir, 'savedesktop.gresource')) + resource._register() + + from savedesktop import main \ No newline at end of file diff --git a/src/shortcuts_window.py b/src/shortcuts_window.py deleted file mode 100644 index 1990fe42..00000000 --- a/src/shortcuts_window.py +++ /dev/null @@ -1,101 +0,0 @@ -import gi -gi.require_version('Gtk', '4.0') -from gi.repository import Gtk -from localization import * - -SHORTCUTS_WINDOW = '\ -\ - \ - \ -' % (_["open_wiki"], _["save_config"], _["import_from_file"], _["keyboard_shortcuts"], _["quit"], _["sync_manually"], _["more_options"], _["items_for_archive"], _["set_up_sync_file"], _["connect_cloud_storage"]) - -# Load the shortcuts window -@Gtk.Template(string=SHORTCUTS_WINDOW) -class ShortcutsWindow(Gtk.ShortcutsWindow): - __gtype_name__ = 'ShortcutsWindow' - - def __init__(self, **kwargs): - super().__init__(**kwargs) diff --git a/translations/ar.json b/translations/ar.json deleted file mode 100644 index 02168c60..00000000 --- a/translations/ar.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "حول التطبيق", - "unsuppurted_env_desc": "بيئة سطح المكتب التي لديك غير مدعومة.\nالرجاء استخدام هذه البيئات: {}.", - "save_config": "حفظ التخصيصات الحالية", - "import_config": "استيراد تخصيصات محفوظة", - "set_filename": "قم بتعيين اسم الملف (بدون مسافات)", - "config_saved": "تم حفظ التخصيصات!", - "open_folder": "افتح المجلد", - "cancel": "إلغاء", - "savedesktop_f": "Save Desktop ملفات", - "config_imported": "تم تطبيق التخصيصات!", - "logout": "تسجيل الخروج", - "please_wait": "انتظر من فضلك …", - "summary": "احفظ التخصيصات الحالية لبيئة سطح المكتب الخاص بك", - "description": "هل ترغب في حفظ التخصيصات الحالي الخاص بك بما في ذلك السمات والرموز والخلفيات وجميع إعدادات بيئة سطح المكتب والإضافات وما إلى ذلك؟ يمكن أن يساعدك Save Desktop في ذلك. بنقرة واحدة فقط ويتم حفظ التخصيصات الخاص بك.", - "translator_credits": "Translator github-link", - "periodic_saving": "Periodic saving", - "periodic_saving_desc": "Changes will only take effect after the next login", - "never": "Never", - "daily": "Daily", - "weekly": "Weekly", - "monthly": "Monthly", - "import_from_file": "Import from file", - "save": "Save", - "apply": "Apply", - "learn_more": "Learn more", - "save_installed_flatpaks": "Save installed Flatpak apps", - "pb_folder": "Folder for periodic saving", - "set_pb_folder_tooltip": "Choose custom folder for periodic saving", - "set_another": "Choose another folder", - "import_title": "Import", - "filename_format": "File name format", - "reset_button": "Reset to default", - "items_for_archive": "Items to include in the configuration archive", - "items_desc": "These settings also apply to periodic saving", - "icons": "Icons", - "themes": "Themes", - "fonts": "Fonts", - "backgrounds": "Backgrounds", - "sync": "Sync", - "sync_desc": "Sync your desktop environment configuration with other computers in the network.", - "set_up_sync_file": "Set up the sync file", - "periodic_sync": "Periodic synchronization", - "manually": "Manually", - "m_sync_desc": "From now on, you can sync the config from the menu in the header bar", - "periodic_saving_file": "Periodic saving file", - "user_data_flatpak": "User data of installed Flatpak apps", - "keyboard_shortcuts": "Keyboard shortcuts", - "quit": "Quit", - "sync_manually": "Synchronise manually", - "extensions": "Extensions", - "list": "List of installed Flatpak apps", - "desktop_folder": "Desktop", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "saving_config_status": "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Back to previous page", - "flatpaks_data_tittle": "Flatpak apps data selection", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "archive_encryption": "Archive encryption", - "pb_interval": "Interval", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "password_entry": "Password", - "more_options": "More options", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "create_pwd_title": "Create new password", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generate Password", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "initial_setup": "Initial synchronization setup", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_section": "2. Go to the Online Accounts section", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "open_wiki": "Open the application wiki", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "remember_password": "Remember Password", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "import_from_folder": "Import from folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/ca.json b/translations/ca.json deleted file mode 100644 index f77ec7f5..00000000 --- a/translations/ca.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Quant a...", - "unsuppurted_env_desc": "Teniu un entorn d'escriptori no suportat. \nEl programa funciona amb: {}.", - "save_config": "Desa la configuració actual", - "import_config": "Importa una configuració", - "set_filename": "Nom del fitxer", - "config_saved": "S'ha desat la configuració!", - "open_folder": "Obre la carpeta", - "cancel": "Cancel·la", - "savedesktop_f": "Fitxers del Save Desktop", - "config_imported": "S'ha aplicat la configuració!", - "logout": "Tanca la sessió", - "please_wait": "Un moment…", - "save": "Desa", - "import_title": "Importa", - "apply": "Aplica", - "import_from_file": "Des d'un fitxer", - "periodic_saving": "Còpia automàtica", - "periodic_saving_desc": "Els canvis seran efectius al proper inici de sessió", - "never": "Mai", - "daily": "Diàriament", - "weekly": "Setmanalment", - "monthly": "Mensualment", - "manually": "Manual", - "learn_more": "Més informació", - "pb_folder": "Carpeta de destinació", - "set_pb_folder_tooltip": "Trieu una carpeta on desar la còpia automàtica", - "set_another": "Trieu altra carpeta", - "filename_format": "Format del nom de fitxer", - "reset_button": "Restaura als valors per defecte", - "items_for_archive": "Elements que voleu incloure al fitxer de configuració", - "items_desc": "Aquestes opcions afecten també a la còpia automàtica", - "icons": "Icones", - "themes": "Temes", - "fonts": "Fonts", - "backgrounds": "Fons d'escriptori", - "save_installed_flatpaks": "Programari Flatpak", - "sync": "Sincronitza", - "sync_desc": "Sincronitzeu el vostre entorn d'escriptori amb altres equips de la xarxa.", - "set_up_sync_file": "Configura el fitxer de sincronització", - "periodic_sync": "Sincronització periòdica", - "m_sync_desc": "Ja podeu sincronitzar la configuració des del menú de la barra superior", - "summary": "Desa la configuració actual del vostre entorn d'escriptori", - "description": "El Save Desktop us permet desar la configuració actual (temes, icones, fons de pantalla, totes les opcions de configuració de l'entorn d'escriptori, complements, etc.) amb un sol clic.", - "translator_credits": "BennyBeat https://github.com/BennyBeat", - "periodic_saving_file": "Fitxer de desat periòdic", - "user_data_flatpak": "Dades d'usuari del programari Flatpak instal·lat", - "extensions": "Extensions", - "keyboard_shortcuts": "Dreceres de teclat", - "quit": "Surt", - "sync_manually": "Sincronitza manualment", - "list": "Llistat del programari Flatpak instal·lat", - "desktop_folder": "Escriptori", - "importing_config_status": "Important la configuració ...\nS'està important la configuració des de:\n{}\n", - "saving_config_status": "Desant la configuració ...\nLa configuració del vostre escriptori es desarà a:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nPodeu tancar la sessió ara perquè els canvis siguin aplicats, o podeu tornar a la pàgina anterior i tancar la sessió més tard.\n", - "back_to_page": "Torna a la pàgina anterior", - "flatpaks_data_tittle": "Selecció de dades d'aplicacions Flatpak", - "config_saved_desc": "{}\nAra podeu revisar el fitxer amb la configuració del vostre escriptori, o tornar a la pàgina anterior.\n", - "password_entry": "Contrasenya", - "pb_interval": "Interval", - "archive_encryption": "Xifrat de ftxer", - "archive_encryption_desc": "En desar la configuració de forma manual, si us demanarà crear una contrasenya. Això és útil quan deseu la configuració en mitjans extraïbles per mantenir segures les vostres dades.", - "create_pwd_desc": "Creeu una contrasenya nova per al vostre fitxer. Es recomana emprar almenys 12 caràcters, incloent-hi majúscules, minúscules i caràcters especials.", - "more_options": "Més opcions", - "check_pwd_desc": "Inseriu més avall una contrasenya per a desblocar el fitxer de configuració. Si l'oblideu, no podreu descomprimir el fitxer i aplicar la importació de la configuració.", - "check_pwd_title": "Desbloca el fitxer amb una contrasenya", - "create_pwd_title": "Crea una contrasenya nova", - "select_cloud_folder_btn": "Selecciona la carpeta del núvol", - "cloud_folder_err": "No heu seleccionat cap carpeta del núvol!", - "gen_password": "Crea una contrasenya", - "bidirectional_sync": "Sincronització bidireccional", - "err_occured": "S'ha produït un error", - "create": "Crea", - "change": "Canvia", - "periodic_saving_file_err": "No existeix el fitxer de desat periòdic.", - "bidirectional_sync_desc": "En habilitar-ho i seleccionar l'interval de la sincronització i la carpeta de la unitat al núvol, tota la informació del desament automàtic (interval, carpeta i nom de fitxer) de l'altre ordinador es copia en aquest mitjançant la sincronització indicada.", - "connect_cloud_storage_desc": "Obriu aquesta pàgina del Save Desktop a l'altre ordinador i feu clic al botó «Configura el fitxer de sincronització» per a realitzar els canvis necessaris. En aquest ordinador, seleccioneu la carpeta que heu sincronitzat amb l'emmagatzematge al núvol i on heu desat el fitxer de desament automàtic.", - "connect_cloud_storage": "Connecta a l'emmagatzematge al núvol", - "next": "Next", - "open_wiki": "Open the application wiki", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "pwd_for_encryption": "Password for encryption", - "import_from_folder": "Import from folder", - "remember_password": "Remember Password", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/cs.json b/translations/cs.json deleted file mode 100644 index ced78324..00000000 --- a/translations/cs.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "O aplikaci", - "unsuppurted_env_desc": "Máte nainstalované nepodporované prostředí. \nPoužijte jedno z těchto prostředí: {}.", - "save_config": "Uložit aktuální konfiguraci", - "import_config": "Importovat již uloženou konfiguraci", - "set_filename": "Nastavit název souboru", - "config_saved": "Konfigurace byla uložena!", - "open_folder": "Otevřít složku", - "cancel": "Zrušit", - "savedesktop_f": "Soubory Save Desktop", - "config_imported": "Konfigurace byla provedena!", - "logout": "Odhlásit se", - "please_wait": "Počkejte prosím …", - "summary": "Uložte konfiguraci plochy", - "description": "Save Desktop umožňuje uložit aktuální konfiguraci (motivy, ikony, tapety, všechna nastavení prostředí, rozšíření atd.) jedním kliknutím.", - "translator_credits": "vikdevelop https://github.com/vikdevelop", - "periodic_saving": "Pravidelné ukládání", - "periodic_saving_desc": "Změny se projeví až po dalším přihlášení", - "never": "Nikdy", - "daily": "Denně", - "weekly": "Týdně", - "monthly": "Měsíčně", - "apply": "Použít", - "import_from_file": "Importovat ze souboru", - "save": "Uložit", - "learn_more": "Zjistit více", - "save_installed_flatpaks": "Aplikace Flatpak", - "pb_folder": "Složka pro pravidelné ukládání", - "set_pb_folder_tooltip": "Vybrat vlastní složku pro pravidelné ukládání", - "set_another": "Vybrat jinou složku", - "icons": "Ikony", - "import_title": "Import", - "filename_format": "Formát názvu souboru", - "reset_button": "Resetovat na výchozí", - "items_for_archive": "Položky, které mají být zahrnuty do archivu konfigurace", - "items_desc": "Tato nastavení platí i pro pravidelné ukládání", - "themes": "Motivy", - "fonts": "Fonty", - "backgrounds": "Pozadí", - "sync": "Synchronizovat", - "sync_desc": "Synchronizujte konfiguraci vašeho desktopového prostředí s ostatními počítači v síti.", - "set_up_sync_file": "Nastavit synchronizační soubor", - "periodic_saving_file": "Soubor pravidelného ukládání", - "periodic_sync": "Pravidelná synchronizace", - "manually": "Ručně", - "m_sync_desc": "Od teď můžete synchronizovat konfiguraci z nabídky v záhlaví", - "user_data_flatpak": "Uživatelská data nainstalovaných aplikací Flatpak", - "keyboard_shortcuts": "Klávesové zkratky", - "quit": "Ukončit", - "extensions": "Rozšíření", - "sync_manually": "Synchronizovat ručně", - "list": "Seznam nainstalovaných aplikací Flatpak", - "desktop_folder": "Plocha", - "flatpaks_data_tittle": "Výběr dat aplikací Flatpak", - "importing_config_status": "Importování konfigurace …\nImportování konfigurace z: \n{}\n", - "saving_config_status": "Ukládání konfigurace … \nKonfigurace vašeho desktopového prostředí bude uložena v:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nAby se změny projevily, můžete se ze systému odhlásit, nebo se vrátit na předchozí stránku a odhlásit se později.\n", - "back_to_page": "Vrátit se na předchozí stránku", - "config_saved_desc": "{}\nNyní si můžete prohlédnout archiv s konfigurací svého desktopového prostředí nebo se vrátit na předchozí stránku.\n", - "pb_interval": "Interval", - "more_options": "Více možností", - "create_pwd_title": "Vytvořit nové heslo", - "archive_encryption": "Šifrování archivu", - "archive_encryption_desc": "Při ručním ukládání konfigurace budete vyzváni k vytvoření hesla. To je užitečné při ukládání konfigurace na přenosné médium pro lepší zabezpečení dat.", - "create_pwd_desc": "Vytvořte si prosím nové heslo pro svůj archiv. Kritéria zahrnují délku alespoň 12 znaků, jedno velké písmeno, jedno malé písmeno a jeden speciální znak.", - "password_entry": "Heslo", - "check_pwd_desc": "Zadáním níže uvedeného hesla odemknete archiv s vaší konfigurací. Pokud jste ho zapomněli, nebudete moci archiv rozbalit a začít importovat konfiguraci.", - "check_pwd_title": "Odemknout archiv pomocí hesla", - "select_cloud_folder_btn": "Vybrat cloudovou složku", - "create": "Vytvořit", - "err_occured": "Došlo k chybě", - "change": "Změnit", - "periodic_saving_file_err": "Soubor pravidelného ukládání neexistuje.", - "cloud_folder_err": "Nevybrali jste složku cloudové jednotky!", - "gen_password": "Vygenerovat heslo", - "bidirectional_sync_desc": "Pokud je tato funkce povolena a je vybrán interval synchronizace a složka cloudové jednotky, informace o pravidelném ukládání (interval, složka a název souboru) z druhého počítače s nastavenou synchronizací se zkopírují do tohoto počítače.", - "bidirectional_sync": "Obousměrná synchronizace", - "connect_cloud_storage": "Připojit se ke cloudovému úložišti", - "connect_cloud_storage_desc": "Na jiném počítači otevřete aplikaci Save Desktop a na této stránce klikněte na tlačítko „Nastavit synchronizační soubor“ a proveďte potřebná nastavení. Na tomto počítači vyberte složku, kterou jste synchronizovali s cloudovým úložištěm a do které jste také uložili stejný soubor pro pravidelné ukládání.", - "almost_done_title": "Téměř hotovo!", - "gnome_oa_section": "2. Přejděte do sekce Online účty", - "rclone_copy_cmd": "Nyní zkopírujte příkaz pro nastavení Rclone pomocí postranního tlačítka a otevřete aplikaci Terminál pomocí klávesové zkratky Ctrl+Alt+T nebo ji najděte v nabídce aplikací.", - "rclone_cmd_copied_msg": "Po dokončení nastavení Rclone pomocí uvedeného příkazu klikněte na tlačítko \"Apply\"", - "gnome_oa_chooser_desc": "Vytvořenou složku cloudové jednotky je možné nalézt na postranním panelu dialogu pro výběr souborů v tomto tvaru: uzivatelskejmeno@sluzba.com.", - "next": "Další", - "rclone_intro_desc": "Aby synchronizace fungovala správně, potřebujete mít složku, která je synchronizována s vaší cloudovou službou pomocí Rclone.\nZačněte výběrem používané cloudové služby.", - "almost_done_desc": "Nyní máte vytvořenou složku cloudové jednotky! Klikněte na tlačítko Další pro dokončení nastavení.", - "initial_setup": "Počáteční nastavení synchronizace", - "select": "Vybrat", - "gnome_oa_section_desc": "V této sekci vyberte požadovanou cloudovou službu, jako je Google, Microsoft 365 nebo Nextcloud.", - "open_wiki": "Otevřít wiki aplikace", - "gnome_oa_settings": "1. Otevřete nastavení systému", - "gnome_oa_chooser": "3. Klikněte na tlačítko Další a vyberte vytvořenou složku cloudové jednotky", - "pwd_for_encryption": "Heslo pro šifrování", - "remember_password": "Zapamatovat heslo", - "syncthing_folder": "Použít místo toho složku Syncthing", - "password_store_err": "Heslo nebylo zadáno, nebo je nesprávné. Nelze pokračovat.", - "save_without_archive": "Uložit konfiguraci bez vytváření archivu", - "import_from_folder": "Importovat ze složky", - "manual_saving": "Ruční ukládání", - "enter_password_title": "Zadejte prosím heslo k odemknutí archivu pro synchronizaci konfigurace", - "enter_password_desc": "Pro synchronizaci pomocí aplikace Save Desktop byl vybrán šifrovaný archiv. Pro jeho odemčení a spuštění synchronizace zadejte níže uvedené heslo." -} diff --git a/translations/de.json b/translations/de.json deleted file mode 100644 index 718a673e..00000000 --- a/translations/de.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Über", - "unsuppurted_env_desc": "Sie haben eine nicht unterstützte Umgebung installiert.\nBitte verwenden Sie eine der folgenden Umgebungen: {}.", - "save_config": "Die aktuelle Konfiguration speichern", - "import_config": "Die gespeicherte Konfiguration importieren", - "set_filename": "Den Dateinamen festlegen", - "config_saved": "Die Konfiguration wurde gespeichert!", - "open_folder": "Den Ordner öffnen", - "cancel": "Abbrechen", - "savedesktop_f": "Save Desktop Dateien", - "config_imported": "Die Konfiguration wurde angewendet!", - "logout": "Ausloggen", - "please_wait": "Bitte warten …", - "summary": "Speichern Sie die aktuelle Konfiguration Ihrer Desktop-Umgebung", - "description": "Mit Save Desktop können Sie Ihre aktuelle Konfiguration (Designs, Symbole, Hintergrundbilder, alle Einstellungen der Desktop-Umgebung, Erweiterungen usw.) mit einem Klick speichern.", - "translator_credits": "Github Link des Übersetzers", - "periodic_saving": "Regelmäßiges Speichern", - "periodic_saving_desc": "Die Änderungen werden erst nach der nächsten Anmeldung wirksam.", - "never": "Nie", - "daily": "Täglich", - "weekly": "Wöchentlich", - "monthly": "Monatlich", - "import_from_file": "Aus Datei importieren", - "save": "Speichern", - "apply": "Anwenden", - "learn_more": "Mehr erfahren", - "save_installed_flatpaks": "Flatpak-Apps", - "pb_folder": "Ordner für das periodische Speichern", - "set_pb_folder_tooltip": "Benutzerdefinierten Ordner für das periodische Speichern auswählen", - "set_another": "Anderen Ordner auswählen", - "import_title": "Importieren", - "filename_format": "Dateinamensformat", - "reset_button": "Auf Standardeinstellungen zurücksetzen", - "items_for_archive": "Elemente, die in das Konfigurationsarchiv aufzunehmen sind", - "items_desc": "Diese Einstellungen gelten auch für das periodische Speichern", - "icons": "Symbole", - "themes": "Themen", - "fonts": "Schriftarten", - "backgrounds": "Hintergründe", - "sync": "Sync", - "sync_desc": "Sync your desktop environment configuration with other computers in the network.", - "set_up_sync_file": "Set up the sync file", - "periodic_sync": "Periodic synchronization", - "manually": "Manually", - "m_sync_desc": "From now on, you can sync the config from the menu in the header bar", - "periodic_saving_file": "Periodic saving file", - "user_data_flatpak": "User data of installed Flatpak apps", - "keyboard_shortcuts": "Keyboard shortcuts", - "quit": "Quit", - "extensions": "Extensions", - "sync_manually": "Synchronise manually", - "list": "List of installed Flatpak apps", - "desktop_folder": "Desktop", - "flatpaks_data_tittle": "Flatpak apps data selection", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "saving_config_status": "Speichert die Konfiguration ...\nDie Konfiguration ihrer Desktop Umgebung wird gespeichert in:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Zurück zur vorherigen Seite", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "pb_interval": "Interval", - "archive_encryption": "Archive encryption", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "password_entry": "Password", - "more_options": "More options", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "create_pwd_title": "Create new password", - "err_occured": "Ein Fehler ist aufgetreten", - "select_cloud_folder_btn": "Select the cloud drive folder", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "connect_cloud_storage": "Connect to the cloud storage", - "gen_password": "Generate Password", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "gnome_oa_section": "2. Go to the Online Accounts section", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "almost_done_title": "Almost done!", - "open_wiki": "Open the application wiki", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "pwd_for_encryption": "Password for encryption", - "import_from_folder": "Import from folder", - "remember_password": "Remember Password", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/en.json b/translations/en.json deleted file mode 100644 index 9eb7af33..00000000 --- a/translations/en.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "save": "Save", - "save_config": "Save the current configuration", - "set_filename": "Set the file name", - "items_for_archive": "Items to include in the configuration archive", - "items_desc": "These settings also apply to periodic saving", - "icons": "Icons", - "themes": "Themes", - "fonts": "Fonts", - "backgrounds": "Backgrounds", - "extensions": "Extensions", - "desktop_folder": "Desktop", - "save_installed_flatpaks": "Flatpak apps", - "list": "List of installed Flatpak apps", - "user_data_flatpak": "User data of installed Flatpak apps", - "flatpaks_data_tittle": "Flatpak apps data selection", - "more_options": "More options", - "periodic_saving": "Periodic saving", - "periodic_saving_desc": "Changes will only take effect after the next login", - "pb_interval": "Interval", - "never": "Never", - "daily": "Daily", - "weekly": "Weekly", - "monthly": "Monthly", - "manually": "Manually", - "learn_more": "Learn more", - "pb_folder": "Folder for periodic saving", - "set_pb_folder_tooltip": "Choose custom folder for periodic saving", - "set_another": "Choose another folder", - "filename_format": "File name format", - "reset_button": "Reset to default", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "archive_encryption": "Archive encryption", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "save_without_archive": "Save the configuration without creating an archive", - "create_pwd_title": "Create new password", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "gen_password": "Generate Password", - "password_entry": "Password", - "check_pwd_title": "Unlock the archive with a password", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization.", - "remember_password": "Remember Password", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "saving_config_status": "Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "config_saved": "Configuration has been saved!", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "open_folder": "Open the folder", - "import_title": "Import", - "import_config": "Import saved configuration", - "import_from_file": "Import from file", - "import_from_folder": "Import from folder", - "cancel": "Cancel", - "savedesktop_f": "Save Desktop files", - "importing_config_status": "Importing configuration …\nImporting configuration from:\n{}\n", - "config_imported": "The configuration has been applied!", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Back to previous page", - "logout": "Log Out", - "err_occured": "An error occurred", - "apply": "Apply", - "sync": "Sync", - "sync_desc": "Sync your desktop environment configuration with other computers in the network.", - "initial_setup": "Initial synchronization setup", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_section": "2. Go to the Online Accounts section", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "syncthing_folder": "Use Syncthing folder instead", - "almost_done_title": "Almost done!", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "select": "Select", - "next": "Next", - "set_up_sync_file": "Set up the sync file", - "periodic_saving_file": "Periodic saving file", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "create": "Create", - "please_wait": "Please wait …", - "change": "Change", - "connect_cloud_storage": "Connect to the cloud storage", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "select_cloud_folder_btn": "Select the cloud drive folder", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "periodic_sync": "Periodic synchronization", - "bidirectional_sync": "Bidirectional synchronization", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "m_sync_desc": "From now on, you can sync the config from the menu in the header bar", - "sync_manually": "Synchronise manually", - "keyboard_shortcuts": "Keyboard shortcuts", - "open_wiki": "Open the application wiki", - "quit": "Quit", - "about_app": "About app", - "unsuppurted_env_desc": "You have an unsupported environment installed. \nPlease use one of these environments: {}.", - "summary": "Save your desktop configuration", - "description": "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click.", - "translator_credits": " " -} diff --git a/translations/es.json b/translations/es.json deleted file mode 100644 index 58395088..00000000 --- a/translations/es.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Acerca de la aplicación", - "unsuppurted_env_desc": "Tiene instalado un entorno no compatible. \nPor favor, utilice uno de estos entornos: {}.", - "save_config": "Guardar la configuración actual", - "import_config": "Importar la configuración guardada", - "set_filename": "Establecer el nombre del archivo", - "config_saved": "¡Se ha guardado la configuración!", - "open_folder": "Abrir la carpeta", - "cancel": "Cancelar", - "savedesktop_f": "Archivos de Save Desktop", - "config_imported": "¡La configuración se ha aplicado!", - "logout": "Cerrar sesión", - "please_wait": "Espera, por favor…", - "summary": "Guardar la configuración del escritorio", - "description": "Save Desktop le permite guardar su configuración actual (temas, iconos, fondos de pantalla, todos los ajustes del entorno del escritorio, extensiones, etc.) con un solo clic.", - "translator_credits": "gallegonovato fran-carro@hotmail.es", - "periodic_saving": "Copia de seguridad periódica", - "periodic_saving_desc": "Los cambios sólo surtirán efecto tras el siguiente inicio de sesión", - "never": "Nunca", - "daily": "Diariamente", - "weekly": "Semanalmente", - "monthly": "Mensualmente", - "import_from_file": "Importar desde archivo", - "save": "Guardar", - "apply": "Aplicar", - "learn_more": "Más información", - "save_installed_flatpaks": "Aplicaciones de Flatpak", - "pb_folder": "Carpeta de almacenamiento periódico", - "set_pb_folder_tooltip": "Elegir una carpeta personalizada para el almacenamiento periódico", - "set_another": "Elegir otra carpeta", - "filename_format": "Formato del nombre del archivo", - "reset_button": "Restablecer los valores por defecto", - "items_for_archive": "Elementos que deben incluirse en el archivo de la configuración", - "items_desc": "Estos ajustes también se aplican al guardado periódico", - "icons": "Iconos", - "themes": "Temas", - "fonts": "Fuentes", - "backgrounds": "Fondos de pantalla", - "import_title": "Importar", - "sync": "Sincronizar", - "sync_desc": "Sincronizar la configuración de tu entorno de escritorio con otros ordenadores en la red.", - "set_up_sync_file": "Configurar el archivo de sincronización", - "periodic_sync": "Sincronización periódica", - "manually": "Manualmente", - "m_sync_desc": "A partir de ahora, puedes sincronizar la configuración desde el menú de la barra de cabecera", - "periodic_saving_file": "Archivo de almacenamiento periódico", - "user_data_flatpak": "Datos de usuario de las aplicaciones Flatpak instaladas", - "keyboard_shortcuts": "Atajos de teclado", - "quit": "Dejar", - "extensions": "Extensiones", - "sync_manually": "Sincronizar manualmente", - "list": "Lista de aplicaciones Flatpak instaladas", - "desktop_folder": "Escritorio", - "saving_config_status": "Guardar la configuración ...\nLa configuración de su entorno de escritorio se guardará en:\n {}/{}.sd.tar.gz\n", - "importing_config_status": "Importando la configuración ...\nImportando la configuración desde:\n{}\n", - "config_imported_desc": "{}\nPuede salir del sistema para que los cambios surtan efecto, o volver a la página anterior y salir más tarde.\n", - "back_to_page": "Volver a la página anterior", - "flatpaks_data_tittle": "Selección de datos de aplicaciones Flatpak", - "config_saved_desc": "{}\nAhora puede ver el archivo con la configuración de su entorno de escritorio o volver a la página anterior.\n", - "archive_encryption": "Cifrado de archivos", - "password_entry": "Contraseña", - "check_pwd_title": "Desbloquear el archivo con una contraseña", - "pb_interval": "Intervalo", - "archive_encryption_desc": "Al guardar manualmente la configuración, se le pedirá que cree una contraseña. Esto es útil cuando se guarda la configuración en medios portátiles para una mayor seguridad de sus datos.", - "create_pwd_desc": "Por favor, cree una nueva contraseña para su archivo. Los criterios incluyen al menos 12 caracteres, una letra mayúscula, una letra minúscula y un carácter especial.", - "more_options": "Más opiniones", - "check_pwd_desc": "Introduzca la contraseña a continuación para desbloquear el archivo con su configuración. Si la has olvidado, no podrás descomprimir el archivo y empezar a importar tu configuración.", - "create_pwd_title": "Crear una nueva contraseña", - "err_occured": "Se produjo un error", - "select_cloud_folder_btn": "Seleccione la carpeta de la nube", - "create": "Crear", - "change": "Cambiar", - "periodic_saving_file_err": "El archivo de guardado periódico no existe.", - "cloud_folder_err": "¡No has seleccionado la carpeta de la unidad en la nube!", - "gen_password": "Generar contraseña", - "bidirectional_sync_desc": "Si está activada y se seleccionan el intervalo de sincronización y la carpeta de la unidad en la nube, la información de guardado periódico (intervalo, carpeta y nombre de archivo) del otro ordenador con la sincronización establecida se copia en este ordenador.", - "connect_cloud_storage_desc": "En otro ordenador, abra la aplicación Save Desktop y, en esta página, haga clic en el botón \"Configurar el archivo de sincronización\" y realice los ajustes necesarios. En este ordenador, seleccione la carpeta que ha sincronizado con su almacenamiento en la nube y también ha guardado el mismo archivo de guardado periódico.", - "bidirectional_sync": "Sincronización bidireccional", - "connect_cloud_storage": "Conectarse al almacenamiento en la nube", - "almost_done_title": "¡Casi terminamos!", - "gnome_oa_section": "2. Ir a la sección Cuentas en línea", - "rclone_copy_cmd": "Ahora, copie el comando para configurar Rclone usando el botón lateral y abra la aplicación de terminal usando el atajo de teclado Ctrl+Alt+T o buscándolo en el menú de aplicaciones.", - "rclone_cmd_copied_msg": "Una vez que haya terminado de configurar Rclone usando el comando proporcionado, haga clic en el botón \"Aplicar\"", - "gnome_oa_chooser_desc": "La carpeta de la unidad en la nube creada se puede encontrar en el panel lateral del cuadro de diálogo del selector de archivos, con este formato: username@service.com.", - "next": "Siguiente", - "rclone_intro_desc": "Para que la sincronización funcione correctamente, debe tener la carpeta sincronizada con su servicio en la nube mediante Rclone.\nComience seleccionando el servicio de almacenamiento en la nube que utiliza.", - "initial_setup": "Configuración de sincronización inicial", - "almost_done_desc": "¡Ya has creado la carpeta de la unidad en la nube! Haz clic en el botón Siguiente para completar la configuración.", - "select": "Selecciona", - "gnome_oa_section_desc": "En esta sección selecciona el servicio de nube que deseas, como Google, Microsoft 365 o Nextcloud.", - "open_wiki": "Abrir la wiki de la aplicación", - "gnome_oa_settings": "1. Abrir los ajustes del sistema", - "gnome_oa_chooser": "3. Haz clic en el botón \"Siguiente\" y seleccione la carpeta de la unidad de la nube creada", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "remember_password": "Remember Password", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "import_from_folder": "Import from folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/et.json b/translations/et.json deleted file mode 100644 index baad7210..00000000 --- a/translations/et.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Rakenduse teave", - "unsuppurted_env_desc": "Sa kasutad mittetoetatud töölauakeskkonda. \nHetkel on toetatud: {}.", - "save_config": "Salvesta praegused seadistused", - "import_config": "Impordi salvestatud seadistused", - "set_filename": "Sisesta faili nimi", - "saving_config_status": "Salvestame seadistusi …\nSinu töölauakeskkonna seadistused salvestuvad faili:\n {}/{}.sd.tar.gz\n", - "config_saved": "Seadistused on salvestatud!", - "config_saved_desc": "{}\nSa võid nüüd vaadata oma töölauakeskkonna seadistuste archive või minna tagasi eelmise vaate juurde.\n", - "open_folder": "Ava kaust", - "cancel": "Katkesta", - "savedesktop_f": "Save Desktopi failid", - "importing_config_status": "Impordime seadistusi…\nImpordime seadistusi failist:\n{}\n", - "config_imported": "Seadistused on nüüd kasutusel!", - "config_imported_desc": "{}\nMuudatuste kasutuselevõtmiseks võid sa kohe välja logida või minna tagasi ja logida välja hiljem.\n", - "back_to_page": "Tagasi eelmisesse vaatesse", - "logout": "Logi välja", - "err_occured": "Tekkis viga", - "save": "Salvesta", - "import_title": "Impordi", - "import_from_file": "Impordi failist", - "apply": "Rakenda", - "periodic_saving": "Regulaarne salvestamine", - "periodic_saving_desc": "Muudatused jõustuvad järgmisel sisselogimisel", - "pb_interval": "Sagedus", - "never": "Mitte kunagi", - "daily": "Kord päevas", - "weekly": "Iga nädal", - "monthly": "Iga kuu", - "manually": "Valides aja käsitsi", - "learn_more": "Lisateave", - "pb_folder": "Kaust regulaarseks salvestamiseks", - "set_pb_folder_tooltip": "Vali kaust regulaarseks salvestamiseks sobilik kaust", - "set_another": "Vali muu kaust", - "filename_format": "Failinime vorming", - "reset_button": "Taasta algväärtused", - "items_for_archive": "Vali seadistuste arhiivifaili kaasatavad objektid", - "items_desc": "Need seadistused kehtivad ka regulaarsel varundamisel", - "icons": "Ikoonid", - "themes": "Kujundused", - "fonts": "Kirjatüübid", - "backgrounds": "Taustapildid", - "extensions": "Lisamoodulid", - "desktop_folder": "Töölaud", - "save_installed_flatpaks": "Flatpaki rakendused", - "list": "Paigaldatud Flatpaki rakenduste loend", - "user_data_flatpak": "Paigaldatud Flatpaki rakenduste kasutajaandmed", - "flatpaks_data_tittle": "Vali Flatpaki rakendused, mille andmed tahad kaasata", - "sync": "Sünkroniseerimine", - "sync_desc": "Sünkroniseeri oma töölauakeskkonna seadistusi teiste arvutitega võrgus.", - "initial_setup": "Sünkroniseerimise algne seadistus", - "gnome_oa_settings": "1. Ava süsteemi seadistused", - "gnome_oa_section": "2. Ava võrguteenuste valik", - "gnome_oa_section_desc": "Siin vali soovitud pilveteenus, nagu Google, Microsoft 365 või Nextcloud.", - "gnome_oa_chooser": "3. Klõpsi nuppu Edasi ja vali loodud pilveteenuse kaust", - "gnome_oa_chooser_desc": "Loodud pilvekaust leidub külgpaanis failivalija vaates ja tavaliselt näeb välja umbes nii: kasutajanimi@teenus.com.", - "rclone_intro_desc": "Et sünkroniseerimine toimiks korralikult vajad sa kausta, mis on rclone'i abil sünkroniseeritud sinu pilveteenusega.\nAlustamiseks vali soovitud pilveteenuse kaust.", - "rclone_copy_cmd": "Seejärel kasutades küljel asuvat nuppu kopeeri rclone'i ülesseadmiseks vajalik käsk, ava terminalirakendus kas Ctrl+Alt+T kiirklahviga või valides ta rakenduste käivitajast.", - "rclone_cmd_copied_msg": "Kui oled selle käsu abil rclone'i seadistanud, siis klõpsi „Rakenda“ nuppu", - "almost_done_title": "Peaaegu valmis!", - "almost_done_desc": "Pilveteenuse kausta oled sa nüüd loonud! Seadistamise lõpetamiseks vajuta nuppu „Edasi“.", - "select": "Vali", - "next": "Edasi", - "set_up_sync_file": "Seadista sünkroniseerimisfail", - "periodic_saving_file": "Fail regulaarseks salvestamiseks", - "periodic_saving_file_err": "Regulaarseks salvestamiseks mõeldud faili pole olemas.", - "create": "Loo", - "please_wait": "Palun oota…", - "change": "Muuda", - "connect_cloud_storage": "Ühenda pilvesalvestusteenusega", - "connect_cloud_storage_desc": "Ava teises arvutis Save Desktop rakendus ja sellel lehel klõpsi nuppu „Seadista sünkroniseerimisfail“ ja seadista vastavalt. Selles arvutis vali kaust, mille oled sünkroniseerinud oma pilveteenusega ja kuhu oled lisanud faili regulaarseks salvestamiseks.", - "select_cloud_folder_btn": "Vali pilveteenuse kaust", - "cloud_folder_err": "Sa pole pilveteenuse kausta valinud!", - "periodic_sync": "Regulaarne sünkroniseerimine", - "bidirectional_sync": "Mõlemasuunaline sünkroniseerimine", - "bidirectional_sync_desc": "Kui eelistus on kasutusel, sünkroniseerimisvälp ja pilveteenuse kaust valitud, siis regulaarse salvestamise teave (välp, kaust ja failinimi) teisest arvutist kopeeritakse siia arvutisse.", - "m_sync_desc": "Alates nüüdsest saad sa andmed sünkroniseerida menüüst päiseriba kohal", - "sync_manually": "Sünkroniseeri käsitsi", - "keyboard_shortcuts": "Klaviatuuri kiirklahvid", - "open_wiki": "Ava rakenduse viki", - "quit": "Välju", - "more_options": "Lisavalikud", - "archive_encryption": "Arhiivifaili krüptimine", - "archive_encryption_desc": "Seadistuste käsitsi salvestamisel palume, et lisaksid salasõna. See võimalus parandab turvalisust, kui kavatsed kasutada salvestamist teisaldatavale andmekandjale.", - "create_pwd_title": "Loo uus salasõna", - "create_pwd_desc": "Palun lisa oma arhiivifailile salasõna. Eeldame, et ta oleks vähemalt 12 tähemärki pikk, sisaldaks vähemalt ühte suurtähte, väiketähte ja erimärki.", - "gen_password": "Loo salasõna", - "password_entry": "Salasõna", - "check_pwd_title": "Kasutades salasõna eemalda arhiivifaili krüptimine", - "check_pwd_desc": "Alljärgnevalt sisesta arhiivifaili krüptimise eemaldamiseks vajalik salasõna. Kui oled salasõna unustanud, siis arhiivifaili lahtipakkimine ja järgnev importimine pole võimalik.", - "summary": "Salvesta oma töölaua seadistused", - "description": "Save Desktop võimaldab sul ühe klõpsuga salvestada (ja seega ka varundada) oma töölaua seadistused (kujundus, ikoonid, taustapildid, kõik töölauakeskkonna seadistused, lisamoodulid, jne).", - "translator_credits": "Priit Jõerüüt 2025", - "remember_password": "Jäta salasõna meelde", - "syncthing_folder": "Selle asemel kasuta Syncthingi kausta", - "save_without_archive": "Salvesta seadistused ilma arhiivi loomata", - "password_store_err": "Salasõna on kas sisestamata või vale. Jätkamine pole võimalik.", - "import_from_folder": "Impordi kaustast", - "pwd_for_encryption": "Krüptimise salasõna", - "manual_saving": "Käsitsi salvestamine", - "enter_password_title": "Seadistuste sünkroniseerimiseks palun sisesta salasõna", - "enter_password_desc": "Oled Save Desktopi abil sünkroniseerimiseks valinud krüptitud arhiivifaili. Lukustuse eemaldamiseks palun sisesta salasõna ja sünkroniseerimine saab alata." -} diff --git a/translations/fi.json b/translations/fi.json deleted file mode 100644 index 74921aa6..00000000 --- a/translations/fi.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Tietoja sovelluksesta", - "unsuppurted_env_desc": "Havaittu tuen ulkopuolella olevan ympäristön asennus. \nKäytä jotain näistä ympäristöistä: {}.", - "save_config": "Tallenna nykyiset määritykset", - "import_config": "Tuo tallennettu määritys", - "set_filename": "Aseta tiedostonimi", - "saving_config_status": "Tallennetaan määritystä …\nTyöpöytäympäristösi määritys tallennetaan seuraavaan tiedostoon:\n {}/{}.sd.tar.gz\n", - "config_saved": "Määritys on tallennettu!", - "config_saved_desc": "{}\nVoit nyt katselmoida arkiston, jossa työpöytäympäristösi määritys on, tai palata edelliselle sivulle.\n", - "open_folder": "Avaa kansio", - "cancel": "Peru", - "savedesktop_f": "Save Desktop-tiedostot", - "importing_config_status": "Tuodaan määritystä…\nMääritys tuodaan seuraavasta lähteestä:\n{}\n", - "config_imported": "Määritys on toteutettu!", - "config_imported_desc": "{}\nVoit kirjautua ulos järjestelmästä, jotta muutokset tulevat voimaan, tai palata edelliselle sivulle ja kirjautua ulos myöhemmin.\n", - "back_to_page": "Takaisin edelliselle sivulle", - "logout": "Kirjaudu ulos", - "please_wait": "Odota hetki…", - "save": "Tallenna", - "import_title": "Tuo", - "apply": "Toteuta", - "import_from_file": "Tuo tiedostosta", - "periodic_saving": "Jaksottainen tallennus", - "periodic_saving_desc": "Muutokset tulevat voimaan vasta seuraavalla kirjautumiskerralla", - "pb_interval": "Aikaväli", - "never": "Ei koskaan", - "daily": "Päivittäin", - "weekly": "Viikottain", - "monthly": "Kuukausittain", - "manually": "Manuaalisesti", - "learn_more": "Lue lisää", - "pb_folder": "Kansio jaksottaista tallennusta varten", - "set_pb_folder_tooltip": "Valitse mukautettu kansio jaksottaista tallennusta varten", - "set_another": "Valitse toinen kansio", - "filename_format": "Tiedostonimen muoto", - "reset_button": "Palauta oletusasetus", - "items_for_archive": "Määritysarkistoon sisällytettävät kohteet", - "items_desc": "Nämä asetukset pätevät myös jaksottaiseen tallennukseen", - "icons": "Kuvakkeet", - "themes": "Teemat", - "fonts": "Fontit", - "backgrounds": "Taustakuvat", - "extensions": "Laajennukset", - "desktop_folder": "Työpöytä", - "save_installed_flatpaks": "Flatpak-sovellukset", - "list": "Luettelo asennetuista Flatpak-sovelluksista", - "user_data_flatpak": "Asennettujen Flatpak-sovellusten käyttäjädata", - "flatpaks_data_tittle": "Flatpak-sovellusten datavalinta", - "sync": "Synkronoi", - "sync_desc": "Synkronoi työpöytämäärityksesi muiden verkossa olevien tietokoneiden kanssa.", - "set_up_sync_file": "Aseta synkronointitiedosto", - "periodic_saving_file": "Jaksottaisen tallennuksen tiedosto", - "periodic_sync": "Jaksottainen synkronointi", - "m_sync_desc": "Vastedes voit synkronoida määrityksen otsakepalkin valikosta", - "sync_manually": "Synkronoi manuaalisesti", - "quit": "Lopeta", - "keyboard_shortcuts": "Pikanäppäimet", - "more_options": "Lisää valintoja", - "archive_encryption": "Arkiston salaus", - "archive_encryption_desc": "Kun tallennat määrityksen manuaalisesti, sinua pyydetään luomaan salasana. Tämä on hyödyllinen ominaisuus datan turvaamiseksi, kun määritys on tarkoitus tallentaa esimerkiksi erilliselle muistitikulle.", - "create_pwd_title": "Luo uusi salasana", - "create_pwd_desc": "Luo uusi salasana arkistoon. Salasanan on sisällettävä vähintään 12 merkkiä, yksi iso kirjain, yksi pieni kirjain ja yksi erikoismerkki.", - "password_entry": "Salasana", - "check_pwd_title": "Avaa arkiston lukitus salasanalla", - "check_pwd_desc": "Kirjoita määritysarkiston salasana alapuolelle. Jos olet unohtanut salasanan, et pysty avata arkistoa ja tuoda määritystä.", - "summary": "Tallenna työpöytäsi määritys", - "description": "Save Desktopin avulla voit tallentaa työpöytäympäristösi määrityksen (teemat, kuvakkeet, taustakuvat, kaikki työpöytäympäristön asetukset, laajennukset jne.) yhdellä napsautuksella.", - "translator_credits": "Name jiri.gronroos+l10n@iki.fi", - "select_cloud_folder_btn": "Valitse pilviaseman kansio", - "err_occured": "Tapahtui virhe", - "create": "Luo", - "change": "Vaihda", - "periodic_saving_file_err": "Jaksottaisen tallennuksen tiedostoa ei ole olemassa.", - "cloud_folder_err": "Et valinnut pilviaseman kansiota!", - "gen_password": "Luo salasana", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Kaksisuuntainen synkronointi", - "connect_cloud_storage": "Yhdistä pilvitallennustilaan", - "gnome_oa_section": "2. Siirry verkkotileihin", - "almost_done_title": "Melkein valmista!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Seuraava", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Ensimmäisen synkronoinnin määritys", - "select": "Valitse", - "gnome_oa_section_desc": "Valitse haluamasi pilvipalvelu kuten Google, Microsoft 365 tai Nextcloud.", - "open_wiki": "Avaa sovelluksen wiki", - "gnome_oa_settings": "1. Avaa järjestelmän asetukset", - "gnome_oa_chooser": "3. Napsauta Seuraava-painiketta ja valitse luotu kansio pilvestä", - "save_without_archive": "Tallenna kokoonpano luomatta arkistoa", - "pwd_for_encryption": "Salasana salausta varten", - "manual_saving": "Manuaalinen tallennus", - "import_from_folder": "Tuo kansiosta", - "syncthing_folder": "Käytä Syncthing-kansiota sen sijaan", - "remember_password": "Muista salasana", - "password_store_err": "Salasanaa ei kirjoitettu, tai se oli väärin. Jatkaminen ei ole mahdollista.", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/fr.json b/translations/fr.json deleted file mode 100644 index 35f4ae5b..00000000 --- a/translations/fr.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "À propos", - "unsuppurted_env_desc": "Votre environnements de bureau n'est pas compatible \nVeuillez utiliser l'un de ces environnements : {}.", - "save_config": "Sauvegarder la configuration actuelle", - "import_config": "Importer la configuration sauvegardée", - "set_filename": "Définir le nom du fichier", - "config_saved": "La configuration a été enregistrée !", - "open_folder": "Ouvrir le dossier", - "cancel": "Annuler", - "savedesktop_f": "Fichiers Save Desktop", - "config_imported": "La configuration a été appliquée !", - "logout": "Fermer la session", - "please_wait": "Veuillez patienter …", - "summary": "Sauvegarder la configuration de votre bureau", - "description": "Save Desktop vous permet de sauvegarder votre configuration actuelle (thèmes, icônes, fonds d'écran, tous les paramètres de l'environnement de bureau, les extensions, en un seul clic.", - "translator_credits": "Lien github des traducteurs", - "periodic_saving": "Sauvegarde périodique", - "periodic_saving_desc": "Les modifications ne prendront effet qu'après la prochaine connexion", - "never": "Jamais", - "daily": "Journalier", - "weekly": "Hebdomadaire", - "monthly": "Mensuel", - "import_from_file": "Importer à partir d'un fichier", - "save": "Sauvegarder", - "apply": "Appliquer", - "learn_more": "En savoir plus", - "save_installed_flatpaks": "Applications Flatpak", - "pb_folder": "Répertoire de sauvegarde périodique", - "set_pb_folder_tooltip": "Sélectionner un répertoire personnalisé pour la sauvegarde périodique", - "set_another": "Sélectionner un autre dossier", - "icons": "Icônes", - "import_title": "Importation", - "filename_format": "Format du nom de fichier", - "reset_button": "Réinitialisation aux valeurs par défaut", - "items_desc": "Ces paramètres s'appliquent également à l'enregistrement périodique", - "themes": "Thèmes", - "items_for_archive": "Éléments à inclure dans l'archive de configuration", - "fonts": "Polices de caractères", - "backgrounds": "Fonds d'écran", - "sync": "Synchroniser", - "sync_desc": "Synchroniser la configuration de votre environnement de bureau avec les autres ordinateurs du réseau.", - "set_up_sync_file": "Configurer le fichier de synchronisation", - "periodic_sync": "Synchronisation périodique", - "manually": "Manuellement", - "m_sync_desc": "Désormais, vous pouvez synchroniser la configuration à partir du menu de la barre d'en-tête", - "periodic_saving_file": "Fichier pour l'enregistrement périodique", - "user_data_flatpak": "Données utilisateur des applications Flatpak installées", - "keyboard_shortcuts": "Raccourcis clavier", - "quit": "Quitter", - "extensions": "Extensions", - "sync_manually": "Synchroniser manuellement", - "list": "Liste des applications Flatpak installées", - "desktop_folder": "Bureau", - "flatpaks_data_tittle": "Sélection des données des applications Flatpak", - "importing_config_status": "Import de la configuration ...\nImport de la configuration à partir de : {}\n", - "saving_config_status": "Enregistrement de la configuration ...\nLa configuration de votre environnement de bureau sera enregistrée dans :\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nVous pouvez vous déconnecter du système pour que les changements prennent effet, ou revenir à la page précédente et vous déconnecter plus tard.\n", - "back_to_page": "Revenir à la page précédente", - "config_saved_desc": "{}\nVous pouvez maintenant consulter l'archive contenant la configuration de votre environnement de bureau, ou revenir à la page précédente.\n", - "pb_interval": "Intervalle", - "archive_encryption": "Chiffrement de l'archive", - "archive_encryption_desc": "Lors de la sauvegarde manuelle de la configuration, il vous sera demandé de créer un mot de passe. Cette option permet d'améliorer la sécurité de vos données lorsque la configuration est enregistrée sur un support de stockage amovible.", - "create_pwd_desc": "Veuillez créer un nouveau mot de passe. Le nouveau mot de passe doit contenir au moins 12 caractères avec au moins une majuscule, au moins une minuscule et au moins un caractère spécial.", - "password_entry": "Mot de passe", - "more_options": "Plus d'options", - "check_pwd_desc": "Veuillez saisir ci-dessous le mot de passe permettant de déverrouiller l'archive qui contient votre configuration. En cas d'oubli du mot de passe, vous ne serez pas en mesure d'ouvrir l'archive contenant votre configuration et votre configuration ne pourra donc pas être importée.", - "check_pwd_title": "Déverrouiller l'archive avec un mot de passe", - "create_pwd_title": "Créer un nouveau mot de passe", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "Une erreur est survenue", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generate Password", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "open_wiki": "Open the application wiki", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "gnome_oa_settings": "1. Open the system settings", - "pwd_for_encryption": "Password for encryption", - "save_without_archive": "Save the configuration without creating an archive", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "remember_password": "Remember Password", - "syncthing_folder": "Use Syncthing folder instead", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "import_from_folder": "Import from folder", - "manual_saving": "Manual saving", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/hi.json b/translations/hi.json deleted file mode 100644 index 44203d76..00000000 --- a/translations/hi.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "ऐप के बारे में", - "unsuppurted_env_desc": "आपके पास एक असमर्थित परिवेश स्थापित है। \nकृपया इनमें से किसी एक परिवेश का उपयोग करें: {}।", - "save_config": "वर्तमान विन्यास सहेजें", - "import_config": "सहेजा गया विन्यास आयात करें", - "set_filename": "फाइल नाम निर्धारित करें", - "saving_config_status": "विन्यास सहेजा जा रहा है …\nआपके डेस्कटॉप वातावरण का विन्यास इसमें सहेजा जाएगा:\n {}/{}.sd.tar.gz\n", - "config_saved": "विन्यास सहेजा गया है!", - "config_saved_desc": "{}\nअब आप अपने डेस्कटॉप वातावरण के विन्यास के साथ संग्रह देख सकते हैं, या पिछले पृष्ठ पर लौट सकते हैं।\n", - "open_folder": "फोल्डर खोलें", - "cancel": "रद्द करें", - "savedesktop_f": "Save Desktop फाइलें", - "importing_config_status": "विन्यास आयात किया जा रहा है...\nयहाँ से विन्यास आयात किया जा रहा है:\n{}\n", - "config_imported": "विन्यास लागू कर दिया गया है!", - "config_imported_desc": "{}\nपरिवर्तनों को प्रभावी करने के लिए आप सिस्टम से लॉग आउट कर सकते हैं, या पिछले पृष्ठ पर वापस जा सकते हैं और बाद में लॉग आउट कर सकते हैं।\n", - "back_to_page": "पिछले पृष्ठ पर जाएं", - "logout": "लॉग आउट", - "please_wait": "कृपया प्रतीक्षा करें …", - "save": "सहेजें", - "import_title": "आयात", - "apply": "लागू करें", - "import_from_file": "फाइल से आयात", - "periodic_saving": "आवधिक सहेजना", - "periodic_saving_desc": "परिवर्तन अगले लॉगिन के बाद ही प्रभावी होंगे", - "never": "कभी नहीं", - "daily": "दैनिक", - "weekly": "साप्ताहिक", - "monthly": "मासिक", - "manually": "हाथ से", - "learn_more": "और अधिक जानें", - "pb_folder": "आवधिक सहेजने के लिए फोल्डर", - "set_pb_folder_tooltip": "आवधिक सहेजने के लिए तदनुकूल फोल्डर चुनें", - "set_another": "कोई अन्य फोल्डर चुनें", - "filename_format": "फाइल नाम प्रारूप", - "reset_button": "तयशुदा पर रीसेट", - "items_for_archive": "विन्यास पुरालेख में शामिल करने योग्य आइटम", - "items_desc": "ये सेटिंग्स आवधिक सहेजने पर भी लागू होती हैं", - "icons": "आइकन", - "themes": "थीम", - "fonts": "फॉन्ट", - "backgrounds": "पृष्ठभूमि", - "extensions": "विस्तार", - "desktop_folder": "डेस्कटॉप", - "save_installed_flatpaks": "फ्लैटपैक ऐप्स", - "list": "स्थापित फ्लैटपैक ऐप्स की सूची", - "user_data_flatpak": "स्थापित फ्लैटपैक ऐप्स का उपयोक्ता डेटा", - "flatpaks_data_tittle": "फ्लैटपैक ऐप्स डेटा चयन", - "sync": "समन्वयन", - "sync_desc": "नेटवर्क में अन्य कंप्यूटरों के साथ अपने डेस्कटॉप वातावरण विन्यास को समन्वयित करें।", - "set_up_sync_file": "समन्वयन फाइल निर्धारित करें", - "periodic_saving_file": "आवधिक फाइल सहेजना", - "periodic_sync": "आवधिक समन्वयन", - "m_sync_desc": "अब से, आप शीर्षलेख पट्टी में मेनू से विन्यास को समन्वयित कर सकते हैं", - "sync_manually": "हस्तचालित रूप से समन्वयित करें", - "quit": "छोड़ें", - "keyboard_shortcuts": "कीबोर्ड शॉर्टकट", - "summary": "अपना डेस्कटॉप विन्यास सहेजें", - "description": "Save Desktop आपको एक क्लिक से अपने वर्तमान विन्यास (थीम, आइकन, वॉलपेपर, सभी डेस्कटॉप वातावरण सेटिंग्स, एक्सटेंशन इत्यादि) को सहेजने देता है।", - "translator_credits": "Scrambled777 ", - "archive_encryption": "पुरालेख कूटलेखन", - "archive_encryption_desc": "विन्यास को हस्तचालित रूप से सहेजते समय, आपको पासवर्ड बनाने के लिए कहा जाएगा। यह आपके डेटा की बेहतर सुरक्षा के लिए पोर्टेबल मीडिया में विन्यास को सहेजते समय उपयोगी है।", - "more_options": "अधिक विकल्प", - "pb_interval": "अंतराल", - "create_pwd_desc": "कृपया अपने पुरालेख के लिए नया पासवर्ड बनाएं। मानदंड में कम से कम 12 अक्षर, एक बड़ा अक्षर, एक छोटा अक्षर और एक विशेष वर्ण शामिल है।", - "password_entry": "पासवर्ड", - "check_pwd_desc": "अपने विन्यास के साथ पुरालेख को खोलने के लिए नीचे दिया गया पासवर्ड दर्ज करें। यदि आप इसे भूल गए हैं, तो आप पुरालेख को अनज़िप नहीं कर पाएंगे और अपना विन्यास आयात करना शुरू नहीं कर पाएंगे।", - "check_pwd_title": "पासवर्ड से पुरालेख को खोलें", - "create_pwd_title": "नया पासवर्ड बनाएं", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist।", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generate Password", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer।", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file।", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu।", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com।", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "select": "Select", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup।", - "initial_setup": "Initial synchronization setup", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud।", - "open_wiki": "Open the application wiki", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "save_without_archive": "Save the configuration without creating an archive", - "syncthing_folder": "Use Syncthing folder instead", - "remember_password": "Remember Password", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue।", - "import_from_folder": "Import from folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization।" -} diff --git a/translations/hu.json b/translations/hu.json deleted file mode 100644 index dbd365a6..00000000 --- a/translations/hu.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Névjegy", - "unsuppurted_env_desc": "Az általad használt környezet nem támogatott. \nKérlek használd a következők valamelyikét: {}.", - "save_config": "Jelenlegi konfiguráció mentése", - "import_config": "Mentett konfiguráció importálása", - "set_filename": "Fájlnév megadása", - "config_saved": "A konfiguráció elmentve!", - "open_folder": "A mappa megnyitása", - "cancel": "Mégsem", - "savedesktop_f": "Save Desktop fájlok", - "config_imported": "A konfigurációt alkalmaztuk!", - "logout": "Kijelentkezés", - "please_wait": "Kérlek várj …", - "summary": "Mentsd el az asztali környezeted jelenlegi konfigurációját", - "description": "Save Desktop lehetővé teszi, hogy egy gombnyomással elmentsd a jelenlegi konfigurációdat (témákat, ikonokat, háttereket, az összes asztali környezeti beállítást, kiegészítéseket, stb.).", - "translator_credits": "Daniel Uhrinyi https://github.com/danieluhrinyi", - "periodic_saving": "Időszakos mentés", - "periodic_saving_desc": "A változtatások csak a következő belépéskor lépnek érvénybe", - "never": "Soha", - "daily": "Naponta", - "weekly": "Hetente", - "monthly": "Havonta", - "import_from_file": "Importálás fájlból", - "save": "Mentés", - "apply": "Alkalmazás", - "learn_more": "Tudj meg többet", - "save_installed_flatpaks": "Flatpak alkalmazások", - "pb_folder": "Időszakos mentések mappája", - "set_pb_folder_tooltip": "Válassz egyéni mappát az időszakos mentéshez", - "set_another": "Válassz másik mappát", - "import_title": "Importálás", - "items_for_archive": "A konfigurációs archívumba felveendő elemek", - "filename_format": "Fájlnév formátum", - "reset_button": "Alaphelyzetbe állítás", - "items_desc": "Ezek a beállítások érvényesek az időszakos mentésekre is", - "icons": "Ikonok", - "themes": "Témák", - "fonts": "Betűtípusok", - "backgrounds": "Hátterek", - "sync": "Szinkronizálás", - "sync_desc": "Szinkronizálja az asztali környezet konfigurációját a hálózat többi számítógépével.", - "set_up_sync_file": "Szinkronizálási fájl beállítása", - "periodic_saving_file": "Szinkronizálási fájl", - "periodic_sync": "Időszakos szinkronizálás", - "manually": "Manuálisan", - "m_sync_desc": "Ezentúl szinkronizálhatod a konfigurációt a fejlécsáv menüjéből", - "user_data_flatpak": "Telepített Flatpak alkalmazások felhasználói adatai", - "keyboard_shortcuts": "Keyboard shortcuts", - "quit": "Quit", - "extensions": "Extensions", - "sync_manually": "Synchronise manually", - "list": "List of installed Flatpak apps", - "desktop_folder": "Desktop", - "saving_config_status": "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "flatpaks_data_tittle": "Flatpak apps data selection", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Back to previous page", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "pb_interval": "Interval", - "archive_encryption": "Archive encryption", - "create_pwd_title": "Create new password", - "password_entry": "Password", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "more_options": "More options", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "gen_password": "Generate Password", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "open_wiki": "Open the application wiki", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "remember_password": "Remember Password", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "import_from_folder": "Import from folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/ia.json b/translations/ia.json deleted file mode 100644 index baf44907..00000000 --- a/translations/ia.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "save": "Save", - "save_config": "Save the current configuration", - "set_filename": "Set the file name", - "items_for_archive": "Items to include in the configuration archive", - "items_desc": "These settings also apply to periodic saving", - "icons": "Icons", - "themes": "Themes", - "fonts": "Fonts", - "backgrounds": "Backgrounds", - "extensions": "Extensions", - "desktop_folder": "Desktop", - "save_installed_flatpaks": "Flatpak apps", - "list": "List of installed Flatpak apps", - "user_data_flatpak": "User data of installed Flatpak apps", - "flatpaks_data_tittle": "Flatpak apps data selection", - "more_options": "More options", - "periodic_saving": "Periodic saving", - "periodic_saving_desc": "Changes will only take effect after the next login", - "pb_interval": "Interval", - "never": "Never", - "daily": "Daily", - "weekly": "Weekly", - "monthly": "Monthly", - "manually": "Manually", - "learn_more": "Learn more", - "pb_folder": "Folder for periodic saving", - "set_pb_folder_tooltip": "Choose custom folder for periodic saving", - "set_another": "Choose another folder", - "filename_format": "File name format", - "reset_button": "Reset to default", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "archive_encryption": "Archive encryption", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "save_without_archive": "Save the configuration without creating an archive", - "create_pwd_title": "Create new password", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "gen_password": "Generate Password", - "password_entry": "Password", - "check_pwd_title": "Unlock the archive with a password", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization.", - "remember_password": "Remember Password", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "saving_config_status": "Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "config_saved": "Configuration has been saved!", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "open_folder": "Open the folder", - "import_title": "Import", - "import_config": "Import saved configuration", - "import_from_file": "Import from file", - "import_from_folder": "Import from folder", - "cancel": "Cancel", - "savedesktop_f": "Save Desktop files", - "importing_config_status": "Importing configuration …\nImporting configuration from:\n{}\n", - "config_imported": "The configuration has been applied!", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Back to previous page", - "logout": "Log Out", - "err_occured": "An error occurred", - "apply": "Apply", - "sync": "Sync", - "sync_desc": "Sync your desktop environment configuration with other computers in the network.", - "initial_setup": "Initial synchronization setup", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_section": "2. Go to the Online Accounts section", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "syncthing_folder": "Use Syncthing folder instead", - "almost_done_title": "Almost done!", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "select": "Select", - "next": "Next", - "set_up_sync_file": "Set up the sync file", - "periodic_saving_file": "Periodic saving file", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "create": "Create", - "please_wait": "Please wait …", - "change": "Change", - "connect_cloud_storage": "Connect to the cloud storage", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "select_cloud_folder_btn": "Select the cloud drive folder", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "periodic_sync": "Periodic synchronization", - "bidirectional_sync": "Bidirectional synchronization", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "m_sync_desc": "From now on, you can sync the config from the menu in the header bar", - "sync_manually": "Synchronise manually", - "keyboard_shortcuts": "Keyboard shortcuts", - "open_wiki": "Open the application wiki", - "quit": "Quit", - "about_app": "About app", - "unsuppurted_env_desc": "You have an unsupported environment installed. \nPlease use one of these environments: {}.", - "summary": "Save your desktop configuration", - "description": "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click.", - "translator_credits": "Translator github-link" -} diff --git a/translations/id.json b/translations/id.json deleted file mode 100644 index c220fbfb..00000000 --- a/translations/id.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Tentang aplikasi", - "unsuppurted_env_desc": "Anda telah menginstal lingkungan yang tidak didukung. \nSilakan gunakan salah satu lingkungan berikut: {}.", - "save_config": "Menyimpan konfigurasi saat ini", - "import_config": "Mengimpor konfigurasi yang tersimpan", - "set_filename": "Tetapkan nama file", - "config_saved": "Konfigurasi telah tersimpan!", - "open_folder": "Membuka folder", - "cancel": "Batal", - "savedesktop_f": "SimpanFile desktop", - "config_imported": "Konfigurasi ini telah diterapkan!", - "logout": "Keluar Sesi", - "please_wait": "Harap tunggu…", - "summary": "Simpan konfigurasi lingkungan desktop Anda saat ini", - "description": "Save Desktop memungkinkan Anda menyimpan konfigurasi saat ini (tema, ikon, wallpaper, semua pengaturan lingkungan desktop, ekstensi, dll.) dengan satu klik.", - "translator_credits": "Penerjemah github-tautan", - "periodic_saving": "Simpan berkala", - "periodic_saving_desc": "Perubahan hanya akan berlaku setelah login berikutnya", - "never": "Tidak Pernah", - "daily": "Setiap hari", - "weekly": "Mingguan", - "monthly": "Bulanan", - "import_from_file": "Impor dari file", - "save": "Simpan", - "apply": "Terapkan", - "learn_more": "Pelajari lebih lanjut", - "save_installed_flatpaks": "Aplikasi flatpak", - "pb_folder": "Folder untuk penyimpanan berkala", - "set_pb_folder_tooltip": "Pilih folder khusus untuk penyimpanan berkala", - "set_another": "Pilih folder lain", - "filename_format": "Format nama file", - "import_title": "Impor", - "reset_button": "Setel ulang ke default", - "items_for_archive": "Item yang harus dimasukkan dalam arsip konfigurasi", - "items_desc": "Pengaturan ini juga berlaku untuk penyimpanan berkala", - "icons": "Ikon", - "themes": "Tema", - "fonts": "Font", - "backgrounds": "Latar Belakang", - "sync": "Sinkronisasi", - "sync_desc": "Menyinkronkan konfigurasi lingkungan desktop Anda dengan komputer lain dalam jaringan.", - "set_up_sync_file": "Atur file sinkronisasi", - "periodic_sync": "Sinkronisasi berkala", - "manually": "Manual", - "m_sync_desc": "Mulai sekarang, Anda dapat menyinkronkan konfigurasi dari menu di bilah header", - "periodic_saving_file": "Periodic saving file", - "user_data_flatpak": "User data of installed Flatpak apps", - "keyboard_shortcuts": "Keyboard shortcuts", - "quit": "Quit", - "extensions": "Extensions", - "sync_manually": "Synchronise manually", - "list": "List of installed Flatpak apps", - "desktop_folder": "Desktop", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "saving_config_status": "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "back_to_page": "Back to previous page", - "flatpaks_data_tittle": "Flatpak apps data selection", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "archive_encryption": "Archive encryption", - "password_entry": "Password", - "pb_interval": "Interval", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "more_options": "More options", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "create_pwd_title": "Create new password", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generate Password", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "open_wiki": "Open the application wiki", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "save_without_archive": "Save the configuration without creating an archive", - "remember_password": "Remember Password", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "syncthing_folder": "Use Syncthing folder instead", - "import_from_folder": "Import from folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/it.json b/translations/it.json deleted file mode 100644 index 1f2ad1fb..00000000 --- a/translations/it.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Informazioni sull'app", - "unsuppurted_env_desc": "Hai installato un ambiente non supportato.\nSi prega di utilizzare uno di questi ambienti: {}.", - "save_config": "Salva la configurazione corrente", - "import_config": "Importa la configurazione salvata", - "set_filename": "Impostare il nome file", - "config_saved": "La configurazione è stata salvata!", - "open_folder": "Apri la cartella", - "cancel": "Cancella", - "savedesktop_f": "Salva i file del desktop", - "config_imported": "La configurazione è stata applicata!", - "logout": "Disconnettersi", - "please_wait": "Attendere prego …", - "summary": "Salva la configurazione del tuo desktop", - "description": "Desideri salvare la tua configurazione corrente inclusi temi, icone, sfondi, tutte le impostazioni dell'ambiente desktop, estensioni e così via? Save Desktop può aiutarti in questo. Basta un clic e hai la tua configurazione salvata.", - "translator_credits": "Albano Battistella https://github.com/albanobattistella", - "periodic_saving": "Salvataggio periodico", - "periodic_saving_desc": "Le modifiche avranno effetto solo dopo il prossimo login", - "never": "Mai", - "daily": "Giornaliero", - "weekly": "Settimanale", - "monthly": "Mensile", - "save": "Salva", - "import_from_file": "Importa da file", - "apply": "Applica", - "learn_more": "Ulteriori informazioni", - "save_installed_flatpaks": "App flatpak", - "pb_folder": "Cartella per il salvataggio periodico", - "set_pb_folder_tooltip": "Scegli la cartella personalizzata per il salvataggio periodico", - "set_another": "Scegli un'altra cartella", - "backgrounds": "Sfondi", - "themes": "Temi", - "fonts": "Font", - "import_title": "Importa", - "filename_format": "Formato del nome del file", - "reset_button": "Ripristina le impostazioni predefinite", - "items_for_archive": "Elementi da includere nell'archivio di configurazione", - "items_desc": "Queste impostazioni si applicano anche al salvataggio periodico", - "icons": "Icone", - "sync": "Sincronizzazione", - "sync_desc": "Sincronizza la configurazione del tuo ambiente desktop con altri computer nella rete.", - "set_up_sync_file": "Imposta il file di sincronizzazione", - "periodic_saving_file": "File di salvataggio periodico", - "periodic_sync": "Sincronizzazione periodica", - "manually": "Manualmente", - "m_sync_desc": "D'ora in poi, puoi sincronizzare la configurazione dal menu nella barra dell'intestazione", - "user_data_flatpak": "Dati utente delle app Flatpak installate", - "extensions": "Estensioni", - "keyboard_shortcuts": "Scorciatoie da tastiera", - "quit": "Esci", - "sync_manually": "Sincronizza manualmente", - "list": "Elenco delle app Flatpak installate", - "desktop_folder": "Desktop", - "flatpaks_data_tittle": "Selezione dei dati delle app Flatpak", - "importing_config_status": "Importazione della configurazione…\nImportazione configurazione da:\n{}\n", - "saving_config_status": "Salvataggio della configurazione…\nLa configurazione del tuo ambiente desktop verrà salvata in:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nÈ possibile disconnettersi dal sistema per rendere effettive le modifiche oppure tornare alla pagina precedente e disconnettersi in seguito.\n", - "back_to_page": "Ritorno alla pagina precedente", - "config_saved_desc": "{}\nOra puoi visualizzare l'archivio con la configurazione del tuo ambiente desktop oppure tornare alla pagina precedente.\n", - "archive_encryption": "Cifratura dell'archivio", - "password_entry": "Password", - "pb_interval": "Intervallo", - "archive_encryption_desc": "Quando salvi manualmente la configurazione, ti verrà richiesto di creare una password. Ciò è utile quando si salva la configurazione su un supporto portatile per una migliore sicurezza dei dati.", - "create_pwd_desc": "Crea una nuova password per il tuo archivio. I criteri includono una lunghezza di almeno 12 caratteri, una lettera maiuscola, una lettera minuscola e un carattere speciale.", - "more_options": "Ulteriori opzioni", - "check_pwd_desc": "Inserisci la password qui sotto per sbloccare l'archivio con la tua configurazione. Se l'hai dimenticata, non potrai decomprimere l'archivio e iniziare a importare la tua configurazione.", - "check_pwd_title": "Sblocca l'archivio con una password", - "create_pwd_title": "Crea una nuova password", - "select_cloud_folder_btn": "Seleziona la cartella dell'unità cloud", - "err_occured": "Si è verificato un errore", - "create": "Crea", - "connect_cloud_storage_desc": "Su un altro computer, apri l'app Save Desktop e, in questa pagina, clicca sul pulsante \"Imposta il file di sincronizzazione\" e fai le impostazioni necessarie. Su questo computer, seleziona la cartella che hai sincronizzato con il tuo archivio cloud ed hai anche salvato lo stesso file di salvataggio periodico.", - "bidirectional_sync": "Sincronizzazione bidirezionale", - "connect_cloud_storage": "Connettiti allo storage cloud", - "change": "Modifica", - "periodic_saving_file_err": "Il file di salvataggio periodico non esiste.", - "cloud_folder_err": "Non hai selezionato la cartella dell'unità cloud!", - "gen_password": "Genera Password", - "bidirectional_sync_desc": "Se abilitata e se sono selezionati l'intervallo di sincronizzazione e la cartella dell'unità cloud, le informazioni di salvataggio periodico (intervallo, cartella e nome file) dall'altro computer con sincronizzazione impostata su sincronizza, vengono copiate su questo computer.", - "gnome_oa_section": "2. Vai alla sezione Account online", - "almost_done_title": "Quasi finito!", - "open_wiki": "Apri il wiki dell'applicazione", - "rclone_copy_cmd": "Ora copia il comando per configurare Rclone utilizzando il pulsante laterale e apri l'app terminale utilizzando la scorciatoia da tastiera Ctrl+Alt+T o trovandola nel menu delle app.", - "rclone_cmd_copied_msg": "Una volta terminata la configurazione di Rclone utilizzando il comando fornito, fare clic sul pulsante \"Applica\"", - "gnome_oa_chooser_desc": "La cartella dell'unità cloud creata può essere trovata nel pannello laterale della finestra di dialogo di selezione file, nel seguente formato: nomeutente@servizio.com.", - "next": "Prossimo", - "rclone_intro_desc": "Per far funzionare correttamente la sincronizzazione, devi avere la cartella sincronizzata con il tuo servizio cloud tramite Rclone.\nInizia selezionando il servizio di unità cloud che utilizzi.", - "almost_done_desc": "Ora hai creato la cartella dell'unità cloud! Fai clic sul pulsante Avanti per completare la configurazione.", - "initial_setup": "Configurazione iniziale della sincronizzazione", - "select": "Seleziona", - "gnome_oa_section_desc": "In questa sezione seleziona il servizio cloud desiderato, ad esempio Google, Microsoft 365 o Nextcloud.", - "gnome_oa_settings": "1. Aprire le impostazioni di sistema", - "gnome_oa_chooser": "3. Fare clic sul pulsante Avanti e selezionare la cartella dell'unità cloud creata", - "save_without_archive": "Salvare la configurazione senza creare un archivio", - "pwd_for_encryption": "Password per la crittografia", - "remember_password": "Ricorda password", - "syncthing_folder": "Utilizzare invece la cartella Syncthing", - "password_store_err": "Password non inserita o errata. Impossibile continuare.", - "import_from_folder": "Importa dalla cartella", - "manual_saving": "Salvataggio manuale", - "enter_password_title": "Inserisci una password per sbloccare l'archivio e sincronizzare la configurazione", - "enter_password_desc": "È stato selezionato un archivio crittografato per la sincronizzazione tramite l'app Save Desktop. Inserisci la password qui sotto per sbloccarlo e avviare la sincronizzazione." -} diff --git a/translations/nb_NO.json b/translations/nb_NO.json deleted file mode 100644 index 39cbdf39..00000000 --- a/translations/nb_NO.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Om programmet", - "unsuppurted_env_desc": "Du har et ustøttet miljø installert. \nBruk ett av disse miljøene: {}.", - "save_config": "Lagre nåværende oppsett", - "import_config": "Importer lagret oppsett", - "set_filename": "Sett filnavn (uten mellomrom)", - "config_saved": "Oppsettet har blitt lagret.", - "open_folder": "Åpne mappen", - "cancel": "Avbryt", - "savedesktop_f": "Save Desktop-filer", - "config_imported": "Oppsettet har blitt anvendt.", - "logout": "Logg ut", - "please_wait": "Vent …", - "summary": "Lagre nåværende oppsett av skrivebordsmiljøet ditt", - "description": "Save Desktop lar deg lagre ditt nåværende oppsett (drakter, ikoner, bakgrunnsbilder, alle skrivebordsmiljøinnstillinger, utvidelser, osv.) med ett klikk.", - "translator_credits": "Allan Nordhøy https://github.com/comradekingu", - "periodic_saving": "Periodic saving", - "periodic_saving_desc": "Changes will only take effect after the next login", - "never": "Never", - "daily": "Daily", - "weekly": "Weekly", - "monthly": "Monthly", - "import_from_file": "Import from file", - "save": "Save", - "apply": "Apply", - "learn_more": "Learn more", - "save_installed_flatpaks": "Save installed Flatpak apps", - "pb_folder": "Folder for periodic saving", - "set_pb_folder_tooltip": "Choose custom folder for periodic saving", - "set_another": "Choose another folder", - "import_title": "Import", - "filename_format": "File name format", - "reset_button": "Reset to default", - "items_for_archive": "Items to include in the configuration archive", - "items_desc": "These settings also apply to periodic saving", - "icons": "Icons", - "themes": "Themes", - "fonts": "Fonts", - "backgrounds": "Backgrounds", - "sync": "Sync", - "sync_desc": "Sync your desktop environment configuration with other computers in the network.", - "set_up_sync_file": "Set up the sync file", - "periodic_sync": "Periodic synchronization", - "manually": "Manually", - "m_sync_desc": "From now on, you can sync the config from the menu in the header bar", - "periodic_saving_file": "Periodic saving file", - "user_data_flatpak": "User data of installed Flatpak apps", - "extensions": "Extensions", - "keyboard_shortcuts": "Keyboard shortcuts", - "quit": "Quit", - "sync_manually": "Synchronise manually", - "list": "List of installed Flatpak apps", - "desktop_folder": "Desktop", - "saving_config_status": "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Back to previous page", - "flatpaks_data_tittle": "Flatpak apps data selection", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "pb_interval": "Interval", - "archive_encryption": "Archive encryption", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "password_entry": "Password", - "more_options": "More options", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "create_pwd_title": "Create new password", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "gen_password": "Generate Password", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "open_wiki": "Open the application wiki", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "import_from_folder": "Import from folder", - "remember_password": "Remember Password", - "pwd_for_encryption": "Password for encryption", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/nl.json b/translations/nl.json deleted file mode 100644 index 1f53a09c..00000000 --- a/translations/nl.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Over de toepassing", - "unsuppurted_env_desc": "U maakt gebruik van een niet-ondersteunde werkomgeving. \nDe volgende werkomgevingen worden ondersteund: {}.", - "save_config": "Huidige voorkeuren opslaan", - "import_config": "Voorkeuren importeren", - "set_filename": "Geef het bestand een naam", - "config_saved": "De voorkeuren zijn opgeslagen!", - "open_folder": "Map openen", - "cancel": "Annuleren", - "savedesktop_f": "Save Desktop-bestanden", - "config_imported": "De voorkeuren zijn ingesteld!", - "logout": "Afmelden", - "please_wait": "Even geduld…", - "summary": "Sla de huidige voorkeuren van uw werkomgeving op", - "description": "Wilt u uw huidige voorkeuren (thema's, pictogrammen, bureaubladachtergronden, systeemvoorkeuren, uitbreidingen, etc.) opslaan? Save Desktop kan u hierbij helpen. Met slechts één muisklik wordt alles opgeslagen.", - "translator_credits": "https://github.com/Vistaus", - "periodic_saving": "Periodiek opslaan", - "periodic_saving_desc": "Meld u opnieuw aan om de wijzigingen toe te passen", - "never": "Nooit", - "daily": "Iedere dag", - "weekly": "Iedere week", - "monthly": "Iedere maand", - "import_from_file": "Importeren uit bestand", - "save": "Opslaan", - "apply": "Toepassen", - "learn_more": "Meer informatie", - "save_installed_flatpaks": "Flatpaktoepassingen", - "pb_folder": "Periodieke-opslagmap", - "set_pb_folder_tooltip": "Kies een map waarin periodiek reservekopieën dienen te worden bewaard", - "set_another": "Kies een andere map", - "import_title": "Importeren", - "filename_format": "Bestandsnaamopmaak", - "reset_button": "Standaardwaarden", - "items_for_archive": "Items om op te nemen in het voorkeurenarchief", - "items_desc": "Deze voorkeuren zijn ook van toepassing op periodiek opslaan", - "icons": "Pictogrammen", - "themes": "Thema's", - "fonts": "Lettertypen", - "backgrounds": "Achtergronden", - "sync": "Synchronisatie", - "sync_desc": "Synchroniseer uw werkomgevingsvoorkeuren met andere computers op het netwerk.", - "set_up_sync_file": "Synchronisatiebestand instellen", - "periodic_sync": "Periodieke synchronisatie", - "manually": "Handmatig", - "m_sync_desc": "Voortaan kunt u de voorkeuren synchroniseren middels het menu op de kopbalk", - "periodic_saving_file": "Periodiek opgeslagen bestand", - "user_data_flatpak": "Gebruikersgegevens van geïnstalleerde Flatpaktoepassingen", - "keyboard_shortcuts": "Keyboard shortcuts", - "quit": "Quit", - "extensions": "Extensions", - "sync_manually": "Synchronise manually", - "list": "List of installed Flatpak apps", - "desktop_folder": "Desktop", - "flatpaks_data_tittle": "Flatpak apps data selection", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "saving_config_status": "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Back to previous page", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "pb_interval": "Interval", - "archive_encryption": "Archive encryption", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "password_entry": "Password", - "more_options": "More options", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "create_pwd_title": "Create new password", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "change": "Change", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generate Password", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "open_wiki": "Open the application wiki", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "remember_password": "Remember Password", - "import_from_folder": "Import from folder", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/pl.json b/translations/pl.json deleted file mode 100644 index a91c82e3..00000000 --- a/translations/pl.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "O aplikacji", - "unsuppurted_env_desc": "You have an unsupported environment installed. \nPlease use one of these environments: {}.", - "save_config": "Zapisz obecną konfigurację", - "import_config": "Importuj zapisaną konfigurację", - "set_filename": "Ustaw nazwę pliku", - "config_saved": "Konfiguracja została zapisana!", - "open_folder": "Otwórz katalog", - "cancel": "Anuluj", - "savedesktop_f": "Pliki Save Desktop", - "config_imported": "The configuration has been applied!", - "logout": "Wyloguj się", - "please_wait": "Proszę czekać…", - "save": "Zapisz", - "import_title": "Importuj", - "apply": "Zastosuj", - "import_from_file": "Importuj z pliku", - "periodic_saving": "Periodic saving", - "periodic_saving_desc": "Changes will only take effect after the next login", - "never": "Nigdy", - "daily": "Codziennie", - "weekly": "Co tydzień", - "monthly": "Co miesiąc", - "manually": "Ręcznie", - "learn_more": "Dowiedz się więcej", - "pb_folder": "Folder for periodic saving", - "set_pb_folder_tooltip": "Choose custom folder for periodic saving", - "set_another": "Wybierz inny katalog", - "filename_format": "Format nazwy pliku", - "reset_button": "Przywróć ustawienia domyślne", - "items_for_archive": "Items to include in the configuration archive", - "items_desc": "These settings also apply to periodic saving", - "icons": "Ikony", - "themes": "Motywy", - "fonts": "Czcionki", - "backgrounds": "Tapety", - "extensions": "Rozszerzenia", - "desktop_folder": "Pulpit", - "save_installed_flatpaks": "Aplikacje Flatpak", - "list": "List of installed Flatpak apps", - "user_data_flatpak": "User data of installed Flatpak apps", - "sync": "Synchronizacja", - "sync_desc": "Sync your desktop environment configuration with other computers in the network.", - "set_up_sync_file": "Set up the sync file", - "periodic_saving_file": "Periodic saving file", - "periodic_sync": "Periodic synchronization", - "m_sync_desc": "From now on, you can sync the config from the menu in the header bar", - "sync_manually": "Synchronizuj ręcznie", - "quit": "Wyjdź", - "keyboard_shortcuts": "Skróty klawiszowe", - "summary": "Zapisz konfigurację swojego pulpitu", - "description": "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click.", - "translator_credits": "Eryk Michalak gnu.ewm@protonmail.com", - "importing_config_status": "Importing configuration ...\nImporting configuration from: {}\n", - "saving_config_status": "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n", - "back_to_page": "Wróć do poprzedniej strony", - "flatpaks_data_tittle": "Flatpak apps data selection", - "config_saved_desc": "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n", - "pb_interval": "Interval", - "archive_encryption": "Archive encryption", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "password_entry": "Hasło", - "more_options": "Więcej opcji", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "create_pwd_title": "Utwórz nowe hasło", - "create": "Utwórz", - "select_cloud_folder_btn": "Select the cloud drive folder", - "change": "Zmień", - "err_occured": "Wystąpił błąd", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generuj hasło", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "almost_done_title": "Almost done!", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_section": "2. Go to the Online Accounts section", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Dalej", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Wybierz", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "open_wiki": "Open the application wiki", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "remember_password": "Zapamiętaj hasło", - "import_from_folder": "Importuj z katalogu", - "syncthing_folder": "Use Syncthing folder instead", - "save_without_archive": "Save the configuration without creating an archive", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "pwd_for_encryption": "Hasło szyfrowania", - "manual_saving": "Ręczne zapisywanie", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/pt.json b/translations/pt.json deleted file mode 100644 index a28917b7..00000000 --- a/translations/pt.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Sobre o app", - "unsuppurted_env_desc": "Tem instalado um ambiente sem suporte. \nPor favor, use um desses ambientes: {}.", - "save_config": "Gravar configuração atual", - "import_config": "Importar configuração gravada", - "set_filename": "Definir o nome do ficheiro", - "saving_config_status": "A gravar a configuração …\nA configuração do seu ambiente de desktop será gravada em:\n{}/{}.sd.tar.gz\n", - "config_saved": "A configuração foi gravada!", - "config_saved_desc": "{}\nAgora pode visualizar o arquivo com a configuração do seu ambiente de desktop, ou retornar à página anterior.\n", - "open_folder": "Abrir a pasta", - "cancel": "Cancelar", - "savedesktop_f": "Ficheiros Save Desktop", - "importing_config_status": "Importando configuração ...\nImportando configuração de:\n{}\n", - "config_imported": "A configuração foi aplicada!", - "config_imported_desc": "{}\nPode encerrar a sessão para que as alterações tenham efeito, ou voltar para a página anterior e encerrar mais tarde.\n", - "back_to_page": "Voltar para a página anterior", - "logout": "Sair", - "please_wait": "Por favor, aguarde…", - "save": "Gravar", - "import_title": "Importar", - "apply": "Aplicar", - "import_from_file": "Importar do ficheiro", - "periodic_saving": "Gravação periódica", - "periodic_saving_desc": "As alterações só terão efeito após o próximo login", - "never": "Nunca", - "daily": "Diariamente", - "weekly": "Semanalmente", - "monthly": "Mensalmente", - "manually": "Manualmente", - "learn_more": "Aprender mais", - "pb_folder": "Pasta para gravação periódica", - "set_pb_folder_tooltip": "Escolha uma pasta para gravar periódicamente", - "set_another": "Escolha outra pasta", - "filename_format": "Formato do nome do ficheiro", - "reset_button": "Restaurar para o padrão", - "items_for_archive": "Itens à serem incluídos no arquivo de configuração", - "items_desc": "Estas configurações também aplicam-se à gravação periódica", - "icons": "Ícones", - "themes": "Temas", - "fonts": "Fontes", - "backgrounds": "Papéis de parede", - "extensions": "Extensões", - "desktop_folder": "Área de Trabalho", - "save_installed_flatpaks": "Apps Flatpak", - "list": "Lista de apps Flatpak instalados", - "user_data_flatpak": "Dados do utilizador de apps Flatpak instalados", - "flatpaks_data_tittle": "Seleção de dados de apps Flatpak", - "sync": "Sincronizar", - "sync_desc": "Sincronize a configuração do seu ambiente de desktop com outros computadores na rede.", - "set_up_sync_file": "Configure o ficheiro de sincronização", - "periodic_saving_file": "Ficheiro de gravação periódica", - "periodic_sync": "Sincronização periódica", - "m_sync_desc": "De agora em diante, pode sincronizar a configuração no menu da barra de cabeçalho", - "sync_manually": "Sincronizar manualmente", - "quit": "Encerrar", - "keyboard_shortcuts": "Atalhos do teclado", - "summary": "Grave a sua configuração da área de trabalho", - "description": "Save Desktop permite gravar a sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um clique.", - "translator_credits": "Trandutor github-link", - "archive_encryption": "Archive encryption", - "password_entry": "Password", - "create_pwd_title": "Create new password", - "pb_interval": "Interval", - "archive_encryption_desc": "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data.", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "more_options": "More options", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "Unlock the archive with a password", - "select_cloud_folder_btn": "Select the cloud drive folder", - "err_occured": "An error occurred", - "create": "Create", - "change": "Change", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "Connect to the cloud storage", - "cloud_folder_err": "You didn't select the cloud drive folder!", - "gen_password": "Generate Password", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "gnome_oa_section": "2. Go to the Online Accounts section", - "almost_done_title": "Almost done!", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "next": "Next", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "almost_done_desc": "You've now created the cloud drive folder! Click on the Next button to complete the setup.", - "initial_setup": "Initial synchronization setup", - "select": "Select", - "gnome_oa_section_desc": "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud.", - "open_wiki": "Open the application wiki", - "gnome_oa_settings": "1. Open the system settings", - "gnome_oa_chooser": "3. Click on the Next button and select the created cloud drive folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "save_without_archive": "Save the configuration without creating an archive", - "remember_password": "Remember Password", - "syncthing_folder": "Use Syncthing folder instead", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "import_from_folder": "Import from folder", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/pt_BR.json b/translations/pt_BR.json deleted file mode 100644 index 066ee108..00000000 --- a/translations/pt_BR.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Sobre o aplicativo", - "unsuppurted_env_desc": "Você tem instalado um ambiente sem suporte. \nPor favor, use um destes ambientes: {}.", - "save_config": "Salvar configuração atual", - "import_config": "Importar configuração salva", - "set_filename": "Defina o nome do arquivo", - "config_saved": "A configuração foi salva!", - "open_folder": "Abrir a pasta", - "cancel": "Cancelar", - "savedesktop_f": "Arquivos Save Desktop", - "config_imported": "A configuração foi aplicada!", - "logout": "Sair", - "please_wait": "Por favor, aguarde…", - "summary": "Salvar a configuração da sua área de trabalho", - "description": "Save Desktop permite que você salve sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um único clique.", - "translator_credits": "Felipe Nogueira https://github.com/fnogcps\nIsaac Dias https://hosted.weblate.org/user/IsaacDias/\nFilipe Motta \nEzilei Correia ", - "periodic_saving": "Salvamento periódico", - "periodic_saving_desc": "As alterações só terão efeito após o próximo login", - "never": "Nunca", - "daily": "Diariamente", - "weekly": "Semanalmente", - "monthly": "Mensalmente", - "import_from_file": "Importar do arquivo", - "save": "Salvar", - "apply": "Aplicar", - "learn_more": "Saiba mais", - "save_installed_flatpaks": "Aplicativos Flatpak", - "pb_folder": "Pasta para salvamento periódico", - "set_pb_folder_tooltip": "Escolha uma pasta para salvar periodicamente", - "set_another": "Escolha outra pasta", - "reset_button": "Restaurar para o padrão", - "items_for_archive": "Itens a serem incluídos no arquivo de configuração", - "icons": "Ícones", - "import_title": "Importar", - "filename_format": "Formato do nome do arquivo", - "items_desc": "Estas configurações também se aplicam ao salvamento periódico", - "themes": "Temas", - "fonts": "Fontes", - "backgrounds": "Papéis de parede", - "sync": "Sincronizar", - "sync_desc": "Sincronize a configuração do seu ambiente de desktop com outros computadores na rede.", - "set_up_sync_file": "Configurar o arquivo de sincronização", - "periodic_sync": "Sincronização periódica", - "manually": "Manualmente", - "m_sync_desc": "De agora em diante, você pode sincronizar a configuração no menu da barra de cabeçalho", - "periodic_saving_file": "Arquivo de salvamento periódico", - "user_data_flatpak": "Dados do usuário de aplicativos Flatpak instalados", - "quit": "Encerrar", - "extensions": "Extensões", - "sync_manually": "Sincronizar manualmente", - "list": "Lista de aplicativos Flatpak instalados", - "desktop_folder": "Área de trabalho", - "keyboard_shortcuts": "Atalhos de teclado", - "back_to_page": "Voltar para a página anterior", - "flatpaks_data_tittle": "Seleção de dados de aplicativos Flatpak", - "importing_config_status": "Importando configuração...\nImportando a configuração de:\n{}\n", - "saving_config_status": "Salvando configuração…\nA configuração do seu ambiente de desktop será salva em:\n{}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nVocê pode encerrar a sessão para que as alterações tenham efeito, ou voltar para a página anterior e encerrar mais tarde.\n", - "config_saved_desc": "{}\nAgora você pode visualizar o arquivo com a configuração do seu desktop, ou retornar à página anterior.\n", - "archive_encryption": "Encriptação de arquivo", - "password_entry": "Senha", - "pb_interval": "Intervalo", - "archive_encryption_desc": "Ao salvar manualmente a configuração, o aplicativo solicitará que você crie uma senha. Isso é útil ao salvar a configuração em uma mídia portátil para aumentar a segurança de seus dados.", - "create_pwd_desc": "Por favor, crie uma nova senha para o seu arquivo. Os critérios incluem, pelo menos, 12 caracteres de tamanho, uma letra maiúscula, uma letra minúscula e um caractere especial.", - "more_options": "Mais opções", - "check_pwd_desc": "Insira a senha abaixo para desbloquear o arquivo com a sua configuração. Caso você tenha esquecido, não poderá descompactar o arquivo e começar a importar sua configuração.", - "check_pwd_title": "Desbloqueie o arquivo com uma senha", - "create_pwd_title": "Criar nova senha", - "select_cloud_folder_btn": "Selecionar a pasta da unidade em nuvem", - "cloud_folder_err": "Você não selecionou a pasta da unidade em nuvem!", - "bidirectional_sync_desc": "Se ativado e o intervalo de sincronização e a pasta da unidade na nuvem estiverem selecionados, as informações de salvamento periódico (intervalo, pasta e nome do arquivo) do outro computador, com sincronização definida, serão copiadas para este computador.", - "bidirectional_sync": "Sincronização bidirecional", - "gen_password": "Gerar Senha", - "connect_cloud_storage": "Conectar ao armazenamento em nuvem", - "err_occured": "Ocorreu um erro", - "create": "Criar", - "change": "Alterar", - "periodic_saving_file_err": "O arquivo de salvamento periódico não existe.", - "connect_cloud_storage_desc": "Em outro computador, abra o aplicativo Save Desktop e, nesta página, clique no botão “Configurar o arquivo de sincronização” e faça as configurações necessárias. Neste computador, selecione a pasta que você sincronizou com seu armazenamento em nuvem e também salvou o mesmo arquivo de salvamento periódico.", - "open_wiki": "Abrir o wiki do aplicativo", - "gnome_oa_section": "2. Vá para a seção Contas Online", - "almost_done_title": "Quase pronto!", - "rclone_copy_cmd": "Agora, copie o comando para configurar o Rclone usando o botão lateral e abra o aplicativo do terminal usando o atalho de teclado Ctrl+Alt+T ou encontrando-o no menu de aplicativos.", - "rclone_cmd_copied_msg": "Depois de terminar de configurar o Rclone usando o comando fornecido, clique no botão \"Aplicar\"", - "gnome_oa_chooser_desc": "A pasta da unidade criada na nuvem pode ser encontrada no painel lateral da caixa de diálogo do seletor de arquivos, neste formato: nomedeusuario@service.com.", - "next": "Avançar", - "rclone_intro_desc": "Para que a sincronização funcione corretamente, você precisa ter a pasta que está sincronizada com seu serviço de nuvem usando Rclone.\nComece selecionando o serviço de unidade em nuvem que você usa.", - "almost_done_desc": "Agora você criou a pasta da unidade em nuvem! Clique no botão Avançar para concluir a configuração.", - "initial_setup": "Configuração inicial de sincronização", - "select": "Selecionar", - "gnome_oa_section_desc": "Nesta seção, selecione o serviço de nuvem desejado, como Google, Microsoft 365 ou Nextcloud.", - "gnome_oa_settings": "1. Abra as configurações do sistema", - "gnome_oa_chooser": "3. Clique no botão Avançar e selecione a pasta da unidade criada na nuvem", - "syncthing_folder": "Use Syncthing folder instead", - "remember_password": "Remember Password", - "save_without_archive": "Save the configuration without creating an archive", - "password_store_err": "Password not entered, or it's incorrect. Unable to continue.", - "import_from_folder": "Import from folder", - "pwd_for_encryption": "Password for encryption", - "manual_saving": "Manual saving", - "enter_password_title": "Please enter a password to unlock the archive for sync the configuration", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} diff --git a/translations/ru.json b/translations/ru.json deleted file mode 100644 index 8a8994e4..00000000 --- a/translations/ru.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "О приложении", - "unsuppurted_env_desc": "У вас установлено неподдерживаемое окружение. \nПожалуйста, используйте одно из этих окружений: {}.", - "save_config": "Сохранить текущую конфигурацию", - "import_config": "Импорт сохраненной конфигурации", - "set_filename": "Задайте имя файла", - "config_saved": "Конфигурация сохранена!", - "open_folder": "Открыть папку", - "cancel": "Отменить", - "savedesktop_f": "Файлы Save Desktop", - "config_imported": "Конфигурация применена!", - "logout": "Выйти", - "please_wait": "Пожалуйста, подождите…", - "summary": "Сохраните конфигурацию вашего окружения рабочего стола", - "description": "Вы хотите сохранить текущую конфигурацию, включая темы, значки, обои, все настройки окружения рабочего стола, расширения и т.д.? Save Desktop поможет вам в этом. Всего один клик - и ваша конфигурация сохранена.", - "translator_credits": "voron \nvolkov ", - "periodic_saving": "Периодическое сохранение", - "periodic_saving_desc": "Изменения вступят в силу после следующего входа в систему", - "never": "Никогда", - "daily": "Ежедневно", - "weekly": "Еженедельно", - "monthly": "Ежемесячно", - "save": "Сохранить", - "apply": "Применить", - "import_from_file": "Импорт из файла", - "learn_more": "Подробнее", - "save_installed_flatpaks": "Приложения Flatpak", - "pb_folder": "Папка для периодических сохранений", - "set_pb_folder_tooltip": "Выберите папку для периодического сохранения", - "set_another": "Выбрать другую папку", - "import_title": "Импорт", - "filename_format": "Формат имени файла", - "reset_button": "Восстановить по умолчанию", - "items_for_archive": "Элементы для включения в архив конфигурации", - "items_desc": "Эти настройки также применяются для периодического сохранения", - "icons": "Иконки", - "themes": "Темы", - "fonts": "Шрифты", - "backgrounds": "Фоны", - "sync": "Синхронизация", - "sync_desc": "Синхронизируйте конфигурацию среды рабочего стола с другими компьютерами в сети.", - "set_up_sync_file": "Настройка файла синхронизации", - "periodic_sync": "Периодическая синхронизация", - "manually": "Вручную", - "m_sync_desc": "Теперь вы можете синхронизировать конфиг из меню в панели заголовка", - "periodic_saving_file": "Файл периодического сохранения", - "user_data_flatpak": "Пользовательские данные установленных приложений Flatpak", - "keyboard_shortcuts": "Комбинации клавиш", - "quit": "Выйти", - "extensions": "Расширения", - "sync_manually": "Синхронизовать вручную", - "list": "Список установленных Flatpak приложений", - "desktop_folder": "Рабочий стол", - "importing_config_status": "Импорт конфигурации ...\nИмпорт конфигурации из: \n{}\n", - "saving_config_status": "Сохранение конфигурации ...\nКонфигурация среды рабочего стола будет сохранена в:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nВы можете выйти из системы, чтобы изменения вступили в силу, или вернуться на предыдущую страницу и выйти из системы позже.\n", - "back_to_page": "Вернуться на предыдущую страницу", - "flatpaks_data_tittle": "Выбор данных приложений Flatpak", - "config_saved_desc": "{}\nТеперь вы можете просмотреть архив с конфигурацией вашей среды рабочего стола или вернуться на предыдущую страницу.\n", - "pb_interval": "Интервал", - "archive_encryption": "Шифрование архива", - "more_options": "Больше опций", - "create_pwd_title": "Создать новый пароль", - "archive_encryption_desc": "При ручном сохранении конфигурации вам будет предложено создать пароль. Это полезно при сохранении конфигурации на переносном носителе для большей безопасности ваших данных.", - "create_pwd_desc": "Пожалуйста, создайте новый пароль для вашего архива. Критерии включают длину не менее 12 символов, одну заглавную букву, одну строчную букву и один специальный символ.", - "password_entry": "Пароль", - "check_pwd_desc": "Введите пароль ниже, чтобы разблокировать архив с вашей конфигурацией. Если вы его забыли, то не сможете распаковать архив и начать импорт вашей конфигурации.", - "check_pwd_title": "Разблокировать архив паролем", - "select_cloud_folder_btn": "Выбрать папку облачного диска", - "err_occured": "Произошла ошибка", - "create": "Создать", - "change": "Изменить", - "bidirectional_sync": "Двунаправленная синхронизация", - "cloud_folder_err": "Вы не выбрали папку облачного диска!", - "gen_password": "Сгенерировать пароль", - "periodic_saving_file_err": "Файл периодического сохранения не существует.", - "bidirectional_sync_desc": "Если этот параметр включен, а интервал синхронизации и папка облачного диска выбраны, информация о периодическом сохранении (интервал, папка и имя файла) с другого компьютера, на котором настроена синхронизация, копируется на этот компьютер.", - "connect_cloud_storage_desc": "На другом компьютере откройте приложение Save Desktop и на этой странице нажмите кнопку «Настроить файл синхронизации» и выполните необходимые настройки. На этом компьютере выберите папку, которую вы синхронизировали с вашим облачным хранилищем, а также сохранили тот же файл периодического сохранения.", - "connect_cloud_storage": "Подключить облачное хранилище", - "next": "Далее", - "gnome_oa_section": "2. Перейдите в раздел «Сетевые учётные записи»", - "almost_done_title": "Почти готово!", - "rclone_copy_cmd": "Теперь скопируйте команду для настройки Rclone с помощью боковой кнопки и откройте приложение терминала, используя комбинацию клавиш Ctrl+Alt+T или найдя его в меню приложений.", - "rclone_cmd_copied_msg": "Завершив настройку Rclone с помощью данной команды, нажмите кнопку «Применить»", - "rclone_intro_desc": "Для правильного функционирования синхронизации необходимо иметь папку, которая синхронизируется с облачным сервисом с помощью Rclone.\nНачните с выбора облачного сервиса, который вы используете.", - "gnome_oa_chooser_desc": "Создаваемую папку облачного диска можно найти в боковой панели диалога выбора файлов в виде username@service.com.", - "almost_done_desc": "Теперь вы создали папку на облачном диске! Чтобы завершить настройку, нажмите кнопку «Далее».", - "select": "Выбрать", - "initial_setup": "Первоначальная настройка синхронизации", - "gnome_oa_section_desc": "В этом разделе выберите нужный облачный сервис, например Google, Microsoft 365 или Nextcloud.", - "open_wiki": "Открыть Wiki-страницу приложения", - "gnome_oa_settings": "1. Откройте системные настройки", - "gnome_oa_chooser": "3. Нажмите кнопку «Далее» и выберите имеющуюся папку облачного диска", - "remember_password": "Запомнить Пароль", - "syncthing_folder": "Вместо этого использовать папку Syncthing", - "save_without_archive": "Сохранить конфигурацию без создания архива", - "password_store_err": "Пароль не введен или указан неверно. Невозможно продолжить", - "import_from_folder": "Импорт из папки", - "pwd_for_encryption": "Пароль для шифрования", - "manual_saving": "Ручное сохранение", - "enter_password_title": "Пожалуйста, введите пароль, чтобы разблокировать архив для синхронизации конфигурации", - "enter_password_desc": "Для синхронизации с помощью приложения Save Desktop выбран зашифрованный архив. Введите пароль ниже, чтобы разблокировать его и начать синхронизацию." -} diff --git a/translations/sv.json b/translations/sv.json deleted file mode 100644 index be0906bf..00000000 --- a/translations/sv.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Om programmet", - "unsuppurted_env_desc": "Du har en miljö som inte stöds installerad. \nVänligen använd någon av dessa miljöer: {}.", - "save_config": "Spara nuvarande konfiguration", - "import_config": "Importera sparad konfiguration", - "set_filename": "Ange filnamn", - "saving_config_status": "Sparar konfiguration …\nKonfigurationen av din skrivbordsmiljö kommer att sparas i:\n {}/{}.sd.tar.gz\n", - "config_saved": "Konfigurationen har sparats!", - "config_saved_desc": "{}\nDu kan nu se arkivet med konfigurationen av din skrivbordsmiljö, eller gå tillbaka till föregående sida.\n", - "open_folder": "Öppna mappen", - "cancel": "Avbryt", - "savedesktop_f": "Save Desktop filer", - "importing_config_status": "Importerar konfiguration …\nImporterar konfiguration från:\n{}\n", - "config_imported": "Konfigurationen har tillämpats!", - "config_imported_desc": "{}\nDu kan logga ut från systemet för att ändringarna ska träda i kraft, eller gå tillbaka till föregående sida och logga ut senare.\n", - "back_to_page": "Tillbaka till föregående sida", - "logout": "Logga ut", - "err_occured": "Ett fel har uppstått", - "save": "Spara", - "import_title": "Importera", - "import_from_file": "Importera från fil", - "apply": "Tillämpa", - "periodic_saving": "Periodiskt sparande", - "periodic_saving_desc": "Ändringar träder i kraft först efter nästa inloggning", - "pb_interval": "Intervall", - "never": "Aldrig", - "daily": "Dagligen", - "weekly": "Veckovis", - "monthly": "Månadsvis", - "manually": "Manuellt", - "learn_more": "Läs mer", - "pb_folder": "Mapp för periodiskt sparande", - "set_pb_folder_tooltip": "Välj anpassad mapp för periodiskt sparande", - "set_another": "Välj en annan mapp", - "filename_format": "Filnamnsformat", - "reset_button": "Återställ till standard", - "items_for_archive": "Objekt som ska inkluderas i konfigurationsarkivet", - "items_desc": "Dessa inställningar gäller även för periodiskt sparande", - "icons": "Ikoner", - "themes": "Teman", - "fonts": "Teckensnitt", - "backgrounds": "Bakgrunder", - "extensions": "Tillägg", - "desktop_folder": "Skrivbord", - "save_installed_flatpaks": "Flatpak program", - "list": "Lista av installerade Flatpak program", - "user_data_flatpak": "Användardata av installerade Flatpak program", - "flatpaks_data_tittle": "Dataval för Flatpak program", - "sync": "Synkronisera", - "sync_desc": "Synkronisera konfigurationen av din skrivbordsmiljö med andra datorer i nätverket.", - "initial_setup": "Inledande synkroniseringsinställningar", - "gnome_oa_settings": "1. Öppna systeminställningarna", - "gnome_oa_section": "2. Gå till avsnittet Onlinekonton", - "gnome_oa_section_desc": "I det här avsnittet väljer du den molntjänst du vill ha, till exempel Google, Microsoft 365 eller Nextcloud.", - "gnome_oa_chooser": "3. Klicka på knappen Nästa och välj den skapade molnlagringsmappen", - "gnome_oa_chooser_desc": "Den skapade molnlagringsmappen finns i sidopanelen i filväljardialogrutan, i denna form: användarnamn@service.com.", - "rclone_intro_desc": "För att synkroniseringen ska fungera korrekt måste du ha mappen som är synkroniserad med din molntjänst med hjälp av Rclone.\nBörja med att välja den molnlagringstjänst du använder.", - "rclone_copy_cmd": "Kopiera nu kommandot för att ställa in Rclone med hjälp av sidoknappen och öppna terminalappen med kortkommandot Ctrl+Alt+T eller leta reda på det i programmenyn.", - "rclone_cmd_copied_msg": "När du har slutfört konfigureringen av Rclone med det angivna kommandot klickar du på \"Verkställ\" knappen", - "almost_done_title": "Nästan klart!", - "almost_done_desc": "Du har nu skapatmolnenhet mappen! Klicka på nästa för att slutföra installationen.", - "select": "Välj", - "next": "Nästa", - "set_up_sync_file": "Ställ in synkfil", - "periodic_saving_file": "Periodisk sparfil", - "periodic_saving_file_err": "Periodisk sparfil existerar inte.", - "create": "Skapa", - "please_wait": "Vänligen vänta …", - "change": "Ändra", - "connect_cloud_storage": "Anslut till molnlagring", - "connect_cloud_storage_desc": "På den andra datorn öppnar du Save Desktop programmet och på den här sidan klickar du på knappen \"Konfigurera synkroniseringsfil\" och gör nödvändiga inställningar. På den här datorn väljer du mappen som du har synkroniserat med din molnlagring och som även har sparat samma periodiska sparfil.", - "select_cloud_folder_btn": "Välj mappen i molnlagring", - "cloud_folder_err": "Du valde inte mappen för molnlagring!", - "periodic_sync": "Periodisk synkronisering", - "bidirectional_sync": "Dubbelriktad synkronisering", - "bidirectional_sync_desc": "Om det är aktiverat och synkroniseringsintervallet och mappen för molnlagring är vald, kopieras den periodiska sparinformationen (intervall, mapp och filnamn) från den andra datorn med synkronisering inställd på att synkronisera till den här datorn.", - "m_sync_desc": "Från och med nu kan du synkronisera konfigurationen från menyn i huvudfältet", - "sync_manually": "Synkronisera manuellt", - "keyboard_shortcuts": "Tangentbordsgenvägar", - "open_wiki": "Öppna programmets wiki", - "quit": "Avsluta", - "more_options": "Mer alternativ", - "archive_encryption": "Arkivkryptering", - "archive_encryption_desc": "När du sparar konfigurationen manuellt blir du ombedd att skapa ett lösenord. Detta är användbart när du sparar konfigurationen på flyttbart media för bättre säkerhet för din data.", - "create_pwd_title": "Skapa nytt lösenord", - "create_pwd_desc": "Skapa ett nytt lösenord för ditt arkiv. Kriterier inkluderar en längd på minst 12 tecken, en stor bokstav, en liten bokstav och ett specialtecken.", - "gen_password": "Generera lösenord", - "password_entry": "Lösenord", - "check_pwd_title": "Lås upp arkivet med ett lösenord", - "check_pwd_desc": "Ange lösenordet nedan för att låsa upp arkivet med din konfiguration. Om du har glömt det kommer du inte att kunna packa upp arkivet och börja importera din konfiguration.", - "summary": "Spara din skrivbordskonfiguration", - "description": "Save Desktop låter dig spara din nuvarande konfiguration (teman, ikoner, bakgrundsbilder, alla skrivbordsmiljöinställningar, tillägg, etc.) med ett klick.", - "translator_credits": "Luna Jernberg https://github.com/bittin/", - "save_without_archive": "Spara konfigurationen utan att skapa ett arkiv", - "syncthing_folder": "Använd Syncthing mapp istället", - "remember_password": "Kom ihåg lösenord", - "password_store_err": "Lösenordet är inte inmatat, eller så är det felaktigt. Det går inte att fortsätta.", - "import_from_folder": "Importera från mapp", - "pwd_for_encryption": "Lösenord för kryptering", - "manual_saving": "Manuell sparning", - "enter_password_title": "Ange ett lösenord för att låsa upp arkivet för att synkronisera konfigurationen.", - "enter_password_desc": "Ett krypterat arkiv har valts ut för synkronisering med Save Desktop programmet. Ange lösenordet nedan för att låsa upp det och starta synkroniseringen." -} diff --git a/translations/ta.json b/translations/ta.json deleted file mode 100644 index c8eed993..00000000 --- a/translations/ta.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "பயன்பாடுபற்றி", - "unsuppurted_env_desc": " உங்களிடம் ஆதரிக்கப்படாத சூழல் நிறுவப்பட்டுள்ளது. \nஇந்தச் சூழல்களில் ஒன்றைப் பயன்படுத்தவும்: {}.", - "save_config": "தற்போதைய உள்ளமைவைச் சேமி", - "import_config": "இறக்குமதி சேமிக்கப்பட்ட உள்ளமைவு", - "set_filename": "கோப்புப் பெயரை அமை", - "saving_config_status": " உள்ளமைவைச் சேமித்தல்… \n உங்கள் பணிமேடை சூழலின் உள்ளமைவு சேமிக்கப்படும்:\n {}/{}. Sd.tar.gz \n", - "config_saved": "உள்ளமைவு சேமிக்கப்பட்டது!", - "config_saved_desc": " {} \n உங்கள் பணிமேடை சூழலின் உள்ளமைவுடன் காப்பகத்தை இப்போது காணலாம் அல்லது முந்தைய பக்கத்திற்குத் திரும்பலாம்.\n", - "open_folder": "கோப்புறையைத் திற", - "cancel": "கைவிடு", - "savedesktop_f": "சேமிபணிமேடை கோப்புகள்", - "importing_config_status": " உள்ளமைவை இறக்குமதி செய்தல்… \n இதிலிருந்து உள்ளமைவை இறக்குமதி செய்தல்:\n {} \n", - "config_imported": "உள்ளமைவு பயன்படுத்தப்பட்டது!", - "config_imported_desc": " {} \n மாற்றங்கள் நடைமுறைக்கு வர நீங்கள் கணினியிலிருந்து வெளியேறலாம், அல்லது முந்தைய பக்கத்திற்குச் சென்று பின்னர் வெளியேறலாம்.\n", - "back_to_page": "முந்தைய பக்கத்திற்குத் திரும்பு", - "logout": "விடுபதிகை", - "err_occured": "பிழை ஏற்பட்டது", - "save": "சேமி", - "import_title": "இறக்குமதி", - "import_from_file": "கோப்பிலிருந்து இறக்குமதி", - "apply": "இடு", - "periodic_saving": "அவ்வப்போது சேமி", - "periodic_saving_desc": "அடுத்த உள்நுழைவுக்குப் பிறகுதான் மாற்றங்கள் நடைமுறைக்கு வரும்", - "pb_interval": "இடைவேளை", - "never": "ஒருபோதும்", - "daily": "நாள்தோறும்", - "weekly": "வாராந்தோறும்", - "monthly": "திங்கள்தோறும்", - "manually": "கைமுறையாக", - "learn_more": "மேலும் அறிக", - "pb_folder": "அவ்வப்போது சேமிப்பதற்கான கோப்புறை", - "set_pb_folder_tooltip": "அவ்வப்போது சேமிக்க தனிப்பயன் கோப்புறையைத் தேர்வுசெய்க", - "set_another": "மற்றொரு கோப்புறையைத் தேர்வுசெய்க", - "filename_format": "கோப்புப் பெயர் வடிவம்", - "reset_button": "இயல்புநிலைக்கு மீட்டமை", - "items_for_archive": "உள்ளமைவு காப்பகத்தில் சேர்க்க வேண்டிய உருப்படிகள்", - "items_desc": "இந்த அமைப்புகள் அவ்வப்போது சேமிப்பதற்கும் பொருந்தும்", - "icons": "சின்னங்கள்", - "themes": "கருப்பொருள்கள்", - "fonts": "எழுத்துருக்கள்", - "backgrounds": "பின்னணிகள்", - "extensions": "நீட்டிப்புகள்", - "desktop_folder": "பணிமேடை", - "save_installed_flatpaks": "தட்டைகட்டு பயன்பாடுகள்", - "list": "நிறுவப்பட்ட தட்டைகட்டு பயன்பாடுகளின் பட்டியல்", - "user_data_flatpak": "நிறுவப்பட்ட தட்டைகட்டு பயன்பாடுகளின் பயனர் தரவு", - "flatpaks_data_tittle": "தட்டைகட்டு பயன்பாடுகள் தரவுத் தேர்வு", - "sync": "ஒத்திசைவு", - "sync_desc": "இணைப்பில் உள்ள பிற கணினிகளுடன் உங்கள் பணிமேடை சூழல் உள்ளமைவை ஒத்திசை.", - "initial_setup": "ஆரம்ப ஒத்திசைவு அமைப்பு", - "gnome_oa_settings": "1. கணினி அமைப்புகளைத் திற", - "gnome_oa_section": "2. நிகழ்நிலை கணக்குகள் பகுதிக்குச் செல்", - "gnome_oa_section_desc": "இந்தப் பிரிவில் கூகிள், நுண்மென் 365 அல்லது அடுத்தமுகில் போன்ற நீங்கள் விரும்பும் முகில் சேவையைத் தேர்ந்தெடு.", - "gnome_oa_chooser": "3. அடுத்த பொத்தானைக் சொடுக்கு செய்து உருவாக்கிய முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு", - "gnome_oa_chooser_desc": "உருவாக்கப்பட்ட முகில் இயக்கிக் கோப்புறையை கோப்புத் தேர்வு உரையாடலின் பக்க பலைகையில் இந்தப் படிவத்தில் காணலாம்: USERNAME@SERVICE.com.", - "rclone_intro_desc": "சரியாக வேலை செய்ய ஒத்திசைவு, நீங்கள் கோப்புறையை வைத்திருக்க வேண்டும், அது ஆர்நகலியைப் பயன்படுத்தி உங்கள் முகில் சேவையுடன் ஒத்திசைக்கப்படுகிறது.\n நீங்கள் பயன்படுத்தும் முகில் இயக்கிச் சேவையைத் தேர்ந்தெடுப்பதன் மூலம் தொடங்கு. ", - "rclone_copy_cmd": "இப்போது, பக்க பொத்தானைப் பயன்படுத்தி ஆர்நகலியை அமைக்கக் கட்டளையை நகலெடுத்து, கட்டு+மாற்று+ஏ விசைப்பலகை குறுக்குவழியைப் பயன்படுத்தி முனையப் பயன்பாட்டைத் திற அல்லது பயன்பாடுகளின் பட்டியலில் கண்டுபிடி.", - "rclone_cmd_copied_msg": "வழங்கப்பட்ட கட்டளையைப் பயன்படுத்தி ஆர்நகலியை அமைத்ததும், \"இடு\" பொத்தானைக் சொடுக்கு", - "almost_done_title": "கிட்டத்தட்ட முடிந்தது!", - "almost_done_desc": "நீங்கள் இப்போது முகில் இயக்கிக் கோப்புறையை உருவாக்கியுள்ளீர்கள்! அமைப்பை முடிக்க அடுத்த பொத்தானைக் சொடுக்கு.", - "select": "தேர்ந்தெடு", - "next": "அடுத்தது", - "set_up_sync_file": "ஒத்திசைவு கோப்பை அமை", - "periodic_saving_file": "அவ்வப்போது சேமிக்கும் கோப்பு", - "periodic_saving_file_err": "அவ்வப்போது சேமிக்கும் கோப்பு இல்லை.", - "create": "உருவாக்கு", - "please_wait": "தயவுசெய்து காத்திரு…", - "change": "மாற்றம்", - "connect_cloud_storage": "முகில் சேமிப்பகத்துடன் இணை", - "connect_cloud_storage_desc": "மற்றொரு கணினியில், சேமிபணிமேடை பயன்பாட்டைத் திறந்து, இந்தப் பக்கத்தில், \"ஒத்திசைவு கோப்பை அமைக்கவும்\" பொத்தானைக் சொடுக்கு செய்து தேவையான அமைப்புகளை உருவாக்கவும். இந்தக் கணினியில், உங்கள் மேகக்கணி சேமிப்பகத்துடன் நீங்கள் ஒத்திசைத்த கோப்புறையைத் தேர்ந்தெடுக்கவும், அதே கால சேமிப்பு கோப்பையும் சேமித்துள்ளீர்கள்.", - "select_cloud_folder_btn": "முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு", - "cloud_folder_err": "நீங்கள் முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடுக்கவில்லை!", - "periodic_sync": "அவ்வப்போது ஒத்திசைவு", - "bidirectional_sync": "இருதரப்பு ஒத்திசைவு", - "bidirectional_sync_desc": "இயக்கப்பட்டிருந்தால், மற்றும் ஒத்திசைவு இடைவெளி மற்றும் முகில் இயக்கிக் கோப்புறை தேர்ந்தெடுக்கப்பட்டால், ஒத்திசைவதற்கு அமைக்கப்பட்ட பிற கணினியிலிருந்து அவ்வப்போது சேமிக்கும் செய்தி (இடைவெளி, கோப்புறை மற்றும் கோப்புப் பெயர்) இந்தக் கணினியில் நகலெடுக்கப்படுகிறது.", - "m_sync_desc": "இனிமேல், தலைப்பு பட்டியில் உள்ள பட்டியலிருந்து உள்ளமைவை ஒத்திசைக்கலாம்", - "sync_manually": "கைமுறையாக ஒத்திசை", - "keyboard_shortcuts": "விசைப்பலகை குறுக்குவழிகள்", - "open_wiki": "பயன்பாட்டு விக்கியைத் திற", - "quit": "வெளியேறு", - "more_options": "மேலும் விருப்பங்கள்", - "archive_encryption": "காப்பக குறியாக்கம்", - "archive_encryption_desc": "உள்ளமைவை கைமுறையாகச் சேமிக்கும்போது, கடவுச்சொல்லை உருவாக்கும்படி கேட்கப்படுவீர்கள். உங்கள் தரவின் சிறந்த பாதுகாப்பிற்காக உள்ளமைவை எடுத்துசெல்லதக்க ஊடகத்தில் சேமிக்கும்போது இது பயனுள்ளதாக இருக்கும்.", - "create_pwd_title": "புதிய கடவுச்சொல்லை உருவாக்கு", - "create_pwd_desc": "உங்கள் காப்பகத்திற்கு புதிய கடவுச்சொல்லை உருவாக்கு. அளவுகோல்கள் குறைந்தது 12 எழுத்து நீளம், ஒரு பெரிய எழுத்து, ஒரு சிறிய எழுத்து மற்றும் ஒரு சிறப்பு எழுத்து ஆகியவை அடங்கும்.", - "gen_password": "கடவுச்சொல்லை உருவாக்கு", - "password_entry": "கடவுச்சொல்", - "check_pwd_title": "கடவுச்சொல் மூலம் காப்பகத்தைத் திற", - "check_pwd_desc": "உங்கள் உள்ளமைவுடன் காப்பகத்தைத் திறக்கக் கீழே உள்ள கடவுச்சொல்லை உள்ளிடவும். நீங்கள் அதை மறந்துவிட்டால், நீங்கள் காப்பகத்தை அவிழ்த்து உங்கள் உள்ளமைவை இறக்குமதி செய்யத் தொடங்க முடியாது.", - "summary": "உங்கள் பணிமேடை உள்ளமைவைச் சேமி", - "description": "உங்கள் தற்போதைய உள்ளமைவை (கருப்பொருள்கள், சின்னங்கள், பின்ணணிகள், அனைத்து பணிமேடை சுற்றுச்சூழல் அமைப்புகள், நீட்டிப்புகள் போன்றவை) ஒரே சொடுக்கில் சேமிக்க சேமிபணிமேடை உங்களை அனுமதிக்கிறது.", - "translator_credits": "தமிழ்நேரம் ", - "pwd_for_encryption": "குறியாக்கத்திற்கான கடவுச்சொல்", - "manual_saving": "கையேடு சேமிப்பு", - "remember_password": "கடவுச்சொல்லை நினைவில் கொள்", - "import_from_folder": "கோப்புறையிலிருந்து இறக்குமதி", - "syncthing_folder": "அதற்குப் பதிலாக ஒத்திசைவு கோப்புறையைப் பயன்படுத்தவும்", - "save_without_archive": "காப்பகத்தை உருவாக்காமல் உள்ளமைவைச் சேமி", - "password_store_err": "கடவுச்சொல் உள்ளிடப்படவில்லை, அல்லது அது தவறானது. தொடர முடியவில்லை.", - "enter_password_title": "உள்ளமைவை ஒத்திசைக்க காப்பகத்தைத் திறக்கக் கடவுச்சொல்லை உள்ளிடவும்", - "enter_password_desc": "Savedesktop பயன்பாட்டைப் பயன்படுத்தி ஒத்திசைவுக்கு மறைகுறியாக்கப்பட்ட காப்பகம் தேர்ந்தெடுக்கப்பட்டுள்ளது. அதைத் திறக்கக் கீழே உள்ள கடவுச்சொல்லை உள்ளிடவும் மற்றும் ஒத்திசைவைத் தொடங்கவும்." -} diff --git a/translations/tr.json b/translations/tr.json deleted file mode 100644 index 2b597a07..00000000 --- a/translations/tr.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Uygulama Hakkında", - "unsuppurted_env_desc": "Daha önceden yüklenmiş , desteklenmeyen ortama sahipsiniz. \nLütfen bu ortamlardan herhangi birini kullanın.: {}.", - "save_config": "Şuanki ayarları kaydet", - "import_config": "Kaydedilmiş ayarları yükle", - "set_filename": "Dosya adı", - "config_saved": "Ayarlar kayıt edildi!", - "open_folder": "Klasörü aç", - "cancel": "İptal et", - "savedesktop_f": "Save Desktop dosyaları", - "config_imported": "Ayarlar uygulandı !", - "logout": "Çıkış Yap", - "please_wait": "Lütfen bekleyin …", - "summary": "Masaüstü yapılandırmanızı kaydedin", - "description": "Save Desktop senin suanki ayarlarını(temalar,iconlar,duvar kağıtları, tüm masaüstü ortam ayları , eklentiler , vb.) tek tıkla kaydetmene izin verir.", - "translator_credits": "Batmanly https://github.com/batmanly\nSabri Ünal https://github.com/yakushabb", - "periodic_saving": "Düzenli kaydetme", - "periodic_saving_desc": "Değişiklikler yalnızca sonraki oturum açma işleminden sonra geçerli olacak", - "never": "Asla", - "daily": "Günlük", - "weekly": "Haftalık", - "monthly": "Aylık", - "import_from_file": "Dosyadan içe aktar", - "save": "Kaydet", - "apply": "Uygula", - "learn_more": "Daha çoğunu öğren", - "save_installed_flatpaks": "Flatpak uygulamaları", - "pb_folder": "Düzenli kayıt klasörü", - "set_pb_folder_tooltip": "Düzenli kayıt için özel klasör seçin", - "set_another": "Başka bir klasör seçin", - "import_title": "İçe Aktar", - "items_desc": "Bu ayarlar aynı zamanda düzenli kayıt için de uygulanır", - "themes": "Temalar", - "fonts": "Yazı Tipleri", - "backgrounds": "Arka Planlar", - "filename_format": "Dosya adı biçimi", - "reset_button": "Öntanımlılara sıfırla", - "items_for_archive": "Yapılandırma arşivine eklenecek ögeler", - "icons": "Simgeler", - "sync": "Eşzamanla", - "sync_desc": "Masaüstü ortamı yapılandırmanızı ağdaki diğer bilgisayarlarla eşzamanlayın.", - "set_up_sync_file": "Eşzamanlama dosyası ayarla", - "periodic_sync": "Düzenli eşzamanlama", - "manually": "Elle", - "m_sync_desc": "Artık yapılandırmayı başlık çubuğundaki menüden eşzamanlayabilirsiniz", - "periodic_saving_file": "Düzenli kayıt dosyası", - "user_data_flatpak": "Kurulu Flatpak uygulamalarının kullanıcı verileri", - "keyboard_shortcuts": "Klavye kısayolları", - "quit": "Çık", - "extensions": "Uzantılar", - "sync_manually": "Elle eşzamanla", - "list": "Kurulu Flatpak uygulamalarının listesi", - "desktop_folder": "Masaüstü", - "flatpaks_data_tittle": "Flatpak uygulamaları veri seçimi", - "importing_config_status": "Yapılandırma içe aktarılıyor...\nYapılandırma şuradan içe aktarılıyor:\n{}\n", - "saving_config_status": "Yapılandırma kaydediliyor…\nMasaüstü ortamınızın yapılandırması şuraya kaydedilecek:\n{}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nDeğişikliklerin geçerli olması için oturumu şimdi kapatabilir ya da önceki sayfaya geri dönüp daha sonra oturumu kapatabilirsiniz.\n", - "back_to_page": "Önceki sayfaya dön", - "config_saved_desc": "{}\nArtık arşivi masaüstü ortamınızın yapılandırmasıyla görüntüleyebilir ya da önceki sayfaya dönebilirsiniz.\n", - "create_pwd_title": "Yeni parola oluştur", - "password_entry": "Parola", - "check_pwd_desc": "Yapılandırmanızın bulunduğu arşivin kilidini açmak için aşağıya parolayı girin. Parolayı unuttuysanız, arşivi açamaz ve yapılandırmanızı içe aktarmaya başlayamazsınız.", - "pb_interval": "Aralık", - "archive_encryption": "Arşiv şifreleme", - "archive_encryption_desc": "Yapılandırmayı elle kaydederken parola oluşturmanız istenir. Bu, verilerinizin daha iyi güvenliği için yapılandırmayı taşınabilir ortama kaydederken kullanışlıdır.", - "create_pwd_desc": "Lütfen arşiviniz için yeni parola oluşturun. Parolanız en az 12 karakter uzunluğunda olmalı, bir büyük harf, bir küçük harf ve bir özel karakter içermelidir.", - "more_options": "Daha çok seçenek", - "check_pwd_title": "Arşiv kilidini parolayla aç", - "select_cloud_folder_btn": "Bulut sunucu klasörünü seç", - "err_occured": "Hata oluştu", - "create": "Oluştur", - "change": "Değiştir", - "periodic_saving_file_err": "Düzenli kayıt dosyası yok.", - "gen_password": "Parola Oluştur", - "cloud_folder_err": "Bulut sürücü klasörünü seçmediniz!", - "bidirectional_sync_desc": "Etkinse ve eşzamanlama aralığı ve bulut sürücü klasörü seçilirse, eşzamanlama ayarlı diğer bilgisayardaki düzenli kayıt bilgileri (aralık, klasör ve dosya adı) bu bilgisayara kopyalanır.", - "connect_cloud_storage_desc": "Başka bilgisayarda Save Desktop uygulamasını açıp bu sayfadaki “Eşzamanlama dosyasını ayarla” düğmesine tıklayın ve gerekli ayarları yapın. Bu bilgisayarda, bulut depolama alanınızla eşzamanlamak istediğiniz ve aynı düzenli kayıt dosyasına kaydettiğiniz klasörü seçin.", - "bidirectional_sync": "Çift yönlü eşzamanlama", - "connect_cloud_storage": "Bulut depolamaya bağlan", - "open_wiki": "Uygulama wiki'sini açın", - "gnome_oa_section": "2. Çevrimiçi Hesaplar bölümüne gidin", - "almost_done_title": "Az kaldı!", - "rclone_copy_cmd": "Şimdi, yan düğmeyi kullanarak Rclone'ı kurmak için komutu kopyalayın ve Ctrl+Alt+T klavye kısayolunu kullanarak veya uygulamalar menüsünden terminal uygulamasını açın.", - "rclone_cmd_copied_msg": "Verilen komutu kullanarak Rclone kurulumunu tamamladıktan sonra \"Uygula\" düğmesine tıklayın", - "gnome_oa_chooser_desc": "Oluşturulan bulut sürücü klasörü, dosya seçici iletişim kutusunun yan panelinde, şu biçimde bulunabilir: kullanıcıadı@sunucu.com.", - "next": "Sürdür", - "rclone_intro_desc": "Senkronizasyonun düzgün çalışması için, Rclone kullanarak bulut servisinizle senkronize edilmiş klasöre sahip olmanız gerekir.\nKullandığınız bulut sürücü servisini seçerek başlayın.", - "almost_done_desc": "Bulut sürücü klasörünü oluşturdunuz! Kurulumu tamamlamak için İleri düğmesine tıklayın.", - "initial_setup": "İlk senkronizasyon kurulumu", - "select": "Seç", - "gnome_oa_section_desc": "Bu bölümde Google, Microsoft 365 veya Nextcloud gibi istediğiniz bulut hizmetini seçin.", - "gnome_oa_settings": "1. Sistem ayarlarını açın.", - "gnome_oa_chooser": "3. İleri düğmesine tıklayın ve oluşturulan bulut sürücü klasörünü seçin", - "pwd_for_encryption": "Şifreleme için parola", - "save_without_archive": "Arşiv oluşturmadan yapılandırmayı kaydedin", - "enter_password_title": "Yapılandırmayı senkronize etmek için arşivin kilidini açmak üzere lütfen bir parola girin", - "syncthing_folder": "Bunun yerine Syncthing klasörünü kullanın", - "remember_password": "Parolayı hatırla", - "password_store_err": "Şifre girilmedi veya yanlış. Devam edilemiyor.", - "import_from_folder": "Klasörden aktar", - "manual_saving": "Manuel kaydet", - "enter_password_desc": "Save Desktop uygulaması kullanılarak senkronizasyon için şifrelenmiş bir arşiv seçildi. Lütfen kilidini açmak ve senkronizasyonu başlatmak için aşağıdaki şifreyi girin." -} diff --git a/translations/uk.json b/translations/uk.json deleted file mode 100644 index 91661d37..00000000 --- a/translations/uk.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "Про додаток", - "unsuppurted_env_desc": "Ви використовуєте не підтримуване середовище. \nБудь ласка, використовуйте одне з підтримуваних: {}.", - "save_config": "Зберегти поточну конфігурацію", - "import_config": "Імпорт збереженої конфігурації", - "set_filename": "Задайте ім'я файлу", - "config_saved": "Конфігурацію збережено!", - "open_folder": "Відкрити теку", - "cancel": "Скасувати", - "savedesktop_f": "Файли Save Desktop", - "config_imported": "Конфігурацію застосовано!", - "logout": "Вийти", - "please_wait": "Будь ласка, зачекайте…", - "summary": "Збережіть конфігурацію вашої стільниці", - "description": "Save Desktop дозволяє зберегти поточну конфігурацію (теми, значки, шпалери, всі налаштування середовища робочого столу, розширення тощо) в один клац.", - "translator_credits": "Kefir2105 https://github.com/Kefir2105\nvolkov ", - "periodic_saving": "Періодичне збереження", - "periodic_saving_desc": "Зміни набудуть чинності тільки після наступного входу в систему", - "never": "Ніколи", - "daily": "Щодня", - "weekly": "Щотижня", - "monthly": "Щомісяця", - "save": "Зберегти", - "import_from_file": "Імпорт з файлу", - "apply": "Застосувати", - "learn_more": "Дізнатися більше", - "save_installed_flatpaks": "Додатки Flatpak", - "pb_folder": "Тека для періодичного збереження", - "set_pb_folder_tooltip": "Виберіть власну теку для періодичного збереження", - "set_another": "Виберіть іншу теку", - "filename_format": "Формат назви файлу", - "import_title": "Імпорт", - "reset_button": "Скинути до замовчування", - "items_for_archive": "Елементи для включення в архів конфігурації", - "items_desc": "Ці налаштування також застосовуються до періодичного збереження", - "icons": "Піктограми", - "themes": "Теми", - "fonts": "Шрифти", - "backgrounds": "Шпалери", - "sync": "Синхронізувати", - "sync_desc": "Синхронізуйте конфігурацію середовище стільниці з іншими комп'ютерами в мережі.", - "set_up_sync_file": "Налаштування файлу синхронізації", - "periodic_sync": "Періодична синхронізація", - "manually": "Вручну", - "m_sync_desc": "Відтепер ви можете синхронізувати налаштування з меню на панелі заголовка", - "periodic_saving_file": "Періодичне збереження файлу", - "user_data_flatpak": "Дані користувача встановлених додатків Flatpak", - "keyboard_shortcuts": "Клавіатурні скорочення", - "quit": "Вийти", - "extensions": "Розширення", - "sync_manually": "Синхронізувати вручну", - "list": "Список встановлених додатків Flatpak", - "desktop_folder": "Робочий стіл", - "importing_config_status": "Імпортування конфігурації...\nІмпортування конфігурації з:\n{}\n", - "saving_config_status": "Збереження конфігурації...\nКонфігурація вашої стільниці буде збережена в:\n {}/{}.sd.tar.gz\n", - "config_imported_desc": "{}\nВи можете вийти із системи що зміни набули чинності, або повернутися до попередньої сторінки і вийти із системи пізніше.\n", - "back_to_page": "Повернутися до попередньої сторінки", - "flatpaks_data_tittle": "Обирання даних Flatpak додатків", - "config_saved_desc": "{}\nТепер ви можете переглянути архів з конфігурацією вашої стільниці або повернутися до попередньої сторінки.\n", - "pb_interval": "Інтервал", - "archive_encryption": "Шифрування архіву", - "more_options": "Додаткові опції", - "password_entry": "Пароль", - "create_pwd_desc": "Будь ласка, створіть новий пароль для вашого архіву. Критерії включають довжину не менше 12 символів, одну велику літеру, одну маленьку літеру та один спеціальний символ.", - "check_pwd_desc": "Введіть пароль нижче, щоб розблокувати архів з вашою конфігурацією. Якщо ви його забули, ви не зможете розпакувати архів і почати імпорт конфігурації.", - "archive_encryption_desc": "При ручному збереженні конфігурації вам буде запропоновано створити пароль. Це корисно, коли ви зберігаєте конфігурацію на портативних носіях для кращого захисту ваших даних.", - "check_pwd_title": "Розблокувати архів за допомогою пароля", - "create_pwd_title": "Створити новий пароль", - "create": "Створити", - "select_cloud_folder_btn": "Виберіть папку хмарного диска", - "err_occured": "Виникла помилка", - "change": "Змінити", - "periodic_saving_file_err": "Файл періодичного збереження не існує.", - "cloud_folder_err": "Ви не вибрали папку хмарного диска!", - "gen_password": "Згенерувати пароль", - "bidirectional_sync_desc": "Якщо увімкнено, і вибрані інтервал синхронізації та папка хмарного диска, інформація про періодичне збереження (інтервал, папка та ім'я файлу) з іншого комп'ютера, для якого налаштовано синхронізацію, буде скопійована на цей комп'ютер.", - "connect_cloud_storage_desc": "На іншому комп'ютері відкрийте додаток Save Desktop, а на цій сторінці натисніть кнопку \"Налаштувати файл синхронізації\" і зробіть необхідні налаштування. На цьому комп'ютері виберіть папку, яку ви синхронізували з вашим хмарним сховищем, і де також збережено той же файл періодичного збереження.", - "bidirectional_sync": "Двостороння синхронізація", - "connect_cloud_storage": "Підключитися до хмарного сховища", - "gnome_oa_section": "2. Перейдіть до розділу \"Онлайн-акаунти\"", - "open_wiki": "Відкрити вікі-документацію додатку", - "almost_done_title": "Майже готово!", - "rclone_copy_cmd": "Тепер скопіюйте команду для налаштування Rclone за допомогою бічної кнопки та відкрийте додаток термінала, використовуючи комбінацію клавіш Ctrl+Alt+T або знайшовши його в меню програм.", - "rclone_cmd_copied_msg": "Після того, як ви завершите налаштування Rclone за допомогою наданої команди, натисніть кнопку \"Застосувати\"", - "gnome_oa_chooser_desc": "Створену папку хмарного диска можна знайти в бічній панелі діалогу вибору файлів у вигляді: username@service.com.", - "next": "Далі", - "rclone_intro_desc": "Для правильного функціонування синхронізації, вам потрібно мати папку, яка синхронізується з вашим хмарним сервісом за допомогою Rclone.\nПочніть з вибору хмарного сервісу, який ви використовуєте.", - "almost_done_desc": "Ви щойно створили папку хмарного диска! Натисніть кнопку \"Далі\", щоб завершити налаштування.", - "initial_setup": "Налаштування початкової синхронізації", - "select": "Вибрати", - "gnome_oa_section_desc": "У цьому розділі виберіть хмарний сервіс, який вам потрібен, наприклад, Google, Microsoft 365 або Nextcloud.", - "gnome_oa_settings": "1. Відкрийте налаштування системи", - "gnome_oa_chooser": "3. Натисніть кнопку \"Далі\" та виберіть створену папку хмарного диска", - "password_store_err": "Введено не правильний пароль або нічого. Неможливо продовжити.", - "remember_password": "Запам'ятати пароль", - "syncthing_folder": "Використовувати замість теку Syncthing", - "save_without_archive": "Зберегти конфігурацію без створення архіву", - "import_from_folder": "Імпортувати з теки", - "pwd_for_encryption": "Пароль для шифрування", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization.", - "manual_saving": "Ручне збереження", - "enter_password_title": "Будь ласка, введіть пароль, щоб розблокувати архів для синхронізації конфігурації" -} diff --git a/translations/zh_Hans.json b/translations/zh_Hans.json deleted file mode 100644 index 846f24b0..00000000 --- a/translations/zh_Hans.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "about_app": "关于应用", - "unsuppurted_env_desc": "您安装了不受支持的环境。\n请使用以下环境之一:{}。", - "save_config": "保存当前配置", - "import_config": "导入保存的配置", - "set_filename": "设置文件名", - "config_saved": "配置已保存!", - "open_folder": "打开文件夹", - "cancel": "取消", - "savedesktop_f": "Save Desktop文件", - "config_imported": "配置已应用!", - "logout": "注销", - "please_wait": "请稍等 …", - "summary": "保存您的桌面环境配置", - "description": "Save Desktop 可让您一键保存当前配置(主题、图标、壁纸、所有桌面环境设置、扩展等)。", - "periodic_saving": "定期保存", - "periodic_saving_desc": "更改仅在下次登录后生效", - "never": "从不", - "daily": "每日", - "weekly": "每周", - "monthly": "每月", - "import_from_file": "从文件导入", - "save": "保存", - "apply": "应用", - "translator_credits": "译者github链接", - "learn_more": "学习更多", - "save_installed_flatpaks": "Flatpak 包", - "pb_folder": "定期保存目录", - "set_pb_folder_tooltip": "手动选择定期保存目录", - "set_another": "选择其他目录", - "import_title": "导入", - "filename_format": "文件名称格式", - "reset_button": "恢复默认", - "items_for_archive": "要包含在配置存档中的项目", - "items_desc": "这些设置也适用于定期保存", - "icons": "图标", - "themes": "主题", - "fonts": "字体", - "backgrounds": "背景", - "sync": "同步", - "sync_desc": "将您的桌面环境配置与网络中的其他计算机同步。", - "set_up_sync_file": "设置同步文件", - "periodic_sync": "周期性同步", - "manually": "手动", - "m_sync_desc": "从现在开始,您可以从标题栏中的菜单中同步配置╰(*°▽°*)╯", - "periodic_saving_file": "定期保存文件", - "user_data_flatpak": "使用已安装 Flatpak 程序的用户数据", - "keyboard_shortcuts": "快捷键", - "quit": "退出", - "extensions": "扩展", - "sync_manually": "手动同步", - "list": "已安装的Flatpak应用列表", - "desktop_folder": "桌面", - "saving_config_status": "保存配置……\n您的桌面环境配置将被保存至:\n {}/{}.sd.tar.gz\n", - "importing_config_status": "导入配置……\n从:{}导入配置\n", - "flatpaks_data_tittle": "Flatpak应用数据选项", - "config_imported_desc": "{}\n您可以注销以使更改生效,或返回上一页稍后再注销。\n", - "back_to_page": "返回上一页", - "config_saved_desc": "{}\n现在您可以查看桌面环境配置存档,或者返回上一页。\n", - "pb_interval": "Interval", - "archive_encryption": "存档加密", - "archive_encryption_desc": "在手动保存配置的时候,会有创建密码的提示信息。这在使用移动便携存储设备保存配置时能更好的保护您的数据。", - "create_pwd_desc": "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character.", - "password_entry": "密码", - "more_options": "更多选项", - "check_pwd_desc": "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration.", - "check_pwd_title": "解锁存档时不需要密码", - "create_pwd_title": "创建新密码", - "select_cloud_folder_btn": "选择云驱动文件夹", - "err_occured": "出现一个错误", - "create": "新建", - "change": "更改", - "periodic_saving_file_err": "Periodic saving file does not exist.", - "cloud_folder_err": "您没有选择云驱动文件夹!", - "gen_password": "生成密码", - "bidirectional_sync_desc": "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer.", - "connect_cloud_storage_desc": "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file.", - "bidirectional_sync": "Bidirectional synchronization", - "connect_cloud_storage": "连接到云存储", - "next": "下一步", - "gnome_oa_section": "2. 定位到在线账号(Online Accounts)部分", - "almost_done_title": "马上就好!", - "rclone_cmd_copied_msg": "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button", - "rclone_copy_cmd": "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.", - "gnome_oa_chooser_desc": "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com.", - "almost_done_desc": "您已经创建好云驱动文件夹了!点击下一步以完成设置。", - "rclone_intro_desc": "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use.", - "initial_setup": "初始化同步设置", - "select": "选择", - "gnome_oa_section_desc": "选择你想使用的任一云服务,比如 Google,Microsoft 365 或 Nextcloud.", - "open_wiki": "打开本应用使用说明(WIKI)", - "gnome_oa_settings": "1. 打开系统设置", - "gnome_oa_chooser": "3. 点击下一步,选择已创建的云同步文件夹", - "remember_password": "记住密码", - "syncthing_folder": "Use Syncthing folder instead", - "password_store_err": "密码为空或密码错误,无法进行下一步。", - "save_without_archive": "保存配置时不创建存档", - "import_from_folder": "从文件夹导入", - "pwd_for_encryption": "加密所需的密码", - "manual_saving": "手动保存", - "enter_password_title": "请输入密码解锁存档以同步配置", - "enter_password_desc": "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." -} From 0bec44830030a962650820ba8abc695b3358147c Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sun, 7 Sep 2025 19:17:38 +0200 Subject: [PATCH 02/24] Fix opening Init Setup Dialog with keyboard shortcut --- src/gui/window.py | 10 +++++++--- src/main.py | 9 ++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/gui/window.py b/src/gui/window.py index 84923a9d..36429cae 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -49,8 +49,6 @@ def __init__(self, *args, **kwargs): self.menu_button.set_primary(True) self.headerbar.pack_end(child=self.menu_button) - self.menu_button.set_tooltip_text(tooltip_text) - # add Manually sync section if settings["manually-sync"] == True: self.sync_menu = Gio.Menu() @@ -320,11 +318,17 @@ def sync_desktop(self): self.sync_btn_box.append(self.getButton) def _open_InitSetupDialog(self, w): - self.get_btn_type = w.get_name() + self.__get_button_type(w) self.init_setup_dialog = InitSetupDialog(self) self.init_setup_dialog.choose(self, None, None, None) self.init_setup_dialog.present(self) + def __get_button_type(self, w): + try: + self.get_btn_type = w.get_name() + except: + self.get_btn_type = w + def _open_SetDialog(self, w): self.set_dialog = SetDialog(self) self.set_dialog.choose(self, None, None, None) diff --git a/src/main.py b/src/main.py index 693db29e..4cb0a561 100644 --- a/src/main.py +++ b/src/main.py @@ -62,22 +62,21 @@ def call_importing_config(self, action, param): # Open the More options dialog using Ctrl+Shift+M keyboard shortcut def call_ms_dialog(self, action, param): - self.win.more_options_dialog(w="") - self.win.msDialog.present() + self.win._open_more_options_dialog(w="") # Open the "Items to include in the configuration archive" dialog using Ctrl+Shift+I keyboard shortcut def call_items_dialog(self, action, param): - self.win.items_dialog(w="") + self.win._open_itemsDialog(w="") # Open the "Set up the sync file" dialog using Ctrl+Shift+S keyboard shortcut def call_setDialog(self, action, param): if not snap: - self.win.open_setDialog(w="set-button") if not settings["first-synchronization-setup"] else self.win.open_initsetupDialog(w="set-button") + self.win._open_SetDialog(w="set-button") if not settings["first-synchronization-setup"] else self.win._open_InitSetupDialog(w="set-button") # Open the "Connect to the cloud drive" dialog using Ctrl+Shift+C keyboard shortcut def call_cloudDialog(self, action, param): if not snap: - self.win.open_cloudDialog(w="get-button") if not settings["first-synchronization-setup"] else self.win.open_initsetupDialog(w="get-button") + self.win._open_CloudDialog(w="get-button") if not settings["first-synchronization-setup"] else self.win._open_InitSetupDialog(w="get-button") # Open the application wiki using F1 keyboard shortcut def open_wiki(self, action, param): From 2b240cc0cff4bac1282e487d2f4fc1a2788246c3 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sun, 7 Sep 2025 19:23:08 +0200 Subject: [PATCH 03/24] Update POT files --- po/ar.po | 1 + po/ca.po | 1 + po/cs.po | 1 + po/de.po | 1 + po/es.po | 1 + po/et.po | 1 + po/fi.po | 1 + po/fr.po | 1 + po/hi.po | 1 + po/hu.po | 1 + po/ia.po | 1 + po/id.po | 1 + po/it.po | 1 + po/nb_NO.po | 1 + po/nl.po | 1 + po/pl.po | 1 + po/pt.po | 1 + po/pt_BR.po | 1 + po/ru.po | 1 + po/savedesktop.pot | 2 +- po/sv.po | 1 + po/ta.po | 1 + po/tr.po | 1 + po/uk.po | 1 + po/zh_Hans.po | 1 + 25 files changed, 25 insertions(+), 1 deletion(-) diff --git a/po/ar.po b/po/ar.po index ab67faba..870ad314 100644 --- a/po/ar.po +++ b/po/ar.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "احفظ التخصيصات الحالية لبيئة سطح المكتب الخاص بك" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/ca.po b/po/ca.po index cbc10633..82c404c2 100644 --- a/po/ca.po +++ b/po/ca.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Desa la configuració actual del vostre entorn d'escriptori" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/cs.po b/po/cs.po index 19005312..f8ef9f5e 100644 --- a/po/cs.po +++ b/po/cs.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Uložte konfiguraci plochy" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/de.po b/po/de.po index 91f15d3b..cd56bb99 100644 --- a/po/de.po +++ b/po/de.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Speichern Sie die aktuelle Konfiguration Ihrer Desktop-Umgebung" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/es.po b/po/es.po index aa2c68c5..857361d1 100644 --- a/po/es.po +++ b/po/es.po @@ -461,6 +461,7 @@ msgid "Save your desktop configuration" msgstr "Guardar la configuración del escritorio" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/et.po b/po/et.po index ef85bc59..8239f580 100644 --- a/po/et.po +++ b/po/et.po @@ -458,6 +458,7 @@ msgid "Save your desktop configuration" msgstr "Salvesta oma töölaua seadistused" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/fi.po b/po/fi.po index 438bfdac..21c0ede2 100644 --- a/po/fi.po +++ b/po/fi.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Tallenna työpöytäsi määritys" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/fr.po b/po/fr.po index 095ef388..81fd294e 100644 --- a/po/fr.po +++ b/po/fr.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Sauvegarder la configuration de votre bureau" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/hi.po b/po/hi.po index 657e9cb9..fe358ecd 100644 --- a/po/hi.po +++ b/po/hi.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "अपना डेस्कटॉप विन्यास सहेजें" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/hu.po b/po/hu.po index ee93aee4..968387f9 100644 --- a/po/hu.po +++ b/po/hu.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Mentsd el az asztali környezeted jelenlegi konfigurációját" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/ia.po b/po/ia.po index 4f3c8290..706a88b5 100644 --- a/po/ia.po +++ b/po/ia.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Save your desktop configuration" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/id.po b/po/id.po index 5a15a08d..ebb1e4ff 100644 --- a/po/id.po +++ b/po/id.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Simpan konfigurasi lingkungan desktop Anda saat ini" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/it.po b/po/it.po index 39cb4e6c..342918ec 100644 --- a/po/it.po +++ b/po/it.po @@ -461,6 +461,7 @@ msgid "Save your desktop configuration" msgstr "Salva la configurazione del tuo desktop" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/nb_NO.po b/po/nb_NO.po index 76cb1b89..6fe0bd6a 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Lagre nåværende oppsett av skrivebordsmiljøet ditt" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/nl.po b/po/nl.po index d3bc4788..a5aa374b 100644 --- a/po/nl.po +++ b/po/nl.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Sla de huidige voorkeuren van uw werkomgeving op" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/pl.po b/po/pl.po index bff63495..5328bbf8 100644 --- a/po/pl.po +++ b/po/pl.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Zapisz konfigurację swojego pulpitu" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/pt.po b/po/pt.po index 66a9d2f5..80bd82c3 100644 --- a/po/pt.po +++ b/po/pt.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Grave a sua configuração da área de trabalho" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index 86ffaaf6..b3a43a90 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -461,6 +461,7 @@ msgid "Save your desktop configuration" msgstr "Salvar a configuração da sua área de trabalho" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/ru.po b/po/ru.po index a5b40b7a..b039fa7c 100644 --- a/po/ru.po +++ b/po/ru.po @@ -459,6 +459,7 @@ msgid "Save your desktop configuration" msgstr "Сохраните конфигурацию вашего окружения рабочего стола" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/savedesktop.pot b/po/savedesktop.pot index ab6ff541..88d6207a 100644 --- a/po/savedesktop.pot +++ b/po/savedesktop.pot @@ -459,7 +459,7 @@ msgid "Save your desktop configuration" msgstr "Save your desktop configuration" # Translation key: description -#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:41 +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/sv.po b/po/sv.po index 742b70cc..164a5693 100644 --- a/po/sv.po +++ b/po/sv.po @@ -461,6 +461,7 @@ msgid "Save your desktop configuration" msgstr "Spara din skrivbordskonfiguration" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/ta.po b/po/ta.po index 3a000bfa..77a20ad1 100644 --- a/po/ta.po +++ b/po/ta.po @@ -458,6 +458,7 @@ msgid "Save your desktop configuration" msgstr "உங்கள் பணிமேடை உள்ளமைவைச் சேமி" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/tr.po b/po/tr.po index 4741d93c..b80a3dd3 100644 --- a/po/tr.po +++ b/po/tr.po @@ -461,6 +461,7 @@ msgid "Save your desktop configuration" msgstr "Masaüstü yapılandırmanızı kaydedin" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/uk.po b/po/uk.po index 661809cd..63723962 100644 --- a/po/uk.po +++ b/po/uk.po @@ -460,6 +460,7 @@ msgid "Save your desktop configuration" msgstr "Збережіть конфігурацію вашої стільниці" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" diff --git a/po/zh_Hans.po b/po/zh_Hans.po index 70b2a76c..dd309408 100644 --- a/po/zh_Hans.po +++ b/po/zh_Hans.po @@ -454,6 +454,7 @@ msgid "Save your desktop configuration" msgstr "保存您的桌面环境配置" # Translation key: description +#: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "Save Desktop 可让您一键保存当前配置(主题、图标、壁纸、所有桌面环境设置、扩展等)。" From d88970e2d128aecd8aae49183be9d2e0c82ef88a Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sun, 7 Sep 2025 19:39:40 +0200 Subject: [PATCH 04/24] Replace /app/share/savedesktop by os.environ.get("SAVEDESKTOP_DIR") variable --- src/core/archive.py | 4 ++-- src/core/periodic_saving.py | 2 +- src/core/synchronization.py | 2 +- src/globals.py | 9 +++------ src/gui/synchronization_dialogs.py | 8 ++++---- src/gui/window.py | 2 +- src/main.py | 2 +- 7 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/core/archive.py b/src/core/archive.py index c4ff7e6b..5d243098 100644 --- a/src/core/archive.py +++ b/src/core/archive.py @@ -26,7 +26,7 @@ def __init__(self): def start_saving(self): self._cleanup_cache_dir() - subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) print("Creating and moving the configuration archive or folder to the user-defined directory") @@ -91,7 +91,7 @@ def start_importing(self): self._unpack_tar_archive() self._replace_home_in_files(".", home) - subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--import_"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--import_"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) self._remove_status_file() diff --git a/src/core/periodic_saving.py b/src/core/periodic_saving.py index fbdd1727..a1688ea5 100644 --- a/src/core/periodic_saving.py +++ b/src/core/periodic_saving.py @@ -71,7 +71,7 @@ def backup(self): os.makedirs(f"{CACHE}/periodic_saving", exist_ok=True) os.chdir(f"{CACHE}/periodic_saving") os.system("echo > saving_status") - subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) print("creating the configuration archive") print("moving the configuration archive to the user-defined directory") diff --git a/src/core/synchronization.py b/src/core/synchronization.py index 97b904ba..a7a43f95 100644 --- a/src/core/synchronization.py +++ b/src/core/synchronization.py @@ -167,7 +167,7 @@ def extract_archive(self): # Start importing a configuration from the configuration archive def import_config(self): - subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.config", "--save"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) self.done() def done(self): diff --git a/src/globals.py b/src/globals.py index 31a67ac5..adf8ba73 100644 --- a/src/globals.py +++ b/src/globals.py @@ -11,7 +11,6 @@ def get_app_environment(): return { 'type': 'flatpak', 'home': Path(os.getenv('HOME', Path.home())), - 'version_suffix': '', 'run_cmd': 'flatpak run io.github.vikdevelop.SaveDesktop' } @@ -19,7 +18,6 @@ def get_app_environment(): return { 'type': 'snap', 'home': Path(os.getenv('SNAP_REAL_HOME', os.getenv('HOME', Path.home()))), - 'version_suffix': '-snap', 'run_cmd': 'savedesktop' } @@ -27,14 +25,12 @@ def get_app_environment(): return { 'type': 'native', 'home': Path.home(), - 'version_suffix': '-native', 'run_cmd': 'savedesktop' } env = get_app_environment() home = env['home'] -version = f"1.0.0{env['version_suffix']}" # System paths download_dir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD) @@ -54,10 +50,11 @@ def get_app_environment(): flatpak = (env['type'] == 'flatpak') snap = (env['type'] == 'snap') +app_prefix = os.environ.get('SAVEDESKTOP_DIR') + # Export __all__ = [ 'home', 'download_dir', 'snap', 'flatpak', 'settings', - 'DATA', 'CACHE', 'version', - 'periodic_saving_cmd', 'sync_cmd' + 'DATA', 'CACHE', 'app_prefix', 'periodic_saving_cmd', 'sync_cmd' ] diff --git a/src/gui/synchronization_dialogs.py b/src/gui/synchronization_dialogs.py index e80f5ed4..975f74a1 100644 --- a/src/gui/synchronization_dialogs.py +++ b/src/gui/synchronization_dialogs.py @@ -191,7 +191,7 @@ def save_now(self): self.file_row.set_subtitle(_("Please wait …")) self.file_row.set_use_markup(False) subprocess.run(['notify-send', 'SaveDesktop', _("Please wait …")]) - subprocess.run([sys.executable, "savedesktop.core.periodic_saving", "--save-now"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "savedesktop.core.periodic_saving", "--save-now"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) except Exception as e: e_o = True subprocess.run(['notify-send', _("An error occurred"), f'{e}']) @@ -266,7 +266,7 @@ def save_file(self): try: self.mount_type = "periodic-saving" open(f"{settings['periodic-saving-folder']}/SaveDesktop.json", "w").write('{\n "periodic-saving-interval": "%s",\n "filename": "%s"\n}' % (settings["periodic-saving"], settings["filename-format"])) - subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--automount-setup", self.mount_type], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--automount-setup", self.mount_type], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) except Exception as e: os.system(f"notify-send \'{_('An error occurred')}\' '{e}'") finally: @@ -410,7 +410,7 @@ def call_automount(self): settings["file-for-syncing"] = self.cfileRow.get_subtitle() result = subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--checkfs"], capture_output=True, text=True, - env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) if result.returncode == 0: output = result.stdout.strip() @@ -422,7 +422,7 @@ def call_automount(self): else: subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--automount-setup", self.mount_type], - env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) else: raise AttributeError(_("You have not selected the cloud drive folder")) except Exception as e: diff --git a/src/gui/window.py b/src/gui/window.py index 36429cae..c48ea851 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -515,7 +515,7 @@ def save_config(self): def _call_archive_command(self): try: - subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) except subprocess.CalledProcessError as e: GLib.idle_add(self.show_err_msg, e) self.toolbarview.set_content(self.headapp) diff --git a/src/main.py b/src/main.py index 4cb0a561..a088f4a7 100644 --- a/src/main.py +++ b/src/main.py @@ -43,7 +43,7 @@ def _sync_process(self): try: os.system(f'notify-send "{_("Please wait …")}"') os.system(f"echo > {CACHE}/.from_app") - subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization"], check=True, env={**os.environ, "PYTHONPATH": "/app/share/savedesktop"}) + subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) except subprocess.CalledProcessError as e: GLib.idle_add(self.win.show_err_msg, e) self.toolbarview.set_content(self.headapp) From 824d4208fb977900f6a34c169d5fd04894f45e47 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Mon, 8 Sep 2025 12:10:24 +0200 Subject: [PATCH 05/24] Change the status icon --- data/icons/hicolor/scalable/status/done.svg | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data/icons/hicolor/scalable/status/done.svg b/data/icons/hicolor/scalable/status/done.svg index a4339903..fe96938a 100644 --- a/data/icons/hicolor/scalable/status/done.svg +++ b/data/icons/hicolor/scalable/status/done.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + From 0e4bccdb02f21171bb0db76d5351968193e000c8 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Mon, 8 Sep 2025 15:25:56 +0200 Subject: [PATCH 06/24] Cleanup untranslated strings --- po/ar.po | 134 +++++++++++++++--------------- po/ca.po | 36 ++++---- po/cs.po | 4 +- po/de.po | 86 +++++++++---------- po/es.po | 14 ++-- po/fr.po | 48 +++++------ po/hi.po | 44 +++++----- po/hu.po | 76 ++++++++--------- po/ia.po | 160 ++++++++++++++++++------------------ po/id.po | 80 +++++++++--------- po/it.po | 4 +- po/nb_NO.po | 134 +++++++++++++++--------------- po/nl.po | 76 ++++++++--------- po/pl.po | 62 +++++++------- po/pt.po | 60 +++++++------- po/pt_BR.po | 14 ++-- po/zh_Hans.po | 8 +- src/core/periodic_saving.py | 2 +- src/core/synchronization.py | 2 +- 19 files changed, 522 insertions(+), 522 deletions(-) diff --git a/po/ar.po b/po/ar.po index 870ad314..29f78870 100644 --- a/po/ar.po +++ b/po/ar.po @@ -14,7 +14,7 @@ msgstr "" # Translation key: save msgid "Save" -msgstr "Save" +msgstr "" #: src/gui/shortcuts_window.ui:22 # Translation key: save_config @@ -28,35 +28,35 @@ msgstr "قم بتعيين اسم الملف (بدون مسافات)" #: src/gui/shortcuts_window.ui:64 # Translation key: items_for_archive msgid "Items to include in the configuration archive" -msgstr "Items to include in the configuration archive" +msgstr "" # Translation key: items_desc msgid "These settings also apply to periodic saving" -msgstr "These settings also apply to periodic saving" +msgstr "" # Translation key: icons msgid "Icons" -msgstr "Icons" +msgstr "" # Translation key: themes msgid "Themes" -msgstr "Themes" +msgstr "" # Translation key: fonts msgid "Fonts" -msgstr "Fonts" +msgstr "" # Translation key: backgrounds msgid "Backgrounds" -msgstr "Backgrounds" +msgstr "" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -64,88 +64,88 @@ msgstr "Save installed Flatpak apps" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" -msgstr "Periodic saving" +msgstr "" # Translation key: periodic_saving_desc msgid "Changes will only take effect after the next login" -msgstr "Changes will only take effect after the next login" +msgstr "" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" -msgstr "Never" +msgstr "" # Translation key: daily msgid "Daily" -msgstr "Daily" +msgstr "" # Translation key: weekly msgid "Weekly" -msgstr "Weekly" +msgstr "" # Translation key: monthly msgid "Monthly" -msgstr "Monthly" +msgstr "" # Translation key: manually msgid "Manually" -msgstr "Manually" +msgstr "" # Translation key: learn_more msgid "Learn more" -msgstr "Learn more" +msgstr "" # Translation key: pb_folder msgid "Folder for periodic saving" -msgstr "Folder for periodic saving" +msgstr "" # Translation key: set_pb_folder_tooltip msgid "Choose custom folder for periodic saving" -msgstr "Choose custom folder for periodic saving" +msgstr "" # Translation key: set_another msgid "Choose another folder" -msgstr "Choose another folder" +msgstr "" # Translation key: filename_format msgid "File name format" -msgstr "File name format" +msgstr "" # Translation key: reset_button msgid "Reset to default" -msgstr "Reset to default" +msgstr "" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -227,7 +227,7 @@ msgstr "افتح المجلد" # Translation key: import_title msgid "Import" -msgstr "Import" +msgstr "" # Translation key: import_config msgid "Import saved configuration" @@ -236,11 +236,11 @@ msgstr "استيراد تخصيصات محفوظة" #: src/gui/shortcuts_window.ui:29 # Translation key: import_from_file msgid "Import from file" -msgstr "Import from file" +msgstr "" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -268,7 +268,7 @@ msgstr "" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" @@ -276,15 +276,15 @@ msgstr "تسجيل الخروج" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" -msgstr "Apply" +msgstr "" # Translation key: sync msgid "Sync" -msgstr "Sync" +msgstr "" # Translation key: sync_desc msgid "" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,28 +354,28 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file msgid "Set up the sync file" -msgstr "Set up the sync file" +msgstr "" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "انتظر من فضلك …" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,19 +398,19 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" -msgstr "Periodic synchronization" +msgstr "" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -420,27 +420,27 @@ msgstr "" # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" -msgstr "From now on, you can sync the config from the menu in the header bar" +msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" diff --git a/po/ca.po b/po/ca.po index 82c404c2..1aea39e1 100644 --- a/po/ca.po +++ b/po/ca.po @@ -44,7 +44,7 @@ msgstr "Temes" # Translation key: fonts msgid "Fonts" -msgstr "Fonts" +msgstr "" # Translation key: backgrounds msgid "Backgrounds" @@ -52,7 +52,7 @@ msgstr "Fons d'escriptori" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" @@ -89,7 +89,7 @@ msgstr "Els canvis seran efectius al proper inici de sessió" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -137,11 +137,11 @@ msgstr "Restaura als valors per defecte" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" @@ -155,7 +155,7 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Des d'un fitxer" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -436,7 +436,7 @@ msgstr "Dreceres de teclat" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit diff --git a/po/cs.po b/po/cs.po index f8ef9f5e..8b745fbc 100644 --- a/po/cs.po +++ b/po/cs.po @@ -89,7 +89,7 @@ msgstr "Změny se projeví až po dalším přihlášení" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -226,7 +226,7 @@ msgstr "Otevřít složku" # Translation key: import_title msgid "Import" -msgstr "Import" +msgstr "" # Translation key: import_config msgid "Import saved configuration" diff --git a/po/de.po b/po/de.po index cd56bb99..5dc98361 100644 --- a/po/de.po +++ b/po/de.po @@ -52,11 +52,11 @@ msgstr "Hintergründe" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -64,20 +64,20 @@ msgstr "Flatpak-Apps" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" @@ -89,7 +89,7 @@ msgstr "Die Änderungen werden erst nach der nächsten Anmeldung wirksam." # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -109,7 +109,7 @@ msgstr "Monatlich" # Translation key: manually msgid "Manually" -msgstr "Manually" +msgstr "" # Translation key: learn_more msgid "Learn more" @@ -137,15 +137,15 @@ msgstr "Auf Standardeinstellungen zurücksetzen" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Aus Datei importieren" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -284,7 +284,7 @@ msgstr "Anwenden" # Translation key: sync msgid "Sync" -msgstr "Sync" +msgstr "" # Translation key: sync_desc msgid "" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,28 +354,28 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file msgid "Set up the sync file" -msgstr "Set up the sync file" +msgstr "" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Bitte warten …" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,19 +398,19 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" -msgstr "Periodic synchronization" +msgstr "" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -420,27 +420,27 @@ msgstr "" # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" -msgstr "From now on, you can sync the config from the menu in the header bar" +msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" diff --git a/po/es.po b/po/es.po index 857361d1..aeafff1e 100644 --- a/po/es.po +++ b/po/es.po @@ -137,11 +137,11 @@ msgstr "Restablecer los valores por defecto" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" @@ -155,7 +155,7 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Importar desde archivo" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -341,7 +341,7 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" diff --git a/po/fr.po b/po/fr.po index 81fd294e..52cf2c28 100644 --- a/po/fr.po +++ b/po/fr.po @@ -52,7 +52,7 @@ msgstr "Fonds d'écran" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" @@ -137,11 +137,11 @@ msgstr "Réinitialisation aux valeurs par défaut" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" @@ -155,7 +155,7 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" @@ -169,7 +169,7 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Importer à partir d'un fichier" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -371,11 +371,11 @@ msgstr "Fichier pour l'enregistrement périodique" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Veuillez patienter …" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,11 +398,11 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" @@ -410,7 +410,7 @@ msgstr "Synchronisation périodique" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -436,7 +436,7 @@ msgstr "Raccourcis clavier" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit diff --git a/po/hi.po b/po/hi.po index fe358ecd..1cc38a47 100644 --- a/po/hi.po +++ b/po/hi.po @@ -137,11 +137,11 @@ msgstr "तयशुदा पर रीसेट" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" @@ -155,7 +155,7 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" @@ -169,7 +169,7 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" @@ -199,7 +199,7 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." @@ -240,7 +240,7 @@ msgstr "फाइल से आयात" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -276,7 +276,7 @@ msgstr "लॉग आउट" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -375,7 +375,7 @@ msgstr "Periodic saving file does not exist।" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "कृपया प्रतीक्षा करें …" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,11 +398,11 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" @@ -410,7 +410,7 @@ msgstr "आवधिक समन्वयन" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -435,7 +435,7 @@ msgstr "कीबोर्ड शॉर्टकट" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit diff --git a/po/hu.po b/po/hu.po index 968387f9..3508e83b 100644 --- a/po/hu.po +++ b/po/hu.po @@ -52,11 +52,11 @@ msgstr "Hátterek" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -64,7 +64,7 @@ msgstr "Flatpak alkalmazások" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" @@ -72,12 +72,12 @@ msgstr "Telepített Flatpak alkalmazások felhasználói adatai" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" @@ -89,7 +89,7 @@ msgstr "A változtatások csak a következő belépéskor lépnek érvénybe" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -137,15 +137,15 @@ msgstr "Alaphelyzetbe állítás" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Importálás fájlból" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -268,7 +268,7 @@ msgstr "" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" @@ -276,7 +276,7 @@ msgstr "Kijelentkezés" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -371,11 +371,11 @@ msgstr "Szinkronizálási fájl" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Kérlek várj …" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,11 +398,11 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" @@ -410,7 +410,7 @@ msgstr "Időszakos szinkronizálás" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -425,22 +425,22 @@ msgstr "Ezentúl szinkronizálhatod a konfigurációt a fejlécsáv menüjéből #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" diff --git a/po/ia.po b/po/ia.po index 706a88b5..3311695e 100644 --- a/po/ia.po +++ b/po/ia.po @@ -14,138 +14,138 @@ msgstr "" # Translation key: save msgid "Save" -msgstr "Save" +msgstr "" #: src/gui/shortcuts_window.ui:22 # Translation key: save_config msgid "Save the current configuration" -msgstr "Save the current configuration" +msgstr "" # Translation key: set_filename msgid "Set the file name" -msgstr "Set the file name" +msgstr "" #: src/gui/shortcuts_window.ui:64 # Translation key: items_for_archive msgid "Items to include in the configuration archive" -msgstr "Items to include in the configuration archive" +msgstr "" # Translation key: items_desc msgid "These settings also apply to periodic saving" -msgstr "These settings also apply to periodic saving" +msgstr "" # Translation key: icons msgid "Icons" -msgstr "Icons" +msgstr "" # Translation key: themes msgid "Themes" -msgstr "Themes" +msgstr "" # Translation key: fonts msgid "Fonts" -msgstr "Fonts" +msgstr "" # Translation key: backgrounds msgid "Backgrounds" -msgstr "Backgrounds" +msgstr "" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" -msgstr "Flatpak apps" +msgstr "" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" -msgstr "Periodic saving" +msgstr "" # Translation key: periodic_saving_desc msgid "Changes will only take effect after the next login" -msgstr "Changes will only take effect after the next login" +msgstr "" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" -msgstr "Never" +msgstr "" # Translation key: daily msgid "Daily" -msgstr "Daily" +msgstr "" # Translation key: weekly msgid "Weekly" -msgstr "Weekly" +msgstr "" # Translation key: monthly msgid "Monthly" -msgstr "Monthly" +msgstr "" # Translation key: manually msgid "Manually" -msgstr "Manually" +msgstr "" # Translation key: learn_more msgid "Learn more" -msgstr "Learn more" +msgstr "" # Translation key: pb_folder msgid "Folder for periodic saving" -msgstr "Folder for periodic saving" +msgstr "" # Translation key: set_pb_folder_tooltip msgid "Choose custom folder for periodic saving" -msgstr "Choose custom folder for periodic saving" +msgstr "" # Translation key: set_another msgid "Choose another folder" -msgstr "Choose another folder" +msgstr "" # Translation key: filename_format msgid "File name format" -msgstr "File name format" +msgstr "" # Translation key: reset_button msgid "Reset to default" -msgstr "Reset to default" +msgstr "" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -213,7 +213,7 @@ msgstr "" # Translation key: config_saved msgid "Configuration has been saved!" -msgstr "Configuration has been saved!" +msgstr "" # Translation key: config_saved_desc msgid "" @@ -223,32 +223,32 @@ msgstr "" # Translation key: open_folder msgid "Open the folder" -msgstr "Open the folder" +msgstr "" # Translation key: import_title msgid "Import" -msgstr "Import" +msgstr "" # Translation key: import_config msgid "Import saved configuration" -msgstr "Import saved configuration" +msgstr "" #: src/gui/shortcuts_window.ui:29 # Translation key: import_from_file msgid "Import from file" -msgstr "Import from file" +msgstr "" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" -msgstr "Cancel" +msgstr "" # Translation key: savedesktop_f msgid "Save Desktop files" -msgstr "Save Desktop files" +msgstr "" # Translation key: importing_config_status msgid "" @@ -258,7 +258,7 @@ msgstr "" # Translation key: config_imported msgid "The configuration has been applied!" -msgstr "The configuration has been applied!" +msgstr "" # Translation key: config_imported_desc msgid "" @@ -268,23 +268,23 @@ msgstr "" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" -msgstr "Log Out" +msgstr "" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" -msgstr "Apply" +msgstr "" # Translation key: sync msgid "Sync" -msgstr "Sync" +msgstr "" # Translation key: sync_desc msgid "" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,41 +354,41 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file msgid "Set up the sync file" -msgstr "Set up the sync file" +msgstr "" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" -msgstr "Please wait …" +msgstr "" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,19 +398,19 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" -msgstr "Periodic synchronization" +msgstr "" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -420,31 +420,31 @@ msgstr "" # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" -msgstr "From now on, you can sync the config from the menu in the header bar" +msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" -msgstr "About app" +msgstr "" # Translation key: unsuppurted_env_desc msgid "" @@ -456,7 +456,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 # Translation key: summary msgid "Save your desktop configuration" -msgstr "Save your desktop configuration" +msgstr "" # Translation key: description #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 diff --git a/po/id.po b/po/id.po index ebb1e4ff..c6696f39 100644 --- a/po/id.po +++ b/po/id.po @@ -52,11 +52,11 @@ msgstr "Latar Belakang" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -64,20 +64,20 @@ msgstr "Aplikasi flatpak" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" @@ -89,7 +89,7 @@ msgstr "Perubahan hanya akan berlaku setelah login berikutnya" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -137,15 +137,15 @@ msgstr "Setel ulang ke default" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Impor dari file" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -268,7 +268,7 @@ msgstr "" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" @@ -276,7 +276,7 @@ msgstr "Keluar Sesi" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -367,15 +367,15 @@ msgstr "Atur file sinkronisasi" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Harap tunggu…" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,11 +398,11 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" @@ -410,7 +410,7 @@ msgstr "Sinkronisasi berkala" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -426,22 +426,22 @@ msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" diff --git a/po/it.po b/po/it.po index 342918ec..99e04d4e 100644 --- a/po/it.po +++ b/po/it.po @@ -56,7 +56,7 @@ msgstr "Estensioni" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -173,7 +173,7 @@ msgstr "Genera Password" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" diff --git a/po/nb_NO.po b/po/nb_NO.po index 6fe0bd6a..939a6104 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -14,7 +14,7 @@ msgstr "" # Translation key: save msgid "Save" -msgstr "Save" +msgstr "" #: src/gui/shortcuts_window.ui:22 # Translation key: save_config @@ -28,35 +28,35 @@ msgstr "Sett filnavn (uten mellomrom)" #: src/gui/shortcuts_window.ui:64 # Translation key: items_for_archive msgid "Items to include in the configuration archive" -msgstr "Items to include in the configuration archive" +msgstr "" # Translation key: items_desc msgid "These settings also apply to periodic saving" -msgstr "These settings also apply to periodic saving" +msgstr "" # Translation key: icons msgid "Icons" -msgstr "Icons" +msgstr "" # Translation key: themes msgid "Themes" -msgstr "Themes" +msgstr "" # Translation key: fonts msgid "Fonts" -msgstr "Fonts" +msgstr "" # Translation key: backgrounds msgid "Backgrounds" -msgstr "Backgrounds" +msgstr "" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -64,88 +64,88 @@ msgstr "Save installed Flatpak apps" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" -msgstr "Periodic saving" +msgstr "" # Translation key: periodic_saving_desc msgid "Changes will only take effect after the next login" -msgstr "Changes will only take effect after the next login" +msgstr "" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" -msgstr "Never" +msgstr "" # Translation key: daily msgid "Daily" -msgstr "Daily" +msgstr "" # Translation key: weekly msgid "Weekly" -msgstr "Weekly" +msgstr "" # Translation key: monthly msgid "Monthly" -msgstr "Monthly" +msgstr "" # Translation key: manually msgid "Manually" -msgstr "Manually" +msgstr "" # Translation key: learn_more msgid "Learn more" -msgstr "Learn more" +msgstr "" # Translation key: pb_folder msgid "Folder for periodic saving" -msgstr "Folder for periodic saving" +msgstr "" # Translation key: set_pb_folder_tooltip msgid "Choose custom folder for periodic saving" -msgstr "Choose custom folder for periodic saving" +msgstr "" # Translation key: set_another msgid "Choose another folder" -msgstr "Choose another folder" +msgstr "" # Translation key: filename_format msgid "File name format" -msgstr "File name format" +msgstr "" # Translation key: reset_button msgid "Reset to default" -msgstr "Reset to default" +msgstr "" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -227,7 +227,7 @@ msgstr "Åpne mappen" # Translation key: import_title msgid "Import" -msgstr "Import" +msgstr "" # Translation key: import_config msgid "Import saved configuration" @@ -236,11 +236,11 @@ msgstr "Importer lagret oppsett" #: src/gui/shortcuts_window.ui:29 # Translation key: import_from_file msgid "Import from file" -msgstr "Import from file" +msgstr "" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -268,7 +268,7 @@ msgstr "" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" @@ -276,15 +276,15 @@ msgstr "Logg ut" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" -msgstr "Apply" +msgstr "" # Translation key: sync msgid "Sync" -msgstr "Sync" +msgstr "" # Translation key: sync_desc msgid "" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,28 +354,28 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file msgid "Set up the sync file" -msgstr "Set up the sync file" +msgstr "" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Vent …" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,19 +398,19 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" -msgstr "Periodic synchronization" +msgstr "" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -420,27 +420,27 @@ msgstr "" # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" -msgstr "From now on, you can sync the config from the menu in the header bar" +msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" diff --git a/po/nl.po b/po/nl.po index a5aa374b..5c719f8d 100644 --- a/po/nl.po +++ b/po/nl.po @@ -52,11 +52,11 @@ msgstr "Achtergronden" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" @@ -64,7 +64,7 @@ msgstr "Flatpaktoepassingen" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" @@ -72,12 +72,12 @@ msgstr "Gebruikersgegevens van geïnstalleerde Flatpaktoepassingen" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" @@ -89,7 +89,7 @@ msgstr "Meld u opnieuw aan om de wijzigingen toe te passen" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -137,15 +137,15 @@ msgstr "Standaardwaarden" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Importeren uit bestand" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -268,7 +268,7 @@ msgstr "" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" @@ -276,7 +276,7 @@ msgstr "Afmelden" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -371,11 +371,11 @@ msgstr "Periodiek opgeslagen bestand" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Even geduld…" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,11 +398,11 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" @@ -410,7 +410,7 @@ msgstr "Periodieke synchronisatie" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -426,22 +426,22 @@ msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" #: src/gui/shortcuts_window.ui:36 # Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" diff --git a/po/pl.po b/po/pl.po index 5328bbf8..f25b9620 100644 --- a/po/pl.po +++ b/po/pl.po @@ -28,11 +28,11 @@ msgstr "Ustaw nazwę pliku" #: src/gui/shortcuts_window.ui:64 # Translation key: items_for_archive msgid "Items to include in the configuration archive" -msgstr "Items to include in the configuration archive" +msgstr "" # Translation key: items_desc msgid "These settings also apply to periodic saving" -msgstr "These settings also apply to periodic saving" +msgstr "" # Translation key: icons msgid "Icons" @@ -64,15 +64,15 @@ msgstr "Aplikacje Flatpak" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" #: src/gui/shortcuts_window.ui # Translation key: more_options @@ -81,15 +81,15 @@ msgstr "Więcej opcji" # Translation key: periodic_saving msgid "Periodic saving" -msgstr "Periodic saving" +msgstr "" # Translation key: periodic_saving_desc msgid "Changes will only take effect after the next login" -msgstr "Changes will only take effect after the next login" +msgstr "" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -117,11 +117,11 @@ msgstr "Dowiedz się więcej" # Translation key: pb_folder msgid "Folder for periodic saving" -msgstr "Folder for periodic saving" +msgstr "" # Translation key: set_pb_folder_tooltip msgid "Choose custom folder for periodic saving" -msgstr "Choose custom folder for periodic saving" +msgstr "" # Translation key: set_another msgid "Choose another folder" @@ -145,7 +145,7 @@ msgstr "Ręczne zapisywanie" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,7 +155,7 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" @@ -177,7 +177,7 @@ msgstr "Hasło" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -203,7 +203,7 @@ msgstr "Zapamiętaj hasło" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -258,7 +258,7 @@ msgstr "" # Translation key: config_imported msgid "The configuration has been applied!" -msgstr "The configuration has been applied!" +msgstr "" # Translation key: config_imported_desc msgid "" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -363,15 +363,15 @@ msgstr "Dalej" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file msgid "Set up the sync file" -msgstr "Set up the sync file" +msgstr "" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" @@ -388,7 +388,7 @@ msgstr "Zmień" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,19 +398,19 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" -msgstr "Periodic synchronization" +msgstr "" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -420,7 +420,7 @@ msgstr "" # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" -msgstr "From now on, you can sync the config from the menu in the header bar" +msgstr "" #: src/gui/shortcuts_window.ui:50 # Translation key: sync_manually @@ -435,7 +435,7 @@ msgstr "Skróty klawiszowe" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit diff --git a/po/pt.po b/po/pt.po index 80bd82c3..9e10b56b 100644 --- a/po/pt.po +++ b/po/pt.po @@ -77,7 +77,7 @@ msgstr "Seleção de dados de apps Flatpak" #: src/gui/shortcuts_window.ui # Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" @@ -89,7 +89,7 @@ msgstr "As alterações só terão efeito após o próximo login" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -137,15 +137,15 @@ msgstr "Restaurar para o padrão" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" @@ -155,11 +155,11 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" @@ -169,15 +169,15 @@ msgstr "" # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Importar do ficheiro" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -276,7 +276,7 @@ msgstr "Sair" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" @@ -294,15 +294,15 @@ msgstr "" # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" @@ -312,7 +312,7 @@ msgstr "" # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" @@ -340,11 +340,11 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" @@ -354,11 +354,11 @@ msgstr "" # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" #: src/gui/shortcuts_window.ui:71 # Translation key: set_up_sync_file @@ -371,11 +371,11 @@ msgstr "Ficheiro de gravação periódica" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" @@ -383,12 +383,12 @@ msgstr "Por favor, aguarde…" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" #: src/gui/shortcuts_window.ui:78 # Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" @@ -398,11 +398,11 @@ msgstr "" # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" @@ -410,7 +410,7 @@ msgstr "Sincronização periódica" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" @@ -436,7 +436,7 @@ msgstr "Atalhos do teclado" #: src/gui/shortcuts_window.ui:15 # Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" #: src/gui/shortcuts_window.ui:43 # Translation key: quit diff --git a/po/pt_BR.po b/po/pt_BR.po index b3a43a90..b53fe94a 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -137,11 +137,11 @@ msgstr "Restaurar para o padrão" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" @@ -155,7 +155,7 @@ msgstr "" # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" @@ -199,11 +199,11 @@ msgstr "" # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" @@ -240,7 +240,7 @@ msgstr "Importar do arquivo" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" @@ -341,7 +341,7 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" diff --git a/po/zh_Hans.po b/po/zh_Hans.po index dd309408..b575a7f0 100644 --- a/po/zh_Hans.po +++ b/po/zh_Hans.po @@ -89,7 +89,7 @@ msgstr "更改仅在下次登录后生效" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" @@ -336,7 +336,7 @@ msgstr "" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" @@ -366,7 +366,7 @@ msgstr "定期保存文件" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" @@ -405,7 +405,7 @@ msgstr "周期性同步" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" diff --git a/src/core/periodic_saving.py b/src/core/periodic_saving.py index a1688ea5..d0931c9c 100644 --- a/src/core/periodic_saving.py +++ b/src/core/periodic_saving.py @@ -1,4 +1,4 @@ -import argparse, json, os, gi, shutil, subprocess +import argparse, json, os, gi, shutil, subprocess, sys from datetime import datetime, date, timedelta from pathlib import Path from gi.repository import GLib, Gio diff --git a/src/core/synchronization.py b/src/core/synchronization.py index a7a43f95..82bb6d17 100644 --- a/src/core/synchronization.py +++ b/src/core/synchronization.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 from pathlib import Path from datetime import datetime, date, timedelta -import subprocess, os, locale, json, gi, socket, shutil, zipfile, tarfile, re +import subprocess, os, locale, json, sys, gi, socket, shutil, zipfile, tarfile, re from gi.repository import Gio, GLib from savedesktop.globals import * from savedesktop.core.password_store import * From c664697bbc03b6a676dbdb964f46ee722cd022d9 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Mon, 8 Sep 2025 15:33:44 +0200 Subject: [PATCH 07/24] Cleanup multi-line untranslated strings --- po/ar.po | 16 ----- po/ca.po | 8 --- po/de.po | 16 ----- po/es.po | 2 - po/fi.po | 9 --- po/fr.po | 10 --- po/hi.po | 3 - po/hu.po | 15 ---- po/ia.po | 20 ------ po/id.po | 15 ---- po/nb_NO.po | 16 ----- po/nl.po | 15 ---- po/pl.po | 18 ----- po/pt.po | 13 ---- po/pt_BR.po | 2 - po/uk.po | 1 - po/zh_Hans.po | 9 --- po_change.py | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++ 18 files changed, 188 insertions(+), 188 deletions(-) create mode 100644 po_change.py diff --git a/po/ar.po b/po/ar.po index 29f78870..3693ba75 100644 --- a/po/ar.po +++ b/po/ar.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "تم حفظ التخصيصات!" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "تم تطبيق التخصيصات!" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -290,7 +283,6 @@ msgstr "" msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -"Sync your desktop environment configuration with other computers in the network." # Translation key: initial_setup msgid "Initial synchronization setup" @@ -308,7 +300,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +309,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +337,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +380,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +401,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/ca.po b/po/ca.po index 1aea39e1..a49b06b1 100644 --- a/po/ca.po +++ b/po/ca.po @@ -189,13 +189,11 @@ msgstr "" msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -308,7 +306,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +315,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +343,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" diff --git a/po/de.po b/po/de.po index 5dc98361..bcfea4c3 100644 --- a/po/de.po +++ b/po/de.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "Die Konfiguration wurde gespeichert!" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "Die Konfiguration wurde angewendet!" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -290,7 +283,6 @@ msgstr "" msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -"Sync your desktop environment configuration with other computers in the network." # Translation key: initial_setup msgid "Initial synchronization setup" @@ -308,7 +300,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +309,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +337,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +380,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +401,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/es.po b/po/es.po index aeafff1e..a31d8449 100644 --- a/po/es.po +++ b/po/es.po @@ -189,13 +189,11 @@ msgstr "" msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" diff --git a/po/fi.po b/po/fi.po index 21c0ede2..1fd9543f 100644 --- a/po/fi.po +++ b/po/fi.po @@ -189,13 +189,11 @@ msgstr "" msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -319,25 +317,21 @@ msgstr "3. Napsauta Seuraava-painiketta ja valitse luotu kansio pilvestä" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -351,7 +345,6 @@ msgstr "Melkein valmista!" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -395,7 +388,6 @@ msgstr "Yhdistä pilvitallennustilaan" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -417,7 +409,6 @@ msgstr "Kaksisuuntainen synkronointi" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/fr.po b/po/fr.po index 52cf2c28..c3d202e7 100644 --- a/po/fr.po +++ b/po/fr.po @@ -189,13 +189,11 @@ msgstr "" msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -308,7 +306,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +315,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +343,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +386,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +407,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/hi.po b/po/hi.po index 1cc38a47..88424e9a 100644 --- a/po/hi.po +++ b/po/hi.po @@ -189,7 +189,6 @@ msgstr "" msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" @@ -324,7 +323,6 @@ msgstr "" msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" @@ -336,7 +334,6 @@ msgstr "" msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" diff --git a/po/hu.po b/po/hu.po index 3508e83b..da47a2f3 100644 --- a/po/hu.po +++ b/po/hu.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "A konfiguráció elmentve!" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "A konfigurációt alkalmaztuk!" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -308,7 +301,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +310,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +338,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +381,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +402,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/ia.po b/po/ia.po index 3311695e..921b2cf7 100644 --- a/po/ia.po +++ b/po/ia.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -209,7 +204,6 @@ msgstr "" msgid "" "Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" msgstr "" -"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" # Translation key: config_saved msgid "Configuration has been saved!" @@ -219,7 +213,6 @@ msgstr "" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -254,7 +247,6 @@ msgstr "" msgid "" "Importing configuration …\nImporting configuration from:\n{}\n" msgstr "" -"Importing configuration …\nImporting configuration from:\n{}\n" # Translation key: config_imported msgid "The configuration has been applied!" @@ -264,7 +256,6 @@ msgstr "" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -290,7 +281,6 @@ msgstr "" msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -"Sync your desktop environment configuration with other computers in the network." # Translation key: initial_setup msgid "Initial synchronization setup" @@ -308,7 +298,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +307,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +335,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +378,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +399,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" @@ -450,7 +432,6 @@ msgstr "" msgid "" "You have an unsupported environment installed. \nPlease use one of these environments: {}." msgstr "" -"You have an unsupported environment installed. \nPlease use one of these environments: {}." #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 @@ -463,7 +444,6 @@ msgstr "" msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" -"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." # Translation key: translator_credits msgid "Translator credits" diff --git a/po/id.po b/po/id.po index c6696f39..42881061 100644 --- a/po/id.po +++ b/po/id.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "Konfigurasi telah tersimpan!" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "Konfigurasi ini telah diterapkan!" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -308,7 +301,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +310,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +338,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +381,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +402,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/nb_NO.po b/po/nb_NO.po index 939a6104..998afec8 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "Oppsettet har blitt lagret." msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "Oppsettet har blitt anvendt." msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -290,7 +283,6 @@ msgstr "" msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -"Sync your desktop environment configuration with other computers in the network." # Translation key: initial_setup msgid "Initial synchronization setup" @@ -308,7 +300,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +309,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +337,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +380,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +401,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/nl.po b/po/nl.po index 5c719f8d..58661704 100644 --- a/po/nl.po +++ b/po/nl.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "De voorkeuren zijn opgeslagen!" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "De voorkeuren zijn ingesteld!" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -308,7 +301,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +310,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +338,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +381,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +402,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/pl.po b/po/pl.po index f25b9620..2df7eae7 100644 --- a/po/pl.po +++ b/po/pl.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "Utwórz nowe hasło" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -219,7 +214,6 @@ msgstr "Konfiguracja została zapisana!" msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" @@ -264,7 +258,6 @@ msgstr "" msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" @@ -290,7 +283,6 @@ msgstr "Synchronizacja" msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -"Sync your desktop environment configuration with other computers in the network." # Translation key: initial_setup msgid "Initial synchronization setup" @@ -308,7 +300,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +309,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +337,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +380,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +401,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" @@ -450,7 +434,6 @@ msgstr "O aplikacji" msgid "" "You have an unsupported environment installed. \nPlease use one of these environments: {}." msgstr "" -"You have an unsupported environment installed. \nPlease use one of these environments: {}." #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 @@ -463,7 +446,6 @@ msgstr "Zapisz konfigurację swojego pulpitu" msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" -"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." # Translation key: translator_credits msgid "Translator credits" diff --git a/po/pt.po b/po/pt.po index 9e10b56b..e08b9ea7 100644 --- a/po/pt.po +++ b/po/pt.po @@ -151,7 +151,6 @@ msgstr "" msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" @@ -165,7 +164,6 @@ msgstr "" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -183,19 +181,16 @@ msgstr "" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -308,7 +303,6 @@ msgstr "" msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" @@ -318,25 +312,21 @@ msgstr "" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -350,7 +340,6 @@ msgstr "" msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" @@ -394,7 +383,6 @@ msgstr "" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -416,7 +404,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po/pt_BR.po b/po/pt_BR.po index b53fe94a..254fd799 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -189,13 +189,11 @@ msgstr "" msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" diff --git a/po/uk.po b/po/uk.po index 63723962..59bdd312 100644 --- a/po/uk.po +++ b/po/uk.po @@ -195,7 +195,6 @@ msgstr "" msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" diff --git a/po/zh_Hans.po b/po/zh_Hans.po index b575a7f0..f1efd0ea 100644 --- a/po/zh_Hans.po +++ b/po/zh_Hans.po @@ -164,7 +164,6 @@ msgstr "创建新密码" msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" @@ -182,7 +181,6 @@ msgstr "解锁存档时不需要密码" msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" @@ -193,7 +191,6 @@ msgstr "请输入密码解锁存档以同步配置" msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" @@ -314,25 +311,21 @@ msgstr "3. 点击下一步,选择已创建的云同步文件夹" msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" @@ -389,7 +382,6 @@ msgstr "连接到云存储" msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" @@ -411,7 +403,6 @@ msgstr "" msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" diff --git a/po_change.py b/po_change.py new file mode 100644 index 00000000..553c799f --- /dev/null +++ b/po_change.py @@ -0,0 +1,188 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os +import glob +import re +import argparse +from pathlib import Path + +def process_po_file_simple(file_path, dry_run=False): + """ + Zpracuje PO soubor a nahradí msgstr prázdným řetězcem tam, kde je identický s msgid. + Podporuje víceřádkové řetězce. + """ + changes_made = 0 + + try: + with open(file_path, 'r', encoding='utf-8') as f: + lines = f.readlines() + except UnicodeDecodeError: + print(f"Varování: Nelze číst soubor {file_path} jako UTF-8, přeskakuji...") + return 0 + + new_lines = [] + i = 0 + + while i < len(lines): + line = lines[i] + + # Hledáme řádky začínající msgid + if line.strip().startswith('msgid'): + # Shromáždíme celý msgid blok (včetně víceřádkových) + msgid_lines, msgid_content, next_i = collect_message_block(lines, i, 'msgid') + + # Přeskočíme prázdné msgid (obvykle pro metadata) + if not msgid_content.strip(): + new_lines.extend(msgid_lines) + i = next_i + continue + + # Najdeme odpovídající msgstr + j = next_i + # Přeskočíme komentáře a prázdné řádky mezi msgid a msgstr + while j < len(lines) and not lines[j].strip().startswith('msgstr'): + if lines[j].strip() and not lines[j].strip().startswith('#'): + break + new_lines.append(lines[j]) + j += 1 + + if j < len(lines) and lines[j].strip().startswith('msgstr'): + # Shromáždíme celý msgstr blok + msgstr_lines, msgstr_content, final_i = collect_message_block(lines, j, 'msgstr') + + # Pokud jsou msgid a msgstr identické, nahradíme msgstr prázdným řetězcem + if msgid_content == msgstr_content and msgid_content.strip() != "": + new_lines.extend(msgid_lines) + new_lines.append('msgstr ""\n') + changes_made += 1 + # Zkrátíme dlouhé texty pro výpis + display_text = msgid_content[:50] + "..." if len(msgid_content) > 50 else msgid_content + print(f" Změněno: '{display_text}' -> prázdný řetězec") + else: + new_lines.extend(msgid_lines) + new_lines.extend(msgstr_lines) + + i = final_i + else: + new_lines.extend(msgid_lines) + i = next_i + else: + new_lines.append(line) + i += 1 + + # Zapíšeme změny zpět do souboru (pokud to není dry run) + if changes_made > 0 and not dry_run: + with open(file_path, 'w', encoding='utf-8') as f: + f.writelines(new_lines) + + return changes_made + +def collect_message_block(lines, start_index, msg_type): + """ + Shromáždí celý blok msgid nebo msgstr včetně víceřádkových řetězců. + Vrací tuple: (seznam řádků, spojený obsah, index dalšího řádku) + """ + block_lines = [] + content_parts = [] + i = start_index + + # První řádek (msgid "..." nebo msgstr "...") + first_line = lines[i].strip() + block_lines.append(lines[i]) + + # Extrahujeme obsah z prvního řádku + if '"' in first_line: + start_quote = first_line.find('"') + end_quote = first_line.rfind('"') + if start_quote != end_quote: + first_content = first_line[start_quote + 1:end_quote] + content_parts.append(decode_po_string(first_content)) + + i += 1 + + # Pokračujeme čtením dalších řádků, dokud najdeme řádky začínající uvozovkami + while i < len(lines): + line = lines[i].strip() + + # Pokud řádek začíná uvozovkou, je to pokračování + if line.startswith('"') and line.endswith('"'): + block_lines.append(lines[i]) + # Extrahujeme obsah mezi uvozovkami + content = line[1:-1] # Odstraníme uvozovky + content_parts.append(decode_po_string(content)) + i += 1 + else: + break + + # Spojíme všechny části obsahu + full_content = ''.join(content_parts) + + return block_lines, full_content, i + +def decode_po_string(content): + """ + Dekóduje escape sekvence v PO řetězci. + """ + content = content.replace('\\n', '\n') + content = content.replace('\\t', '\t') + content = content.replace('\\r', '\r') + content = content.replace('\\"', '"') + content = content.replace('\\\\', '\\') + return content + +def find_po_files(directory="."): + """ + Najde všechny *.po soubory v zadaném adresáři a podadresářích. + """ + po_files = [] + for root, dirs, files in os.walk(directory): + for file in files: + if file.endswith('.po'): + po_files.append(os.path.join(root, file)) + + return po_files + +def main(): + parser = argparse.ArgumentParser(description="Nahradí msgstr prázdným řetězcem tam, kde je msgid identické s msgstr v PO souborech") + parser.add_argument("-d", "--directory", default=".", help="Adresář pro vyhledávání PO souborů (výchozí: aktuální adresář)") + parser.add_argument("--dry-run", action="store_true", help="Pouze zobrazí změny bez jejich provedení") + parser.add_argument("-v", "--verbose", action="store_true", help="Podrobný výstup") + + args = parser.parse_args() + + # Najdeme všechny PO soubory + po_files = find_po_files(args.directory) + + if not po_files: + print(f"V adresáři '{args.directory}' nebyly nalezeny žádné *.po soubory.") + return + + print(f"Nalezeno {len(po_files)} PO souborů:") + + total_changes = 0 + + for po_file in po_files: + if args.verbose: + print(f"\nZpracovávám: {po_file}") + else: + print(f"Zpracovávám: {os.path.basename(po_file)}") + + changes = process_po_file_simple(po_file, args.dry_run) + total_changes += changes + + if changes > 0: + status = "(DRY RUN)" if args.dry_run else "(ULOŽENO)" + print(f" Provedeno změn: {changes} {status}") + elif args.verbose: + print(f" Žádné změny") + + print(f"\n" + "="*50) + print(f"Celkem změn: {total_changes}") + if args.dry_run: + print("Poznámka: Spusťte bez --dry-run pro provedení změn.") + else: + print("Všechny změny byly uloženy.") + +if __name__ == "__main__": + main() From b2641d2b794d39918a6611954c00eea913905ccb Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Mon, 8 Sep 2025 15:48:36 +0200 Subject: [PATCH 08/24] Cleanup POT file --- po/savedesktop.pot | 202 ++++++++++++++++++++------------------------- po_change.py | 188 ----------------------------------------- 2 files changed, 91 insertions(+), 299 deletions(-) delete mode 100644 po_change.py diff --git a/po/savedesktop.pot b/po/savedesktop.pot index 88d6207a..4fb90382 100644 --- a/po/savedesktop.pot +++ b/po/savedesktop.pot @@ -14,456 +14,436 @@ msgstr "" # Translation key: save msgid "Save" -msgstr "Save" +msgstr "" -# Translation key: save_config #: src/gui/shortcuts_window.ui:22 +# Translation key: save_config msgid "Save the current configuration" -msgstr "Save the current configuration" +msgstr "" # Translation key: set_filename msgid "Set the file name" -msgstr "Set the file name" +msgstr "" -# Translation key: items_for_archive #: src/gui/shortcuts_window.ui:64 +# Translation key: items_for_archive msgid "Items to include in the configuration archive" -msgstr "Items to include in the configuration archive" +msgstr "" # Translation key: items_desc msgid "These settings also apply to periodic saving" -msgstr "These settings also apply to periodic saving" +msgstr "" # Translation key: icons msgid "Icons" -msgstr "Icons" +msgstr "" # Translation key: themes msgid "Themes" -msgstr "Themes" +msgstr "" # Translation key: fonts msgid "Fonts" -msgstr "Fonts" +msgstr "" # Translation key: backgrounds msgid "Backgrounds" -msgstr "Backgrounds" +msgstr "" # Translation key: extensions msgid "Extensions" -msgstr "Extensions" +msgstr "" # Translation key: desktop_folder msgid "Desktop" -msgstr "Desktop" +msgstr "" # Translation key: save_installed_flatpaks msgid "Flatpak apps" -msgstr "Flatpak apps" +msgstr "" # Translation key: list msgid "List of installed Flatpak apps" -msgstr "List of installed Flatpak apps" +msgstr "" # Translation key: user_data_flatpak msgid "User data of installed Flatpak apps" -msgstr "User data of installed Flatpak apps" +msgstr "" # Translation key: flatpaks_data_tittle msgid "Flatpak apps data selection" -msgstr "Flatpak apps data selection" +msgstr "" -# Translation key: more_options #: src/gui/shortcuts_window.ui +# Translation key: more_options msgid "More options" -msgstr "More options" +msgstr "" # Translation key: periodic_saving msgid "Periodic saving" -msgstr "Periodic saving" +msgstr "" # Translation key: periodic_saving_desc msgid "Changes will only take effect after the next login" -msgstr "Changes will only take effect after the next login" +msgstr "" # Translation key: pb_interval msgid "Interval" -msgstr "Interval" +msgstr "" # Translation key: never msgid "Never" -msgstr "Never" +msgstr "" # Translation key: daily msgid "Daily" -msgstr "Daily" +msgstr "" # Translation key: weekly msgid "Weekly" -msgstr "Weekly" +msgstr "" # Translation key: monthly msgid "Monthly" -msgstr "Monthly" +msgstr "" # Translation key: manually msgid "Manually" -msgstr "Manually" +msgstr "" # Translation key: learn_more msgid "Learn more" -msgstr "Learn more" +msgstr "" # Translation key: pb_folder msgid "Folder for periodic saving" -msgstr "Folder for periodic saving" +msgstr "" # Translation key: set_pb_folder_tooltip msgid "Choose custom folder for periodic saving" -msgstr "Choose custom folder for periodic saving" +msgstr "" # Translation key: set_another msgid "Choose another folder" -msgstr "Choose another folder" +msgstr "" # Translation key: filename_format msgid "File name format" -msgstr "File name format" +msgstr "" # Translation key: reset_button msgid "Reset to default" -msgstr "Reset to default" +msgstr "" # Translation key: pwd_for_encryption msgid "Password for encryption" -msgstr "Password for encryption" +msgstr "" # Translation key: manual_saving msgid "Manual saving" -msgstr "Manual saving" +msgstr "" # Translation key: archive_encryption msgid "Archive encryption" -msgstr "Archive encryption" +msgstr "" # Translation key: archive_encryption_desc msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -"When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." # Translation key: save_without_archive msgid "Save the configuration without creating an archive" -msgstr "Save the configuration without creating an archive" +msgstr "" # Translation key: create_pwd_title msgid "Create new password" -msgstr "Create new password" +msgstr "" # Translation key: create_pwd_desc msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -"Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." # Translation key: gen_password msgid "Generate Password" -msgstr "Generate Password" +msgstr "" # Translation key: password_entry msgid "Password" -msgstr "Password" +msgstr "" # Translation key: check_pwd_title msgid "Unlock the archive with a password" -msgstr "Unlock the archive with a password" +msgstr "" # Translation key: check_pwd_desc msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -"Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." # Translation key: enter_password_title msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -"Please enter a password to unlock the archive for sync the configuration" # Translation key: enter_password_desc msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -"An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." # Translation key: remember_password msgid "Remember Password" -msgstr "Remember Password" +msgstr "" # Translation key: password_store_err msgid "Password not entered, or it's incorrect. Unable to continue." -msgstr "Password not entered, or it's incorrect. Unable to continue." +msgstr "" # Translation key: saving_config_status msgid "" "Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" msgstr "" -"Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" # Translation key: config_saved msgid "Configuration has been saved!" -msgstr "Configuration has been saved!" +msgstr "" # Translation key: config_saved_desc msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -"{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" # Translation key: open_folder msgid "Open the folder" -msgstr "Open the folder" +msgstr "" # Translation key: import_title msgid "Import" -msgstr "Import" +msgstr "" # Translation key: import_config msgid "Import saved configuration" -msgstr "Import saved configuration" +msgstr "" -# Translation key: import_from_file #: src/gui/shortcuts_window.ui:29 +# Translation key: import_from_file msgid "Import from file" -msgstr "Import from file" +msgstr "" # Translation key: import_from_folder msgid "Import from folder" -msgstr "Import from folder" +msgstr "" # Translation key: cancel msgid "Cancel" -msgstr "Cancel" +msgstr "" # Translation key: savedesktop_f msgid "Save Desktop files" -msgstr "Save Desktop files" +msgstr "" # Translation key: importing_config_status msgid "" "Importing configuration …\nImporting configuration from:\n{}\n" msgstr "" -"Importing configuration …\nImporting configuration from:\n{}\n" # Translation key: config_imported msgid "The configuration has been applied!" -msgstr "The configuration has been applied!" +msgstr "" # Translation key: config_imported_desc msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -"{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" # Translation key: back_to_page msgid "Back to previous page" -msgstr "Back to previous page" +msgstr "" # Translation key: logout msgid "Log Out" -msgstr "Log Out" +msgstr "" # Translation key: err_occured msgid "An error occurred" -msgstr "An error occurred" +msgstr "" # Translation key: apply msgid "Apply" -msgstr "Apply" +msgstr "" # Translation key: sync msgid "Sync" -msgstr "Sync" +msgstr "" # Translation key: sync_desc msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -"Sync your desktop environment configuration with other computers in the network." # Translation key: initial_setup msgid "Initial synchronization setup" -msgstr "Initial synchronization setup" +msgstr "" # Translation key: gnome_oa_settings msgid "1. Open the system settings" -msgstr "1. Open the system settings" +msgstr "" # Translation key: gnome_oa_section msgid "2. Go to the Online Accounts section" -msgstr "2. Go to the Online Accounts section" +msgstr "" # Translation key: gnome_oa_section_desc msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -"In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." # Translation key: gnome_oa_chooser msgid "3. Click on the Next button and select the created cloud drive folder" -msgstr "3. Click on the Next button and select the created cloud drive folder" +msgstr "" # Translation key: gnome_oa_chooser_desc msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -"The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." # Translation key: rclone_intro_desc msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -"For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." # Translation key: rclone_copy_cmd msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -"Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." # Translation key: rclone_cmd_copied_msg msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -"Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" # Translation key: syncthing_folder msgid "Use Syncthing folder instead" -msgstr "Use Syncthing folder instead" +msgstr "" # Translation key: almost_done_title msgid "Almost done!" -msgstr "Almost done!" +msgstr "" # Translation key: almost_done_desc msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -"You've now created the cloud drive folder! Click on the Next button to complete the setup." # Translation key: select msgid "Select" -msgstr "Select" +msgstr "" # Translation key: next msgid "Next" -msgstr "Next" +msgstr "" -# Translation key: set_up_sync_file #: src/gui/shortcuts_window.ui:71 +# Translation key: set_up_sync_file msgid "Set up the sync file" -msgstr "Set up the sync file" +msgstr "" # Translation key: periodic_saving_file msgid "Periodic saving file" -msgstr "Periodic saving file" +msgstr "" # Translation key: periodic_saving_file_err msgid "Periodic saving file does not exist." -msgstr "Periodic saving file does not exist." +msgstr "" # Translation key: create msgid "Create" -msgstr "Create" +msgstr "" # Translation key: please_wait msgid "Please wait …" -msgstr "Please wait …" +msgstr "" # Translation key: change msgid "Change" -msgstr "Change" +msgstr "" -# Translation key: connect_cloud_storage #: src/gui/shortcuts_window.ui:78 +# Translation key: connect_cloud_storage msgid "Connect to the cloud storage" -msgstr "Connect to the cloud storage" +msgstr "" # Translation key: connect_cloud_storage_desc msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -"On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." # Translation key: select_cloud_folder_btn msgid "Select the cloud drive folder" -msgstr "Select the cloud drive folder" +msgstr "" # Translation key: cloud_folder_err msgid "You didn't select the cloud drive folder!" -msgstr "You didn't select the cloud drive folder!" +msgstr "" # Translation key: periodic_sync msgid "Periodic synchronization" -msgstr "Periodic synchronization" +msgstr "" # Translation key: bidirectional_sync msgid "Bidirectional synchronization" -msgstr "Bidirectional synchronization" +msgstr "" # Translation key: bidirectional_sync_desc msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -"If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." # Translation key: m_sync_desc msgid "From now on, you can sync the config from the menu in the header bar" -msgstr "From now on, you can sync the config from the menu in the header bar" +msgstr "" -# Translation key: sync_manually #: src/gui/shortcuts_window.ui:50 +# Translation key: sync_manually msgid "Synchronise manually" -msgstr "Synchronise manually" +msgstr "" -# Translation key: keyboard_shortcuts #: src/gui/shortcuts_window.ui:36 +# Translation key: keyboard_shortcuts msgid "Keyboard shortcuts" -msgstr "Keyboard shortcuts" +msgstr "" -# Translation key: open_wiki #: src/gui/shortcuts_window.ui:15 +# Translation key: open_wiki msgid "Open the application wiki" -msgstr "Open the application wiki" +msgstr "" -# Translation key: quit #: src/gui/shortcuts_window.ui:43 +# Translation key: quit msgid "Quit" -msgstr "Quit" +msgstr "" # Translation key: about_app msgid "About app" -msgstr "About app" +msgstr "" # Translation key: unsuppurted_env_desc msgid "" "You have an unsupported environment installed. \nPlease use one of these environments: {}." msgstr "" -"You have an unsupported environment installed. \nPlease use one of these environments: {}." -# Translation key: summary #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 +# Translation key: summary msgid "Save your desktop configuration" -msgstr "Save your desktop configuration" +msgstr "" # Translation key: description #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" -"Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." # Translation key: translator_credits msgid "Translator credits" diff --git a/po_change.py b/po_change.py deleted file mode 100644 index 553c799f..00000000 --- a/po_change.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -import os -import glob -import re -import argparse -from pathlib import Path - -def process_po_file_simple(file_path, dry_run=False): - """ - Zpracuje PO soubor a nahradí msgstr prázdným řetězcem tam, kde je identický s msgid. - Podporuje víceřádkové řetězce. - """ - changes_made = 0 - - try: - with open(file_path, 'r', encoding='utf-8') as f: - lines = f.readlines() - except UnicodeDecodeError: - print(f"Varování: Nelze číst soubor {file_path} jako UTF-8, přeskakuji...") - return 0 - - new_lines = [] - i = 0 - - while i < len(lines): - line = lines[i] - - # Hledáme řádky začínající msgid - if line.strip().startswith('msgid'): - # Shromáždíme celý msgid blok (včetně víceřádkových) - msgid_lines, msgid_content, next_i = collect_message_block(lines, i, 'msgid') - - # Přeskočíme prázdné msgid (obvykle pro metadata) - if not msgid_content.strip(): - new_lines.extend(msgid_lines) - i = next_i - continue - - # Najdeme odpovídající msgstr - j = next_i - # Přeskočíme komentáře a prázdné řádky mezi msgid a msgstr - while j < len(lines) and not lines[j].strip().startswith('msgstr'): - if lines[j].strip() and not lines[j].strip().startswith('#'): - break - new_lines.append(lines[j]) - j += 1 - - if j < len(lines) and lines[j].strip().startswith('msgstr'): - # Shromáždíme celý msgstr blok - msgstr_lines, msgstr_content, final_i = collect_message_block(lines, j, 'msgstr') - - # Pokud jsou msgid a msgstr identické, nahradíme msgstr prázdným řetězcem - if msgid_content == msgstr_content and msgid_content.strip() != "": - new_lines.extend(msgid_lines) - new_lines.append('msgstr ""\n') - changes_made += 1 - # Zkrátíme dlouhé texty pro výpis - display_text = msgid_content[:50] + "..." if len(msgid_content) > 50 else msgid_content - print(f" Změněno: '{display_text}' -> prázdný řetězec") - else: - new_lines.extend(msgid_lines) - new_lines.extend(msgstr_lines) - - i = final_i - else: - new_lines.extend(msgid_lines) - i = next_i - else: - new_lines.append(line) - i += 1 - - # Zapíšeme změny zpět do souboru (pokud to není dry run) - if changes_made > 0 and not dry_run: - with open(file_path, 'w', encoding='utf-8') as f: - f.writelines(new_lines) - - return changes_made - -def collect_message_block(lines, start_index, msg_type): - """ - Shromáždí celý blok msgid nebo msgstr včetně víceřádkových řetězců. - Vrací tuple: (seznam řádků, spojený obsah, index dalšího řádku) - """ - block_lines = [] - content_parts = [] - i = start_index - - # První řádek (msgid "..." nebo msgstr "...") - first_line = lines[i].strip() - block_lines.append(lines[i]) - - # Extrahujeme obsah z prvního řádku - if '"' in first_line: - start_quote = first_line.find('"') - end_quote = first_line.rfind('"') - if start_quote != end_quote: - first_content = first_line[start_quote + 1:end_quote] - content_parts.append(decode_po_string(first_content)) - - i += 1 - - # Pokračujeme čtením dalších řádků, dokud najdeme řádky začínající uvozovkami - while i < len(lines): - line = lines[i].strip() - - # Pokud řádek začíná uvozovkou, je to pokračování - if line.startswith('"') and line.endswith('"'): - block_lines.append(lines[i]) - # Extrahujeme obsah mezi uvozovkami - content = line[1:-1] # Odstraníme uvozovky - content_parts.append(decode_po_string(content)) - i += 1 - else: - break - - # Spojíme všechny části obsahu - full_content = ''.join(content_parts) - - return block_lines, full_content, i - -def decode_po_string(content): - """ - Dekóduje escape sekvence v PO řetězci. - """ - content = content.replace('\\n', '\n') - content = content.replace('\\t', '\t') - content = content.replace('\\r', '\r') - content = content.replace('\\"', '"') - content = content.replace('\\\\', '\\') - return content - -def find_po_files(directory="."): - """ - Najde všechny *.po soubory v zadaném adresáři a podadresářích. - """ - po_files = [] - for root, dirs, files in os.walk(directory): - for file in files: - if file.endswith('.po'): - po_files.append(os.path.join(root, file)) - - return po_files - -def main(): - parser = argparse.ArgumentParser(description="Nahradí msgstr prázdným řetězcem tam, kde je msgid identické s msgstr v PO souborech") - parser.add_argument("-d", "--directory", default=".", help="Adresář pro vyhledávání PO souborů (výchozí: aktuální adresář)") - parser.add_argument("--dry-run", action="store_true", help="Pouze zobrazí změny bez jejich provedení") - parser.add_argument("-v", "--verbose", action="store_true", help="Podrobný výstup") - - args = parser.parse_args() - - # Najdeme všechny PO soubory - po_files = find_po_files(args.directory) - - if not po_files: - print(f"V adresáři '{args.directory}' nebyly nalezeny žádné *.po soubory.") - return - - print(f"Nalezeno {len(po_files)} PO souborů:") - - total_changes = 0 - - for po_file in po_files: - if args.verbose: - print(f"\nZpracovávám: {po_file}") - else: - print(f"Zpracovávám: {os.path.basename(po_file)}") - - changes = process_po_file_simple(po_file, args.dry_run) - total_changes += changes - - if changes > 0: - status = "(DRY RUN)" if args.dry_run else "(ULOŽENO)" - print(f" Provedeno změn: {changes} {status}") - elif args.verbose: - print(f" Žádné změny") - - print(f"\n" + "="*50) - print(f"Celkem změn: {total_changes}") - if args.dry_run: - print("Poznámka: Spusťte bez --dry-run pro provedení změn.") - else: - print("Všechny změny byly uloženy.") - -if __name__ == "__main__": - main() From aeaffcd37d400e7a6008eba5438369fbccb804d8 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Mon, 8 Sep 2025 18:58:23 +0200 Subject: [PATCH 09/24] GUI code cleanup --- src/core/config.py | 2 +- src/gui/window.py | 361 ++++++++++++++++++--------------------------- 2 files changed, 144 insertions(+), 219 deletions(-) diff --git a/src/core/config.py b/src/core/config.py index 775f8686..139422ee 100644 --- a/src/core/config.py +++ b/src/core/config.py @@ -207,7 +207,7 @@ def __init__(self): elif environment: print(f"Importing environment-specific config for: {environment['de_name']}") for src, dst in environment["dirs"]: - safe_copytree(dst, os.path.join(home, src)) + safe_copytree(dst, src) else: print(f"[WARN] Unknown DE: {environment_key}") diff --git a/src/gui/window.py b/src/gui/window.py index c48ea851..a5cffa36 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -87,7 +87,7 @@ def __init__(self, *args, **kwargs): self.switcher_bar.set_stack(self.stack) self.toolbarview.add_bottom_bar(self.switcher_bar) - self.setup_switcher_responsive() + self.setup_switcher_responsive(status_box=False) # Toast Overlay for showing the popup window self.toast_overlay = Adw.ToastOverlay.new() @@ -145,10 +145,15 @@ def setup_environment(env_name): self.unsupp_label = Gtk.Label.new(str=f'{_("You have an unsupported environment installed.\nPlease use one of these environments: {}.")}'.format(', '.join(set(desktop_map.values())))); self.unsupp_label.set_use_markup(True); self.unsupp_label.set_justify(Gtk.Justification.CENTER); self.unsupp_label.set_wrap(True); self.pBox.append(self.unsupp_label) # Switch between ViewSwitcherTitle and ViewSwitcherBar based on the title visible - def setup_switcher_responsive(self): - narrow_breakpoint = Adw.Breakpoint.new( - Adw.BreakpointCondition.parse("max-width: 400sp") - ) + def setup_switcher_responsive(self, status_box): + if not status_box: + narrow_breakpoint = Adw.Breakpoint.new( + Adw.BreakpointCondition.parse("max-width: 400sp") + ) + else: + narrow_breakpoint = Adw.Breakpoint.new( + Adw.BreakpointCondition.parse("min-width: 400sp") + ) # When activating a narrow breakpoint, display the switcher_bar narrow_breakpoint.connect("apply", @@ -285,16 +290,14 @@ def import_desktop(self): # Syncing desktop page def sync_desktop(self): - # Set showing the Initial synchronization setup dialog only if the periodic saving folder or cloud drive folder does not use GVFS or Rclone filesystem - settings["first-synchronization-setup"] = True if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh") else False - language = locale.getlocale()[0].split("_")[0] + self._basic_setup() # Box, image and title for this page self.sync_btn_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) self.syncPage = Adw.StatusPage.new() self.syncPage.set_icon_name("view-refresh-symbolic") self.syncPage.set_title(_("Sync")) - self.syncPage.set_description(f'{_("Sync your desktop environment configuration with other computers in the network.")} {_("Learn more")}') + self.syncPage.set_description(f'{_("Sync your desktop environment configuration with other computers in the network.")} {_("Learn more")}') self.syncPage.set_child(self.sync_btn_box) self.syncingBox.append(self.syncPage) @@ -317,6 +320,12 @@ def sync_desktop(self): self.getButton.set_halign(Gtk.Align.CENTER) self.sync_btn_box.append(self.getButton) + def _basic_setup(self): + # Set showing the Initial synchronization setup dialog only if the periodic saving folder or cloud drive folder does not use GVFS or Rclone filesystem + settings["first-synchronization-setup"] = True if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh") else False + # Get language to show the wiki page in the correct ones + self.language = locale.getlocale()[0].split("_")[0] + def _open_InitSetupDialog(self, w): self.__get_button_type(w) self.init_setup_dialog = InitSetupDialog(self) @@ -339,7 +348,7 @@ def _open_CloudDialog(self, w): self.set_dialog.choose(self, None, None, None) self.set_dialog.present(self) - # Select folder for periodic backups (Gtk.FileDialog) + # Select folder for periodic saving def select_pb_folder(self, w): def save_selected(source, res, data): try: @@ -505,134 +514,6 @@ def pswd_generator(w): self.pswdEntry.add_suffix(self.pswdgenButton) self.pswdDialog.set_extra_child(self.pswdEntry) - # Save configuration - def save_config(self): - self.archive_mode = "--create" - self.archive_name = f"{self.folder}/{self.filename_text}" - self.please_wait_save() - save_thread = Thread(target=self._call_archive_command) - save_thread.start() - - def _call_archive_command(self): - try: - subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) - except subprocess.CalledProcessError as e: - GLib.idle_add(self.show_err_msg, e) - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) - finally: - if self.archive_mode == "--create": - GLib.idle_add(self.exporting_done) - elif self.archive_mode == "--unpack": - GLib.idle_add(self.applying_done) - else: - pass - - # "Please wait" information page on the "Save" page - def please_wait_save(self): - # Stop saving configuration - def cancel_save(w): - os.popen('pkill -f "savedesktop.core.config"') - os.popen(f"pkill -9 7z") - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) - self.set_title("Save Desktop") - for widget in [self.savewaitSpinner, self.savewaitLabel, self.savewaitButton, self.sdoneImage, self.opensaveButton, self.backtomButton]: - self.savewaitBox.remove(widget) - - self.headerbar.set_title_widget(None) - self.switcher_bar.set_reveal(False) - - # Create box widget for this page - self.savewaitBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.savewaitBox.set_halign(Gtk.Align.CENTER) - self.savewaitBox.set_valign(Gtk.Align.CENTER) - self.toolbarview.set_content(self.savewaitBox) - - # Set bold title - self.set_title(_("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz").split('')[0].split('')[-1]) - - # Create spinner for this page - self.savewaitSpinner = Gtk.Spinner.new() - self.savewaitSpinner.set_size_request(100, 100) - self.savewaitSpinner.start() - self.savewaitBox.append(self.savewaitSpinner) - - # Prepare Gtk.Image widget for the next page - self.sdoneImage = Gtk.Image.new() - self.savewaitBox.append(self.sdoneImage) - - # Use "sd.zip" if Archive Encryption is enabled - status_old = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz") - status = status_old.replace("sd.tar.gz", "sd.zip") if not settings["save-without-archive"] else status_old.replace("sd.tar.gz", "") - - # Create label about selected directory for saving the configuration - self.savewaitLabel = Gtk.Label.new(str=status.format(self.folder, self.filename_text)) - self.savewaitLabel.set_use_markup(True) - self.savewaitLabel.set_justify(Gtk.Justification.CENTER) - self.savewaitLabel.set_wrap(True) - self.savewaitBox.append(self.savewaitLabel) - - # Create button for cancel saving configuration - self.savewaitButton = Gtk.Button.new_with_label(_("Cancel")) - self.savewaitButton.add_css_class("pill") - self.savewaitButton.add_css_class("destructive-action") - self.savewaitButton.connect("clicked", cancel_save) - self.savewaitButton.set_valign(Gtk.Align.CENTER) - self.savewaitButton.set_halign(Gtk.Align.CENTER) - self.savewaitBox.append(self.savewaitButton) - - # config has been saved action - def exporting_done(self): - # back to the previous page from this page - def back_to_main(w): - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) - self.set_title("Save Desktop") - for widget in [self.savewaitSpinner, self.savewaitLabel, self.savewaitButton, self.sdoneImage, self.opensaveButton, self.backtomButton]: - self.savewaitBox.remove(widget) - - # send notification about saved configuration if application window is inactive only - self.notification_save = Gio.Notification.new("SaveDesktop") - self.notification_save.set_body(_("Configuration has been saved!")) - app = self.get_application() - active_window = app.get_active_window() - if active_window is None or not active_window.is_active(): - app.send_notification(None, self.notification_save) - - # stop spinner animation - self.savewaitSpinner.stop() - self.savewaitBox.remove(self.savewaitButton) - self.savewaitBox.remove(self.savewaitSpinner) - - # set title to "Configuration has been saved!" - self.set_title(_("Configuration has been saved!")) - - # use widget for showing done.svg icon - self.sdoneImage.set_from_icon_name("done") - self.sdoneImage.set_pixel_size(128) - - # edit label for the purposes of this page - self.savewaitLabel.set_label(_("{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.").format(_("Configuration has been saved!"))) - self.opensaveButton = Gtk.Button.new_with_label(_("Open the folder")) - self.opensaveButton.add_css_class('pill') - self.opensaveButton.add_css_class('suggested-action') - self.opensaveButton.set_action_name("app.open_dir") - self.opensaveButton.set_valign(Gtk.Align.CENTER) - self.opensaveButton.set_halign(Gtk.Align.CENTER) - self.savewaitBox.append(self.opensaveButton) - - # create button for backing to the previous page - self.backtomButton = Gtk.Button.new_with_label(_("Back to previous page")) - self.backtomButton.connect("clicked", back_to_main) - self.backtomButton.add_css_class("pill") - self.backtomButton.set_valign(Gtk.Align.CENTER) - self.backtomButton.set_halign(Gtk.Align.CENTER) - self.savewaitBox.append(self.backtomButton) - # dialog for entering password of the archive def check_password_dialog(self): # action after closing dialog for checking password @@ -659,11 +540,36 @@ def checkDialog_closed(w, response): self.checkEntry.set_title(_("Password")) self.checkDialog.set_extra_child(self.checkEntry) + # Save configuration + def save_config(self): + self.archive_mode = "--create" + self.archive_name = f"{self.folder}/{self.filename_text}" + self.status_title = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz").split('')[0].split('')[-1] + self.status_desc = self._set_status_desc_save() + self.done_title = _("Configuration has been saved!") + self.done_desc = _("{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.").format(_("Configuration has been saved!")) + + self.please_wait() + save_thread = Thread(target=self._call_archive_command) + save_thread.start() + + def _set_status_desc_save(self): + # Use "sd.zip" if Archive Encryption is enabled + status_old = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz") + status = status_old.replace("sd.tar.gz", "sd.zip") if not settings["save-without-archive"] else status_old.replace("sd.tar.gz", "") + return status.format(self.folder, self.filename_text) + # Import configuration def import_config(self): - self.archive_mode = "--unpack" self._identify_file_type() - self.please_wait_import() + + self.archive_mode = "--unpack" + self.status_title = _("Importing configuration …\nImporting configuration from:\n{}").split('')[0].split('')[-1] + self.status_desc = _("Importing configuration …\nImporting configuration from:\n{}").format(self.archive_name) + self.done_title = _("The configuration has been applied!") + self.done_desc = _("{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.").format(_("The configuration has been applied!")) + + self.please_wait() import_thread = Thread(target=self._call_archive_command) import_thread.start() @@ -673,113 +579,132 @@ def _identify_file_type(self): except: self.archive_name = self.import_file - # "Please wait" information on the "Import" page - def please_wait_import(self): - # Stop importing configuration - def cancel_import(w): - os.popen("pkill -9 7z") - os.popen("pkill -9 tar") + def _call_archive_command(self): + try: + subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) + except subprocess.CalledProcessError as e: + GLib.idle_add(self.show_err_msg, e) + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) + finally: + GLib.idle_add(self.done) + + # "Please wait" information page on the "Save" page + def please_wait(self): + # Stop saving configuration + def cancel(w): os.popen('pkill -f "savedesktop.core.config"') + os.popen('pkill -9 7z') + os.popen('pkill -9 tar') self.toolbarview.set_content(self.headapp) self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) self.set_title("Save Desktop") - for widget in [self.importwaitSpinner, self.importwaitLabel, self.importwaitButton, self.idoneImage, self.logoutButton, self.backtomButton]: - self.importwaitBox.remove(widget) + self.setup_switcher_responsive(status_box=False) + for widget in [self.spinner, self.cancel_button, self.status_page]: + self.status_box.remove(widget) - # Add new headerbar for this page self.headerbar.set_title_widget(None) self.switcher_bar.set_reveal(False) + self.setup_switcher_responsive(status_box=True) + # Create box widget for this page - self.importwaitBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.importwaitBox.set_halign(Gtk.Align.CENTER) - self.importwaitBox.set_valign(Gtk.Align.CENTER) - self.toolbarview.set_content(self.importwaitBox) + self.status_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) + self.status_box.set_halign(Gtk.Align.CENTER) + self.status_box.set_valign(Gtk.Align.CENTER) + self.status_box.set_size_request(350, 100) + self.toolbarview.set_content(self.status_box) # Set bold title - self.set_title(_("Importing configuration …\nImporting configuration from:\n{}").split('')[0].split('')[-1]) + self.set_title(self.status_title) # Create spinner for this page - self.importwaitSpinner = Gtk.Spinner.new() - self.importwaitSpinner.set_size_request(100, 100) - self.importwaitSpinner.start() - self.importwaitBox.append(self.importwaitSpinner) + self.spinner = Gtk.Spinner.new() + self.spinner.set_size_request(100, 100) + self.spinner.start() + self.status_box.append(self.spinner) - # Prepare Gtk.Image widget for this page - self.idoneImage = Gtk.Image.new() - self.importwaitBox.append(self.idoneImage) + # Adw.StatusPage() + self.status_page = Adw.StatusPage.new() + self.status_page.set_description(self.status_desc) + self.status_box.append(self.status_page) - # Create label about configuration archive name - try: - self.importwaitLabel = Gtk.Label.new(str=_("Importing configuration …\nImporting configuration from:\n{}").format(self.import_file)) - except: - self.importwaitLabel = Gtk.Label.new(str=_("Importing configuration …\nImporting configuration from:\n{}").format(self.import_folder)) - self.importwaitLabel.set_use_markup(True) - self.importwaitLabel.set_justify(Gtk.Justification.CENTER) - self.importwaitLabel.set_wrap(True) - self.importwaitBox.append(self.importwaitLabel) - - # Create button for canceling importing configuration - self.importwaitButton = Gtk.Button.new_with_label(_("Cancel")) - self.importwaitButton.add_css_class("pill") - self.importwaitButton.add_css_class("destructive-action") - self.importwaitButton.connect("clicked", cancel_import) - self.importwaitButton.set_halign(Gtk.Align.CENTER) - self.importwaitButton.set_valign(Gtk.Align.CENTER) - self.importwaitBox.append(self.importwaitButton) - - # Config has been imported action - def applying_done(self): + # Create button for cancel saving configuration + self.cancel_button = Gtk.Button.new_with_label(_("Cancel")) + self.cancel_button.add_css_class("pill") + self.cancel_button.add_css_class("destructive-action") + self.cancel_button.connect("clicked", cancel) + self.cancel_button.set_valign(Gtk.Align.CENTER) + self.cancel_button.set_halign(Gtk.Align.CENTER) + self.status_box.append(self.cancel_button) + + # config has been saved action + def done(self): # back to the previous page from this page def back_to_main(w): self.toolbarview.set_content(self.headapp) + self.setup_switcher_responsive(status_box=False) self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(True if self.switcher_title.get_title_visible() else False) self.set_title("Save Desktop") - [self.importwaitBox.remove(widget) for widget in [self.importwaitSpinner, self.importwaitLabel, self.importwaitButton, self.idoneImage, self.logoutButton, self.backtomButton]] - if hasattr(self, 'flistBox'): - self.pBox.remove(self.flistBox) + for widget in [self.status_page, self.open_folder_button, self.logout_button, self.back_button]: + self.status_box.remove(widget) - # send notification about imported configuration if application window is inactive only - self.notification_import = Gio.Notification.new("Save Desktop") - self.notification_import.set_body(_("The configuration has been applied!")) - app = self.get_application() - active_window = app.get_active_window() - if active_window is None or not active_window.is_active(): - app.send_notification(None, self.notification_import) + self._send_notification() # stop spinner animation - self.importwaitSpinner.stop() - self.importwaitBox.remove(self.importwaitButton) - self.importwaitBox.remove(self.importwaitSpinner) + self.spinner.stop() + self.status_box.remove(self.cancel_button) + self.status_box.remove(self.spinner) - # set title to "Configuration has been applied!" - self.set_title(_("The configuration has been applied!")) + # set title to "Configuration has been saved!" + self.set_title(self.done_title) - # widget for showing done.svg icon - self.idoneImage.set_from_icon_name("done") - self.idoneImage.set_pixel_size(128) + # Adw.StatusPage() + self.status_page.set_icon_name("done") + self.status_page.set_description(self.done_desc) - # edit label for the purposes of this page - self.importwaitLabel.set_label(_("{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.").format(_("The configuration has been applied!"))) + # Box layout for the buttons below + self.buttons_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5) + self.status_page.set_child(self.buttons_box) - # create button for loging out of the system - self.logoutButton = Gtk.Button.new_with_label(_("Log Out")) - self.logoutButton.add_css_class('pill') - self.logoutButton.add_css_class('suggested-action') - self.logoutButton.set_halign(Gtk.Align.CENTER) - self.logoutButton.set_valign(Gtk.Align.CENTER) - self.logoutButton.set_action_name("app.logout") - self.importwaitBox.append(self.logoutButton) if not (flatpak and self.environment == "Hyprland") else None + self._add_specific_button() # create button for backing to the previous page - self.backtomButton = Gtk.Button.new_with_label(_("Back to previous page")) - self.backtomButton.connect("clicked", back_to_main) - self.backtomButton.add_css_class("pill") - self.backtomButton.set_halign(Gtk.Align.CENTER) - self.backtomButton.set_valign(Gtk.Align.CENTER) - self.importwaitBox.append(self.backtomButton) + self.back_button = Gtk.Button.new_with_label(_("Back to previous page")) + self.back_button.connect("clicked", back_to_main) + self.back_button.add_css_class("pill") + self.back_button.set_valign(Gtk.Align.CENTER) + self.back_button.set_halign(Gtk.Align.CENTER) + self.buttons_box.append(self.back_button) + + # send notification about saved configuration if application window is inactive only + def _send_notification(self): + self.notification_save = Gio.Notification.new("SaveDesktop") + self.notification_save.set_body(self.done_title) + app = self.get_application() + active_window = app.get_active_window() + if active_window is None or not active_window.is_active(): + app.send_notification(None, self.notification_save) + + def _add_specific_button(self): + if self.archive_mode == "--create": + self.open_folder_button = Gtk.Button.new_with_label(_("Open the folder")) + self.open_folder_button.add_css_class('pill') + self.open_folder_button.add_css_class('suggested-action') + self.open_folder_button.set_action_name("app.open_dir") + self.open_folder_button.set_valign(Gtk.Align.CENTER) + self.open_folder_button.set_halign(Gtk.Align.CENTER) + self.buttons_box.append(self.open_folder_button) + elif self.archive_mode == "--unpack": + self.logout_button = Gtk.Button.new_with_label(_("Log Out")) + self.logout_button.add_css_class('pill') + self.logout_button.add_css_class('suggested-action') + self.logout_button.set_halign(Gtk.Align.CENTER) + self.logout_button.set_valign(Gtk.Align.CENTER) + self.logout_button.set_action_name("app.logout") + if not (flatpak and self.environment == "Hyprland"): + self.buttons_box.append(self.logout_button) # show message dialog in the error case def show_err_msg(self, error): From 716de797244f95330b2e89adf2ddd6198648f42e Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Mon, 8 Sep 2025 21:08:30 +0200 Subject: [PATCH 10/24] Fix Adw.Breakpoint --- src/gui/window.py | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/gui/window.py b/src/gui/window.py index a5cffa36..d4d11bad 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -87,7 +87,7 @@ def __init__(self, *args, **kwargs): self.switcher_bar.set_stack(self.stack) self.toolbarview.add_bottom_bar(self.switcher_bar) - self.setup_switcher_responsive(status_box=False) + self.setup_switcher_responsive() # Toast Overlay for showing the popup window self.toast_overlay = Adw.ToastOverlay.new() @@ -145,30 +145,29 @@ def setup_environment(env_name): self.unsupp_label = Gtk.Label.new(str=f'{_("You have an unsupported environment installed.\nPlease use one of these environments: {}.")}'.format(', '.join(set(desktop_map.values())))); self.unsupp_label.set_use_markup(True); self.unsupp_label.set_justify(Gtk.Justification.CENTER); self.unsupp_label.set_wrap(True); self.pBox.append(self.unsupp_label) # Switch between ViewSwitcherTitle and ViewSwitcherBar based on the title visible - def setup_switcher_responsive(self, status_box): - if not status_box: - narrow_breakpoint = Adw.Breakpoint.new( - Adw.BreakpointCondition.parse("max-width: 400sp") - ) - else: - narrow_breakpoint = Adw.Breakpoint.new( - Adw.BreakpointCondition.parse("min-width: 400sp") - ) + def setup_switcher_responsive(self): + self.break_point = Adw.Breakpoint.new( + Adw.BreakpointCondition.parse("max-width: 400sp") + ) # When activating a narrow breakpoint, display the switcher_bar - narrow_breakpoint.connect("apply", - lambda bp: self.switcher_bar.set_reveal(True)) + self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) # Hide switcher_bar when narrow breakpoint is deactivated - narrow_breakpoint.connect("unapply", - lambda bp: self.switcher_bar.set_reveal(False)) + self.unapply_handler = self.break_point.connect("unapply", self.__on_break_point_unapply) # Add a breakpoint to the window - self.add_breakpoint(narrow_breakpoint) + self.add_breakpoint(self.break_point) # Default state - hidden (only displayed when the breakpoint is met) self.switcher_bar.set_reveal(False) + def __on_break_point_apply(self, break_point): + self.switcher_bar.set_reveal(True) + + def __on_break_point_unapply(self, break_point): + self.switcher_bar.set_reveal(False) + # Show main page def save_desktop(self): # Set valign for the save desktop layout @@ -600,15 +599,14 @@ def cancel(w): self.toolbarview.set_content(self.headapp) self.headerbar.set_title_widget(self.switcher_title) self.set_title("Save Desktop") - self.setup_switcher_responsive(status_box=False) + self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) for widget in [self.spinner, self.cancel_button, self.status_page]: self.status_box.remove(widget) self.headerbar.set_title_widget(None) + self.break_point.disconnect(self.apply_handler) self.switcher_bar.set_reveal(False) - self.setup_switcher_responsive(status_box=True) - # Create box widget for this page self.status_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) self.status_box.set_halign(Gtk.Align.CENTER) @@ -644,9 +642,10 @@ def done(self): # back to the previous page from this page def back_to_main(w): self.toolbarview.set_content(self.headapp) - self.setup_switcher_responsive(status_box=False) self.headerbar.set_title_widget(self.switcher_title) self.set_title("Save Desktop") + self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) + print("connected") for widget in [self.status_page, self.open_folder_button, self.logout_button, self.back_button]: self.status_box.remove(widget) From cf389e98bc6fdb490e2a418e51d2bfa3361f3c23 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Tue, 9 Sep 2025 16:07:38 +0200 Subject: [PATCH 11/24] Cleanup --- src/core/password_store.py | 1 + src/core/periodic_saving.py | 3 ++- src/core/synchronization.py | 3 ++- src/gui/{gtk => templates}/shortcuts_window.ui | 0 src/gui/window.py | 1 - src/main.py | 2 +- src/savedesktop.gresource.xml | 2 +- 7 files changed, 7 insertions(+), 5 deletions(-) rename src/gui/{gtk => templates}/shortcuts_window.ui (100%) diff --git a/src/core/password_store.py b/src/core/password_store.py index 26223131..8382765d 100644 --- a/src/core/password_store.py +++ b/src/core/password_store.py @@ -70,3 +70,4 @@ def load_pwd(self): except Exception as e: print("[ERROR]", e) return None + diff --git a/src/core/periodic_saving.py b/src/core/periodic_saving.py index d0931c9c..dcdb5e0a 100644 --- a/src/core/periodic_saving.py +++ b/src/core/periodic_saving.py @@ -3,7 +3,7 @@ from pathlib import Path from gi.repository import GLib, Gio from savedesktop.globals import * -from savedesktop.core.password_store import * +from savedesktop.core.password_store import PasswordStore # Get the current date dt = datetime.now() @@ -108,3 +108,4 @@ def config_saved(self): pb = PeriodicBackups() pb.run(args.now) + diff --git a/src/core/synchronization.py b/src/core/synchronization.py index 82bb6d17..1b81bad1 100644 --- a/src/core/synchronization.py +++ b/src/core/synchronization.py @@ -4,7 +4,7 @@ import subprocess, os, locale, json, sys, gi, socket, shutil, zipfile, tarfile, re from gi.repository import Gio, GLib from savedesktop.globals import * -from savedesktop.core.password_store import * +from savedesktop.core.password_store import PasswordStore dt = datetime.now() @@ -186,3 +186,4 @@ def done(self): Syncing() + diff --git a/src/gui/gtk/shortcuts_window.ui b/src/gui/templates/shortcuts_window.ui similarity index 100% rename from src/gui/gtk/shortcuts_window.ui rename to src/gui/templates/shortcuts_window.ui diff --git a/src/gui/window.py b/src/gui/window.py index d4d11bad..fb929570 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -10,7 +10,6 @@ from savedesktop.gui.items_dialog import FolderSwitchRow, FlatpakAppsDialog, itemsDialog from savedesktop.gui.more_options_dialog import MoreOptionsDialog from savedesktop.gui.synchronization_dialogs import InitSetupDialog, SetDialog, CloudDialog -from savedesktop.core.password_store import PasswordStore # Application window class MainWindow(Adw.ApplicationWindow): diff --git a/src/main.py b/src/main.py index a088f4a7..717a6dc8 100644 --- a/src/main.py +++ b/src/main.py @@ -6,7 +6,7 @@ from savedesktop.gui.window import MainWindow from savedesktop.globals import * -@Gtk.Template(resource_path="/io/github/vikdevelop/SaveDesktop/gui/gtk/shortcuts_window.ui") +@Gtk.Template(resource_path="/io/github/vikdevelop/SaveDesktop/gui/templates/shortcuts_window.ui") class ShortcutsWindow(Gtk.ShortcutsWindow): __gtype_name__ = 'SaveDesktopShortcutsWindow' diff --git a/src/savedesktop.gresource.xml b/src/savedesktop.gresource.xml index a8a23621..e7ad3e57 100644 --- a/src/savedesktop.gresource.xml +++ b/src/savedesktop.gresource.xml @@ -1,6 +1,6 @@ - gui/gtk/shortcuts_window.ui + gui/templates/shortcuts_window.ui From 0ae3e0767eeb5ac84cc0a56b86199e0c6643700e Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Tue, 9 Sep 2025 16:52:44 +0200 Subject: [PATCH 12/24] Update references --- ...hub.vikdevelop.SaveDesktop.metainfo.xml.in | 6 +- po/ar.po | 179 +++++++------- po/ca.po | 179 +++++++------- po/cs.po | 179 +++++++------- po/de.po | 179 +++++++------- po/es.po | 179 +++++++------- po/et.po | 179 +++++++------- po/fi.po | 179 +++++++------- po/fr.po | 179 +++++++------- po/hi.po | 179 +++++++------- po/hu.po | 179 +++++++------- po/ia.po | 179 +++++++------- po/id.po | 179 +++++++------- po/it.po | 179 +++++++------- po/nb_NO.po | 179 +++++++------- po/nl.po | 179 +++++++------- po/pl.po | 179 +++++++------- po/pt.po | 179 +++++++------- po/pt_BR.po | 179 +++++++------- po/ru.po | 179 +++++++------- po/savedesktop.pot | 218 +++++++++--------- po/sv.po | 179 +++++++------- po/ta.po | 179 +++++++------- po/tr.po | 179 +++++++------- po/uk.po | 179 +++++++------- po/zh_Hans.po | 179 +++++++------- 26 files changed, 2247 insertions(+), 2273 deletions(-) diff --git a/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in b/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in index 987fadcf..5ce071bb 100644 --- a/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in +++ b/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in @@ -44,17 +44,17 @@ - Configuration save page + Save https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/flatpak/screenshots/save_page.png - Configuration import page + Import https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/flatpak/screenshots/import_page.png - Configuration synchronization page + Sync https://raw.githubusercontent.com/vikdevelop/SaveDesktop/main/flatpak/screenshots/sync_page.png diff --git a/po/ar.po b/po/ar.po index 3693ba75..f16b5438 100644 --- a/po/ar.po +++ b/po/ar.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "حفظ التخصيصات الحالية" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "قم بتعيين اسم الملف (بدون مسافات)" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "" @@ -50,100 +51,100 @@ msgstr "" msgid "Backgrounds" msgstr "" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Save installed Flatpak apps" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "تم حفظ التخصيصات!" @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "افتح المجلد" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "استيراد تخصيصات محفوظة" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "إلغاء" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop ملفات" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "تم تطبيق التخصيصات!" @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "تسجيل الخروج" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "" @@ -284,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -301,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -325,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -338,41 +339,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "انتظر من فضلك …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -381,19 +382,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -402,31 +403,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "حول التطبيق" @@ -438,7 +437,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "احفظ التخصيصات الحالية لبيئة سطح المكتب الخاص بك" @@ -449,7 +448,7 @@ msgid "" msgstr "" "هل ترغب في حفظ التخصيصات الحالي الخاص بك بما في ذلك السمات والرموز والخلفيات وجميع إعدادات بيئة سطح المكتب والإضافات وما إلى ذلك؟ يمكن أن يساعدك Save Desktop في ذلك. بنقرة واحدة فقط ويتم حفظ التخصيصات الخاص بك." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Translator github-link" diff --git a/po/ca.po b/po/ca.po index a49b06b1..3e0bad97 100644 --- a/po/ca.po +++ b/po/ca.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Desa" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Desa la configuració actual" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Nom del fitxer" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Elements que voleu incloure al fitxer de configuració" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Aquestes opcions afecten també a la còpia automàtica" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Icones" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Temes" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "" @@ -50,100 +51,100 @@ msgstr "" msgid "Backgrounds" msgstr "Fons d'escriptori" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Escriptori" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Programari Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Llistat del programari Flatpak instal·lat" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Dades d'usuari del programari Flatpak instal·lat" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Selecció de dades d'aplicacions Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Més opcions" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Còpia automàtica" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Els canvis seran efectius al proper inici de sessió" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Mai" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Diàriament" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Setmanalment" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Mensualment" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manual" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Més informació" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Carpeta de destinació" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Trieu una carpeta on desar la còpia automàtica" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Trieu altra carpeta" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Format del nom de fitxer" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Restaura als valors per defecte" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Xifrat de ftxer" @@ -153,11 +154,11 @@ msgid "" msgstr "" "En desar la configuració de forma manual, si us demanarà crear una contrasenya. Això és útil quan deseu la configuració en mitjans extraïbles per mantenir segures les vostres dades." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Crea una contrasenya nova" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Creeu una contrasenya nova per al vostre fitxer. Es recomana emprar almenys 12 caràcters, incloent-hi majúscules, minúscules i caràcters especials." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Crea una contrasenya" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Contrasenya" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Desbloca el fitxer amb una contrasenya" @@ -195,11 +196,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -209,7 +210,7 @@ msgid "" msgstr "" "Desant la configuració ...\nLa configuració del vostre escriptori es desarà a:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "S'ha desat la configuració!" @@ -219,32 +220,32 @@ msgid "" msgstr "" "{}\nAra podeu revisar el fitxer amb la configuració del vostre escriptori, o tornar a la pàgina anterior.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Obre la carpeta" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importa" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importa una configuració" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Des d'un fitxer" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Cancel·la" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Fitxers del Save Desktop" @@ -254,7 +255,7 @@ msgid "" msgstr "" "Important la configuració ...\nS'està important la configuració des de:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "S'ha aplicat la configuració!" @@ -264,23 +265,23 @@ msgid "" msgstr "" "{}\nPodeu tancar la sessió ara perquè els canvis siguin aplicats, o podeu tornar a la pàgina anterior i tancar la sessió més tard.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Torna a la pàgina anterior" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Tanca la sessió" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "S'ha produït un error" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Aplica" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sincronitza" @@ -290,15 +291,15 @@ msgid "" msgstr "" "Sincronitzeu el vostre entorn d'escriptori amb altres equips de la xarxa." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -307,7 +308,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -331,11 +332,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -344,41 +345,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Configura el fitxer de sincronització" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Fitxer de desat periòdic" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "No existeix el fitxer de desat periòdic." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Crea" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Un moment…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Canvia" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Connecta a l'emmagatzematge al núvol" @@ -388,19 +389,19 @@ msgid "" msgstr "" "Obriu aquesta pàgina del Save Desktop a l'altre ordinador i feu clic al botó «Configura el fitxer de sincronització» per a realitzar els canvis necessaris. En aquest ordinador, seleccioneu la carpeta que heu sincronitzat amb l'emmagatzematge al núvol i on heu desat el fitxer de desament automàtic." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Selecciona la carpeta del núvol" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "No heu seleccionat cap carpeta del núvol!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Sincronització periòdica" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Sincronització bidireccional" @@ -410,32 +411,30 @@ msgid "" msgstr "" "En habilitar-ho i seleccionar l'interval de la sincronització i la carpeta de la unitat al núvol, tota la informació del desament automàtic (interval, carpeta i nom de fitxer) de l'altre ordinador es copia en aquest mitjançant la sincronització indicada." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "Ja podeu sincronitzar la configuració des del menú de la barra superior" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Sincronitza manualment" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Dreceres de teclat" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Surt" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Quant a..." @@ -447,7 +446,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Desa la configuració actual del vostre entorn d'escriptori" @@ -458,7 +457,7 @@ msgid "" msgstr "" "El Save Desktop us permet desar la configuració actual (temes, icones, fons de pantalla, totes les opcions de configuració de l'entorn d'escriptori, complements, etc.) amb un sol clic." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "BennyBeat https://github.com/BennyBeat" diff --git a/po/cs.po b/po/cs.po index 8b745fbc..cc7d13b8 100644 --- a/po/cs.po +++ b/po/cs.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Uložit" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Uložit aktuální konfiguraci" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Nastavit název souboru" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Položky, které mají být zahrnuty do archivu konfigurace" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Tato nastavení platí i pro pravidelné ukládání" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ikony" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Motivy" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Fonty" @@ -50,100 +51,100 @@ msgstr "Fonty" msgid "Backgrounds" msgstr "Pozadí" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Rozšíření" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Plocha" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Aplikace Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Seznam nainstalovaných aplikací Flatpak" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Uživatelská data nainstalovaných aplikací Flatpak" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Výběr dat aplikací Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Více možností" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Pravidelné ukládání" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Změny se projeví až po dalším přihlášení" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nikdy" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Denně" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Týdně" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Měsíčně" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Ručně" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Zjistit více" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Složka pro pravidelné ukládání" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Vybrat vlastní složku pro pravidelné ukládání" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Vybrat jinou složku" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Formát názvu souboru" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Resetovat na výchozí" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Heslo pro šifrování" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Ruční ukládání" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Šifrování archivu" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Při ručním ukládání konfigurace budete vyzváni k vytvoření hesla. To je užitečné při ukládání konfigurace na přenosné médium pro lepší zabezpečení dat." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Uložit konfiguraci bez vytváření archivu" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Vytvořit nové heslo" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Vytvořte si prosím nové heslo pro svůj archiv. Kritéria zahrnují délku alespoň 12 znaků, jedno velké písmeno, jedno malé písmeno a jeden speciální znak." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Vygenerovat heslo" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Heslo" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Odemknout archiv pomocí hesla" @@ -196,11 +197,11 @@ msgid "" msgstr "" "Pro synchronizaci pomocí aplikace Save Desktop byl vybrán šifrovaný archiv. Pro jeho odemčení a spuštění synchronizace zadejte níže uvedené heslo." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Zapamatovat heslo" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Heslo nebylo zadáno, nebo je nesprávné. Nelze pokračovat." @@ -210,7 +211,7 @@ msgid "" msgstr "" "Ukládání konfigurace … \nKonfigurace vašeho desktopového prostředí bude uložena v:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Konfigurace byla uložena!" @@ -220,32 +221,32 @@ msgid "" msgstr "" "{}\nNyní si můžete prohlédnout archiv s konfigurací svého desktopového prostředí nebo se vrátit na předchozí stránku.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Otevřít složku" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importovat již uloženou konfiguraci" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importovat ze souboru" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Importovat ze složky" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Zrušit" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Soubory Save Desktop" @@ -255,7 +256,7 @@ msgid "" msgstr "" "Importování konfigurace …\nImportování konfigurace z: \n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Konfigurace byla provedena!" @@ -265,23 +266,23 @@ msgid "" msgstr "" "{}\nAby se změny projevily, můžete se ze systému odhlásit, nebo se vrátit na předchozí stránku a odhlásit se později.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Vrátit se na předchozí stránku" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Odhlásit se" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Došlo k chybě" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Použít" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Synchronizovat" @@ -291,15 +292,15 @@ msgid "" msgstr "" "Synchronizujte konfiguraci vašeho desktopového prostředí s ostatními počítači v síti." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Počáteční nastavení synchronizace" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Otevřete nastavení systému" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Přejděte do sekce Online účty" @@ -309,7 +310,7 @@ msgid "" msgstr "" "V této sekci vyberte požadovanou cloudovou službu, jako je Google, Microsoft 365 nebo Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Klikněte na tlačítko Další a vyberte vytvořenou složku cloudové jednotky" @@ -338,11 +339,11 @@ msgid "" msgstr "" "Po dokončení nastavení Rclone pomocí uvedeného příkazu klikněte na tlačítko \"Apply\"" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Použít místo toho složku Syncthing" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Téměř hotovo!" @@ -352,41 +353,41 @@ msgid "" msgstr "" "Nyní máte vytvořenou složku cloudové jednotky! Klikněte na tlačítko Další pro dokončení nastavení." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Vybrat" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Další" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Nastavit synchronizační soubor" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Soubor pravidelného ukládání" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Soubor pravidelného ukládání neexistuje." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Vytvořit" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Počkejte prosím …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Změnit" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Připojit se ke cloudovému úložišti" @@ -396,19 +397,19 @@ msgid "" msgstr "" "Na jiném počítači otevřete aplikaci Save Desktop a na této stránce klikněte na tlačítko „Nastavit synchronizační soubor“ a proveďte potřebná nastavení. Na tomto počítači vyberte složku, kterou jste synchronizovali s cloudovým úložištěm a do které jste také uložili stejný soubor pro pravidelné ukládání." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Vybrat cloudovou složku" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Nevybrali jste složku cloudové jednotky!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Pravidelná synchronizace" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Obousměrná synchronizace" @@ -418,31 +419,29 @@ msgid "" msgstr "" "Pokud je tato funkce povolena a je vybrán interval synchronizace a složka cloudové jednotky, informace o pravidelném ukládání (interval, složka a název souboru) z druhého počítače s nastavenou synchronizací se zkopírují do tohoto počítače." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "Od teď můžete synchronizovat konfiguraci z nabídky v záhlaví" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Synchronizovat ručně" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Klávesové zkratky" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Otevřít wiki aplikace" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Ukončit" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "O aplikaci" @@ -454,7 +453,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Uložte konfiguraci plochy" @@ -465,7 +464,7 @@ msgid "" msgstr "" "Save Desktop umožňuje uložit aktuální konfiguraci (motivy, ikony, tapety, všechna nastavení prostředí, rozšíření atd.) jedním kliknutím." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "vikdevelop https://github.com/vikdevelop" diff --git a/po/de.po b/po/de.po index bcfea4c3..327458ec 100644 --- a/po/de.po +++ b/po/de.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Speichern" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Die aktuelle Konfiguration speichern" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Den Dateinamen festlegen" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Elemente, die in das Konfigurationsarchiv aufzunehmen sind" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Diese Einstellungen gelten auch für das periodische Speichern" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Symbole" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Themen" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Schriftarten" @@ -50,100 +51,100 @@ msgstr "Schriftarten" msgid "Backgrounds" msgstr "Hintergründe" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpak-Apps" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Regelmäßiges Speichern" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Die Änderungen werden erst nach der nächsten Anmeldung wirksam." -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nie" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Täglich" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Wöchentlich" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Monatlich" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Mehr erfahren" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Ordner für das periodische Speichern" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Benutzerdefinierten Ordner für das periodische Speichern auswählen" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Anderen Ordner auswählen" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Dateinamensformat" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Auf Standardeinstellungen zurücksetzen" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Speichert die Konfiguration ...\nDie Konfiguration ihrer Desktop Umgebung wird gespeichert in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Die Konfiguration wurde gespeichert!" @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Den Ordner öffnen" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importieren" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Die gespeicherte Konfiguration importieren" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Aus Datei importieren" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Abbrechen" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop Dateien" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Die Konfiguration wurde angewendet!" @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Zurück zur vorherigen Seite" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Ausloggen" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Ein Fehler ist aufgetreten" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Anwenden" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "" @@ -284,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -301,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -325,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -338,41 +339,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Bitte warten …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -381,19 +382,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -402,31 +403,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Über" @@ -438,7 +437,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Speichern Sie die aktuelle Konfiguration Ihrer Desktop-Umgebung" @@ -449,7 +448,7 @@ msgid "" msgstr "" "Mit Save Desktop können Sie Ihre aktuelle Konfiguration (Designs, Symbole, Hintergrundbilder, alle Einstellungen der Desktop-Umgebung, Erweiterungen usw.) mit einem Klick speichern." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Github Link des Übersetzers" diff --git a/po/es.po b/po/es.po index a31d8449..b9850722 100644 --- a/po/es.po +++ b/po/es.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Guardar" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Guardar la configuración actual" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Establecer el nombre del archivo" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Elementos que deben incluirse en el archivo de la configuración" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Estos ajustes también se aplican al guardado periódico" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Iconos" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Temas" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Fuentes" @@ -50,100 +51,100 @@ msgstr "Fuentes" msgid "Backgrounds" msgstr "Fondos de pantalla" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Extensiones" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Escritorio" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Aplicaciones de Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Lista de aplicaciones Flatpak instaladas" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Datos de usuario de las aplicaciones Flatpak instaladas" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Selección de datos de aplicaciones Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Más opiniones" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Copia de seguridad periódica" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Los cambios sólo surtirán efecto tras el siguiente inicio de sesión" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Intervalo" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nunca" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Diariamente" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Semanalmente" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Mensualmente" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manualmente" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Más información" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Carpeta de almacenamiento periódico" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Elegir una carpeta personalizada para el almacenamiento periódico" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Elegir otra carpeta" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Formato del nombre del archivo" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Restablecer los valores por defecto" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Cifrado de archivos" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Al guardar manualmente la configuración, se le pedirá que cree una contraseña. Esto es útil cuando se guarda la configuración en medios portátiles para una mayor seguridad de sus datos." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Crear una nueva contraseña" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Por favor, cree una nueva contraseña para su archivo. Los criterios incluyen al menos 12 caracteres, una letra mayúscula, una letra minúscula y un carácter especial." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Generar contraseña" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Contraseña" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Desbloquear el archivo con una contraseña" @@ -195,11 +196,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -209,7 +210,7 @@ msgid "" msgstr "" "Guardar la configuración ...\nLa configuración de su entorno de escritorio se guardará en:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "¡Se ha guardado la configuración!" @@ -219,32 +220,32 @@ msgid "" msgstr "" "{}\nAhora puede ver el archivo con la configuración de su entorno de escritorio o volver a la página anterior.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Abrir la carpeta" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importar" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importar la configuración guardada" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importar desde archivo" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Cancelar" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Archivos de Save Desktop" @@ -254,7 +255,7 @@ msgid "" msgstr "" "Importando la configuración ...\nImportando la configuración desde:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "¡La configuración se ha aplicado!" @@ -264,23 +265,23 @@ msgid "" msgstr "" "{}\nPuede salir del sistema para que los cambios surtan efecto, o volver a la página anterior y salir más tarde.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Volver a la página anterior" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Cerrar sesión" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Se produjo un error" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Aplicar" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sincronizar" @@ -290,15 +291,15 @@ msgid "" msgstr "" "Sincronizar la configuración de tu entorno de escritorio con otros ordenadores en la red." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Configuración de sincronización inicial" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Abrir los ajustes del sistema" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Ir a la sección Cuentas en línea" @@ -308,7 +309,7 @@ msgid "" msgstr "" "En esta sección selecciona el servicio de nube que deseas, como Google, Microsoft 365 o Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Haz clic en el botón \"Siguiente\" y seleccione la carpeta de la unidad de la nube creada" @@ -337,11 +338,11 @@ msgid "" msgstr "" "Una vez que haya terminado de configurar Rclone usando el comando proporcionado, haga clic en el botón \"Aplicar\"" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "¡Casi terminamos!" @@ -351,41 +352,41 @@ msgid "" msgstr "" "¡Ya has creado la carpeta de la unidad en la nube! Haz clic en el botón Siguiente para completar la configuración." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Selecciona" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Siguiente" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Configurar el archivo de sincronización" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Archivo de almacenamiento periódico" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "El archivo de guardado periódico no existe." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Crear" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Espera, por favor…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Cambiar" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Conectarse al almacenamiento en la nube" @@ -395,19 +396,19 @@ msgid "" msgstr "" "En otro ordenador, abra la aplicación Save Desktop y, en esta página, haga clic en el botón \"Configurar el archivo de sincronización\" y realice los ajustes necesarios. En este ordenador, seleccione la carpeta que ha sincronizado con su almacenamiento en la nube y también ha guardado el mismo archivo de guardado periódico." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Seleccione la carpeta de la nube" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "¡No has seleccionado la carpeta de la unidad en la nube!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Sincronización periódica" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Sincronización bidireccional" @@ -417,32 +418,30 @@ msgid "" msgstr "" "Si está activada y se seleccionan el intervalo de sincronización y la carpeta de la unidad en la nube, la información de guardado periódico (intervalo, carpeta y nombre de archivo) del otro ordenador con la sincronización establecida se copia en este ordenador." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "A partir de ahora, puedes sincronizar la configuración desde el menú de la barra de cabecera" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Sincronizar manualmente" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Atajos de teclado" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Abrir la wiki de la aplicación" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Dejar" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Acerca de la aplicación" @@ -454,7 +453,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Guardar la configuración del escritorio" @@ -465,7 +464,7 @@ msgid "" msgstr "" "Save Desktop le permite guardar su configuración actual (temas, iconos, fondos de pantalla, todos los ajustes del entorno del escritorio, extensiones, etc.) con un solo clic." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "gallegonovato fran-carro@hotmail.es" diff --git a/po/et.po b/po/et.po index 8239f580..2ed19c96 100644 --- a/po/et.po +++ b/po/et.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Salvesta" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Salvesta praegused seadistused" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Sisesta faili nimi" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Vali seadistuste arhiivifaili kaasatavad objektid" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Need seadistused kehtivad ka regulaarsel varundamisel" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ikoonid" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Kujundused" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Kirjatüübid" @@ -50,100 +51,100 @@ msgstr "Kirjatüübid" msgid "Backgrounds" msgstr "Taustapildid" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Lisamoodulid" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Töölaud" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpaki rakendused" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Paigaldatud Flatpaki rakenduste loend" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Paigaldatud Flatpaki rakenduste kasutajaandmed" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Vali Flatpaki rakendused, mille andmed tahad kaasata" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Lisavalikud" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Regulaarne salvestamine" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Muudatused jõustuvad järgmisel sisselogimisel" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Sagedus" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Mitte kunagi" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Kord päevas" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Iga nädal" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Iga kuu" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Valides aja käsitsi" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Lisateave" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Kaust regulaarseks salvestamiseks" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Vali kaust regulaarseks salvestamiseks sobilik kaust" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Vali muu kaust" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Failinime vorming" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Taasta algväärtused" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Krüptimise salasõna" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Käsitsi salvestamine" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Arhiivifaili krüptimine" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Seadistuste käsitsi salvestamisel palume, et lisaksid salasõna. See võimalus parandab turvalisust, kui kavatsed kasutada salvestamist teisaldatavale andmekandjale." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Salvesta seadistused ilma arhiivi loomata" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Loo uus salasõna" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Palun lisa oma arhiivifailile salasõna. Eeldame, et ta oleks vähemalt 12 tähemärki pikk, sisaldaks vähemalt ühte suurtähte, väiketähte ja erimärki." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Loo salasõna" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Salasõna" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Kasutades salasõna eemalda arhiivifaili krüptimine" @@ -196,11 +197,11 @@ msgid "" msgstr "" "Oled Save Desktopi abil sünkroniseerimiseks valinud krüptitud arhiivifaili. Lukustuse eemaldamiseks palun sisesta salasõna ja sünkroniseerimine saab alata." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Jäta salasõna meelde" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Salasõna on kas sisestamata või vale. Jätkamine pole võimalik." @@ -210,7 +211,7 @@ msgid "" msgstr "" "Salvestame seadistusi …\nSinu töölauakeskkonna seadistused salvestuvad faili:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Seadistused on salvestatud!" @@ -220,32 +221,32 @@ msgid "" msgstr "" "{}\nSa võid nüüd vaadata oma töölauakeskkonna seadistuste archive või minna tagasi eelmise vaate juurde.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Ava kaust" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Impordi" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Impordi salvestatud seadistused" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Impordi failist" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Impordi kaustast" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Katkesta" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktopi failid" @@ -255,7 +256,7 @@ msgid "" msgstr "" "Impordime seadistusi…\nImpordime seadistusi failist:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Seadistused on nüüd kasutusel!" @@ -265,23 +266,23 @@ msgid "" msgstr "" "{}\nMuudatuste kasutuselevõtmiseks võid sa kohe välja logida või minna tagasi ja logida välja hiljem.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Tagasi eelmisesse vaatesse" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Logi välja" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Tekkis viga" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Rakenda" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sünkroniseerimine" @@ -291,15 +292,15 @@ msgid "" msgstr "" "Sünkroniseeri oma töölauakeskkonna seadistusi teiste arvutitega võrgus." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Sünkroniseerimise algne seadistus" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Ava süsteemi seadistused" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Ava võrguteenuste valik" @@ -309,7 +310,7 @@ msgid "" msgstr "" "Siin vali soovitud pilveteenus, nagu Google, Microsoft 365 või Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Klõpsi nuppu Edasi ja vali loodud pilveteenuse kaust" @@ -337,11 +338,11 @@ msgid "" msgstr "" "Kui oled selle käsu abil rclone'i seadistanud, siis klõpsi „Rakenda“ nuppu" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Selle asemel kasuta Syncthingi kausta" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Peaaegu valmis!" @@ -351,41 +352,41 @@ msgid "" msgstr "" "Pilveteenuse kausta oled sa nüüd loonud! Seadistamise lõpetamiseks vajuta nuppu „Edasi“." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Vali" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Edasi" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Seadista sünkroniseerimisfail" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Fail regulaarseks salvestamiseks" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Regulaarseks salvestamiseks mõeldud faili pole olemas." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Loo" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Palun oota…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Muuda" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Ühenda pilvesalvestusteenusega" @@ -395,19 +396,19 @@ msgid "" msgstr "" "Ava teises arvutis Save Desktop rakendus ja sellel lehel klõpsi nuppu „Seadista sünkroniseerimisfail“ ja seadista vastavalt. Selles arvutis vali kaust, mille oled sünkroniseerinud oma pilveteenusega ja kuhu oled lisanud faili regulaarseks salvestamiseks." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Vali pilveteenuse kaust" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Sa pole pilveteenuse kausta valinud!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Regulaarne sünkroniseerimine" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Mõlemasuunaline sünkroniseerimine" @@ -417,31 +418,29 @@ msgid "" msgstr "" "Kui eelistus on kasutusel, sünkroniseerimisvälp ja pilveteenuse kaust valitud, siis regulaarse salvestamise teave (välp, kaust ja failinimi) teisest arvutist kopeeritakse siia arvutisse." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "Alates nüüdsest saad sa andmed sünkroniseerida menüüst päiseriba kohal" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Sünkroniseeri käsitsi" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Klaviatuuri kiirklahvid" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Ava rakenduse viki" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Välju" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Rakenduse teave" @@ -453,7 +452,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Salvesta oma töölaua seadistused" @@ -464,7 +463,7 @@ msgid "" msgstr "" "Save Desktop võimaldab sul ühe klõpsuga salvestada (ja seega ka varundada) oma töölaua seadistused (kujundus, ikoonid, taustapildid, kõik töölauakeskkonna seadistused, lisamoodulid, jne)." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Priit Jõerüüt 2025" diff --git a/po/fi.po b/po/fi.po index 1fd9543f..18ca633a 100644 --- a/po/fi.po +++ b/po/fi.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Tallenna" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Tallenna nykyiset määritykset" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Aseta tiedostonimi" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Määritysarkistoon sisällytettävät kohteet" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Nämä asetukset pätevät myös jaksottaiseen tallennukseen" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Kuvakkeet" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Teemat" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Fontit" @@ -50,100 +51,100 @@ msgstr "Fontit" msgid "Backgrounds" msgstr "Taustakuvat" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Laajennukset" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Työpöytä" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpak-sovellukset" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Luettelo asennetuista Flatpak-sovelluksista" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Asennettujen Flatpak-sovellusten käyttäjädata" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Flatpak-sovellusten datavalinta" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Lisää valintoja" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Jaksottainen tallennus" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Muutokset tulevat voimaan vasta seuraavalla kirjautumiskerralla" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Aikaväli" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Ei koskaan" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Päivittäin" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Viikottain" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Kuukausittain" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manuaalisesti" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Lue lisää" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Kansio jaksottaista tallennusta varten" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Valitse mukautettu kansio jaksottaista tallennusta varten" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Valitse toinen kansio" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Tiedostonimen muoto" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Palauta oletusasetus" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Salasana salausta varten" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Manuaalinen tallennus" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Arkiston salaus" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Kun tallennat määrityksen manuaalisesti, sinua pyydetään luomaan salasana. Tämä on hyödyllinen ominaisuus datan turvaamiseksi, kun määritys on tarkoitus tallentaa esimerkiksi erilliselle muistitikulle." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Tallenna kokoonpano luomatta arkistoa" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Luo uusi salasana" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Luo uusi salasana arkistoon. Salasanan on sisällettävä vähintään 12 merkkiä, yksi iso kirjain, yksi pieni kirjain ja yksi erikoismerkki." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Luo salasana" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Salasana" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Avaa arkiston lukitus salasanalla" @@ -195,11 +196,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Muista salasana" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" "Salasanaa ei kirjoitettu, tai se oli väärin. Jatkaminen ei ole mahdollista." @@ -210,7 +211,7 @@ msgid "" msgstr "" "Tallennetaan määritystä …\nTyöpöytäympäristösi määritys tallennetaan seuraavaan tiedostoon:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Määritys on tallennettu!" @@ -220,32 +221,32 @@ msgid "" msgstr "" "{}\nVoit nyt katselmoida arkiston, jossa työpöytäympäristösi määritys on, tai palata edelliselle sivulle.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Avaa kansio" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Tuo" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Tuo tallennettu määritys" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Tuo tiedostosta" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Tuo kansiosta" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Peru" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop-tiedostot" @@ -255,7 +256,7 @@ msgid "" msgstr "" "Tuodaan määritystä…\nMääritys tuodaan seuraavasta lähteestä:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Määritys on toteutettu!" @@ -265,23 +266,23 @@ msgid "" msgstr "" "{}\nVoit kirjautua ulos järjestelmästä, jotta muutokset tulevat voimaan, tai palata edelliselle sivulle ja kirjautua ulos myöhemmin.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Takaisin edelliselle sivulle" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Kirjaudu ulos" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Tapahtui virhe" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Toteuta" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Synkronoi" @@ -291,15 +292,15 @@ msgid "" msgstr "" "Synkronoi työpöytämäärityksesi muiden verkossa olevien tietokoneiden kanssa." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Ensimmäisen synkronoinnin määritys" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Avaa järjestelmän asetukset" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Siirry verkkotileihin" @@ -309,7 +310,7 @@ msgid "" msgstr "" "Valitse haluamasi pilvipalvelu kuten Google, Microsoft 365 tai Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Napsauta Seuraava-painiketta ja valitse luotu kansio pilvestä" @@ -333,11 +334,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Käytä Syncthing-kansiota sen sijaan" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Melkein valmista!" @@ -346,41 +347,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Valitse" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Seuraava" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Aseta synkronointitiedosto" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Jaksottaisen tallennuksen tiedosto" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Jaksottaisen tallennuksen tiedostoa ei ole olemassa." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Luo" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Odota hetki…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Vaihda" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Yhdistä pilvitallennustilaan" @@ -389,19 +390,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Valitse pilviaseman kansio" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Et valinnut pilviaseman kansiota!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Jaksottainen synkronointi" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Kaksisuuntainen synkronointi" @@ -410,31 +411,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "Vastedes voit synkronoida määrityksen otsakepalkin valikosta" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Synkronoi manuaalisesti" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Pikanäppäimet" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Avaa sovelluksen wiki" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Lopeta" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Tietoja sovelluksesta" @@ -446,7 +445,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Tallenna työpöytäsi määritys" @@ -457,7 +456,7 @@ msgid "" msgstr "" "Save Desktopin avulla voit tallentaa työpöytäympäristösi määrityksen (teemat, kuvakkeet, taustakuvat, kaikki työpöytäympäristön asetukset, laajennukset jne.) yhdellä napsautuksella." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Name jiri.gronroos+l10n@iki.fi" diff --git a/po/fr.po b/po/fr.po index c3d202e7..d577d5d5 100644 --- a/po/fr.po +++ b/po/fr.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Sauvegarder" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Sauvegarder la configuration actuelle" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Définir le nom du fichier" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Éléments à inclure dans l'archive de configuration" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Ces paramètres s'appliquent également à l'enregistrement périodique" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Icônes" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Thèmes" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Polices de caractères" @@ -50,100 +51,100 @@ msgstr "Polices de caractères" msgid "Backgrounds" msgstr "Fonds d'écran" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Bureau" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Applications Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Liste des applications Flatpak installées" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Données utilisateur des applications Flatpak installées" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Sélection des données des applications Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Plus d'options" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Sauvegarde périodique" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Les modifications ne prendront effet qu'après la prochaine connexion" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Intervalle" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Jamais" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Journalier" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Hebdomadaire" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Mensuel" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manuellement" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "En savoir plus" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Répertoire de sauvegarde périodique" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Sélectionner un répertoire personnalisé pour la sauvegarde périodique" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Sélectionner un autre dossier" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Format du nom de fichier" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Réinitialisation aux valeurs par défaut" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Chiffrement de l'archive" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Lors de la sauvegarde manuelle de la configuration, il vous sera demandé de créer un mot de passe. Cette option permet d'améliorer la sécurité de vos données lorsque la configuration est enregistrée sur un support de stockage amovible." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Créer un nouveau mot de passe" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Veuillez créer un nouveau mot de passe. Le nouveau mot de passe doit contenir au moins 12 caractères avec au moins une majuscule, au moins une minuscule et au moins un caractère spécial." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Mot de passe" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Déverrouiller l'archive avec un mot de passe" @@ -195,11 +196,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -209,7 +210,7 @@ msgid "" msgstr "" "Enregistrement de la configuration ...\nLa configuration de votre environnement de bureau sera enregistrée dans :\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "La configuration a été enregistrée !" @@ -219,32 +220,32 @@ msgid "" msgstr "" "{}\nVous pouvez maintenant consulter l'archive contenant la configuration de votre environnement de bureau, ou revenir à la page précédente.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Ouvrir le dossier" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importation" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importer la configuration sauvegardée" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importer à partir d'un fichier" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Annuler" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Fichiers Save Desktop" @@ -254,7 +255,7 @@ msgid "" msgstr "" "Import de la configuration ...\nImport de la configuration à partir de : {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "La configuration a été appliquée !" @@ -264,23 +265,23 @@ msgid "" msgstr "" "{}\nVous pouvez vous déconnecter du système pour que les changements prennent effet, ou revenir à la page précédente et vous déconnecter plus tard.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Revenir à la page précédente" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Fermer la session" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Une erreur est survenue" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Appliquer" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Synchroniser" @@ -290,15 +291,15 @@ msgid "" msgstr "" "Synchroniser la configuration de votre environnement de bureau avec les autres ordinateurs du réseau." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -307,7 +308,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -331,11 +332,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -344,41 +345,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Configurer le fichier de synchronisation" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Fichier pour l'enregistrement périodique" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Veuillez patienter …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -387,19 +388,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Synchronisation périodique" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -408,32 +409,30 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "Désormais, vous pouvez synchroniser la configuration à partir du menu de la barre d'en-tête" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Synchroniser manuellement" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Raccourcis clavier" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Quitter" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "À propos" @@ -445,7 +444,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Sauvegarder la configuration de votre bureau" @@ -456,7 +455,7 @@ msgid "" msgstr "" "Save Desktop vous permet de sauvegarder votre configuration actuelle (thèmes, icônes, fonds d'écran, tous les paramètres de l'environnement de bureau, les extensions, en un seul clic." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Lien github des traducteurs" diff --git a/po/hi.po b/po/hi.po index 88424e9a..51603c34 100644 --- a/po/hi.po +++ b/po/hi.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "सहेजें" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "वर्तमान विन्यास सहेजें" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "फाइल नाम निर्धारित करें" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "विन्यास पुरालेख में शामिल करने योग्य आइटम" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "ये सेटिंग्स आवधिक सहेजने पर भी लागू होती हैं" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "आइकन" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "थीम" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "फॉन्ट" @@ -50,100 +51,100 @@ msgstr "फॉन्ट" msgid "Backgrounds" msgstr "पृष्ठभूमि" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "विस्तार" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "डेस्कटॉप" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "फ्लैटपैक ऐप्स" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "स्थापित फ्लैटपैक ऐप्स की सूची" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "स्थापित फ्लैटपैक ऐप्स का उपयोक्ता डेटा" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "फ्लैटपैक ऐप्स डेटा चयन" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "अधिक विकल्प" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "आवधिक सहेजना" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "परिवर्तन अगले लॉगिन के बाद ही प्रभावी होंगे" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "अंतराल" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "कभी नहीं" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "दैनिक" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "साप्ताहिक" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "मासिक" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "हाथ से" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "और अधिक जानें" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "आवधिक सहेजने के लिए फोल्डर" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "आवधिक सहेजने के लिए तदनुकूल फोल्डर चुनें" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "कोई अन्य फोल्डर चुनें" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "फाइल नाम प्रारूप" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "तयशुदा पर रीसेट" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "पुरालेख कूटलेखन" @@ -153,11 +154,11 @@ msgid "" msgstr "" "विन्यास को हस्तचालित रूप से सहेजते समय, आपको पासवर्ड बनाने के लिए कहा जाएगा। यह आपके डेटा की बेहतर सुरक्षा के लिए पोर्टेबल मीडिया में विन्यास को सहेजते समय उपयोगी है।" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "नया पासवर्ड बनाएं" @@ -167,15 +168,15 @@ msgid "" msgstr "" "कृपया अपने पुरालेख के लिए नया पासवर्ड बनाएं। मानदंड में कम से कम 12 अक्षर, एक बड़ा अक्षर, एक छोटा अक्षर और एक विशेष वर्ण शामिल है।" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "पासवर्ड" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "पासवर्ड से पुरालेख को खोलें" @@ -196,11 +197,11 @@ msgid "" msgstr "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization।" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Password not entered, or it's incorrect. Unable to continue।" @@ -210,7 +211,7 @@ msgid "" msgstr "" "विन्यास सहेजा जा रहा है …\nआपके डेस्कटॉप वातावरण का विन्यास इसमें सहेजा जाएगा:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "विन्यास सहेजा गया है!" @@ -220,32 +221,32 @@ msgid "" msgstr "" "{}\nअब आप अपने डेस्कटॉप वातावरण के विन्यास के साथ संग्रह देख सकते हैं, या पिछले पृष्ठ पर लौट सकते हैं।\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "फोल्डर खोलें" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "आयात" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "सहेजा गया विन्यास आयात करें" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "फाइल से आयात" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "रद्द करें" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop फाइलें" @@ -255,7 +256,7 @@ msgid "" msgstr "" "विन्यास आयात किया जा रहा है...\nयहाँ से विन्यास आयात किया जा रहा है:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "विन्यास लागू कर दिया गया है!" @@ -265,23 +266,23 @@ msgid "" msgstr "" "{}\nपरिवर्तनों को प्रभावी करने के लिए आप सिस्टम से लॉग आउट कर सकते हैं, या पिछले पृष्ठ पर वापस जा सकते हैं और बाद में लॉग आउट कर सकते हैं।\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "पिछले पृष्ठ पर जाएं" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "लॉग आउट" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "लागू करें" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "समन्वयन" @@ -291,15 +292,15 @@ msgid "" msgstr "" "नेटवर्क में अन्य कंप्यूटरों के साथ अपने डेस्कटॉप वातावरण विन्यास को समन्वयित करें।" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -309,7 +310,7 @@ msgid "" msgstr "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud।" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -335,11 +336,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -349,41 +350,41 @@ msgid "" msgstr "" "You've now created the cloud drive folder! Click on the Next button to complete the setup।" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "समन्वयन फाइल निर्धारित करें" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "आवधिक फाइल सहेजना" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Periodic saving file does not exist।" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "कृपया प्रतीक्षा करें …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -393,19 +394,19 @@ msgid "" msgstr "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file।" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "आवधिक समन्वयन" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -415,31 +416,29 @@ msgid "" msgstr "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer।" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "अब से, आप शीर्षलेख पट्टी में मेनू से विन्यास को समन्वयित कर सकते हैं" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "हस्तचालित रूप से समन्वयित करें" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "कीबोर्ड शॉर्टकट" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "छोड़ें" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "ऐप के बारे में" @@ -451,7 +450,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "अपना डेस्कटॉप विन्यास सहेजें" @@ -462,7 +461,7 @@ msgid "" msgstr "" "Save Desktop आपको एक क्लिक से अपने वर्तमान विन्यास (थीम, आइकन, वॉलपेपर, सभी डेस्कटॉप वातावरण सेटिंग्स, एक्सटेंशन इत्यादि) को सहेजने देता है।" -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Scrambled777 " diff --git a/po/hu.po b/po/hu.po index da47a2f3..aa7de47a 100644 --- a/po/hu.po +++ b/po/hu.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Mentés" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Jelenlegi konfiguráció mentése" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Fájlnév megadása" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "A konfigurációs archívumba felveendő elemek" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Ezek a beállítások érvényesek az időszakos mentésekre is" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ikonok" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Témák" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Betűtípusok" @@ -50,100 +51,100 @@ msgstr "Betűtípusok" msgid "Backgrounds" msgstr "Hátterek" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpak alkalmazások" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Telepített Flatpak alkalmazások felhasználói adatai" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Időszakos mentés" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "A változtatások csak a következő belépéskor lépnek érvénybe" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Soha" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Naponta" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Hetente" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Havonta" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manuálisan" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Tudj meg többet" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Időszakos mentések mappája" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Válassz egyéni mappát az időszakos mentéshez" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Válassz másik mappát" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Fájlnév formátum" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Alaphelyzetbe állítás" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "A konfiguráció elmentve!" @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "A mappa megnyitása" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importálás" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Mentett konfiguráció importálása" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importálás fájlból" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Mégsem" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop fájlok" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "A konfigurációt alkalmaztuk!" @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Kijelentkezés" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Alkalmazás" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Szinkronizálás" @@ -285,15 +286,15 @@ msgid "" msgstr "" "Szinkronizálja az asztali környezet konfigurációját a hálózat többi számítógépével." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +303,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +327,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -339,41 +340,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Szinkronizálási fájl beállítása" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Szinkronizálási fájl" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Kérlek várj …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +383,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Időszakos szinkronizálás" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -403,31 +404,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "Ezentúl szinkronizálhatod a konfigurációt a fejlécsáv menüjéből" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Névjegy" @@ -439,7 +438,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Mentsd el az asztali környezeted jelenlegi konfigurációját" @@ -450,7 +449,7 @@ msgid "" msgstr "" "Save Desktop lehetővé teszi, hogy egy gombnyomással elmentsd a jelenlegi konfigurációdat (témákat, ikonokat, háttereket, az összes asztali környezeti beállítást, kiegészítéseket, stb.)." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Daniel Uhrinyi https://github.com/danieluhrinyi" diff --git a/po/ia.po b/po/ia.po index 921b2cf7..920bbc34 100644 --- a/po/ia.po +++ b/po/ia.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "" @@ -50,100 +51,100 @@ msgstr "" msgid "Backgrounds" msgstr "" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -205,7 +206,7 @@ msgid "" "Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" msgstr "" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "" @@ -214,32 +215,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "" @@ -248,7 +249,7 @@ msgid "" "Importing configuration …\nImporting configuration from:\n{}\n" msgstr "" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "" @@ -257,23 +258,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "" @@ -282,15 +283,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -299,7 +300,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -323,11 +324,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -336,41 +337,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -379,19 +380,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -400,31 +401,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "" @@ -435,7 +434,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "" @@ -445,7 +444,7 @@ msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Translator github-link" diff --git a/po/id.po b/po/id.po index 42881061..1355a1bf 100644 --- a/po/id.po +++ b/po/id.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Simpan" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Menyimpan konfigurasi saat ini" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Tetapkan nama file" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Item yang harus dimasukkan dalam arsip konfigurasi" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Pengaturan ini juga berlaku untuk penyimpanan berkala" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ikon" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Tema" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Font" @@ -50,100 +51,100 @@ msgstr "Font" msgid "Backgrounds" msgstr "Latar Belakang" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Aplikasi flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Simpan berkala" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Perubahan hanya akan berlaku setelah login berikutnya" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Tidak Pernah" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Setiap hari" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Mingguan" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Bulanan" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manual" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Pelajari lebih lanjut" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Folder untuk penyimpanan berkala" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Pilih folder khusus untuk penyimpanan berkala" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Pilih folder lain" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Format nama file" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Setel ulang ke default" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Konfigurasi telah tersimpan!" @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Membuka folder" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Impor" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Mengimpor konfigurasi yang tersimpan" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Impor dari file" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Batal" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "SimpanFile desktop" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Konfigurasi ini telah diterapkan!" @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Keluar Sesi" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Terapkan" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sinkronisasi" @@ -285,15 +286,15 @@ msgid "" msgstr "" "Menyinkronkan konfigurasi lingkungan desktop Anda dengan komputer lain dalam jaringan." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +303,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +327,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -339,41 +340,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Atur file sinkronisasi" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Harap tunggu…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +383,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Sinkronisasi berkala" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -403,32 +404,30 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "Mulai sekarang, Anda dapat menyinkronkan konfigurasi dari menu di bilah header" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Tentang aplikasi" @@ -440,7 +439,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Simpan konfigurasi lingkungan desktop Anda saat ini" @@ -451,7 +450,7 @@ msgid "" msgstr "" "Save Desktop memungkinkan Anda menyimpan konfigurasi saat ini (tema, ikon, wallpaper, semua pengaturan lingkungan desktop, ekstensi, dll.) dengan satu klik." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Penerjemah github-tautan" diff --git a/po/it.po b/po/it.po index 99e04d4e..8a338fdb 100644 --- a/po/it.po +++ b/po/it.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Salva" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Salva la configurazione corrente" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Impostare il nome file" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Elementi da includere nell'archivio di configurazione" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Queste impostazioni si applicano anche al salvataggio periodico" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Icone" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Temi" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Font" @@ -50,100 +51,100 @@ msgstr "Font" msgid "Backgrounds" msgstr "Sfondi" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Estensioni" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "App flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Elenco delle app Flatpak installate" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Dati utente delle app Flatpak installate" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Selezione dei dati delle app Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Ulteriori opzioni" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Salvataggio periodico" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Le modifiche avranno effetto solo dopo il prossimo login" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Intervallo" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Mai" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Giornaliero" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Settimanale" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Mensile" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manualmente" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Ulteriori informazioni" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Cartella per il salvataggio periodico" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Scegli la cartella personalizzata per il salvataggio periodico" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Scegli un'altra cartella" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Formato del nome del file" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Ripristina le impostazioni predefinite" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Password per la crittografia" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Salvataggio manuale" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Cifratura dell'archivio" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Quando salvi manualmente la configurazione, ti verrà richiesto di creare una password. Ciò è utile quando si salva la configurazione su un supporto portatile per una migliore sicurezza dei dati." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Salvare la configurazione senza creare un archivio" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Crea una nuova password" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Crea una nuova password per il tuo archivio. I criteri includono una lunghezza di almeno 12 caratteri, una lettera maiuscola, una lettera minuscola e un carattere speciale." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Genera Password" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Sblocca l'archivio con una password" @@ -197,11 +198,11 @@ msgid "" msgstr "" "È stato selezionato un archivio crittografato per la sincronizzazione tramite l'app Save Desktop. Inserisci la password qui sotto per sbloccarlo e avviare la sincronizzazione." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Ricorda password" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Password non inserita o errata. Impossibile continuare." @@ -211,7 +212,7 @@ msgid "" msgstr "" "Salvataggio della configurazione…\nLa configurazione del tuo ambiente desktop verrà salvata in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "La configurazione è stata salvata!" @@ -221,32 +222,32 @@ msgid "" msgstr "" "{}\nOra puoi visualizzare l'archivio con la configurazione del tuo ambiente desktop oppure tornare alla pagina precedente.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Apri la cartella" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importa" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importa la configurazione salvata" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importa da file" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Importa dalla cartella" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Cancella" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Salva i file del desktop" @@ -256,7 +257,7 @@ msgid "" msgstr "" "Importazione della configurazione…\nImportazione configurazione da:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "La configurazione è stata applicata!" @@ -266,23 +267,23 @@ msgid "" msgstr "" "{}\nÈ possibile disconnettersi dal sistema per rendere effettive le modifiche oppure tornare alla pagina precedente e disconnettersi in seguito.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Ritorno alla pagina precedente" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Disconnettersi" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Si è verificato un errore" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Applica" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sincronizzazione" @@ -292,15 +293,15 @@ msgid "" msgstr "" "Sincronizza la configurazione del tuo ambiente desktop con altri computer nella rete." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Configurazione iniziale della sincronizzazione" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Aprire le impostazioni di sistema" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Vai alla sezione Account online" @@ -310,7 +311,7 @@ msgid "" msgstr "" "In questa sezione seleziona il servizio cloud desiderato, ad esempio Google, Microsoft 365 o Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Fare clic sul pulsante Avanti e selezionare la cartella dell'unità cloud creata" @@ -339,11 +340,11 @@ msgid "" msgstr "" "Una volta terminata la configurazione di Rclone utilizzando il comando fornito, fare clic sul pulsante \"Applica\"" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Utilizzare invece la cartella Syncthing" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Quasi finito!" @@ -353,41 +354,41 @@ msgid "" msgstr "" "Ora hai creato la cartella dell'unità cloud! Fai clic sul pulsante Avanti per completare la configurazione." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Seleziona" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Prossimo" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Imposta il file di sincronizzazione" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "File di salvataggio periodico" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Il file di salvataggio periodico non esiste." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Crea" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Attendere prego …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Modifica" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Connettiti allo storage cloud" @@ -397,19 +398,19 @@ msgid "" msgstr "" "Su un altro computer, apri l'app Save Desktop e, in questa pagina, clicca sul pulsante \"Imposta il file di sincronizzazione\" e fai le impostazioni necessarie. Su questo computer, seleziona la cartella che hai sincronizzato con il tuo archivio cloud ed hai anche salvato lo stesso file di salvataggio periodico." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Seleziona la cartella dell'unità cloud" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Non hai selezionato la cartella dell'unità cloud!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Sincronizzazione periodica" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Sincronizzazione bidirezionale" @@ -419,32 +420,30 @@ msgid "" msgstr "" "Se abilitata e se sono selezionati l'intervallo di sincronizzazione e la cartella dell'unità cloud, le informazioni di salvataggio periodico (intervallo, cartella e nome file) dall'altro computer con sincronizzazione impostata su sincronizza, vengono copiate su questo computer." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "D'ora in poi, puoi sincronizzare la configurazione dal menu nella barra dell'intestazione" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Sincronizza manualmente" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Scorciatoie da tastiera" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Apri il wiki dell'applicazione" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Esci" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Informazioni sull'app" @@ -456,7 +455,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Salva la configurazione del tuo desktop" @@ -467,7 +466,7 @@ msgid "" msgstr "" "Desideri salvare la tua configurazione corrente inclusi temi, icone, sfondi, tutte le impostazioni dell'ambiente desktop, estensioni e così via? Save Desktop può aiutarti in questo. Basta un clic e hai la tua configurazione salvata." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Albano Battistella https://github.com/albanobattistella" diff --git a/po/nb_NO.po b/po/nb_NO.po index 998afec8..25fc28fa 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Lagre nåværende oppsett" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Sett filnavn (uten mellomrom)" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "" @@ -50,100 +51,100 @@ msgstr "" msgid "Backgrounds" msgstr "" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Save installed Flatpak apps" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Oppsettet har blitt lagret." @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Åpne mappen" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importer lagret oppsett" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Avbryt" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop-filer" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Oppsettet har blitt anvendt." @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Logg ut" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "" @@ -284,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -301,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -325,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -338,41 +339,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Vent …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -381,19 +382,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -402,31 +403,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Om programmet" @@ -438,7 +437,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Lagre nåværende oppsett av skrivebordsmiljøet ditt" @@ -449,7 +448,7 @@ msgid "" msgstr "" "Save Desktop lar deg lagre ditt nåværende oppsett (drakter, ikoner, bakgrunnsbilder, alle skrivebordsmiljøinnstillinger, utvidelser, osv.) med ett klikk." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Allan Nordhøy https://github.com/comradekingu" diff --git a/po/nl.po b/po/nl.po index 58661704..5f82a69f 100644 --- a/po/nl.po +++ b/po/nl.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Opslaan" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Huidige voorkeuren opslaan" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Geef het bestand een naam" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Items om op te nemen in het voorkeurenarchief" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Deze voorkeuren zijn ook van toepassing op periodiek opslaan" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Pictogrammen" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Thema's" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Lettertypen" @@ -50,100 +51,100 @@ msgstr "Lettertypen" msgid "Backgrounds" msgstr "Achtergronden" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpaktoepassingen" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Gebruikersgegevens van geïnstalleerde Flatpaktoepassingen" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Periodiek opslaan" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Meld u opnieuw aan om de wijzigingen toe te passen" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nooit" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Iedere dag" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Iedere week" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Iedere maand" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Handmatig" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Meer informatie" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Periodieke-opslagmap" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Kies een map waarin periodiek reservekopieën dienen te worden bewaard" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Kies een andere map" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Bestandsnaamopmaak" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Standaardwaarden" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "De voorkeuren zijn opgeslagen!" @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Map openen" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importeren" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Voorkeuren importeren" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importeren uit bestand" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Annuleren" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop-bestanden" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "De voorkeuren zijn ingesteld!" @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Afmelden" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Toepassen" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Synchronisatie" @@ -285,15 +286,15 @@ msgid "" msgstr "" "Synchroniseer uw werkomgevingsvoorkeuren met andere computers op het netwerk." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +303,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +327,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -339,41 +340,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Synchronisatiebestand instellen" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Periodiek opgeslagen bestand" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Even geduld…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +383,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Periodieke synchronisatie" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -403,32 +404,30 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "Voortaan kunt u de voorkeuren synchroniseren middels het menu op de kopbalk" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Over de toepassing" @@ -440,7 +439,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Sla de huidige voorkeuren van uw werkomgeving op" @@ -451,7 +450,7 @@ msgid "" msgstr "" "Wilt u uw huidige voorkeuren (thema's, pictogrammen, bureaubladachtergronden, systeemvoorkeuren, uitbreidingen, etc.) opslaan? Save Desktop kan u hierbij helpen. Met slechts één muisklik wordt alles opgeslagen." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "https://github.com/Vistaus" diff --git a/po/pl.po b/po/pl.po index 2df7eae7..67b5a96f 100644 --- a/po/pl.po +++ b/po/pl.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Zapisz" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Zapisz obecną konfigurację" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Ustaw nazwę pliku" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ikony" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Motywy" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Czcionki" @@ -50,100 +51,100 @@ msgstr "Czcionki" msgid "Backgrounds" msgstr "Tapety" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Rozszerzenia" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Pulpit" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Aplikacje Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Więcej opcji" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nigdy" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Codziennie" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Co tydzień" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Co miesiąc" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Ręcznie" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Dowiedz się więcej" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Wybierz inny katalog" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Format nazwy pliku" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Przywróć ustawienia domyślne" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Hasło szyfrowania" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Ręczne zapisywanie" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Utwórz nowe hasło" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Generuj hasło" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Hasło" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Zapamiętaj hasło" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "Saving configuration ...\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Konfiguracja została zapisana!" @@ -215,32 +216,32 @@ msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Otwórz katalog" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importuj" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importuj zapisaną konfigurację" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importuj z pliku" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Importuj z katalogu" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Anuluj" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Pliki Save Desktop" @@ -250,7 +251,7 @@ msgid "" msgstr "" "Importing configuration ...\nImporting configuration from: {}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "" @@ -259,23 +260,23 @@ msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Wróć do poprzedniej strony" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Wyloguj się" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Wystąpił błąd" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Zastosuj" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Synchronizacja" @@ -284,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -301,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -325,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -338,41 +339,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Wybierz" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Dalej" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Utwórz" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Proszę czekać…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Zmień" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -381,19 +382,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -402,31 +403,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Synchronizuj ręcznie" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Skróty klawiszowe" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Wyjdź" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "O aplikacji" @@ -437,7 +436,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Zapisz konfigurację swojego pulpitu" @@ -447,7 +446,7 @@ msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Eryk Michalak gnu.ewm@protonmail.com" diff --git a/po/pt.po b/po/pt.po index e08b9ea7..de6c0c99 100644 --- a/po/pt.po +++ b/po/pt.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Gravar" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Gravar configuração atual" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Definir o nome do ficheiro" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Itens à serem incluídos no arquivo de configuração" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Estas configurações também aplicam-se à gravação periódica" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ícones" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Temas" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Fontes" @@ -50,100 +51,100 @@ msgstr "Fontes" msgid "Backgrounds" msgstr "Papéis de parede" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Extensões" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Área de Trabalho" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Apps Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Lista de apps Flatpak instalados" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Dados do utilizador de apps Flatpak instalados" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Seleção de dados de apps Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Gravação periódica" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "As alterações só terão efeito após o próximo login" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nunca" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Diariamente" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Semanalmente" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Mensalmente" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manualmente" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Aprender mais" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Pasta para gravação periódica" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Escolha uma pasta para gravar periódicamente" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Escolha outra pasta" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Formato do nome do ficheiro" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Restaurar para o padrão" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -206,7 +207,7 @@ msgid "" msgstr "" "A gravar a configuração …\nA configuração do seu ambiente de desktop será gravada em:\n{}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "A configuração foi gravada!" @@ -216,32 +217,32 @@ msgid "" msgstr "" "{}\nAgora pode visualizar o arquivo com a configuração do seu ambiente de desktop, ou retornar à página anterior.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Abrir a pasta" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importar" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importar configuração gravada" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importar do ficheiro" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Cancelar" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Ficheiros Save Desktop" @@ -251,7 +252,7 @@ msgid "" msgstr "" "Importando configuração ...\nImportando configuração de:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "A configuração foi aplicada!" @@ -261,23 +262,23 @@ msgid "" msgstr "" "{}\nPode encerrar a sessão para que as alterações tenham efeito, ou voltar para a página anterior e encerrar mais tarde.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Voltar para a página anterior" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Sair" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Aplicar" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sincronizar" @@ -287,15 +288,15 @@ msgid "" msgstr "" "Sincronize a configuração do seu ambiente de desktop com outros computadores na rede." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -304,7 +305,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -328,11 +329,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" @@ -341,41 +342,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Configure o ficheiro de sincronização" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Ficheiro de gravação periódica" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Por favor, aguarde…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -384,19 +385,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Sincronização periódica" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -405,32 +406,30 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "De agora em diante, pode sincronizar a configuração no menu da barra de cabeçalho" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Sincronizar manualmente" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Atalhos do teclado" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Encerrar" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Sobre o app" @@ -442,7 +441,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Grave a sua configuração da área de trabalho" @@ -453,7 +452,7 @@ msgid "" msgstr "" "Save Desktop permite gravar a sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um clique." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Trandutor github-link" diff --git a/po/pt_BR.po b/po/pt_BR.po index 254fd799..bb78ef82 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Salvar" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Salvar configuração atual" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Defina o nome do arquivo" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Itens a serem incluídos no arquivo de configuração" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Estas configurações também se aplicam ao salvamento periódico" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ícones" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Temas" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Fontes" @@ -50,100 +51,100 @@ msgstr "Fontes" msgid "Backgrounds" msgstr "Papéis de parede" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Extensões" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Área de trabalho" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Aplicativos Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Lista de aplicativos Flatpak instalados" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Dados do usuário de aplicativos Flatpak instalados" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Seleção de dados de aplicativos Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Mais opções" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Salvamento periódico" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "As alterações só terão efeito após o próximo login" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Intervalo" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Nunca" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Diariamente" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Semanalmente" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Mensalmente" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manualmente" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Saiba mais" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Pasta para salvamento periódico" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Escolha uma pasta para salvar periodicamente" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Escolha outra pasta" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Formato do nome do arquivo" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Restaurar para o padrão" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Encriptação de arquivo" @@ -153,11 +154,11 @@ msgid "" msgstr "" "Ao salvar manualmente a configuração, o aplicativo solicitará que você crie uma senha. Isso é útil ao salvar a configuração em uma mídia portátil para aumentar a segurança de seus dados." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Criar nova senha" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Por favor, crie uma nova senha para o seu arquivo. Os critérios incluem, pelo menos, 12 caracteres de tamanho, uma letra maiúscula, uma letra minúscula e um caractere especial." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Gerar Senha" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Senha" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Desbloqueie o arquivo com uma senha" @@ -195,11 +196,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" @@ -209,7 +210,7 @@ msgid "" msgstr "" "Salvando configuração…\nA configuração do seu ambiente de desktop será salva em:\n{}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "A configuração foi salva!" @@ -219,32 +220,32 @@ msgid "" msgstr "" "{}\nAgora você pode visualizar o arquivo com a configuração do seu desktop, ou retornar à página anterior.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Abrir a pasta" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importar" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importar configuração salva" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importar do arquivo" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Cancelar" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Arquivos Save Desktop" @@ -254,7 +255,7 @@ msgid "" msgstr "" "Importando configuração...\nImportando a configuração de:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "A configuração foi aplicada!" @@ -264,23 +265,23 @@ msgid "" msgstr "" "{}\nVocê pode encerrar a sessão para que as alterações tenham efeito, ou voltar para a página anterior e encerrar mais tarde.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Voltar para a página anterior" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Sair" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Ocorreu um erro" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Aplicar" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Sincronizar" @@ -290,15 +291,15 @@ msgid "" msgstr "" "Sincronize a configuração do seu ambiente de desktop com outros computadores na rede." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Configuração inicial de sincronização" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Abra as configurações do sistema" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Vá para a seção Contas Online" @@ -308,7 +309,7 @@ msgid "" msgstr "" "Nesta seção, selecione o serviço de nuvem desejado, como Google, Microsoft 365 ou Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Clique no botão Avançar e selecione a pasta da unidade criada na nuvem" @@ -337,11 +338,11 @@ msgid "" msgstr "" "Depois de terminar de configurar o Rclone usando o comando fornecido, clique no botão \"Aplicar\"" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Quase pronto!" @@ -351,41 +352,41 @@ msgid "" msgstr "" "Agora você criou a pasta da unidade em nuvem! Clique no botão Avançar para concluir a configuração." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Selecionar" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Avançar" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Configurar o arquivo de sincronização" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Arquivo de salvamento periódico" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "O arquivo de salvamento periódico não existe." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Criar" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Por favor, aguarde…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Alterar" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Conectar ao armazenamento em nuvem" @@ -395,19 +396,19 @@ msgid "" msgstr "" "Em outro computador, abra o aplicativo Save Desktop e, nesta página, clique no botão “Configurar o arquivo de sincronização” e faça as configurações necessárias. Neste computador, selecione a pasta que você sincronizou com seu armazenamento em nuvem e também salvou o mesmo arquivo de salvamento periódico." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Selecionar a pasta da unidade em nuvem" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Você não selecionou a pasta da unidade em nuvem!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Sincronização periódica" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Sincronização bidirecional" @@ -417,32 +418,30 @@ msgid "" msgstr "" "Se ativado e o intervalo de sincronização e a pasta da unidade na nuvem estiverem selecionados, as informações de salvamento periódico (intervalo, pasta e nome do arquivo) do outro computador, com sincronização definida, serão copiadas para este computador." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "De agora em diante, você pode sincronizar a configuração no menu da barra de cabeçalho" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Sincronizar manualmente" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Atalhos de teclado" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Abrir o wiki do aplicativo" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Encerrar" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Sobre o aplicativo" @@ -454,7 +453,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Salvar a configuração da sua área de trabalho" @@ -465,7 +464,7 @@ msgid "" msgstr "" "Save Desktop permite que você salve sua configuração atual (temas, ícones, papéis de parede, todas as configurações da área de trabalho, extensões, etc.) com um único clique." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "" "Felipe Nogueira https://github.com/fnogcps\nIsaac Dias https://hosted.weblate.org/user/IsaacDias/\nFilipe Motta \nEzilei Correia " diff --git a/po/ru.po b/po/ru.po index b039fa7c..635f67e3 100644 --- a/po/ru.po +++ b/po/ru.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Сохранить" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Сохранить текущую конфигурацию" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Задайте имя файла" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Элементы для включения в архив конфигурации" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Эти настройки также применяются для периодического сохранения" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Иконки" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Темы" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Шрифты" @@ -50,100 +51,100 @@ msgstr "Шрифты" msgid "Backgrounds" msgstr "Фоны" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Расширения" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Рабочий стол" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Приложения Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Список установленных Flatpak приложений" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Пользовательские данные установленных приложений Flatpak" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Выбор данных приложений Flatpak" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Больше опций" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Периодическое сохранение" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Изменения вступят в силу после следующего входа в систему" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Интервал" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Никогда" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Ежедневно" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Еженедельно" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Ежемесячно" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Вручную" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Подробнее" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Папка для периодических сохранений" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Выберите папку для периодического сохранения" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Выбрать другую папку" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Формат имени файла" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Восстановить по умолчанию" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Пароль для шифрования" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Ручное сохранение" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Шифрование архива" @@ -153,11 +154,11 @@ msgid "" msgstr "" "При ручном сохранении конфигурации вам будет предложено создать пароль. Это полезно при сохранении конфигурации на переносном носителе для большей безопасности ваших данных." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Сохранить конфигурацию без создания архива" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Создать новый пароль" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Пожалуйста, создайте новый пароль для вашего архива. Критерии включают длину не менее 12 символов, одну заглавную букву, одну строчную букву и один специальный символ." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Сгенерировать пароль" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Пароль" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Разблокировать архив паролем" @@ -197,11 +198,11 @@ msgid "" msgstr "" "Для синхронизации с помощью приложения Save Desktop выбран зашифрованный архив. Введите пароль ниже, чтобы разблокировать его и начать синхронизацию." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Запомнить Пароль" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Пароль не введен или указан неверно. Невозможно продолжить" @@ -211,7 +212,7 @@ msgid "" msgstr "" "Сохранение конфигурации ...\nКонфигурация среды рабочего стола будет сохранена в:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Конфигурация сохранена!" @@ -221,32 +222,32 @@ msgid "" msgstr "" "{}\nТеперь вы можете просмотреть архив с конфигурацией вашей среды рабочего стола или вернуться на предыдущую страницу.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Открыть папку" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Импорт" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Импорт сохраненной конфигурации" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Импорт из файла" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Импорт из папки" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Отменить" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Файлы Save Desktop" @@ -256,7 +257,7 @@ msgid "" msgstr "" "Импорт конфигурации ...\nИмпорт конфигурации из: \n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Конфигурация применена!" @@ -266,23 +267,23 @@ msgid "" msgstr "" "{}\nВы можете выйти из системы, чтобы изменения вступили в силу, или вернуться на предыдущую страницу и выйти из системы позже.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Вернуться на предыдущую страницу" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Выйти" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Произошла ошибка" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Применить" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Синхронизация" @@ -292,15 +293,15 @@ msgid "" msgstr "" "Синхронизируйте конфигурацию среды рабочего стола с другими компьютерами в сети." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Первоначальная настройка синхронизации" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Откройте системные настройки" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Перейдите в раздел «Сетевые учётные записи»" @@ -310,7 +311,7 @@ msgid "" msgstr "" "В этом разделе выберите нужный облачный сервис, например Google, Microsoft 365 или Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Нажмите кнопку «Далее» и выберите имеющуюся папку облачного диска" @@ -338,11 +339,11 @@ msgid "" msgstr "" "Завершив настройку Rclone с помощью данной команды, нажмите кнопку «Применить»" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Вместо этого использовать папку Syncthing" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Почти готово!" @@ -352,41 +353,41 @@ msgid "" msgstr "" "Теперь вы создали папку на облачном диске! Чтобы завершить настройку, нажмите кнопку «Далее»." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Выбрать" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Далее" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Настройка файла синхронизации" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Файл периодического сохранения" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Файл периодического сохранения не существует." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Создать" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Пожалуйста, подождите…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Изменить" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Подключить облачное хранилище" @@ -396,19 +397,19 @@ msgid "" msgstr "" "На другом компьютере откройте приложение Save Desktop и на этой странице нажмите кнопку «Настроить файл синхронизации» и выполните необходимые настройки. На этом компьютере выберите папку, которую вы синхронизировали с вашим облачным хранилищем, а также сохранили тот же файл периодического сохранения." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Выбрать папку облачного диска" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Вы не выбрали папку облачного диска!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Периодическая синхронизация" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Двунаправленная синхронизация" @@ -418,31 +419,29 @@ msgid "" msgstr "" "Если этот параметр включен, а интервал синхронизации и папка облачного диска выбраны, информация о периодическом сохранении (интервал, папка и имя файла) с другого компьютера, на котором настроена синхронизация, копируется на этот компьютер." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "Теперь вы можете синхронизировать конфиг из меню в панели заголовка" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Синхронизовать вручную" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Комбинации клавиш" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Открыть Wiki-страницу приложения" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Выйти" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "О приложении" @@ -454,7 +453,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Сохраните конфигурацию вашего окружения рабочего стола" @@ -465,7 +464,7 @@ msgid "" msgstr "" "Вы хотите сохранить текущую конфигурацию, включая темы, значки, обои, все настройки окружения рабочего стола, расширения и т.д.? Save Desktop поможет вам в этом. Всего один клик - и ваша конфигурация сохранена." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "" "voron \nvolkov " diff --git a/po/savedesktop.pot b/po/savedesktop.pot index 4fb90382..b76b4177 100644 --- a/po/savedesktop.pot +++ b/po/savedesktop.pot @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "" @@ -50,402 +51,399 @@ msgstr "" msgid "Backgrounds" msgstr "" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "" -# Translation key: archive_encryption_desc +#: src/gui/more_options_dialog.py msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "" -# Translation key: create_pwd_desc +#: src/gui/window.py msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "" -# Translation key: check_pwd_desc +#: src/gui/window.py msgid "" "Enter the password below to unlock the archive with your configuration. If you have forgotten it, you will not be able to unzip the archive and start importing your configuration." msgstr "" -# Translation key: enter_password_title +#: src/gui/password_checker.py msgid "" "Please enter a password to unlock the archive for sync the configuration" msgstr "" -# Translation key: enter_password_desc +#: src/gui/password_checker.py msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" -# Translation key: saving_config_status +#: src/gui/window.py msgid "" "Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n" msgstr "" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "" -# Translation key: config_saved_desc +#: src/gui/window.py msgid "" "{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n" msgstr "" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "" -# Translation key: importing_config_status +#: src/gui/window.py msgid "" "Importing configuration …\nImporting configuration from:\n{}\n" msgstr "" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "" -# Translation key: config_imported_desc +#: src/gui/window.py msgid "" "{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n" msgstr "" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "" -# Translation key: sync_desc +#: src/gui/window.py msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "" -# Translation key: gnome_oa_section_desc +#: src/gui/window.py msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" -# Translation key: gnome_oa_chooser_desc +#: src/gui/window.py msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -# Translation key: rclone_intro_desc +#: src/gui/window.py msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -# Translation key: rclone_copy_cmd +#: src/gui/window.py msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -# Translation key: rclone_cmd_copied_msg +#: src/gui/window.py msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "" -# Translation key: almost_done_desc +#: src/gui/window.py msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" -# Translation key: connect_cloud_storage_desc +#: src/gui/window.py msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" -# Translation key: bidirectional_sync_desc +#: src/gui/window.py msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "" -# Translation key: unsuppurted_env_desc +#: src/gui/window.py msgid "" "You have an unsupported environment installed. \nPlease use one of these environments: {}." msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "" -# Translation key: description #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:42 msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "" -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr " " diff --git a/po/sv.po b/po/sv.po index 164a5693..77bcb36d 100644 --- a/po/sv.po +++ b/po/sv.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Spara" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Spara nuvarande konfiguration" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Ange filnamn" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Objekt som ska inkluderas i konfigurationsarkivet" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Dessa inställningar gäller även för periodiskt sparande" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Ikoner" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Teman" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Teckensnitt" @@ -50,100 +51,100 @@ msgstr "Teckensnitt" msgid "Backgrounds" msgstr "Bakgrunder" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Tillägg" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Skrivbord" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpak program" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Lista av installerade Flatpak program" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Användardata av installerade Flatpak program" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Dataval för Flatpak program" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Mer alternativ" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Periodiskt sparande" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Ändringar träder i kraft först efter nästa inloggning" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Intervall" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Aldrig" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Dagligen" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Veckovis" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Månadsvis" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Manuellt" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Läs mer" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Mapp för periodiskt sparande" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Välj anpassad mapp för periodiskt sparande" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Välj en annan mapp" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Filnamnsformat" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Återställ till standard" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Lösenord för kryptering" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Manuell sparning" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Arkivkryptering" @@ -153,11 +154,11 @@ msgid "" msgstr "" "När du sparar konfigurationen manuellt blir du ombedd att skapa ett lösenord. Detta är användbart när du sparar konfigurationen på flyttbart media för bättre säkerhet för din data." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Spara konfigurationen utan att skapa ett arkiv" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Skapa nytt lösenord" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Skapa ett nytt lösenord för ditt arkiv. Kriterier inkluderar en längd på minst 12 tecken, en stor bokstav, en liten bokstav och ett specialtecken." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Generera lösenord" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Lösenord" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Lås upp arkivet med ett lösenord" @@ -197,11 +198,11 @@ msgid "" msgstr "" "Ett krypterat arkiv har valts ut för synkronisering med Save Desktop programmet. Ange lösenordet nedan för att låsa upp det och starta synkroniseringen." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Kom ihåg lösenord" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "" "Lösenordet är inte inmatat, eller så är det felaktigt. Det går inte att fortsätta." @@ -212,7 +213,7 @@ msgid "" msgstr "" "Sparar konfiguration …\nKonfigurationen av din skrivbordsmiljö kommer att sparas i:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Konfigurationen har sparats!" @@ -222,32 +223,32 @@ msgid "" msgstr "" "{}\nDu kan nu se arkivet med konfigurationen av din skrivbordsmiljö, eller gå tillbaka till föregående sida.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Öppna mappen" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Importera" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Importera sparad konfiguration" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Importera från fil" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Importera från mapp" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Avbryt" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop filer" @@ -257,7 +258,7 @@ msgid "" msgstr "" "Importerar konfiguration …\nImporterar konfiguration från:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Konfigurationen har tillämpats!" @@ -267,23 +268,23 @@ msgid "" msgstr "" "{}\nDu kan logga ut från systemet för att ändringarna ska träda i kraft, eller gå tillbaka till föregående sida och logga ut senare.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Tillbaka till föregående sida" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Logga ut" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Ett fel har uppstått" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Tillämpa" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Synkronisera" @@ -293,15 +294,15 @@ msgid "" msgstr "" "Synkronisera konfigurationen av din skrivbordsmiljö med andra datorer i nätverket." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Inledande synkroniseringsinställningar" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Öppna systeminställningarna" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Gå till avsnittet Onlinekonton" @@ -311,7 +312,7 @@ msgid "" msgstr "" "I det här avsnittet väljer du den molntjänst du vill ha, till exempel Google, Microsoft 365 eller Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Klicka på knappen Nästa och välj den skapade molnlagringsmappen" @@ -339,11 +340,11 @@ msgid "" msgstr "" "När du har slutfört konfigureringen av Rclone med det angivna kommandot klickar du på \"Verkställ\" knappen" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Använd Syncthing mapp istället" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Nästan klart!" @@ -353,41 +354,41 @@ msgid "" msgstr "" "Du har nu skapatmolnenhet mappen! Klicka på nästa för att slutföra installationen." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Välj" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Nästa" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Ställ in synkfil" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Periodisk sparfil" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Periodisk sparfil existerar inte." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Skapa" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Vänligen vänta …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Ändra" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Anslut till molnlagring" @@ -397,19 +398,19 @@ msgid "" msgstr "" "På den andra datorn öppnar du Save Desktop programmet och på den här sidan klickar du på knappen \"Konfigurera synkroniseringsfil\" och gör nödvändiga inställningar. På den här datorn väljer du mappen som du har synkroniserat med din molnlagring och som även har sparat samma periodiska sparfil." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Välj mappen i molnlagring" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Du valde inte mappen för molnlagring!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Periodisk synkronisering" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Dubbelriktad synkronisering" @@ -419,32 +420,30 @@ msgid "" msgstr "" "Om det är aktiverat och synkroniseringsintervallet och mappen för molnlagring är vald, kopieras den periodiska sparinformationen (intervall, mapp och filnamn) från den andra datorn med synkronisering inställd på att synkronisera till den här datorn." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "Från och med nu kan du synkronisera konfigurationen från menyn i huvudfältet" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Synkronisera manuellt" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Tangentbordsgenvägar" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Öppna programmets wiki" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Avsluta" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Om programmet" @@ -456,7 +455,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Spara din skrivbordskonfiguration" @@ -467,7 +466,7 @@ msgid "" msgstr "" "Save Desktop låter dig spara din nuvarande konfiguration (teman, ikoner, bakgrundsbilder, alla skrivbordsmiljöinställningar, tillägg, etc.) med ett klick." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "Luna Jernberg https://github.com/bittin/" diff --git a/po/ta.po b/po/ta.po index 77a20ad1..2245686b 100644 --- a/po/ta.po +++ b/po/ta.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "சேமி" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "தற்போதைய உள்ளமைவைச் சேமி" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "கோப்புப் பெயரை அமை" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "உள்ளமைவு காப்பகத்தில் சேர்க்க வேண்டிய உருப்படிகள்" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "இந்த அமைப்புகள் அவ்வப்போது சேமிப்பதற்கும் பொருந்தும்" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "சின்னங்கள்" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "கருப்பொருள்கள்" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "எழுத்துருக்கள்" @@ -50,100 +51,100 @@ msgstr "எழுத்துருக்கள்" msgid "Backgrounds" msgstr "பின்னணிகள்" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "நீட்டிப்புகள்" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "பணிமேடை" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "தட்டைகட்டு பயன்பாடுகள்" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "நிறுவப்பட்ட தட்டைகட்டு பயன்பாடுகளின் பட்டியல்" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "நிறுவப்பட்ட தட்டைகட்டு பயன்பாடுகளின் பயனர் தரவு" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "தட்டைகட்டு பயன்பாடுகள் தரவுத் தேர்வு" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "மேலும் விருப்பங்கள்" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "அவ்வப்போது சேமி" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "அடுத்த உள்நுழைவுக்குப் பிறகுதான் மாற்றங்கள் நடைமுறைக்கு வரும்" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "இடைவேளை" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "ஒருபோதும்" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "நாள்தோறும்" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "வாராந்தோறும்" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "திங்கள்தோறும்" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "கைமுறையாக" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "மேலும் அறிக" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "அவ்வப்போது சேமிப்பதற்கான கோப்புறை" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "அவ்வப்போது சேமிக்க தனிப்பயன் கோப்புறையைத் தேர்வுசெய்க" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "மற்றொரு கோப்புறையைத் தேர்வுசெய்க" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "கோப்புப் பெயர் வடிவம்" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "இயல்புநிலைக்கு மீட்டமை" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "குறியாக்கத்திற்கான கடவுச்சொல்" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "கையேடு சேமிப்பு" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "காப்பக குறியாக்கம்" @@ -153,11 +154,11 @@ msgid "" msgstr "" "உள்ளமைவை கைமுறையாகச் சேமிக்கும்போது, கடவுச்சொல்லை உருவாக்கும்படி கேட்கப்படுவீர்கள். உங்கள் தரவின் சிறந்த பாதுகாப்பிற்காக உள்ளமைவை எடுத்துசெல்லதக்க ஊடகத்தில் சேமிக்கும்போது இது பயனுள்ளதாக இருக்கும்." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "காப்பகத்தை உருவாக்காமல் உள்ளமைவைச் சேமி" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "புதிய கடவுச்சொல்லை உருவாக்கு" @@ -167,15 +168,15 @@ msgid "" msgstr "" "உங்கள் காப்பகத்திற்கு புதிய கடவுச்சொல்லை உருவாக்கு. அளவுகோல்கள் குறைந்தது 12 எழுத்து நீளம், ஒரு பெரிய எழுத்து, ஒரு சிறிய எழுத்து மற்றும் ஒரு சிறப்பு எழுத்து ஆகியவை அடங்கும்." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "கடவுச்சொல்லை உருவாக்கு" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "கடவுச்சொல்" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "கடவுச்சொல் மூலம் காப்பகத்தைத் திற" @@ -196,11 +197,11 @@ msgid "" msgstr "" "Savedesktop பயன்பாட்டைப் பயன்படுத்தி ஒத்திசைவுக்கு மறைகுறியாக்கப்பட்ட காப்பகம் தேர்ந்தெடுக்கப்பட்டுள்ளது. அதைத் திறக்கக் கீழே உள்ள கடவுச்சொல்லை உள்ளிடவும் மற்றும் ஒத்திசைவைத் தொடங்கவும்." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "கடவுச்சொல்லை நினைவில் கொள்" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "கடவுச்சொல் உள்ளிடப்படவில்லை, அல்லது அது தவறானது. தொடர முடியவில்லை." @@ -210,7 +211,7 @@ msgid "" msgstr "" " உள்ளமைவைச் சேமித்தல்… \n உங்கள் பணிமேடை சூழலின் உள்ளமைவு சேமிக்கப்படும்:\n {}/{}. Sd.tar.gz \n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "உள்ளமைவு சேமிக்கப்பட்டது!" @@ -220,32 +221,32 @@ msgid "" msgstr "" " {} \n உங்கள் பணிமேடை சூழலின் உள்ளமைவுடன் காப்பகத்தை இப்போது காணலாம் அல்லது முந்தைய பக்கத்திற்குத் திரும்பலாம்.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "கோப்புறையைத் திற" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "இறக்குமதி" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "இறக்குமதி சேமிக்கப்பட்ட உள்ளமைவு" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "கோப்பிலிருந்து இறக்குமதி" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "கோப்புறையிலிருந்து இறக்குமதி" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "கைவிடு" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "சேமிபணிமேடை கோப்புகள்" @@ -255,7 +256,7 @@ msgid "" msgstr "" " உள்ளமைவை இறக்குமதி செய்தல்… \n இதிலிருந்து உள்ளமைவை இறக்குமதி செய்தல்:\n {} \n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "உள்ளமைவு பயன்படுத்தப்பட்டது!" @@ -265,23 +266,23 @@ msgid "" msgstr "" " {} \n மாற்றங்கள் நடைமுறைக்கு வர நீங்கள் கணினியிலிருந்து வெளியேறலாம், அல்லது முந்தைய பக்கத்திற்குச் சென்று பின்னர் வெளியேறலாம்.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "முந்தைய பக்கத்திற்குத் திரும்பு" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "விடுபதிகை" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "பிழை ஏற்பட்டது" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "இடு" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "ஒத்திசைவு" @@ -290,15 +291,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "இணைப்பில் உள்ள பிற கணினிகளுடன் உங்கள் பணிமேடை சூழல் உள்ளமைவை ஒத்திசை." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "ஆரம்ப ஒத்திசைவு அமைப்பு" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. கணினி அமைப்புகளைத் திற" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. நிகழ்நிலை கணக்குகள் பகுதிக்குச் செல்" @@ -308,7 +309,7 @@ msgid "" msgstr "" "இந்தப் பிரிவில் கூகிள், நுண்மென் 365 அல்லது அடுத்தமுகில் போன்ற நீங்கள் விரும்பும் முகில் சேவையைத் தேர்ந்தெடு." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. அடுத்த பொத்தானைக் சொடுக்கு செய்து உருவாக்கிய முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு" @@ -337,11 +338,11 @@ msgid "" msgstr "" "வழங்கப்பட்ட கட்டளையைப் பயன்படுத்தி ஆர்நகலியை அமைத்ததும், \"இடு\" பொத்தானைக் சொடுக்கு" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "அதற்குப் பதிலாக ஒத்திசைவு கோப்புறையைப் பயன்படுத்தவும்" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "கிட்டத்தட்ட முடிந்தது!" @@ -351,41 +352,41 @@ msgid "" msgstr "" "நீங்கள் இப்போது முகில் இயக்கிக் கோப்புறையை உருவாக்கியுள்ளீர்கள்! அமைப்பை முடிக்க அடுத்த பொத்தானைக் சொடுக்கு." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "தேர்ந்தெடு" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "அடுத்தது" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "ஒத்திசைவு கோப்பை அமை" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "அவ்வப்போது சேமிக்கும் கோப்பு" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "அவ்வப்போது சேமிக்கும் கோப்பு இல்லை." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "உருவாக்கு" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "தயவுசெய்து காத்திரு…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "மாற்றம்" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "முகில் சேமிப்பகத்துடன் இணை" @@ -395,19 +396,19 @@ msgid "" msgstr "" "மற்றொரு கணினியில், சேமிபணிமேடை பயன்பாட்டைத் திறந்து, இந்தப் பக்கத்தில், \"ஒத்திசைவு கோப்பை அமைக்கவும்\" பொத்தானைக் சொடுக்கு செய்து தேவையான அமைப்புகளை உருவாக்கவும். இந்தக் கணினியில், உங்கள் மேகக்கணி சேமிப்பகத்துடன் நீங்கள் ஒத்திசைத்த கோப்புறையைத் தேர்ந்தெடுக்கவும், அதே கால சேமிப்பு கோப்பையும் சேமித்துள்ளீர்கள்." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "நீங்கள் முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடுக்கவில்லை!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "அவ்வப்போது ஒத்திசைவு" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "இருதரப்பு ஒத்திசைவு" @@ -417,31 +418,29 @@ msgid "" msgstr "" "இயக்கப்பட்டிருந்தால், மற்றும் ஒத்திசைவு இடைவெளி மற்றும் முகில் இயக்கிக் கோப்புறை தேர்ந்தெடுக்கப்பட்டால், ஒத்திசைவதற்கு அமைக்கப்பட்ட பிற கணினியிலிருந்து அவ்வப்போது சேமிக்கும் செய்தி (இடைவெளி, கோப்புறை மற்றும் கோப்புப் பெயர்) இந்தக் கணினியில் நகலெடுக்கப்படுகிறது." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "இனிமேல், தலைப்பு பட்டியில் உள்ள பட்டியலிருந்து உள்ளமைவை ஒத்திசைக்கலாம்" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "கைமுறையாக ஒத்திசை" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "விசைப்பலகை குறுக்குவழிகள்" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "பயன்பாட்டு விக்கியைத் திற" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "வெளியேறு" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "பயன்பாடுபற்றி" @@ -453,7 +452,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "உங்கள் பணிமேடை உள்ளமைவைச் சேமி" @@ -464,7 +463,7 @@ msgid "" msgstr "" "உங்கள் தற்போதைய உள்ளமைவை (கருப்பொருள்கள், சின்னங்கள், பின்ணணிகள், அனைத்து பணிமேடை சுற்றுச்சூழல் அமைப்புகள், நீட்டிப்புகள் போன்றவை) ஒரே சொடுக்கில் சேமிக்க சேமிபணிமேடை உங்களை அனுமதிக்கிறது." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "தமிழ்நேரம் " diff --git a/po/tr.po b/po/tr.po index b80a3dd3..50f6ea85 100644 --- a/po/tr.po +++ b/po/tr.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Kaydet" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Şuanki ayarları kaydet" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Dosya adı" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Yapılandırma arşivine eklenecek ögeler" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Bu ayarlar aynı zamanda düzenli kayıt için de uygulanır" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Simgeler" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Temalar" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Yazı Tipleri" @@ -50,101 +51,101 @@ msgstr "Yazı Tipleri" msgid "Backgrounds" msgstr "Arka Planlar" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Uzantılar" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Masaüstü" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpak uygulamaları" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Kurulu Flatpak uygulamalarının listesi" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Kurulu Flatpak uygulamalarının kullanıcı verileri" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Flatpak uygulamaları veri seçimi" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Daha çok seçenek" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Düzenli kaydetme" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "" "Değişiklikler yalnızca sonraki oturum açma işleminden sonra geçerli olacak" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Aralık" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Asla" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Günlük" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Haftalık" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Aylık" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Elle" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Daha çoğunu öğren" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Düzenli kayıt klasörü" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Düzenli kayıt için özel klasör seçin" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Başka bir klasör seçin" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Dosya adı biçimi" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Öntanımlılara sıfırla" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Şifreleme için parola" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Manuel kaydet" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Arşiv şifreleme" @@ -154,11 +155,11 @@ msgid "" msgstr "" "Yapılandırmayı elle kaydederken parola oluşturmanız istenir. Bu, verilerinizin daha iyi güvenliği için yapılandırmayı taşınabilir ortama kaydederken kullanışlıdır." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Arşiv oluşturmadan yapılandırmayı kaydedin" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Yeni parola oluştur" @@ -168,15 +169,15 @@ msgid "" msgstr "" "Lütfen arşiviniz için yeni parola oluşturun. Parolanız en az 12 karakter uzunluğunda olmalı, bir büyük harf, bir küçük harf ve bir özel karakter içermelidir." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Parola Oluştur" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Parola" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Arşiv kilidini parolayla aç" @@ -198,11 +199,11 @@ msgid "" msgstr "" "Save Desktop uygulaması kullanılarak senkronizasyon için şifrelenmiş bir arşiv seçildi. Lütfen kilidini açmak ve senkronizasyonu başlatmak için aşağıdaki şifreyi girin." -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Parolayı hatırla" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Şifre girilmedi veya yanlış. Devam edilemiyor." @@ -212,7 +213,7 @@ msgid "" msgstr "" "Yapılandırma kaydediliyor…\nMasaüstü ortamınızın yapılandırması şuraya kaydedilecek:\n{}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Ayarlar kayıt edildi!" @@ -222,32 +223,32 @@ msgid "" msgstr "" "{}\nArtık arşivi masaüstü ortamınızın yapılandırmasıyla görüntüleyebilir ya da önceki sayfaya dönebilirsiniz.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Klasörü aç" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "İçe Aktar" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Kaydedilmiş ayarları yükle" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Dosyadan içe aktar" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Klasörden aktar" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "İptal et" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop dosyaları" @@ -257,7 +258,7 @@ msgid "" msgstr "" "Yapılandırma içe aktarılıyor...\nYapılandırma şuradan içe aktarılıyor:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Ayarlar uygulandı !" @@ -267,23 +268,23 @@ msgid "" msgstr "" "{}\nDeğişikliklerin geçerli olması için oturumu şimdi kapatabilir ya da önceki sayfaya geri dönüp daha sonra oturumu kapatabilirsiniz.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Önceki sayfaya dön" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Çıkış Yap" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Hata oluştu" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Uygula" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Eşzamanla" @@ -293,15 +294,15 @@ msgid "" msgstr "" "Masaüstü ortamı yapılandırmanızı ağdaki diğer bilgisayarlarla eşzamanlayın." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "İlk senkronizasyon kurulumu" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Sistem ayarlarını açın." -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Çevrimiçi Hesaplar bölümüne gidin" @@ -311,7 +312,7 @@ msgid "" msgstr "" "Bu bölümde Google, Microsoft 365 veya Nextcloud gibi istediğiniz bulut hizmetini seçin." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. İleri düğmesine tıklayın ve oluşturulan bulut sürücü klasörünü seçin" @@ -340,11 +341,11 @@ msgid "" msgstr "" "Verilen komutu kullanarak Rclone kurulumunu tamamladıktan sonra \"Uygula\" düğmesine tıklayın" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Bunun yerine Syncthing klasörünü kullanın" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Az kaldı!" @@ -354,41 +355,41 @@ msgid "" msgstr "" "Bulut sürücü klasörünü oluşturdunuz! Kurulumu tamamlamak için İleri düğmesine tıklayın." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Seç" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Sürdür" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Eşzamanlama dosyası ayarla" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Düzenli kayıt dosyası" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Düzenli kayıt dosyası yok." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Oluştur" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Lütfen bekleyin …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Değiştir" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Bulut depolamaya bağlan" @@ -398,19 +399,19 @@ msgid "" msgstr "" "Başka bilgisayarda Save Desktop uygulamasını açıp bu sayfadaki “Eşzamanlama dosyasını ayarla” düğmesine tıklayın ve gerekli ayarları yapın. Bu bilgisayarda, bulut depolama alanınızla eşzamanlamak istediğiniz ve aynı düzenli kayıt dosyasına kaydettiğiniz klasörü seçin." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Bulut sunucu klasörünü seç" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Bulut sürücü klasörünü seçmediniz!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Düzenli eşzamanlama" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Çift yönlü eşzamanlama" @@ -420,31 +421,29 @@ msgid "" msgstr "" "Etkinse ve eşzamanlama aralığı ve bulut sürücü klasörü seçilirse, eşzamanlama ayarlı diğer bilgisayardaki düzenli kayıt bilgileri (aralık, klasör ve dosya adı) bu bilgisayara kopyalanır." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "Artık yapılandırmayı başlık çubuğundaki menüden eşzamanlayabilirsiniz" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Elle eşzamanla" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Klavye kısayolları" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Uygulama wiki'sini açın" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Çık" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Uygulama Hakkında" @@ -456,7 +455,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Masaüstü yapılandırmanızı kaydedin" @@ -467,7 +466,7 @@ msgid "" msgstr "" "Save Desktop senin suanki ayarlarını(temalar,iconlar,duvar kağıtları, tüm masaüstü ortam ayları , eklentiler , vb.) tek tıkla kaydetmene izin verir." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "" "Batmanly https://github.com/batmanly\nSabri Ünal https://github.com/yakushabb" diff --git a/po/uk.po b/po/uk.po index 59bdd312..e18b0431 100644 --- a/po/uk.po +++ b/po/uk.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "Зберегти" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "Зберегти поточну конфігурацію" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "Задайте ім'я файлу" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "Елементи для включення в архів конфігурації" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "Ці налаштування також застосовуються до періодичного збереження" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "Піктограми" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "Теми" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "Шрифти" @@ -50,100 +51,100 @@ msgstr "Шрифти" msgid "Backgrounds" msgstr "Шпалери" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "Розширення" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "Робочий стіл" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Додатки Flatpak" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "Список встановлених додатків Flatpak" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "Дані користувача встановлених додатків Flatpak" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Обирання даних Flatpak додатків" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "Додаткові опції" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "Періодичне збереження" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "Зміни набудуть чинності тільки після наступного входу в систему" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "Інтервал" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "Ніколи" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "Щодня" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "Щотижня" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "Щомісяця" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "Вручну" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "Дізнатися більше" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "Тека для періодичного збереження" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "Виберіть власну теку для періодичного збереження" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "Виберіть іншу теку" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "Формат назви файлу" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "Скинути до замовчування" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "Пароль для шифрування" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "Ручне збереження" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "Шифрування архіву" @@ -153,11 +154,11 @@ msgid "" msgstr "" "При ручному збереженні конфігурації вам буде запропоновано створити пароль. Це корисно, коли ви зберігаєте конфігурацію на портативних носіях для кращого захисту ваших даних." -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "Зберегти конфігурацію без створення архіву" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "Створити новий пароль" @@ -167,15 +168,15 @@ msgid "" msgstr "" "Будь ласка, створіть новий пароль для вашого архіву. Критерії включають довжину не менше 12 символів, одну велику літеру, одну маленьку літеру та один спеціальний символ." -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "Згенерувати пароль" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "Пароль" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "Розблокувати архів за допомогою пароля" @@ -196,11 +197,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "Запам'ятати пароль" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "Введено не правильний пароль або нічого. Неможливо продовжити." @@ -210,7 +211,7 @@ msgid "" msgstr "" "Збереження конфігурації...\nКонфігурація вашої стільниці буде збережена в:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "Конфігурацію збережено!" @@ -220,32 +221,32 @@ msgid "" msgstr "" "{}\nТепер ви можете переглянути архів з конфігурацією вашої стільниці або повернутися до попередньої сторінки.\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "Відкрити теку" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "Імпорт" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "Імпорт збереженої конфігурації" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "Імпорт з файлу" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "Імпортувати з теки" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "Скасувати" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Файли Save Desktop" @@ -255,7 +256,7 @@ msgid "" msgstr "" "Імпортування конфігурації...\nІмпортування конфігурації з:\n{}\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "Конфігурацію застосовано!" @@ -265,23 +266,23 @@ msgid "" msgstr "" "{}\nВи можете вийти із системи що зміни набули чинності, або повернутися до попередньої сторінки і вийти із системи пізніше.\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "Повернутися до попередньої сторінки" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "Вийти" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "Виникла помилка" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "Застосувати" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "Синхронізувати" @@ -291,15 +292,15 @@ msgid "" msgstr "" "Синхронізуйте конфігурацію середовище стільниці з іншими комп'ютерами в мережі." -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "Налаштування початкової синхронізації" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. Відкрийте налаштування системи" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. Перейдіть до розділу \"Онлайн-акаунти\"" @@ -309,7 +310,7 @@ msgid "" msgstr "" "У цьому розділі виберіть хмарний сервіс, який вам потрібен, наприклад, Google, Microsoft 365 або Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Натисніть кнопку \"Далі\" та виберіть створену папку хмарного диска" @@ -337,11 +338,11 @@ msgid "" msgstr "" "Після того, як ви завершите налаштування Rclone за допомогою наданої команди, натисніть кнопку \"Застосувати\"" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "Використовувати замість теку Syncthing" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "Майже готово!" @@ -351,41 +352,41 @@ msgid "" msgstr "" "Ви щойно створили папку хмарного диска! Натисніть кнопку \"Далі\", щоб завершити налаштування." -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "Вибрати" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "Далі" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "Налаштування файлу синхронізації" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "Періодичне збереження файлу" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "Файл періодичного збереження не існує." -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "Створити" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "Будь ласка, зачекайте…" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "Змінити" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Підключитися до хмарного сховища" @@ -395,19 +396,19 @@ msgid "" msgstr "" "На іншому комп'ютері відкрийте додаток Save Desktop, а на цій сторінці натисніть кнопку \"Налаштувати файл синхронізації\" і зробіть необхідні налаштування. На цьому комп'ютері виберіть папку, яку ви синхронізували з вашим хмарним сховищем, і де також збережено той же файл періодичного збереження." -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "Виберіть папку хмарного диска" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "Ви не вибрали папку хмарного диска!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "Періодична синхронізація" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "Двостороння синхронізація" @@ -417,32 +418,30 @@ msgid "" msgstr "" "Якщо увімкнено, і вибрані інтервал синхронізації та папка хмарного диска, інформація про періодичне збереження (інтервал, папка та ім'я файлу) з іншого комп'ютера, для якого налаштовано синхронізацію, буде скопійована на цей комп'ютер." -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "" "Відтепер ви можете синхронізувати налаштування з меню на панелі заголовка" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "Синхронізувати вручну" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "Клавіатурні скорочення" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "Відкрити вікі-документацію додатку" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "Вийти" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "Про додаток" @@ -454,7 +453,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "Збережіть конфігурацію вашої стільниці" @@ -465,7 +464,7 @@ msgid "" msgstr "" "Save Desktop дозволяє зберегти поточну конфігурацію (теми, значки, шпалери, всі налаштування середовища робочого столу, розширення тощо) в один клац." -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "" "Kefir2105 https://github.com/Kefir2105\nvolkov " diff --git a/po/zh_Hans.po b/po/zh_Hans.po index f1efd0ea..08e270d5 100644 --- a/po/zh_Hans.po +++ b/po/zh_Hans.po @@ -12,37 +12,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -# Translation key: save +#: src/gui/window.py msgid "Save" msgstr "保存" -#: src/gui/shortcuts_window.ui:22 -# Translation key: save_config +#: src/gui/templates/shortcuts_window.ui:22 +#: src/gui/window.py msgid "Save the current configuration" msgstr "保存当前配置" -# Translation key: set_filename +#: src/gui/window.py msgid "Set the file name" msgstr "设置文件名" -#: src/gui/shortcuts_window.ui:64 -# Translation key: items_for_archive +#: src/gui/templates/shortcuts_window.ui:64 +#: src/gui/window.py +#: src/gui/items_dialog.py msgid "Items to include in the configuration archive" msgstr "要包含在配置存档中的项目" -# Translation key: items_desc +#: src/gui/items_dialog.py msgid "These settings also apply to periodic saving" msgstr "这些设置也适用于定期保存" -# Translation key: icons +#: src/gui/items_dialog.py msgid "Icons" msgstr "图标" -# Translation key: themes +#: src/gui/items_dialog.py msgid "Themes" msgstr "主题" -# Translation key: fonts +#: src/gui/items_dialog.py msgid "Fonts" msgstr "字体" @@ -50,100 +51,100 @@ msgstr "字体" msgid "Backgrounds" msgstr "背景" -# Translation key: extensions +#: src/gui/items_dialog.py msgid "Extensions" msgstr "扩展" -# Translation key: desktop_folder +#: src/gui/items_dialog.py msgid "Desktop" msgstr "桌面" -# Translation key: save_installed_flatpaks +#: src/gui/items_dialog.py msgid "Flatpak apps" msgstr "Flatpak 包" -# Translation key: list +#: src/gui/items_dialog.py msgid "List of installed Flatpak apps" msgstr "已安装的Flatpak应用列表" -# Translation key: user_data_flatpak +#: src/gui/items_dialog.py msgid "User data of installed Flatpak apps" msgstr "使用已安装 Flatpak 程序的用户数据" -# Translation key: flatpaks_data_tittle +#: src/gui/items_dialog.py msgid "Flatpak apps data selection" msgstr "Flatpak应用数据选项" -#: src/gui/shortcuts_window.ui -# Translation key: more_options +#: src/gui/templates/shortcuts_window.ui:57 +#: src/gui/more_options_dialog.py msgid "More options" msgstr "更多选项" -# Translation key: periodic_saving +#: src/gui/more_options_dialog.py msgid "Periodic saving" msgstr "定期保存" -# Translation key: periodic_saving_desc +#: src/gui/more_options_dialog.py msgid "Changes will only take effect after the next login" msgstr "更改仅在下次登录后生效" -# Translation key: pb_interval +#: src/gui/more_options_dialog.py msgid "Interval" msgstr "" -# Translation key: never +#: src/gui/more_options_dialog.py msgid "Never" msgstr "从不" -# Translation key: daily +#: src/gui/more_options_dialog.py msgid "Daily" msgstr "每日" -# Translation key: weekly +#: src/gui/more_options_dialog.py msgid "Weekly" msgstr "每周" -# Translation key: monthly +#: src/gui/more_options_dialog.py msgid "Monthly" msgstr "每月" -# Translation key: manually +#: src/gui/more_options_dialog.py msgid "Manually" msgstr "手动" -# Translation key: learn_more +#: src/gui/more_options_dialog.py msgid "Learn more" msgstr "学习更多" -# Translation key: pb_folder +#: src/gui/more_options_dialog.py msgid "Folder for periodic saving" msgstr "定期保存目录" -# Translation key: set_pb_folder_tooltip +#: src/gui/more_options_dialog.py msgid "Choose custom folder for periodic saving" msgstr "手动选择定期保存目录" -# Translation key: set_another +#: src/gui/more_options_dialog.py msgid "Choose another folder" msgstr "选择其他目录" -# Translation key: filename_format +#: src/gui/more_options_dialog.py msgid "File name format" msgstr "文件名称格式" -# Translation key: reset_button +#: src/gui/more_options_dialog.py msgid "Reset to default" msgstr "恢复默认" -# Translation key: pwd_for_encryption +#: src/gui/more_options_dialog.py msgid "Password for encryption" msgstr "加密所需的密码" -# Translation key: manual_saving +#: src/gui/more_options_dialog.py msgid "Manual saving" msgstr "手动保存" -# Translation key: archive_encryption +#: src/gui/more_options_dialog.py msgid "Archive encryption" msgstr "存档加密" @@ -152,11 +153,11 @@ msgid "" "When manually saving the configuration, you will be prompted to create a password. This is useful when saving the configuration to portable media for better security of your data." msgstr "在手动保存配置的时候,会有创建密码的提示信息。这在使用移动便携存储设备保存配置时能更好的保护您的数据。" -# Translation key: save_without_archive +#: src/gui/more_options_dialog.py msgid "Save the configuration without creating an archive" msgstr "保存配置时不创建存档" -# Translation key: create_pwd_title +#: src/gui/window.py msgid "Create new password" msgstr "创建新密码" @@ -165,15 +166,15 @@ msgid "" "Please create new password for your archive. Criteria include a length of at least 12 characters, one uppercase letter, one lowercase letter, and one special character." msgstr "" -# Translation key: gen_password +#: src/gui/window.py msgid "Generate Password" msgstr "生成密码" -# Translation key: password_entry +#: src/gui/window.py msgid "Password" msgstr "密码" -# Translation key: check_pwd_title +#: src/gui/window.py msgid "Unlock the archive with a password" msgstr "解锁存档时不需要密码" @@ -192,11 +193,11 @@ msgid "" "An encrypted archive has been selected for synchronization using the Save Desktop app. Please enter the password below to unlock it and start synchronization." msgstr "" -# Translation key: remember_password +#: src/gui/password_checker.py msgid "Remember Password" msgstr "记住密码" -# Translation key: password_store_err +#: src/core/synchronization.py msgid "Password not entered, or it's incorrect. Unable to continue." msgstr "密码为空或密码错误,无法进行下一步。" @@ -206,7 +207,7 @@ msgid "" msgstr "" "保存配置……\n您的桌面环境配置将被保存至:\n {}/{}.sd.tar.gz\n" -# Translation key: config_saved +#: src/gui/window.py msgid "Configuration has been saved!" msgstr "配置已保存!" @@ -216,32 +217,32 @@ msgid "" msgstr "" "{}\n现在您可以查看桌面环境配置存档,或者返回上一页。\n" -# Translation key: open_folder +#: src/gui/window.py msgid "Open the folder" msgstr "打开文件夹" -# Translation key: import_title +#: src/gui/window.py msgid "Import" msgstr "导入" -# Translation key: import_config +#: src/gui/window.py msgid "Import saved configuration" msgstr "导入保存的配置" -#: src/gui/shortcuts_window.ui:29 -# Translation key: import_from_file +#: src/gui/templates/shortcuts_window.ui:29 +#: src/gui/window.py msgid "Import from file" msgstr "从文件导入" -# Translation key: import_from_folder +#: src/gui/window.py msgid "Import from folder" msgstr "从文件夹导入" -# Translation key: cancel +#: src/gui/window.py msgid "Cancel" msgstr "取消" -# Translation key: savedesktop_f +#: src/gui/window.py msgid "Save Desktop files" msgstr "Save Desktop文件" @@ -251,7 +252,7 @@ msgid "" msgstr "" "导入配置……\n从:{}导入配置\n" -# Translation key: config_imported +#: src/gui/window.py msgid "The configuration has been applied!" msgstr "配置已应用!" @@ -261,23 +262,23 @@ msgid "" msgstr "" "{}\n您可以注销以使更改生效,或返回上一页稍后再注销。\n" -# Translation key: back_to_page +#: src/gui/window.py msgid "Back to previous page" msgstr "返回上一页" -# Translation key: logout +#: src/gui/window.py msgid "Log Out" msgstr "注销" -# Translation key: err_occured +#: src/gui/window.py msgid "An error occurred" msgstr "出现一个错误" -# Translation key: apply +#: src/gui/window.py msgid "Apply" msgstr "应用" -# Translation key: sync +#: src/gui/window.py msgid "Sync" msgstr "同步" @@ -286,15 +287,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "将您的桌面环境配置与网络中的其他计算机同步。" -# Translation key: initial_setup +#: src/gui/window.py msgid "Initial synchronization setup" msgstr "初始化同步设置" -# Translation key: gnome_oa_settings +#: src/gui/window.py msgid "1. Open the system settings" msgstr "1. 打开系统设置" -# Translation key: gnome_oa_section +#: src/gui/window.py msgid "2. Go to the Online Accounts section" msgstr "2. 定位到在线账号(Online Accounts)部分" @@ -303,7 +304,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "选择你想使用的任一云服务,比如 Google,Microsoft 365 或 Nextcloud." -# Translation key: gnome_oa_chooser +#: src/gui/window.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. 点击下一步,选择已创建的云同步文件夹" @@ -327,11 +328,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -# Translation key: syncthing_folder +#: src/gui/window.py msgid "Use Syncthing folder instead" msgstr "" -# Translation key: almost_done_title +#: src/gui/window.py msgid "Almost done!" msgstr "马上就好!" @@ -340,41 +341,41 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "您已经创建好云驱动文件夹了!点击下一步以完成设置。" -# Translation key: select +#: src/gui/window.py msgid "Select" msgstr "选择" -# Translation key: next +#: src/gui/window.py msgid "Next" msgstr "下一步" -#: src/gui/shortcuts_window.ui:71 -# Translation key: set_up_sync_file +#: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/window.py msgid "Set up the sync file" msgstr "设置同步文件" -# Translation key: periodic_saving_file +#: src/gui/window.py msgid "Periodic saving file" msgstr "定期保存文件" -# Translation key: periodic_saving_file_err +#: src/gui/window.py msgid "Periodic saving file does not exist." msgstr "" -# Translation key: create +#: src/gui/window.py msgid "Create" msgstr "新建" -# Translation key: please_wait +#: src/gui/window.py msgid "Please wait …" msgstr "请稍等 …" -# Translation key: change +#: src/gui/window.py msgid "Change" msgstr "更改" -#: src/gui/shortcuts_window.ui:78 -# Translation key: connect_cloud_storage +#: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/window.py msgid "Connect to the cloud storage" msgstr "连接到云存储" @@ -383,19 +384,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -# Translation key: select_cloud_folder_btn +#: src/gui/window.py msgid "Select the cloud drive folder" msgstr "选择云驱动文件夹" -# Translation key: cloud_folder_err +#: src/gui/window.py msgid "You didn't select the cloud drive folder!" msgstr "您没有选择云驱动文件夹!" -# Translation key: periodic_sync +#: src/gui/window.py msgid "Periodic synchronization" msgstr "周期性同步" -# Translation key: bidirectional_sync +#: src/gui/window.py msgid "Bidirectional synchronization" msgstr "" @@ -404,31 +405,29 @@ msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" -# Translation key: m_sync_desc +#: src/gui/window.py msgid "From now on, you can sync the config from the menu in the header bar" msgstr "从现在开始,您可以从标题栏中的菜单中同步配置╰(*°▽°*)╯" -#: src/gui/shortcuts_window.ui:50 -# Translation key: sync_manually +#: src/gui/templates/shortcuts_window.ui:50 +#: src/gui/window.py msgid "Synchronise manually" msgstr "手动同步" -#: src/gui/shortcuts_window.ui:36 -# Translation key: keyboard_shortcuts +#: src/gui/templates/shortcuts_window.ui:36 +#: src/gui/window.py msgid "Keyboard shortcuts" msgstr "快捷键" -#: src/gui/shortcuts_window.ui:15 -# Translation key: open_wiki +#: src/gui/templates/shortcuts_window.ui:15 msgid "Open the application wiki" msgstr "打开本应用使用说明(WIKI)" -#: src/gui/shortcuts_window.ui:43 -# Translation key: quit +#: src/gui/templates/shortcuts_window.ui:43 msgid "Quit" msgstr "退出" -# Translation key: about_app +#: src/gui/window.py msgid "About app" msgstr "关于应用" @@ -440,7 +439,7 @@ msgstr "" #: data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in:39 #: data/io.github.vikdevelop.SaveDesktop.desktop.in:4 -# Translation key: summary +#: src/main.py msgid "Save your desktop configuration" msgstr "保存您的桌面环境配置" @@ -450,7 +449,7 @@ msgid "" "Save Desktop lets you save your current configuration (themes, icons, wallpapers, all desktop environment settings, extensions, etc.) with one click." msgstr "Save Desktop 可让您一键保存当前配置(主题、图标、壁纸、所有桌面环境设置、扩展等)。" -# Translation key: translator_credits +#: src/main.py msgid "Translator credits" msgstr "译者github链接" From 0da1a1b978505264a6488d69565d779cc3e3a299 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Tue, 9 Sep 2025 17:32:36 +0200 Subject: [PATCH 13/24] Remove "Use Syncthing folder instead" from the Initial synchronization setup dialog in GNOME-based environments --- po/savedesktop.pot | 4 ++ src/core/synchronization_setup.py | 2 +- src/gui/items_dialog.py | 12 ++--- src/gui/synchronization_dialogs.py | 66 +++++++++++++++------------ src/gui/window.py | 71 ++++++++++++++---------------- 5 files changed, 84 insertions(+), 71 deletions(-) diff --git a/po/savedesktop.pot b/po/savedesktop.pot index b76b4177..94808b01 100644 --- a/po/savedesktop.pot +++ b/po/savedesktop.pot @@ -319,6 +319,10 @@ msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" +#: src/gui/window.py +msgid "Copy" +msgstr "" + #: src/gui/window.py msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" diff --git a/src/core/synchronization_setup.py b/src/core/synchronization_setup.py index e70bf76c..96c227a3 100644 --- a/src/core/synchronization_setup.py +++ b/src/core/synchronization_setup.py @@ -11,7 +11,7 @@ def check_fs(): if not "gvfsd" in check_filesystem: if not "rclone" in check_filesystem: if not os.path.exists(f"{settings['file-for-syncing']}/.stfolder"): - print("You have not selected the cloud drive folder!") + print("You didn't select the cloud drive folder!") # set up auto-mounting of the cloud drives after logging in to the system def set_up_auto_mount(): diff --git a/src/gui/items_dialog.py b/src/gui/items_dialog.py index 9e4d40cf..f258aad1 100644 --- a/src/gui/items_dialog.py +++ b/src/gui/items_dialog.py @@ -42,7 +42,7 @@ def on_switch_activated(self, switch, state): # dialog for showing installed Flatpak apps class FlatpakAppsDialog(Adw.AlertDialog): - def __init__(self): + def __init__(self, parent): super().__init__() self.set_heading(_("Flatpak apps data selection")) @@ -109,8 +109,10 @@ def apply_settings(self, w, response): settings["disabled-flatpak-apps-data"] = self.old_disabled_flatpaks class itemsDialog(Adw.AlertDialog): - def __init__(self): + def __init__(self, parent): super().__init__() + self.parent = parent + self.set_heading(_("Items to include in the configuration archive")) self.set_body(_("These settings also apply to periodic saving")) @@ -275,9 +277,9 @@ def itemsdialog_closed(self, w, response): # show dialog for managing Flatpak applications data def manage_data_list(self, w): self.close() - self.appd = FlatpakAppsDialog() - self.appd.choose(self, None, None, None) - self.appd.present() + self.appd = FlatpakAppsDialog(self.parent) + self.appd.choose(self.parent, None, None, None) + self.appd.present(self.parent) # show button after clicking on the switch "User data of Flatpak apps" def show_appsbtn(self, w, GParamBoolean): diff --git a/src/gui/synchronization_dialogs.py b/src/gui/synchronization_dialogs.py index 975f74a1..b6d19b14 100644 --- a/src/gui/synchronization_dialogs.py +++ b/src/gui/synchronization_dialogs.py @@ -19,7 +19,7 @@ def __init__(self, parent): self.set_body_use_markup(True) self.set_can_close(False) self.add_response('cancel', _("Cancel")) - self.add_response('ok-syncthing', _("Use Syncthing folder instead")) + #self.add_response('ok-syncthing', _("Use Syncthing folder instead")) self.set_response_appearance('cancel', Adw.ResponseAppearance.DESTRUCTIVE) self.connect('response', self.initsetupDialog_closed) @@ -69,49 +69,58 @@ def __init__(self, parent): # row for showing the command for setting up the Rclone self.cmdRow = Adw.ActionRow.new() - self.cmdRow.set_title_selectable(True) + self.cmdRow.set_subtitle_selectable(True) self.cmdRow.set_use_markup(True) self.cmdRow.add_suffix(self.copyButton) self.initBox.append(self.cmdRow) # add the Apply and Syncthing buttons to the dialog + self.add_response('ok-syncthing', _("Use Syncthing folder instead")) self.add_response('ok-rclone', _("Apply")) self.set_response_appearance('ok-rclone', Adw.ResponseAppearance.SUGGESTED) self.set_response_enabled('ok-rclone', False) - # show the message about finished setup the synchronization - def almost_done(self): - self.remove_response('ok-rclone') - self.remove_response('ok-syncthing') - self.remove_response('next') - self.set_extra_child(None) - self.set_body(_("You've now created the cloud drive folder! Click on the Next button to complete the setup.")) - self.set_can_close(True) - self.add_response('open-setdialog', _("Next")) if self.get_button_type == 'set-button' else self.add_response('open-clouddialog', _("Next")) - self.set_response_appearance('open-setdialog', Adw.ResponseAppearance.SUGGESTED) if self.get_button_type == 'set-button' else self.set_response_appearance('open-clouddialog', Adw.ResponseAppearance.SUGGESTED) + # Set the Rclone setup command + def get_service(self, comborow, GParamObject): + self.set_body("") + get_servrow = self.servRow.get_selected_item().get_string() + self.cloud_service = "drive" if get_servrow == "Google Drive" else "onedrive" if get_servrow == "Microsoft OneDrive" else "dropbox" if get_servrow == "DropBox" else "pcloud" + + self.cmdRow.set_title(_("Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.")) + self.cmdRow.set_subtitle(f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") + + # set the copyButton properties + self.copyButton.set_sensitive(True) + self.copyButton.set_icon_name("edit-copy-symbolic") + self.copyButton.set_tooltip_text(_("Copy")) + self.copyButton.connect("clicked", self.copy_rclone_command) # copy the command for setting up the Rclone using Gdk.Clipboard() def copy_rclone_command(self, w): os.makedirs(f"{download_dir}/SaveDesktop/rclone_drive", exist_ok=True) # create the requested folder before copying the command for setting up Rclone to the clipboard + clipboard = Gdk.Display.get_default().get_clipboard() Gdk.Clipboard.set(clipboard, f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") # copy the command for setting up Rclone to the clipboard + self.copyButton.set_icon_name("done") self.cmdRow.set_title(_("Once you have finished setting up Rclone using the command provided, click the \"Apply\" button")) self.cmdRow.set_subtitle("") + self.set_response_enabled('ok-rclone', True) + self.remove_response('ok-syncthing') - # Set the Rclone setup command - def get_service(self, comborow, GParamObject): - self.set_body("") - get_servrow = self.servRow.get_selected_item().get_string() - self.cloud_service = "drive" if get_servrow == "Google Drive" else "onedrive" if get_servrow == "Microsoft OneDrive" else "dropbox" if get_servrow == "DropBox" else "pcloud" - self.cmdRow.set_title(_("Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu.")) - self.cmdRow.set_subtitle(f"command -v rclone &> /dev/null && (rclone config create savedesktop {self.cloud_service} && rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive) || echo 'Rclone is not installed. Please install it from this website first: https://rclone.org/install/.'") - # set the copyButton properties - self.copyButton.set_sensitive(True) - self.copyButton.set_icon_name("edit-copy-symbolic") - self.copyButton.set_tooltip_text("Copy") - self.copyButton.connect("clicked", copy_rclone_command) + # show the message about finished setup the synchronization + def almost_done(self): + self.remove_response('ok-rclone') + self.remove_response('next') + self.remove_response('ok-syncthing') + + self.set_extra_child(None) + self.set_body(_("You've now created the cloud drive folder! Click on the Next button to complete the setup.")) + self.set_can_close(True) + + self.add_response('open-setdialog', _("Next")) if self.get_button_type == 'set-button' else self.add_response('open-clouddialog', _("Next")) + self.set_response_appearance('open-setdialog', Adw.ResponseAppearance.SUGGESTED) if self.get_button_type == 'set-button' else self.set_response_appearance('open-clouddialog', Adw.ResponseAppearance.SUGGESTED) # Responses of this dialog def initsetupDialog_closed(self, w, response): @@ -252,7 +261,8 @@ def check_filesystem_fnc(self): folder = f'{_("Interval")}: {_("Never")}' # Check if the filesystem is not FUSE elif ("gvfsd" not in check_filesystem and "rclone" not in check_filesystem) and not os.path.exists(f"{settings['periodic-saving-folder']}/.stfolder"): - folder = f'{_("You didn't select the cloud drive folder!")}' + err = _("You didn't select the cloud drive folder!") + folder = f'{err}' # Check if the periodic saving file exists elif not os.path.exists(path): folder = f'{_("Periodic saving file does not exist.")}' @@ -414,17 +424,17 @@ def call_automount(self): if result.returncode == 0: output = result.stdout.strip() - if "You have not selected the cloud drive folder!" in output: + if "You didn't selected the cloud drive folder!" in output: settings["file-for-syncing"] = "" if os.path.exists(f"{DATA}/savedesktop-synchronization.sh"): os.remove(f"{DATA}/savedesktop-synchronization.sh") - raise AttributeError(_("You have not selected the cloud drive folder")) + raise AttributeError(_("You didn't select the cloud drive folder!")) else: subprocess.run([sys.executable, "-m", "savedesktop.core.synchronization_setup", "--automount-setup", self.mount_type], env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) else: - raise AttributeError(_("You have not selected the cloud drive folder")) + raise AttributeError(_("You didn't select the cloud drive folder!")) except Exception as e: os.system(f'notify-send \'{_("An error occurred")}\' \'{e}\'') return diff --git a/src/gui/window.py b/src/gui/window.py index fb929570..99c4f14a 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -86,7 +86,7 @@ def __init__(self, *args, **kwargs): self.switcher_bar.set_stack(self.stack) self.toolbarview.add_bottom_bar(self.switcher_bar) - self.setup_switcher_responsive() + self._setup_switcher_responsive() # Toast Overlay for showing the popup window self.toast_overlay = Adw.ToastOverlay.new() @@ -143,8 +143,8 @@ def setup_environment(env_name): self.toolbarview.set_content(self.pBox) self.unsupp_label = Gtk.Label.new(str=f'{_("You have an unsupported environment installed.\nPlease use one of these environments: {}.")}'.format(', '.join(set(desktop_map.values())))); self.unsupp_label.set_use_markup(True); self.unsupp_label.set_justify(Gtk.Justification.CENTER); self.unsupp_label.set_wrap(True); self.pBox.append(self.unsupp_label) - # Switch between ViewSwitcherTitle and ViewSwitcherBar based on the title visible - def setup_switcher_responsive(self): + # Switch between ViewSwitcherTitle and ViewSwitcherBar based on the Adw.Breakpoint status + def _setup_switcher_responsive(self): self.break_point = Adw.Breakpoint.new( Adw.BreakpointCondition.parse("max-width: 400sp") ) @@ -203,7 +203,7 @@ def save_desktop(self): self.itemsButton = Gtk.Button.new_from_icon_name("go-next-symbolic") self.itemsButton.set_valign(Gtk.Align.CENTER) self.itemsButton.add_css_class("flat") - self.itemsButton.connect("clicked", self._open_itemsDialog) + self.itemsButton.connect("clicked", self._open_items_dialog) # Action row for opening dialog for selecting items that will be included to the config archive self.items_row = Adw.ActionRow.new() @@ -247,10 +247,10 @@ def _open_more_options_dialog(self, w): self.more_options_dialog.present(self) # open a dialog for selecting the items to include in the configuration archive - def _open_itemsDialog(self, w): - self.itemsd = itemsDialog() - self.itemsd.choose(self, None, None, None) - self.itemsd.present() + def _open_items_dialog(self, w): + self.items_dialog = itemsDialog(self) + self.items_dialog.choose(self, None, None, None) + self.items_dialog.present(self) # Import configuration page def import_desktop(self): @@ -582,26 +582,12 @@ def _call_archive_command(self): subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) except subprocess.CalledProcessError as e: GLib.idle_add(self.show_err_msg, e) - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.switcher_bar.set_reveal(self.switcher_title.get_title_visible()) + self._set_default_widgets_state() finally: GLib.idle_add(self.done) - # "Please wait" information page on the "Save" page + # "Please wait" information page def please_wait(self): - # Stop saving configuration - def cancel(w): - os.popen('pkill -f "savedesktop.core.config"') - os.popen('pkill -9 7z') - os.popen('pkill -9 tar') - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.set_title("Save Desktop") - self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) - for widget in [self.spinner, self.cancel_button, self.status_page]: - self.status_box.remove(widget) - self.headerbar.set_title_widget(None) self.break_point.disconnect(self.apply_handler) self.switcher_bar.set_reveal(False) @@ -631,23 +617,29 @@ def cancel(w): self.cancel_button = Gtk.Button.new_with_label(_("Cancel")) self.cancel_button.add_css_class("pill") self.cancel_button.add_css_class("destructive-action") - self.cancel_button.connect("clicked", cancel) + self.cancel_button.connect("clicked", self._cancel) self.cancel_button.set_valign(Gtk.Align.CENTER) self.cancel_button.set_halign(Gtk.Align.CENTER) self.status_box.append(self.cancel_button) + # Stop Saving/Importing Configuration + def _cancel(self, w): + os.popen('pkill -f "savedesktop.core.config"') + os.popen('pkill -9 7z') + os.popen('pkill -9 tar') + self._set_default_widgets_state() + for widget in [self.spinner, self.cancel_button, self.status_page]: + self.status_box.remove(widget) + + def _set_default_widgets_state(self): + self.toolbarview.set_content(self.headapp) + self.headerbar.set_title_widget(self.switcher_title) + self.set_title("Save Desktop") + self.switcher_bar.set_reveal(True) + self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) + # config has been saved action def done(self): - # back to the previous page from this page - def back_to_main(w): - self.toolbarview.set_content(self.headapp) - self.headerbar.set_title_widget(self.switcher_title) - self.set_title("Save Desktop") - self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) - print("connected") - for widget in [self.status_page, self.open_folder_button, self.logout_button, self.back_button]: - self.status_box.remove(widget) - self._send_notification() # stop spinner animation @@ -670,7 +662,7 @@ def back_to_main(w): # create button for backing to the previous page self.back_button = Gtk.Button.new_with_label(_("Back to previous page")) - self.back_button.connect("clicked", back_to_main) + self.back_button.connect("clicked", self._back_to_main) self.back_button.add_css_class("pill") self.back_button.set_valign(Gtk.Align.CENTER) self.back_button.set_halign(Gtk.Align.CENTER) @@ -678,7 +670,7 @@ def back_to_main(w): # send notification about saved configuration if application window is inactive only def _send_notification(self): - self.notification_save = Gio.Notification.new("SaveDesktop") + self.notification_save = Gio.Notification.new("Save Desktop") self.notification_save.set_body(self.done_title) app = self.get_application() active_window = app.get_active_window() @@ -704,6 +696,11 @@ def _add_specific_button(self): if not (flatpak and self.environment == "Hyprland"): self.buttons_box.append(self.logout_button) + def _back_to_main(self, w): + self._set_default_widgets_state() + for widget in [self.status_page, self.open_folder_button, self.logout_button, self.back_button]: + self.status_box.remove(widget) + # show message dialog in the error case def show_err_msg(self, error): error_str = str(error) From 2656825ffbc5c7d6a985beff960ac6bef847d531 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Tue, 9 Sep 2025 17:39:50 +0200 Subject: [PATCH 14/24] Fix title in Initial Synchronization setup dialog --- src/gui/synchronization_dialogs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/synchronization_dialogs.py b/src/gui/synchronization_dialogs.py index b6d19b14..a7fd226b 100644 --- a/src/gui/synchronization_dialogs.py +++ b/src/gui/synchronization_dialogs.py @@ -116,6 +116,7 @@ def almost_done(self): self.remove_response('ok-syncthing') self.set_extra_child(None) + self.set_heading(_("Almost done!")) self.set_body(_("You've now created the cloud drive folder! Click on the Next button to complete the setup.")) self.set_can_close(True) From fdf9673d0ee44080967c556fbb1b1ef5febc2884 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Tue, 9 Sep 2025 17:48:26 +0200 Subject: [PATCH 15/24] Fix translations in window.py --- src/gui/window.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/gui/window.py b/src/gui/window.py index 99c4f14a..b474f069 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -542,10 +542,11 @@ def checkDialog_closed(w, response): def save_config(self): self.archive_mode = "--create" self.archive_name = f"{self.folder}/{self.filename_text}" - self.status_title = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz").split('')[0].split('')[-1] + self.status_title = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n").split('')[0].split('')[-1] self.status_desc = self._set_status_desc_save() + print(self._set_status_desc_save()) self.done_title = _("Configuration has been saved!") - self.done_desc = _("{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.").format(_("Configuration has been saved!")) + self.done_desc = _("{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n").format(_("Configuration has been saved!")) self.please_wait() save_thread = Thread(target=self._call_archive_command) @@ -553,7 +554,7 @@ def save_config(self): def _set_status_desc_save(self): # Use "sd.zip" if Archive Encryption is enabled - status_old = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n{}/{}.sd.tar.gz") + status_old = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n") status = status_old.replace("sd.tar.gz", "sd.zip") if not settings["save-without-archive"] else status_old.replace("sd.tar.gz", "") return status.format(self.folder, self.filename_text) @@ -562,10 +563,10 @@ def import_config(self): self._identify_file_type() self.archive_mode = "--unpack" - self.status_title = _("Importing configuration …\nImporting configuration from:\n{}").split('')[0].split('')[-1] - self.status_desc = _("Importing configuration …\nImporting configuration from:\n{}").format(self.archive_name) + self.status_title = _("Importing configuration …\nImporting configuration from:\n{}\n").split('')[0].split('')[-1] + self.status_desc = _("Importing configuration …\nImporting configuration from:\n{}\n").format(self.archive_name) self.done_title = _("The configuration has been applied!") - self.done_desc = _("{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.").format(_("The configuration has been applied!")) + self.done_desc = _("{}\nYou can log out of the system for the changes to take effect, or go back to the previous page and log out later.\n").format(_("The configuration has been applied!")) self.please_wait() import_thread = Thread(target=self._call_archive_command) @@ -655,7 +656,7 @@ def done(self): self.status_page.set_description(self.done_desc) # Box layout for the buttons below - self.buttons_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5) + self.buttons_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) self.status_page.set_child(self.buttons_box) self._add_specific_button() From d69a2ee5a726ff6771365862e7c7e079f85c190c Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Thu, 11 Sep 2025 20:29:53 +0200 Subject: [PATCH 16/24] Improve Adw.AboutDialog --- src/main.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/main.py b/src/main.py index 717a6dc8..84ce7f6f 100644 --- a/src/main.py +++ b/src/main.py @@ -118,20 +118,25 @@ def open_dir(self, action, param): # "About app" dialog def on_about_action(self, action, param): - dialog = Adw.AboutDialog() - dialog.set_application_name("Save Desktop") - dialog.set_developer_name("vikdevelop") - dialog.set_comments(_("Save your desktop configuration")) - dialog.set_translator_credits(_("Translator credits")) if not _("Translator credits") == "Translator credits" else None - dialog.set_license_type(Gtk.License(Gtk.License.GPL_3_0)) - dialog.set_website("https://vikdevelop.github.io/SaveDesktop") - dialog.set_issue_url("https://github.com/vikdevelop/SaveDesktop/issues") - dialog.set_copyright("© 2023-2025 vikdevelop") - dialog.set_developers(["vikdevelop https://github.com/vikdevelop"]) - dialog.set_artists(["Brage Fuglseth"]) - dialog.set_version(os.environ.get("SAVEDESKTOP_VERSION")) - dialog.set_application_icon("io.github.vikdevelop.SaveDesktop") - dialog.set_release_notes("") + app_version = os.environ.get("SAVEDESKTOP_VERSION") + dialog = Adw.AboutDialog( + application_name="Save Desktop", + developer_name="vikdevelop", + comments=_("Save your desktop configuration"), + license_type=Gtk.License.GPL_3_0, + website="https://vikdevelop.github.io/SaveDesktop", + issue_url="https://github.com/vikdevelop/SaveDesktop/issues", + copyright="© 2023-2025 vikdevelop", + developers=["vikdevelop https://github.com/vikdevelop"], + artists=["Brage Fuglseth"], + version=app_version, + application_icon="io.github.vikdevelop.SaveDesktop", + release_notes=f"

https://github.com/vikdevelop/SaveDesktop/releases/tag/{app_version}

", + ) + + if _("Translator credits") != "Translator credits": + dialog.set_translator_credits(_("Translator credits")) + dialog.present(app.get_active_window()) # create Gio actions for opening the folder, logging out of the system, etc. From 83ecc6dbd573ee8cc5d834c4d81466c31b35bdbe Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Fri, 12 Sep 2025 16:06:35 +0200 Subject: [PATCH 17/24] Update metainfo and references in the PO files --- ...hub.vikdevelop.SaveDesktop.metainfo.xml.in | 11 ++++ io.github.vikdevelop.SaveDesktop.json | 5 +- po/ar.po | 34 ++++++------ po/ca.po | 34 ++++++------ po/cs.po | 34 ++++++------ po/de.po | 34 ++++++------ po/es.po | 34 ++++++------ po/et.po | 34 ++++++------ po/fi.po | 34 ++++++------ po/fr.po | 34 ++++++------ po/hi.po | 34 ++++++------ po/hu.po | 34 ++++++------ po/ia.po | 34 ++++++------ po/id.po | 34 ++++++------ po/it.po | 34 ++++++------ po/nb_NO.po | 34 ++++++------ po/nl.po | 34 ++++++------ po/pl.po | 34 ++++++------ po/pt.po | 34 ++++++------ po/pt_BR.po | 34 ++++++------ po/ru.po | 34 ++++++------ po/savedesktop.pot | 55 ++++++++++--------- po/sv.po | 34 ++++++------ po/ta.po | 34 ++++++------ po/tr.po | 34 ++++++------ po/uk.po | 34 ++++++------ po/zh_Hans.po | 34 ++++++------ 27 files changed, 476 insertions(+), 411 deletions(-) diff --git a/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in b/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in index 5ce071bb..9708486d 100644 --- a/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in +++ b/data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in @@ -61,6 +61,17 @@ + + https://github.com/vikdevelop/SaveDesktop/releases/tag/3.7-beta + +
    +
  • Transition to the Meson build system
  • +
  • Refactored code base
  • +
  • Removed the "Use Syncthing folder instead" from the Initial Synchronization setup dialog for GNOME-based environments
  • +
  • Other minor UI improvements
  • +
+
+
    diff --git a/io.github.vikdevelop.SaveDesktop.json b/io.github.vikdevelop.SaveDesktop.json index 64574339..db3aa90a 100644 --- a/io.github.vikdevelop.SaveDesktop.json +++ b/io.github.vikdevelop.SaveDesktop.json @@ -117,5 +117,8 @@ "--libdir=lib" ] } - ] + ], + "build-options" : { + "env" : { } + } } diff --git a/po/ar.po b/po/ar.po index f16b5438..6f7a068a 100644 --- a/po/ar.po +++ b/po/ar.po @@ -285,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -339,28 +339,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -368,11 +369,12 @@ msgstr "" msgid "Please wait …" msgstr "انتظر من فضلك …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +384,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/ca.po b/po/ca.po index 3e0bad97..94fb8bd9 100644 --- a/po/ca.po +++ b/po/ca.po @@ -291,15 +291,15 @@ msgid "" msgstr "" "Sincronitzeu el vostre entorn d'escriptori amb altres equips de la xarxa." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -308,7 +308,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -332,11 +332,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -345,28 +345,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Configura el fitxer de sincronització" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Fitxer de desat periòdic" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "No existeix el fitxer de desat periòdic." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Crea" @@ -374,11 +375,12 @@ msgstr "Crea" msgid "Please wait …" msgstr "Un moment…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Canvia" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Connecta a l'emmagatzematge al núvol" @@ -389,19 +391,19 @@ msgid "" msgstr "" "Obriu aquesta pàgina del Save Desktop a l'altre ordinador i feu clic al botó «Configura el fitxer de sincronització» per a realitzar els canvis necessaris. En aquest ordinador, seleccioneu la carpeta que heu sincronitzat amb l'emmagatzematge al núvol i on heu desat el fitxer de desament automàtic." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Selecciona la carpeta del núvol" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "No heu seleccionat cap carpeta del núvol!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Sincronització periòdica" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Sincronització bidireccional" diff --git a/po/cs.po b/po/cs.po index cc7d13b8..5c7c24e0 100644 --- a/po/cs.po +++ b/po/cs.po @@ -292,15 +292,15 @@ msgid "" msgstr "" "Synchronizujte konfiguraci vašeho desktopového prostředí s ostatními počítači v síti." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Počáteční nastavení synchronizace" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Otevřete nastavení systému" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Přejděte do sekce Online účty" @@ -310,7 +310,7 @@ msgid "" msgstr "" "V této sekci vyberte požadovanou cloudovou službu, jako je Google, Microsoft 365 nebo Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Klikněte na tlačítko Další a vyberte vytvořenou složku cloudové jednotky" @@ -339,11 +339,11 @@ msgid "" msgstr "" "Po dokončení nastavení Rclone pomocí uvedeného příkazu klikněte na tlačítko \"Apply\"" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Použít místo toho složku Syncthing" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Téměř hotovo!" @@ -353,28 +353,29 @@ msgid "" msgstr "" "Nyní máte vytvořenou složku cloudové jednotky! Klikněte na tlačítko Další pro dokončení nastavení." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Vybrat" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Další" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Nastavit synchronizační soubor" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Soubor pravidelného ukládání" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Soubor pravidelného ukládání neexistuje." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Vytvořit" @@ -382,11 +383,12 @@ msgstr "Vytvořit" msgid "Please wait …" msgstr "Počkejte prosím …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Změnit" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Připojit se ke cloudovému úložišti" @@ -397,19 +399,19 @@ msgid "" msgstr "" "Na jiném počítači otevřete aplikaci Save Desktop a na této stránce klikněte na tlačítko „Nastavit synchronizační soubor“ a proveďte potřebná nastavení. Na tomto počítači vyberte složku, kterou jste synchronizovali s cloudovým úložištěm a do které jste také uložili stejný soubor pro pravidelné ukládání." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Vybrat cloudovou složku" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Nevybrali jste složku cloudové jednotky!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Pravidelná synchronizace" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Obousměrná synchronizace" diff --git a/po/de.po b/po/de.po index 327458ec..98bc6275 100644 --- a/po/de.po +++ b/po/de.po @@ -285,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -339,28 +339,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -368,11 +369,12 @@ msgstr "" msgid "Please wait …" msgstr "Bitte warten …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +384,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/es.po b/po/es.po index b9850722..ef45ac34 100644 --- a/po/es.po +++ b/po/es.po @@ -291,15 +291,15 @@ msgid "" msgstr "" "Sincronizar la configuración de tu entorno de escritorio con otros ordenadores en la red." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Configuración de sincronización inicial" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Abrir los ajustes del sistema" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Ir a la sección Cuentas en línea" @@ -309,7 +309,7 @@ msgid "" msgstr "" "En esta sección selecciona el servicio de nube que deseas, como Google, Microsoft 365 o Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Haz clic en el botón \"Siguiente\" y seleccione la carpeta de la unidad de la nube creada" @@ -338,11 +338,11 @@ msgid "" msgstr "" "Una vez que haya terminado de configurar Rclone usando el comando proporcionado, haga clic en el botón \"Aplicar\"" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "¡Casi terminamos!" @@ -352,28 +352,29 @@ msgid "" msgstr "" "¡Ya has creado la carpeta de la unidad en la nube! Haz clic en el botón Siguiente para completar la configuración." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Selecciona" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Siguiente" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Configurar el archivo de sincronización" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Archivo de almacenamiento periódico" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "El archivo de guardado periódico no existe." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Crear" @@ -381,11 +382,12 @@ msgstr "Crear" msgid "Please wait …" msgstr "Espera, por favor…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Cambiar" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Conectarse al almacenamiento en la nube" @@ -396,19 +398,19 @@ msgid "" msgstr "" "En otro ordenador, abra la aplicación Save Desktop y, en esta página, haga clic en el botón \"Configurar el archivo de sincronización\" y realice los ajustes necesarios. En este ordenador, seleccione la carpeta que ha sincronizado con su almacenamiento en la nube y también ha guardado el mismo archivo de guardado periódico." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Seleccione la carpeta de la nube" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "¡No has seleccionado la carpeta de la unidad en la nube!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Sincronización periódica" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Sincronización bidireccional" diff --git a/po/et.po b/po/et.po index 2ed19c96..1582394b 100644 --- a/po/et.po +++ b/po/et.po @@ -292,15 +292,15 @@ msgid "" msgstr "" "Sünkroniseeri oma töölauakeskkonna seadistusi teiste arvutitega võrgus." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Sünkroniseerimise algne seadistus" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Ava süsteemi seadistused" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Ava võrguteenuste valik" @@ -310,7 +310,7 @@ msgid "" msgstr "" "Siin vali soovitud pilveteenus, nagu Google, Microsoft 365 või Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Klõpsi nuppu Edasi ja vali loodud pilveteenuse kaust" @@ -338,11 +338,11 @@ msgid "" msgstr "" "Kui oled selle käsu abil rclone'i seadistanud, siis klõpsi „Rakenda“ nuppu" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Selle asemel kasuta Syncthingi kausta" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Peaaegu valmis!" @@ -352,28 +352,29 @@ msgid "" msgstr "" "Pilveteenuse kausta oled sa nüüd loonud! Seadistamise lõpetamiseks vajuta nuppu „Edasi“." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Vali" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Edasi" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Seadista sünkroniseerimisfail" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Fail regulaarseks salvestamiseks" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Regulaarseks salvestamiseks mõeldud faili pole olemas." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Loo" @@ -381,11 +382,12 @@ msgstr "Loo" msgid "Please wait …" msgstr "Palun oota…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Muuda" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Ühenda pilvesalvestusteenusega" @@ -396,19 +398,19 @@ msgid "" msgstr "" "Ava teises arvutis Save Desktop rakendus ja sellel lehel klõpsi nuppu „Seadista sünkroniseerimisfail“ ja seadista vastavalt. Selles arvutis vali kaust, mille oled sünkroniseerinud oma pilveteenusega ja kuhu oled lisanud faili regulaarseks salvestamiseks." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Vali pilveteenuse kaust" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Sa pole pilveteenuse kausta valinud!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Regulaarne sünkroniseerimine" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Mõlemasuunaline sünkroniseerimine" diff --git a/po/fi.po b/po/fi.po index 18ca633a..cf75f7d6 100644 --- a/po/fi.po +++ b/po/fi.po @@ -292,15 +292,15 @@ msgid "" msgstr "" "Synkronoi työpöytämäärityksesi muiden verkossa olevien tietokoneiden kanssa." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Ensimmäisen synkronoinnin määritys" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Avaa järjestelmän asetukset" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Siirry verkkotileihin" @@ -310,7 +310,7 @@ msgid "" msgstr "" "Valitse haluamasi pilvipalvelu kuten Google, Microsoft 365 tai Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Napsauta Seuraava-painiketta ja valitse luotu kansio pilvestä" @@ -334,11 +334,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Käytä Syncthing-kansiota sen sijaan" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Melkein valmista!" @@ -347,28 +347,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Valitse" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Seuraava" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Aseta synkronointitiedosto" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Jaksottaisen tallennuksen tiedosto" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Jaksottaisen tallennuksen tiedostoa ei ole olemassa." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Luo" @@ -376,11 +377,12 @@ msgstr "Luo" msgid "Please wait …" msgstr "Odota hetki…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Vaihda" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Yhdistä pilvitallennustilaan" @@ -390,19 +392,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Valitse pilviaseman kansio" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Et valinnut pilviaseman kansiota!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Jaksottainen synkronointi" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Kaksisuuntainen synkronointi" diff --git a/po/fr.po b/po/fr.po index d577d5d5..00dcf3d4 100644 --- a/po/fr.po +++ b/po/fr.po @@ -291,15 +291,15 @@ msgid "" msgstr "" "Synchroniser la configuration de votre environnement de bureau avec les autres ordinateurs du réseau." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -308,7 +308,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -332,11 +332,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -345,28 +345,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Configurer le fichier de synchronisation" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Fichier pour l'enregistrement périodique" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -374,11 +375,12 @@ msgstr "" msgid "Please wait …" msgstr "Veuillez patienter …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -388,19 +390,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Synchronisation périodique" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/hi.po b/po/hi.po index 51603c34..dbdb4ce8 100644 --- a/po/hi.po +++ b/po/hi.po @@ -292,15 +292,15 @@ msgid "" msgstr "" "नेटवर्क में अन्य कंप्यूटरों के साथ अपने डेस्कटॉप वातावरण विन्यास को समन्वयित करें।" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -310,7 +310,7 @@ msgid "" msgstr "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud।" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -336,11 +336,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -350,28 +350,29 @@ msgid "" msgstr "" "You've now created the cloud drive folder! Click on the Next button to complete the setup।" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "समन्वयन फाइल निर्धारित करें" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "आवधिक फाइल सहेजना" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Periodic saving file does not exist।" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -379,11 +380,12 @@ msgstr "" msgid "Please wait …" msgstr "कृपया प्रतीक्षा करें …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -394,19 +396,19 @@ msgid "" msgstr "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file।" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "आवधिक समन्वयन" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/hu.po b/po/hu.po index aa7de47a..3429d96b 100644 --- a/po/hu.po +++ b/po/hu.po @@ -286,15 +286,15 @@ msgid "" msgstr "" "Szinkronizálja az asztali környezet konfigurációját a hálózat többi számítógépével." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -303,7 +303,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -327,11 +327,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -340,28 +340,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Szinkronizálási fájl beállítása" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Szinkronizálási fájl" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -369,11 +370,12 @@ msgstr "" msgid "Please wait …" msgstr "Kérlek várj …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -383,19 +385,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Időszakos szinkronizálás" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/ia.po b/po/ia.po index 920bbc34..14c83e3c 100644 --- a/po/ia.po +++ b/po/ia.po @@ -283,15 +283,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -300,7 +300,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -324,11 +324,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -337,28 +337,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -366,11 +367,12 @@ msgstr "" msgid "Please wait …" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -380,19 +382,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/id.po b/po/id.po index 1355a1bf..40d4ed81 100644 --- a/po/id.po +++ b/po/id.po @@ -286,15 +286,15 @@ msgid "" msgstr "" "Menyinkronkan konfigurasi lingkungan desktop Anda dengan komputer lain dalam jaringan." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -303,7 +303,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -327,11 +327,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -340,28 +340,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Atur file sinkronisasi" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -369,11 +370,12 @@ msgstr "" msgid "Please wait …" msgstr "Harap tunggu…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -383,19 +385,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Sinkronisasi berkala" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/it.po b/po/it.po index 8a338fdb..ab074969 100644 --- a/po/it.po +++ b/po/it.po @@ -293,15 +293,15 @@ msgid "" msgstr "" "Sincronizza la configurazione del tuo ambiente desktop con altri computer nella rete." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Configurazione iniziale della sincronizzazione" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Aprire le impostazioni di sistema" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Vai alla sezione Account online" @@ -311,7 +311,7 @@ msgid "" msgstr "" "In questa sezione seleziona il servizio cloud desiderato, ad esempio Google, Microsoft 365 o Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Fare clic sul pulsante Avanti e selezionare la cartella dell'unità cloud creata" @@ -340,11 +340,11 @@ msgid "" msgstr "" "Una volta terminata la configurazione di Rclone utilizzando il comando fornito, fare clic sul pulsante \"Applica\"" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Utilizzare invece la cartella Syncthing" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Quasi finito!" @@ -354,28 +354,29 @@ msgid "" msgstr "" "Ora hai creato la cartella dell'unità cloud! Fai clic sul pulsante Avanti per completare la configurazione." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Seleziona" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Prossimo" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Imposta il file di sincronizzazione" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "File di salvataggio periodico" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Il file di salvataggio periodico non esiste." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Crea" @@ -383,11 +384,12 @@ msgstr "Crea" msgid "Please wait …" msgstr "Attendere prego …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Modifica" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Connettiti allo storage cloud" @@ -398,19 +400,19 @@ msgid "" msgstr "" "Su un altro computer, apri l'app Save Desktop e, in questa pagina, clicca sul pulsante \"Imposta il file di sincronizzazione\" e fai le impostazioni necessarie. Su questo computer, seleziona la cartella che hai sincronizzato con il tuo archivio cloud ed hai anche salvato lo stesso file di salvataggio periodico." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Seleziona la cartella dell'unità cloud" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Non hai selezionato la cartella dell'unità cloud!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Sincronizzazione periodica" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Sincronizzazione bidirezionale" diff --git a/po/nb_NO.po b/po/nb_NO.po index 25fc28fa..adcda9de 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -285,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -339,28 +339,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -368,11 +369,12 @@ msgstr "" msgid "Please wait …" msgstr "Vent …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +384,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/nl.po b/po/nl.po index 5f82a69f..2dbb66cf 100644 --- a/po/nl.po +++ b/po/nl.po @@ -286,15 +286,15 @@ msgid "" msgstr "" "Synchroniseer uw werkomgevingsvoorkeuren met andere computers op het netwerk." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -303,7 +303,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -327,11 +327,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -340,28 +340,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Synchronisatiebestand instellen" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Periodiek opgeslagen bestand" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -369,11 +370,12 @@ msgstr "" msgid "Please wait …" msgstr "Even geduld…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -383,19 +385,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Periodieke synchronisatie" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/pl.po b/po/pl.po index 67b5a96f..d2cf4d03 100644 --- a/po/pl.po +++ b/po/pl.po @@ -285,15 +285,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -302,7 +302,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -326,11 +326,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -339,28 +339,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Wybierz" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Dalej" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Utwórz" @@ -368,11 +369,12 @@ msgstr "Utwórz" msgid "Please wait …" msgstr "Proszę czekać…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Zmień" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -382,19 +384,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/pt.po b/po/pt.po index de6c0c99..194d65ba 100644 --- a/po/pt.po +++ b/po/pt.po @@ -288,15 +288,15 @@ msgid "" msgstr "" "Sincronize a configuração do seu ambiente de desktop com outros computadores na rede." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" @@ -305,7 +305,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" @@ -329,11 +329,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" @@ -342,28 +342,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Configure o ficheiro de sincronização" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Ficheiro de gravação periódica" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -371,11 +372,12 @@ msgstr "" msgid "Please wait …" msgstr "Por favor, aguarde…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" @@ -385,19 +387,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Sincronização periódica" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index bb78ef82..e3aca942 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -291,15 +291,15 @@ msgid "" msgstr "" "Sincronize a configuração do seu ambiente de desktop com outros computadores na rede." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Configuração inicial de sincronização" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Abra as configurações do sistema" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Vá para a seção Contas Online" @@ -309,7 +309,7 @@ msgid "" msgstr "" "Nesta seção, selecione o serviço de nuvem desejado, como Google, Microsoft 365 ou Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. Clique no botão Avançar e selecione a pasta da unidade criada na nuvem" @@ -338,11 +338,11 @@ msgid "" msgstr "" "Depois de terminar de configurar o Rclone usando o comando fornecido, clique no botão \"Aplicar\"" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Quase pronto!" @@ -352,28 +352,29 @@ msgid "" msgstr "" "Agora você criou a pasta da unidade em nuvem! Clique no botão Avançar para concluir a configuração." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Selecionar" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Avançar" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Configurar o arquivo de sincronização" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Arquivo de salvamento periódico" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "O arquivo de salvamento periódico não existe." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Criar" @@ -381,11 +382,12 @@ msgstr "Criar" msgid "Please wait …" msgstr "Por favor, aguarde…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Alterar" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Conectar ao armazenamento em nuvem" @@ -396,19 +398,19 @@ msgid "" msgstr "" "Em outro computador, abra o aplicativo Save Desktop e, nesta página, clique no botão “Configurar o arquivo de sincronização” e faça as configurações necessárias. Neste computador, selecione a pasta que você sincronizou com seu armazenamento em nuvem e também salvou o mesmo arquivo de salvamento periódico." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Selecionar a pasta da unidade em nuvem" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Você não selecionou a pasta da unidade em nuvem!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Sincronização periódica" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Sincronização bidirecional" diff --git a/po/ru.po b/po/ru.po index 635f67e3..2c4775e6 100644 --- a/po/ru.po +++ b/po/ru.po @@ -293,15 +293,15 @@ msgid "" msgstr "" "Синхронизируйте конфигурацию среды рабочего стола с другими компьютерами в сети." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Первоначальная настройка синхронизации" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Откройте системные настройки" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Перейдите в раздел «Сетевые учётные записи»" @@ -311,7 +311,7 @@ msgid "" msgstr "" "В этом разделе выберите нужный облачный сервис, например Google, Microsoft 365 или Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Нажмите кнопку «Далее» и выберите имеющуюся папку облачного диска" @@ -339,11 +339,11 @@ msgid "" msgstr "" "Завершив настройку Rclone с помощью данной команды, нажмите кнопку «Применить»" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Вместо этого использовать папку Syncthing" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Почти готово!" @@ -353,28 +353,29 @@ msgid "" msgstr "" "Теперь вы создали папку на облачном диске! Чтобы завершить настройку, нажмите кнопку «Далее»." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Выбрать" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Далее" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Настройка файла синхронизации" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Файл периодического сохранения" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Файл периодического сохранения не существует." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Создать" @@ -382,11 +383,12 @@ msgstr "Создать" msgid "Please wait …" msgstr "Пожалуйста, подождите…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Изменить" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Подключить облачное хранилище" @@ -397,19 +399,19 @@ msgid "" msgstr "" "На другом компьютере откройте приложение Save Desktop и на этой странице нажмите кнопку «Настроить файл синхронизации» и выполните необходимые настройки. На этом компьютере выберите папку, которую вы синхронизировали с вашим облачным хранилищем, а также сохранили тот же файл периодического сохранения." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Выбрать папку облачного диска" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Вы не выбрали папку облачного диска!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Периодическая синхронизация" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Двунаправленная синхронизация" diff --git a/po/savedesktop.pot b/po/savedesktop.pot index 94808b01..a1636a8b 100644 --- a/po/savedesktop.pot +++ b/po/savedesktop.pot @@ -3,11 +3,12 @@ # msgid "" msgstr "" + "Project-Id-Version: savedesktop\n" "POT-Creation-Date: 2025-09-03 19:10\n" "PO-Revision-Date: 2025-09-03 19:10\n" "Last-Translator: Auto-generated\n" -"Language: en\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -283,86 +284,87 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "The created cloud drive folder can be found in the side panel of the file chooser dialog, in this form: username@service.com." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "For synchronization to works properly, you need to have the folder, that is synced with your cloud service using Rclone.\nStart by selecting the cloud drive service you use." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "Now, copy the command to set up Rclone using the side button and open the terminal app using the Ctrl+Alt+T keyboard shortcut or finding it in the apps' menu." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Copy" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "" @@ -370,37 +372,38 @@ msgstr "" msgid "Please wait …" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "" "If enabled, and the sync interval and cloud drive folder are selected, the periodic saving information (interval, folder, and file name) from the other computer with synchronization set to synchronize is copied to this computer." msgstr "" diff --git a/po/sv.po b/po/sv.po index 77bcb36d..50158e4c 100644 --- a/po/sv.po +++ b/po/sv.po @@ -294,15 +294,15 @@ msgid "" msgstr "" "Synkronisera konfigurationen av din skrivbordsmiljö med andra datorer i nätverket." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Inledande synkroniseringsinställningar" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Öppna systeminställningarna" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Gå till avsnittet Onlinekonton" @@ -312,7 +312,7 @@ msgid "" msgstr "" "I det här avsnittet väljer du den molntjänst du vill ha, till exempel Google, Microsoft 365 eller Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Klicka på knappen Nästa och välj den skapade molnlagringsmappen" @@ -340,11 +340,11 @@ msgid "" msgstr "" "När du har slutfört konfigureringen av Rclone med det angivna kommandot klickar du på \"Verkställ\" knappen" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Använd Syncthing mapp istället" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Nästan klart!" @@ -354,28 +354,29 @@ msgid "" msgstr "" "Du har nu skapatmolnenhet mappen! Klicka på nästa för att slutföra installationen." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Välj" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Nästa" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Ställ in synkfil" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Periodisk sparfil" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Periodisk sparfil existerar inte." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Skapa" @@ -383,11 +384,12 @@ msgstr "Skapa" msgid "Please wait …" msgstr "Vänligen vänta …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Ändra" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Anslut till molnlagring" @@ -398,19 +400,19 @@ msgid "" msgstr "" "På den andra datorn öppnar du Save Desktop programmet och på den här sidan klickar du på knappen \"Konfigurera synkroniseringsfil\" och gör nödvändiga inställningar. På den här datorn väljer du mappen som du har synkroniserat med din molnlagring och som även har sparat samma periodiska sparfil." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Välj mappen i molnlagring" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Du valde inte mappen för molnlagring!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Periodisk synkronisering" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Dubbelriktad synkronisering" diff --git a/po/ta.po b/po/ta.po index 2245686b..cc7bacd9 100644 --- a/po/ta.po +++ b/po/ta.po @@ -291,15 +291,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "இணைப்பில் உள்ள பிற கணினிகளுடன் உங்கள் பணிமேடை சூழல் உள்ளமைவை ஒத்திசை." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "ஆரம்ப ஒத்திசைவு அமைப்பு" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. கணினி அமைப்புகளைத் திற" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. நிகழ்நிலை கணக்குகள் பகுதிக்குச் செல்" @@ -309,7 +309,7 @@ msgid "" msgstr "" "இந்தப் பிரிவில் கூகிள், நுண்மென் 365 அல்லது அடுத்தமுகில் போன்ற நீங்கள் விரும்பும் முகில் சேவையைத் தேர்ந்தெடு." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. அடுத்த பொத்தானைக் சொடுக்கு செய்து உருவாக்கிய முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு" @@ -338,11 +338,11 @@ msgid "" msgstr "" "வழங்கப்பட்ட கட்டளையைப் பயன்படுத்தி ஆர்நகலியை அமைத்ததும், \"இடு\" பொத்தானைக் சொடுக்கு" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "அதற்குப் பதிலாக ஒத்திசைவு கோப்புறையைப் பயன்படுத்தவும்" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "கிட்டத்தட்ட முடிந்தது!" @@ -352,28 +352,29 @@ msgid "" msgstr "" "நீங்கள் இப்போது முகில் இயக்கிக் கோப்புறையை உருவாக்கியுள்ளீர்கள்! அமைப்பை முடிக்க அடுத்த பொத்தானைக் சொடுக்கு." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "தேர்ந்தெடு" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "அடுத்தது" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "ஒத்திசைவு கோப்பை அமை" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "அவ்வப்போது சேமிக்கும் கோப்பு" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "அவ்வப்போது சேமிக்கும் கோப்பு இல்லை." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "உருவாக்கு" @@ -381,11 +382,12 @@ msgstr "உருவாக்கு" msgid "Please wait …" msgstr "தயவுசெய்து காத்திரு…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "மாற்றம்" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "முகில் சேமிப்பகத்துடன் இணை" @@ -396,19 +398,19 @@ msgid "" msgstr "" "மற்றொரு கணினியில், சேமிபணிமேடை பயன்பாட்டைத் திறந்து, இந்தப் பக்கத்தில், \"ஒத்திசைவு கோப்பை அமைக்கவும்\" பொத்தானைக் சொடுக்கு செய்து தேவையான அமைப்புகளை உருவாக்கவும். இந்தக் கணினியில், உங்கள் மேகக்கணி சேமிப்பகத்துடன் நீங்கள் ஒத்திசைத்த கோப்புறையைத் தேர்ந்தெடுக்கவும், அதே கால சேமிப்பு கோப்பையும் சேமித்துள்ளீர்கள்." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடு" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "நீங்கள் முகில் இயக்கிக் கோப்புறையைத் தேர்ந்தெடுக்கவில்லை!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "அவ்வப்போது ஒத்திசைவு" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "இருதரப்பு ஒத்திசைவு" diff --git a/po/tr.po b/po/tr.po index 50f6ea85..2270e7c4 100644 --- a/po/tr.po +++ b/po/tr.po @@ -294,15 +294,15 @@ msgid "" msgstr "" "Masaüstü ortamı yapılandırmanızı ağdaki diğer bilgisayarlarla eşzamanlayın." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "İlk senkronizasyon kurulumu" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Sistem ayarlarını açın." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Çevrimiçi Hesaplar bölümüne gidin" @@ -312,7 +312,7 @@ msgid "" msgstr "" "Bu bölümde Google, Microsoft 365 veya Nextcloud gibi istediğiniz bulut hizmetini seçin." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "" "3. İleri düğmesine tıklayın ve oluşturulan bulut sürücü klasörünü seçin" @@ -341,11 +341,11 @@ msgid "" msgstr "" "Verilen komutu kullanarak Rclone kurulumunu tamamladıktan sonra \"Uygula\" düğmesine tıklayın" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Bunun yerine Syncthing klasörünü kullanın" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Az kaldı!" @@ -355,28 +355,29 @@ msgid "" msgstr "" "Bulut sürücü klasörünü oluşturdunuz! Kurulumu tamamlamak için İleri düğmesine tıklayın." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Seç" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Sürdür" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Eşzamanlama dosyası ayarla" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Düzenli kayıt dosyası" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Düzenli kayıt dosyası yok." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Oluştur" @@ -384,11 +385,12 @@ msgstr "Oluştur" msgid "Please wait …" msgstr "Lütfen bekleyin …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Değiştir" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Bulut depolamaya bağlan" @@ -399,19 +401,19 @@ msgid "" msgstr "" "Başka bilgisayarda Save Desktop uygulamasını açıp bu sayfadaki “Eşzamanlama dosyasını ayarla” düğmesine tıklayın ve gerekli ayarları yapın. Bu bilgisayarda, bulut depolama alanınızla eşzamanlamak istediğiniz ve aynı düzenli kayıt dosyasına kaydettiğiniz klasörü seçin." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Bulut sunucu klasörünü seç" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Bulut sürücü klasörünü seçmediniz!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Düzenli eşzamanlama" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Çift yönlü eşzamanlama" diff --git a/po/uk.po b/po/uk.po index e18b0431..58889d56 100644 --- a/po/uk.po +++ b/po/uk.po @@ -292,15 +292,15 @@ msgid "" msgstr "" "Синхронізуйте конфігурацію середовище стільниці з іншими комп'ютерами в мережі." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "Налаштування початкової синхронізації" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. Відкрийте налаштування системи" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. Перейдіть до розділу \"Онлайн-акаунти\"" @@ -310,7 +310,7 @@ msgid "" msgstr "" "У цьому розділі виберіть хмарний сервіс, який вам потрібен, наприклад, Google, Microsoft 365 або Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. Натисніть кнопку \"Далі\" та виберіть створену папку хмарного диска" @@ -338,11 +338,11 @@ msgid "" msgstr "" "Після того, як ви завершите налаштування Rclone за допомогою наданої команди, натисніть кнопку \"Застосувати\"" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "Використовувати замість теку Syncthing" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "Майже готово!" @@ -352,28 +352,29 @@ msgid "" msgstr "" "Ви щойно створили папку хмарного диска! Натисніть кнопку \"Далі\", щоб завершити налаштування." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "Вибрати" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "Далі" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "Налаштування файлу синхронізації" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "Періодичне збереження файлу" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "Файл періодичного збереження не існує." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "Створити" @@ -381,11 +382,12 @@ msgstr "Створити" msgid "Please wait …" msgstr "Будь ласка, зачекайте…" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "Змінити" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "Підключитися до хмарного сховища" @@ -396,19 +398,19 @@ msgid "" msgstr "" "На іншому комп'ютері відкрийте додаток Save Desktop, а на цій сторінці натисніть кнопку \"Налаштувати файл синхронізації\" і зробіть необхідні налаштування. На цьому комп'ютері виберіть папку, яку ви синхронізували з вашим хмарним сховищем, і де також збережено той же файл періодичного збереження." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "Виберіть папку хмарного диска" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "Ви не вибрали папку хмарного диска!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "Періодична синхронізація" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "Двостороння синхронізація" diff --git a/po/zh_Hans.po b/po/zh_Hans.po index 08e270d5..48715c3b 100644 --- a/po/zh_Hans.po +++ b/po/zh_Hans.po @@ -287,15 +287,15 @@ msgid "" "Sync your desktop environment configuration with other computers in the network." msgstr "将您的桌面环境配置与网络中的其他计算机同步。" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Initial synchronization setup" msgstr "初始化同步设置" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "1. Open the system settings" msgstr "1. 打开系统设置" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "2. Go to the Online Accounts section" msgstr "2. 定位到在线账号(Online Accounts)部分" @@ -304,7 +304,7 @@ msgid "" "In this section select the cloud service you want, such as Google, Microsoft 365 or Nextcloud." msgstr "选择你想使用的任一云服务,比如 Google,Microsoft 365 或 Nextcloud." -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "3. Click on the Next button and select the created cloud drive folder" msgstr "3. 点击下一步,选择已创建的云同步文件夹" @@ -328,11 +328,11 @@ msgid "" "Once you have finished setting up Rclone using the command provided, click the \"Apply\" button" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Use Syncthing folder instead" msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Almost done!" msgstr "马上就好!" @@ -341,28 +341,29 @@ msgid "" "You've now created the cloud drive folder! Click on the Next button to complete the setup." msgstr "您已经创建好云驱动文件夹了!点击下一步以完成设置。" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select" msgstr "选择" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Next" msgstr "下一步" #: src/gui/templates/shortcuts_window.ui:71 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Set up the sync file" msgstr "设置同步文件" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file" msgstr "定期保存文件" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic saving file does not exist." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Create" msgstr "新建" @@ -370,11 +371,12 @@ msgstr "新建" msgid "Please wait …" msgstr "请稍等 …" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Change" msgstr "更改" #: src/gui/templates/shortcuts_window.ui:78 +#: src/gui/synchronization_dialogs.py #: src/gui/window.py msgid "Connect to the cloud storage" msgstr "连接到云存储" @@ -384,19 +386,19 @@ msgid "" "On another computer, open the Save Desktop app, and on this page, click on the \"Set up the sync file\" button and make the necessary settings. On this computer, select the folder that you have synced with your cloud storage and also have saved the same periodic saving file." msgstr "" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Select the cloud drive folder" msgstr "选择云驱动文件夹" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "You didn't select the cloud drive folder!" msgstr "您没有选择云驱动文件夹!" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Periodic synchronization" msgstr "周期性同步" -#: src/gui/window.py +#: src/gui/synchronization_dialogs.py msgid "Bidirectional synchronization" msgstr "" From bcffaf2bb58c4cd24a0a6e5a5af923028733d2d3 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Fri, 12 Sep 2025 16:22:42 +0200 Subject: [PATCH 18/24] Fix a bug with showing self.switcher_bar on bigger screens --- src/gui/window.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/gui/window.py b/src/gui/window.py index b474f069..7428d9a7 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -544,7 +544,6 @@ def save_config(self): self.archive_name = f"{self.folder}/{self.filename_text}" self.status_title = _("Saving configuration …\nThe configuration of your desktop environment will be saved in:\n {}/{}.sd.tar.gz\n").split('')[0].split('')[-1] self.status_desc = self._set_status_desc_save() - print(self._set_status_desc_save()) self.done_title = _("Configuration has been saved!") self.done_desc = _("{}\nYou can now view the archive with the configuration of your desktop environment, or return to the previous page.\n").format(_("Configuration has been saved!")) @@ -636,8 +635,9 @@ def _set_default_widgets_state(self): self.toolbarview.set_content(self.headapp) self.headerbar.set_title_widget(self.switcher_title) self.set_title("Save Desktop") - self.switcher_bar.set_reveal(True) self.apply_handler = self.break_point.connect("apply", self.__on_break_point_apply) + if self.get_default_size()[0] < 400: + self.switcher_bar.set_reveal(True) # config has been saved action def done(self): @@ -699,7 +699,11 @@ def _add_specific_button(self): def _back_to_main(self, w): self._set_default_widgets_state() - for widget in [self.status_page, self.open_folder_button, self.logout_button, self.back_button]: + if self.archive_mode == "--create": + widgets = [self.status_page, self.open_folder_button, self.back_button] + else: + widgets = [self.status_page, self.logout_button, self.back_button] + for widget in widgets: self.status_box.remove(widget) # show message dialog in the error case From fdb61785409dbfa172358f87fc5bd43b5af62424 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Fri, 12 Sep 2025 16:30:18 +0200 Subject: [PATCH 19/24] Update ci.yml --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd9f6d8d..2b201b7f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Validate AppStream metainfo + run: | + appstreamcli validate data/io.github.vikdevelop.SaveDesktop.metainfo.xml.in + - name: Install dependencies run: | sudo apt update @@ -24,13 +28,9 @@ jobs: flatpak install --user -y flathub org.gnome.Platform//48 flatpak install --user -y flathub org.gnome.Sdk//48 - - name: Validate AppStream metainfo - run: | - appstreamcli validate flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml - - name: Build Flatpak run: | - flatpak-builder --force-clean --repo=sdrepo build io.github.vikdevelop.SaveDesktop.json + flatpak-builder --force-clean --sandbox --repo=sdrepo build io.github.vikdevelop.SaveDesktop.json flatpak build-bundle sdrepo io.github.vikdevelop.SaveDesktop.flatpak io.github.vikdevelop.SaveDesktop - name: Upload Flatpak artifact From d59eb95540ae003eafdf66620354886deb19ccfa Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sat, 13 Sep 2025 11:31:07 +0200 Subject: [PATCH 20/24] Update savedesktop.in --- src/savedesktop.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/savedesktop.in b/src/savedesktop.in index 727d3fa1..8aa9c4ed 100755 --- a/src/savedesktop.in +++ b/src/savedesktop.in @@ -1,4 +1,4 @@ -#!@PYTHON@ +#!/usr/bin/python3 # savedesktop.in # @@ -96,4 +96,4 @@ else: # show the app window resource = Gio.Resource.load(os.path.join(pkgdatadir, 'savedesktop.gresource')) resource._register() - from savedesktop import main \ No newline at end of file + from savedesktop import main From ea62755a589def0ccbd8dd0ed149e57e14769147 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sat, 13 Sep 2025 11:51:34 +0200 Subject: [PATCH 21/24] set correct version --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 8b0624da..c8e4cc77 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('savedesktop', - version: '3.6.2', + version: '3.7-beta', meson_version: '>= 1.0.0', default_options: [ 'warning_level=2', 'werror=false', ], ) From 6a051a56925609c6d69700ee29c84b95998b1814 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sat, 13 Sep 2025 20:56:17 +0200 Subject: [PATCH 22/24] Update synchronization.py --- src/core/synchronization.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/core/synchronization.py b/src/core/synchronization.py index 1b81bad1..395b453f 100644 --- a/src/core/synchronization.py +++ b/src/core/synchronization.py @@ -39,7 +39,7 @@ def get_sync_interval(self): if interval is None: settings["manually-sync"] = settings["periodic-import"] == "Manually2" if settings["manually-sync"]: - self.check_sync_date() + self.check_manually_sync_status() else: print("Synchronization is not set up.") else: @@ -69,13 +69,13 @@ def download_config(self): err_str = _("An error occurred") err = "SaveDesktop.json doesn't exist in the cloud drive folder!" os.system(f'notify-send "{err_str}" "{err}"') - exit() - self.get_pb_info() - os.makedirs(f"{CACHE}/syncing", exist_ok=True) # create the subfolder in the cache directory - os.chdir(f"{CACHE}/syncing") - os.system("echo > sync_status") # create a txt file to prevent removing the sync's folder content after closing the app window - print("extracting the archive") - self.get_zip_file_status() + else: + self.get_pb_info() + os.makedirs(f"{CACHE}/syncing", exist_ok=True) # create the subfolder in the cache directory + os.chdir(f"{CACHE}/syncing") + os.system("echo > sync_status") # create a txt file to prevent removing the sync's folder content after closing the app window + print("extracting the archive") + self.get_zip_file_status() # Get data from the SaveDesktop.json file such as filename format, periodic saving interval and folder (for bidirectional synchronization) def get_pb_info(self): @@ -115,7 +115,7 @@ def try_passwordstore(): # #2 If it fails, run GUI if not self.password: - os.system(f"python3 -m savedesktop.gui.password_checker") + subprocess.run([sys.executable, "-m", "savedesktop.gui.password_checker"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) self.password = try_passwordstore() # #3 If password is still unavailable, get it from the {DATA}/entered-password.txt file @@ -127,8 +127,7 @@ def try_passwordstore(): if not self.password: msg = _("Password not entered, or it's incorrect. Unable to continue.") err_occurred = _("An error occurred") - print(msg) - os.system(f'notify-send "{err_occurred}" "{msg}"') + os.system(f'notify-send "{msg}" "{err_occurred}"') exit() # #5 Continue in extraction @@ -162,8 +161,8 @@ def extract_archive(self): os.system(f"notify-send '{err_str}' '{e}' -i io.github.vikdevelop.SaveDesktop-symbolic") if os.path.exists(f"{DATA}/password"): os.remove(f"{DATA}/password") - exit() - self.import_config() + else: + self.import_config() # Start importing a configuration from the configuration archive def import_config(self): @@ -182,8 +181,6 @@ def done(self): shutil.rmtree("syncing") # Send a notification about finished synchronization - os.system(f"notify-send 'Save Desktop ({self.file})' '{_('The configuration has been applied!')} {_('Changes will only take effect after the next login')}' -i io.github.vikdevelop.SaveDesktop-symbolic") + os.system(f"notify-send 'Save Desktop Synchronization ({self.file})' '{_('The configuration has been applied!')} {_('Changes will only take effect after the next login')}' -i io.github.vikdevelop.SaveDesktop-symbolic") Syncing() - - From adb03278d27b7d543fad72eb2740d5250f47f784 Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sat, 13 Sep 2025 21:11:21 +0200 Subject: [PATCH 23/24] Update password_checker.py --- src/gui/password_checker.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/password_checker.py b/src/gui/password_checker.py index 0892dba6..4a03e095 100644 --- a/src/gui/password_checker.py +++ b/src/gui/password_checker.py @@ -8,7 +8,9 @@ class PasswordWindow(Gtk.ApplicationWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.set_title(f"{_("Sync")} | Save Desktop") + + sync = _("Sync") + self.set_title(f"{sync} | Save Desktop") # Header bar self.headerbar = Gtk.HeaderBar.new() From 65252d3ad4c49d9e7e4a90d7e482ea54a1ae555f Mon Sep 17 00:00:00 2001 From: vikdevelop Date: Sun, 14 Sep 2025 10:48:53 +0200 Subject: [PATCH 24/24] Fix synchronization setup bugs --- src/core/archive.py | 4 ++ src/core/synchronization_setup.py | 5 +- src/globals.py | 2 +- src/gui/more_options_dialog.py | 87 +++++++++++++++++------------- src/gui/synchronization_dialogs.py | 24 +++++---- src/gui/window.py | 13 ++--- 6 files changed, 76 insertions(+), 59 deletions(-) diff --git a/src/core/archive.py b/src/core/archive.py index 5d243098..9b1e5e2a 100644 --- a/src/core/archive.py +++ b/src/core/archive.py @@ -52,6 +52,10 @@ def _cleanup_cache_dir(self): def _copy_config_to_folder(self): open(f"{CACHE}/save_config/.folder.sd", "w").close() + + if os.path.exists(args.create): + shutil.rmtree(args.create) + shutil.move(f"{CACHE}/save_config", f"{args.create}") def _create_archive(self): diff --git a/src/core/synchronization_setup.py b/src/core/synchronization_setup.py index 96c227a3..c7ea4292 100644 --- a/src/core/synchronization_setup.py +++ b/src/core/synchronization_setup.py @@ -76,13 +76,16 @@ def set_up_auto_mount(): cmd = "" else: cmd = f"rclone mount {cfile_subtitle.split('/')[-1]}: {cfile_subtitle}" if not os.path.exists(f"{download_dir}/SaveDesktop/rclone_drive") else f"rclone mount savedesktop: {download_dir}/SaveDesktop/rclone_drive" + synchronization_content = f'#!/usr/bin/bash\n{cmd}\nsleep 60s\n{sync_cmd}\n{periodic_saving_cmd}' if flatpak: - synchronization_content += f'\npython3 {CACHE}/install_flatpak_from_script.py' + synchronization_content += f'\npython3 {CACHE}/flatpaks_installer.py' with open(f"{DATA}/savedesktop-synchronization.sh", "w") as f: f.write(synchronization_content) + os.makedirs(f'{home}/.config/autostart', exist_ok=True) open(f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.sync.desktop", "w").write(f"[Desktop Entry]\nName=SaveDesktop (Synchronization)\nType=Application\nExec=sh {DATA}/savedesktop-synchronization.sh") + [os.remove(path) for path in [f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.MountDrive.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.server.desktop", f"{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Flatpak.desktop"] if os.path.exists(path)] else: raise AttributeError("There aren't possible to get values from the periodic-saving-folder or file-for-syncing strings") diff --git a/src/globals.py b/src/globals.py index adf8ba73..631030ec 100644 --- a/src/globals.py +++ b/src/globals.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -import gi, os, locale, gettext +import gi, os, locale gi.require_version('Gtk', '4.0') gi.require_version('Adw', '1') from gi.repository import Gtk, Adw, Gio, GLib diff --git a/src/gui/more_options_dialog.py b/src/gui/more_options_dialog.py index 0ad8cc47..42336e42 100644 --- a/src/gui/more_options_dialog.py +++ b/src/gui/more_options_dialog.py @@ -19,10 +19,10 @@ def __init__(self, parent): # Periodic saving section # Expander row for showing options of the periodic saving - self.saving_eRow = Adw.ExpanderRow.new() - self.saving_eRow.set_title(_("Periodic saving")) - #self.saving_eRow.set_expanded(True) if self.parent.parent.open_setdialog_tf else None - self.msBox.append(child=self.saving_eRow) + self.periodic_row = Adw.ExpanderRow.new() + self.periodic_row.set_title(_("Periodic saving")) + self.msBox.append(child=self.periodic_row) + self._expand_periodic_row() options = Gtk.StringList.new(strings=[ _("Never"), _("Daily"), _("Weekly"), _("Monthly") @@ -34,7 +34,7 @@ def __init__(self, parent): self.pbRow.set_subtitle(_("Changes will only take effect after the next login")) self.pbRow.set_subtitle_lines(4) self.pbRow.set_model(model=options) - self.saving_eRow.add_row(self.pbRow) + self.periodic_row.add_row(self.pbRow) # Load options from GSettings database if settings["periodic-saving"] == 'Never': @@ -58,7 +58,7 @@ def __init__(self, parent): self.filefrmtEntry.set_title(_("File name format")) self.filefrmtEntry.add_suffix(self.filefrmtButton) self.filefrmtEntry.set_text(settings["filename-format"]) - self.saving_eRow.add_row(self.filefrmtEntry) + self.periodic_row.add_row(self.filefrmtEntry) # Button for choosing folder for periodic saving self.folderButton = Gtk.Button.new_from_icon_name("document-open-symbolic") @@ -72,7 +72,7 @@ def __init__(self, parent): self.dirRow.add_suffix(self.folderButton) self.dirRow.set_use_markup(True) self.dirRow.set_subtitle(settings["periodic-saving-folder"].format(download_dir)) - self.saving_eRow.add_row(self.dirRow) + self.periodic_row.add_row(self.dirRow) # Adw.ActionRow for entering a password for the archive encryption self.get_password_from_file() @@ -83,7 +83,7 @@ def __init__(self, parent): self.cpwdRow.set_text(self.password) except: self.cpwdRow.set_text("") - self.saving_eRow.add_row(self.cpwdRow) + self.periodic_row.add_row(self.cpwdRow) # Manual saving section self.manRow = Adw.ExpanderRow.new() @@ -127,6 +127,10 @@ def __init__(self, parent): self.set_response_appearance('ok', Adw.ResponseAppearance.SUGGESTED) self.connect('response', self.msDialog_closed) + def _expand_periodic_row(self): + if os.path.exists(f"{CACHE}/expand_pb_row"): + self.periodic_row.set_expanded(True) + def get_password_from_file(self): if os.path.exists(f"{DATA}/password"): p = PasswordStore() @@ -137,36 +141,6 @@ def get_password_from_file(self): def open_file_dialog(self, w): self.parent.select_pb_folder(w="") - # create desktop file for enabling periodic saving at startup - def create_pb_desktop(self): - os.makedirs(f'{home}/.config/autostart', exist_ok=True) - if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh"): - with open(f'{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop', 'w') as cb: - cb.write(f'[Desktop Entry]\nName=SaveDesktop (Periodic backups)\nType=Application\nExec={periodic_saving_cmd}') - - # Action after closing dialog for showing more options - def msDialog_closed(self, w, response): - if response == 'ok': - settings["filename-format"] = self.filefrmtEntry.get_text() # save the file name format entry - settings["periodic-saving-folder"] = self.dirRow.get_subtitle() # save the selected periodic saving folder - # save the periodic saving interval - selected_item = self.pbRow.get_selected_item() - backup_mapping = {_("Never"): "Never", _("Daily"): "Daily", _("Weekly"): "Weekly", _("Monthly"): "Monthly"} - backup_item = backup_mapping.get(selected_item.get_string(), "Never") - self.create_pb_desktop() if not backup_item == "Never" else None - settings["periodic-saving"] = backup_item - settings["enable-encryption"] = self.encryptSwitch.get_active() # save the archive encryption's switch state - settings["save-without-archive"] = self.archSwitch.get_active() # save the switch state of the "Save a configuration without creating the configuration archive" option - # save the entered password to the file - if self.cpwdRow.get_text(): - password = self.cpwdRow.get_text() - PasswordStore(password) - else: - try: - os.remove(f"{DATA}/password") - except: - pass - # reset the file name format entry to the default value def reset_fileformat(self, w): self.filefrmtEntry.set_text("Latest_configuration") @@ -184,3 +158,40 @@ def set_archswitch_sensitivity(self, GParamBoolean, archSwitch): self.encryptSwitch.set_sensitive(False) else: self.encryptSwitch.set_sensitive(True) + + # Action after closing dialog for showing more options + def msDialog_closed(self, w, response): + if response == 'ok': + settings["filename-format"] = self.filefrmtEntry.get_text() # save the file name format entry + settings["periodic-saving-folder"] = self.dirRow.get_subtitle() # save the selected periodic saving folder + settings["enable-encryption"] = self.encryptSwitch.get_active() # save the archive encryption's switch state + settings["save-without-archive"] = self.archSwitch.get_active() # save the switch state of the "Save a configuration without creating the configuration archive" option + self._save_periodic_saving_values() + self._save_password() + + def _save_periodic_saving_values(self): + # save the periodic saving interval + self.selected_item = self.pbRow.get_selected_item() + self.backup_mapping = {_("Never"): "Never", _("Daily"): "Daily", _("Weekly"): "Weekly", _("Monthly"): "Monthly"} + self.backup_item = self.backup_mapping.get(self.selected_item.get_string(), "Never") + settings["periodic-saving"] = self.backup_item + if not self.backup_item == "Never": + self.__create_pb_desktop() + + # create desktop file for enabling periodic saving at startup + def __create_pb_desktop(self): + os.makedirs(f'{home}/.config/autostart', exist_ok=True) + if not os.path.exists(f"{DATA}/savedesktop-synchronization.sh"): + with open(f'{home}/.config/autostart/io.github.vikdevelop.SaveDesktop.Backup.desktop', 'w') as cb: + cb.write(f'[Desktop Entry]\nName=SaveDesktop (Periodic backups)\nType=Application\nExec={periodic_saving_cmd}') + + # save the entered password to the file + def _save_password(self): + if self.cpwdRow.get_text(): + password = self.cpwdRow.get_text() + PasswordStore(password) + else: + try: + os.remove(f"{DATA}/password") + except: + pass diff --git a/src/gui/synchronization_dialogs.py b/src/gui/synchronization_dialogs.py index a7fd226b..ef32b814 100644 --- a/src/gui/synchronization_dialogs.py +++ b/src/gui/synchronization_dialogs.py @@ -173,7 +173,7 @@ def __init__(self, parent): check_thread.start() # Button for opening More options dialog - self.open_setdialog_tf = True # set this value to TRUE for expanding the Periodic saving row + self._create_file_to_expand_row() self.ps_button = Gtk.Button.new_with_label(_("Change")) self.ps_button.connect('clicked', self.parent._open_more_options_dialog) self.ps_button.set_valign(Gtk.Align.CENTER) @@ -189,6 +189,10 @@ def __init__(self, parent): else f'{pb}') self.ps_button.add_css_class('suggested-action') if settings["periodic-saving"] == "Never" else None + # Create this file to set expanding the "Periodic saving" row in the More options dialog + def _create_file_to_expand_row(self): + open(f"{CACHE}/expand_pb_row", "w").close() + # make the periodic saving file if it does not exist def make_pb_file(self, w): self.setupButton.set_sensitive(False) @@ -200,19 +204,18 @@ def save_now(self): e_o = False self.file_row.set_subtitle(_("Please wait …")) self.file_row.set_use_markup(False) - subprocess.run(['notify-send', 'SaveDesktop', _("Please wait …")]) - subprocess.run([sys.executable, "savedesktop.core.periodic_saving", "--save-now"], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) + subprocess.run(['notify-send', 'Save Desktop', _("Please wait …")]) + subprocess.run([sys.executable, "-m", "savedesktop.core.periodic_saving", "--now"], check=True, capture_output=True, text=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) except Exception as e: e_o = True - subprocess.run(['notify-send', _("An error occurred"), f'{e}']) - self.file_row.set_subtitle(f'{e}') + subprocess.run(['notify-send', _("An error occurred"), f'{e.stderr}']) + self.file_row.set_subtitle(f'{e.stderr}') finally: if not e_o: self.file_row.remove(self.setupButton) self.file_row.set_subtitle(f'{settings["periodic-saving-folder"]}/{settings["filename-format"]}.sd.zip') os.system(f"notify-send 'SaveDesktop' '{_('Configuration has been saved!')}'") self.set_response_enabled('ok', True) - self.auto_save_start = False # Refer to the article about synchronization def open_sync_link(self, w): @@ -241,7 +244,7 @@ def update_gui(self): self.setupButton.add_css_class("suggested-action") self.setupButton.connect("clicked", self.make_pb_file) self.file_row.add_suffix(self.setupButton) - make_pb_file(w) if self.auto_save_start else None # start creating the periodic saving file if the self.start_saving value is TRUE + if _("You didn't select the cloud drive folder!") in folder: self.lmButton = Gtk.Button.new_with_label(_("Learn more")) self.lmButton.set_valign(Gtk.Align.CENTER) @@ -286,12 +289,10 @@ def save_file(self): # Action after closing dialog for setting synchronization file def setDialog_closed(self, w, response): if response == 'ok': - self.open_setdialog_tf = False - thread = Thread(target=self.save_file) thread.start() else: - self.open_setdialog_tf = False + pass class CloudDialog(Adw.AlertDialog): def __init__(self, parent): @@ -412,7 +413,8 @@ def reset_cloud_folder(self, w): # enable or disable the response of this dialog in depending on the selected periodic synchronization interval def on_psync_changed(self, psyncRow, GParamObject): - self.set_response_enabled('ok', not (self.psyncRow.get_selected_item().get_string() == _("Never") or not self.cfileRow.get_subtitle())) + if not self.psyncRow.get_selected_item().get_string() == _("Never") and not self.cfileRow.get_subtitle(): + self.set_response_enabled('ok', True) def call_automount(self): try: diff --git a/src/gui/window.py b/src/gui/window.py index 7428d9a7..d8575d9a 100644 --- a/src/gui/window.py +++ b/src/gui/window.py @@ -26,12 +26,13 @@ def __init__(self, *args, **kwargs): # set the window size and maximization from the GSettings database (width, height) = settings["window-size"] self.set_default_size(width, height) + self.set_size_request(360, 500) # if the value is TRUE, it enables window maximalization if settings["maximized"]: self.maximize() - # App menu - primary menu + # primary menu self.main_menu = Gio.Menu() # primary menu section @@ -44,7 +45,6 @@ def __init__(self, *args, **kwargs): self.menu_button = Gtk.MenuButton.new() self.menu_button.set_icon_name(icon_name='open-menu-symbolic') self.menu_button.set_menu_model(menu_model=self.main_menu) - #self.menu_button.set_tooltip_text(_("Main Menu")) self.menu_button.set_primary(True) self.headerbar.pack_end(child=self.menu_button) @@ -90,10 +90,6 @@ def __init__(self, *args, **kwargs): # Toast Overlay for showing the popup window self.toast_overlay = Adw.ToastOverlay.new() - self.toast_overlay.set_margin_top(margin=1) - self.toast_overlay.set_margin_end(margin=1) - self.toast_overlay.set_margin_bottom(margin=1) - self.toast_overlay.set_margin_start(margin=1) self.toast_overlay.set_child(self.toolbarview) self.set_content(self.toast_overlay) @@ -579,8 +575,9 @@ def _identify_file_type(self): def _call_archive_command(self): try: - subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) - except subprocess.CalledProcessError as e: + subprocess.run([sys.executable, "-m", "savedesktop.core.archive", self.archive_mode, self.archive_name], check=True, capture_output=True, text=True, env={**os.environ, "PYTHONPATH": f"{app_prefix}"}) + except subprocess.CalledProcessError as err: + e = err.stderr GLib.idle_add(self.show_err_msg, e) self._set_default_widgets_state() finally: