Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gearlever for openSUSE:Factory 
checked in at 2026-04-07 16:32:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gearlever (Old)
 and      /work/SRC/openSUSE:Factory/.gearlever.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gearlever"

Tue Apr  7 16:32:44 2026 rev:20 rq:1344681 version:4.4.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/gearlever/gearlever.changes      2026-04-02 
17:42:16.582107675 +0200
+++ /work/SRC/openSUSE:Factory/.gearlever.new.21863/gearlever.changes   
2026-04-07 16:47:45.185680070 +0200
@@ -1,0 +2,18 @@
+Sun Apr 05 15:45:42 UTC 2026 - [email protected]
+
+- Update to version 4.4.10:
+  * Update meson.build
+  * Remove invalid import for NO_CONNECTION_LABEL
+
+-------------------------------------------------------------------
+Sun Apr 05 15:45:33 UTC 2026 - [email protected]
+
+- Update to version 4.4.9:
+  * version bump
+  * updated pot file
+  * updated connection checking UI
+  * improved connection check
+  * Added missing translation for pt-PT
+  * Update the brazilian translation
+
+-------------------------------------------------------------------

Old:
----
  gearlever-4.4.8.tar.xz

New:
----
  gearlever-4.4.10.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gearlever.spec ++++++
--- /var/tmp/diff_new_pack.Bd8thL/_old  2026-04-07 16:47:45.845707141 +0200
+++ /var/tmp/diff_new_pack.Bd8thL/_new  2026-04-07 16:47:45.849707305 +0200
@@ -18,7 +18,7 @@
 
 %define appid it.mijorus.gearlever
 Name:           gearlever
-Version:        4.4.8
+Version:        4.4.10
 Release:        0
 Summary:        Manage AppImages
 License:        GPL-3.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Bd8thL/_old  2026-04-07 16:47:45.909709766 +0200
+++ /var/tmp/diff_new_pack.Bd8thL/_new  2026-04-07 16:47:45.917710094 +0200
@@ -6,7 +6,7 @@
       <param name="exclude">.git</param>
       <param name="versionformat">@PARENT_TAG@</param>
       <param name="versionrewrite-pattern">v(.*)</param>
-      <param name="revision">4.4.8</param>
+      <param name="revision">4.4.10</param>
       <param name="changesgenerate">enable</param>
       </service>
    <service name="recompress" mode="manual">

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Bd8thL/_old  2026-04-07 16:47:45.953711571 +0200
+++ /var/tmp/diff_new_pack.Bd8thL/_new  2026-04-07 16:47:45.961711899 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/mijorus/gearlever.git</param>
-              <param 
name="changesrevision">7766cb65f745658e993f4d85fbe555e6cc3e582e</param></service></servicedata>
+              <param 
name="changesrevision">8b1e008fc5f86273c55a06e5597257375ed317b5</param></service></servicedata>
 (No newline at EOF)
 

++++++ gearlever-4.4.8.tar.xz -> gearlever-4.4.10.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gearlever-4.4.8/data/it.mijorus.gearlever.metainfo.xml.in 
new/gearlever-4.4.10/data/it.mijorus.gearlever.metainfo.xml.in
--- old/gearlever-4.4.8/data/it.mijorus.gearlever.metainfo.xml.in       
2026-03-03 21:13:39.000000000 +0100
+++ new/gearlever-4.4.10/data/it.mijorus.gearlever.metainfo.xml.in      
2026-04-02 19:30:05.000000000 +0200
@@ -21,6 +21,12 @@
         <p>An utility to manage AppImages with ease! Gear lever will organize 
and manage AppImage files for you, generate desktop entries and app metadata, 
update apps in-place or keep multiple versions side-by-side.</p>
     </description>
     <releases>
+        <release type="stable" version="4.4.9" date="2026-04-01:00:00Z">
+            <description>
+                <p>- Improved network detection logic</p>
+                <p>- Updated translations</p>
+            </description>
+        </release>
         <release type="stable" version="4.4.5" date="2026-02-24:00:00Z">
             <description>
                 <p>- Fixed an issue with the update system</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gearlever-4.4.8/meson.build 
new/gearlever-4.4.10/meson.build
--- old/gearlever-4.4.8/meson.build     2026-03-03 21:13:39.000000000 +0100
+++ new/gearlever-4.4.10/meson.build    2026-04-02 19:30:05.000000000 +0200
@@ -1,5 +1,5 @@
 project('gearlever',
-          version: '4.4.8',
+          version: '4.4.10',
     meson_version: '>= 0.59.0',
   default_options: [ 'warning_level=2',
                    ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gearlever-4.4.8/po/gearlever.pot 
new/gearlever-4.4.10/po/gearlever.pot
--- old/gearlever-4.4.8/po/gearlever.pot        2026-03-03 21:13:39.000000000 
+0100
+++ new/gearlever-4.4.10/po/gearlever.pot       2026-04-02 19:30:05.000000000 
+0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-19 10:31+0100\n"
+"POT-Creation-Date: 2026-03-31 17:31+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <[email protected]>\n"
@@ -17,15 +17,15 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: data/it.mijorus.gearlever.desktop.in:2
+#: data/it.mijorus.gearlever.desktop.in:3
 msgid "Gear Lever"
 msgstr ""
 
-#: data/it.mijorus.gearlever.desktop.in:3
+#: data/it.mijorus.gearlever.desktop.in:4
 msgid "An utility to manage AppImages with ease!"
 msgstr ""
 
-#: data/it.mijorus.gearlever.desktop.in:11
+#: data/it.mijorus.gearlever.desktop.in:12
 msgid "AppImage;"
 msgstr ""
 
@@ -33,7 +33,7 @@
 msgid "translator_credits"
 msgstr ""
 
-#: src/AppDetails.py:35 src/AppDetails.py:84 src/AppDetails.py:479
+#: src/AppDetails.py:35 src/AppDetails.py:91 src/AppDetails.py:488
 msgid "Update"
 msgstr ""
 
@@ -69,157 +69,157 @@
 msgid "Manage update details for this application"
 msgstr ""
 
-#: src/AppDetails.py:236
+#: src/AppDetails.py:245
 msgid ""
 "This app is located outside the default folder\n"
 "<small>You can hide external apps in the settings</small>"
 msgstr ""
 
-#: src/AppDetails.py:247
+#: src/AppDetails.py:258
 msgid "Please, verify the source of this app before opening it"
 msgstr ""
 
-#: src/AppDetails.py:248
+#: src/AppDetails.py:259
 msgid "Unlock"
 msgstr ""
 
-#: src/AppDetails.py:347
+#: src/AppDetails.py:356
 msgid "Unkown Error"
 msgstr ""
 
-#: src/AppDetails.py:396
+#: src/AppDetails.py:405
 msgid "Launching..."
 msgstr ""
 
-#: src/AppDetails.py:447
+#: src/AppDetails.py:456
 #, python-brace-format
 msgid ""
 "{app_name} is running, please close it before proceeding with the update"
 msgstr ""
 
-#: src/AppDetails.py:501
+#: src/AppDetails.py:510
 msgid "Update error"
 msgstr ""
 
-#: src/AppDetails.py:505
+#: src/AppDetails.py:514
 msgid "Close"
 msgstr ""
 
-#: src/AppDetails.py:512
+#: src/AppDetails.py:521
 msgid "Do you really want to remove this app?"
 msgstr ""
 
-#: src/AppDetails.py:515 src/components/AppDetailsConflictModal.py:14
+#: src/AppDetails.py:524 src/components/AppDetailsConflictModal.py:14
 msgid "Cancel"
 msgstr ""
 
-#: src/AppDetails.py:516 src/AppDetails.py:555
+#: src/AppDetails.py:525 src/AppDetails.py:564
 msgid "Remove"
 msgstr ""
 
-#: src/AppDetails.py:551 src/AppDetails.py:571
+#: src/AppDetails.py:560 src/AppDetails.py:580
 msgid "This app runs in the terminal"
 msgstr ""
 
-#: src/AppDetails.py:553 src/AppDetails.py:568 src/AppDetails.py:574
+#: src/AppDetails.py:562 src/AppDetails.py:577 src/AppDetails.py:583
 msgid "Launch"
 msgstr ""
 
-#: src/AppDetails.py:559
+#: src/AppDetails.py:568
 msgid "Uninstalling..."
 msgstr ""
 
-#: src/AppDetails.py:563
+#: src/AppDetails.py:572
 msgid "Installing..."
 msgstr ""
 
-#: src/AppDetails.py:576
+#: src/AppDetails.py:585
 msgid "Move to the app menu"
 msgstr ""
 
-#: src/AppDetails.py:589
+#: src/AppDetails.py:598
 msgid "Error"
 msgstr ""
 
-#: src/AppDetails.py:600
+#: src/AppDetails.py:609
 msgid "This app might not be compatible with your system architecture"
 msgstr ""
 
-#: src/AppDetails.py:909
+#: src/AppDetails.py:922
 msgid "Add a website"
 msgstr ""
 
-#: src/AppDetails.py:913
+#: src/AppDetails.py:926
 msgid "Website"
 msgstr ""
 
-#: src/AppDetails.py:926
+#: src/AppDetails.py:939
 msgid "Open URL"
 msgstr ""
 
-#: src/AppDetails.py:943
+#: src/AppDetails.py:956
 msgid "How it works"
 msgstr ""
 
-#: src/AppDetails.py:965
+#: src/AppDetails.py:978
 msgid "Update management"
 msgstr ""
 
-#: src/AppDetails.py:972
+#: src/AppDetails.py:985
 msgid "Default"
 msgstr ""
 
-#: src/AppDetails.py:978
+#: src/AppDetails.py:991
 msgid "Source"
 msgstr ""
 
-#: src/AppDetails.py:979
+#: src/AppDetails.py:992
 msgid "Select the source type"
 msgstr ""
 
-#: src/AppDetails.py:1005
+#: src/AppDetails.py:1018
 msgid "Reload metadata"
 msgstr ""
 
-#: src/AppDetails.py:1006
+#: src/AppDetails.py:1019
 msgid ""
 "Update information like icon, version and description.\n"
 "Useful if the app updated itself."
 msgstr ""
 
-#: src/AppDetails.py:1018
+#: src/AppDetails.py:1031
 msgid "Command line arguments"
 msgstr ""
 
-#: src/AppDetails.py:1036
+#: src/AppDetails.py:1049
 msgid "Hash"
 msgstr ""
 
-#: src/AppDetails.py:1046
+#: src/AppDetails.py:1059
 msgid "Path"
 msgstr ""
 
-#: src/AppDetails.py:1048
+#: src/AppDetails.py:1061
 msgid "Open Folder"
 msgstr ""
 
-#: src/AppDetails.py:1058
+#: src/AppDetails.py:1071
 msgid "Package type"
 msgstr ""
 
-#: src/AppDetails.py:1076
+#: src/AppDetails.py:1089
 msgid "Key"
 msgstr ""
 
-#: src/AppDetails.py:1077
+#: src/AppDetails.py:1090
 msgid "Value"
 msgstr ""
 
-#: src/AppDetails.py:1116
+#: src/AppDetails.py:1129
 msgid "Environment variables"
 msgstr ""
 
-#: src/AppDetails.py:1117
+#: src/AppDetails.py:1130
 msgid "Add or customize environment for this application"
 msgstr ""
 
@@ -244,14 +244,18 @@
 msgstr ""
 
 #: src/InstalledAppsList.py:32
+msgid "No Connection"
+msgstr ""
+
+#: src/InstalledAppsList.py:33
 msgid "Update all"
 msgstr ""
 
-#: src/InstalledAppsList.py:55
+#: src/InstalledAppsList.py:56
 msgid "Filter installed applications"
 msgstr ""
 
-#: src/InstalledAppsList.py:62
+#: src/InstalledAppsList.py:63
 msgid "Installed applications"
 msgstr ""
 
@@ -461,6 +465,7 @@
 msgstr ""
 
 #: src/gtk/tutorial/2.ui:21
+#, python-brace-format
 msgid "<b>By default, AppImages are saved at: {location}</b>"
 msgstr ""
 
@@ -483,8 +488,8 @@
 
 #: src/gtk/tutorial/3.ui:40
 msgid ""
-"Use the right-click menu to set Gear lever as the default app for "
-"\".appimage\" files"
+"Use the right-click menu to set Gear lever as the default app for \"."
+"appimage\" files"
 msgstr ""
 
 #: src/gtk/tutorial/3.ui:54
@@ -507,17 +512,17 @@
 msgid "No description provided"
 msgstr ""
 
-#: src/providers/AppImageProvider.py:589
+#: src/providers/AppImageProvider.py:582
 msgid ""
 "The downloaded file is not a valid appimage, please check if the provided "
 "URL is correct"
 msgstr ""
 
-#: src/providers/AppImageProvider.py:650
+#: src/providers/AppImageProvider.py:643
 msgid "Running AppImages on NixOS requires appimage-run"
 msgstr ""
 
-#: src/providers/AppImageProvider.py:664
+#: src/providers/AppImageProvider.py:657
 #, python-brace-format
 msgid ""
 "AppImages require FUSE to run. You might still be able to run it with --"
@@ -527,7 +532,7 @@
 "{url}"
 msgstr ""
 
-#: src/providers/AppImageProvider.py:751
+#: src/providers/AppImageProvider.py:744
 msgid ""
 "Any attempts at loading this app's metadata failed; if you want proceed "
 "using appimage-extract, please disable the security option in the settings."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gearlever-4.4.8/po/pt_BR.po 
new/gearlever-4.4.10/po/pt_BR.po
--- old/gearlever-4.4.8/po/pt_BR.po     2026-03-03 21:13:39.000000000 +0100
+++ new/gearlever-4.4.10/po/pt_BR.po    2026-04-02 19:30:05.000000000 +0200
@@ -7,60 +7,73 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-04 09:39+0000\n"
-"PO-Revision-Date: 2024-09-04 15:36+0100\n"
+"POT-Creation-Date: 2026-02-19 10:31+0100\n"
+"PO-Revision-Date: 2026-02-26 12:54-0300\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.4.4\n"
+"X-Generator: Poedit 3.8\n"
 
-#: data/it.mijorus.gearlever.desktop.in:3
+#: data/it.mijorus.gearlever.desktop.in:2
 msgid "Gear Lever"
 msgstr "Gear Lever"
 
-#: data/it.mijorus.gearlever.desktop.in:4
+#: data/it.mijorus.gearlever.desktop.in:3
 msgid "An utility to manage AppImages with ease!"
-msgstr "Uma ferramenta para gerir AppImages com facilidade!"
+msgstr "Uma ferramenta para gerenciar AppImages com facilidade!"
 
-#: data/it.mijorus.gearlever.desktop.in:12
+#: data/it.mijorus.gearlever.desktop.in:11
 msgid "AppImage;"
 msgstr "AppImage;"
 
 # Is it supposed to be translated?
-#: src/main.py:115
+#: src/main.py:112
 msgid "translator_credits"
-msgstr "habeasdata404 <[email protected]>"
+msgstr ""
+"habeasdata404 <[email protected]>, Mark_B97 <[email protected]>"
 
-#: src/AppDetails.py:27 src/AppDetails.py:73 src/AppDetails.py:381
-#: src/AppDetails.py:462
+#: src/AppDetails.py:35 src/AppDetails.py:84 src/AppDetails.py:479
 msgid "Update"
 msgstr "Atualizar"
 
-#: src/AppDetails.py:28
+#: src/AppDetails.py:36
+msgid "Save"
+msgstr "Salvar"
+
+#: src/AppDetails.py:37
+msgid "Saved"
+msgstr "Salvo"
+
+#: src/AppDetails.py:38
+msgid "Invalid data"
+msgstr "Dados inválidos"
+
+#: src/AppDetails.py:39
 msgid "Cancel update"
 msgstr "Cancelar atualização"
 
-#: src/AppDetails.py:29 src/InstalledAppsList.py:30
+#: src/AppDetails.py:40 src/InstalledAppsList.py:31
 msgid "Checking updates..."
 msgstr "Verificando atualizações..."
 
-#: src/AppDetails.py:30
+#: src/AppDetails.py:41
 msgid "No updates available"
 msgstr "Nenhuma atualização disponível"
 
-#: src/AppDetails.py:31
+#: src/AppDetails.py:42
 msgid "This application includes update information provided by the developer"
 msgstr ""
-"Esta aplicação inclui informações de atualização fornecidas pelo 
desenvolvedor"
+"Esta aplicação inclui informações de atualização fornecidas pelo "
+"desenvolvedor"
 
-#: src/AppDetails.py:32
+#: src/AppDetails.py:43
 msgid "Manage update details for this application"
 msgstr "Gerenciar os detalhes da atualização desta aplicação"
 
-#: src/AppDetails.py:212
+#: src/AppDetails.py:236
 msgid ""
 "This app is located outside the default folder\n"
 "<small>You can hide external apps in the settings</small>"
@@ -68,103 +81,117 @@
 "Esta aplicação está localizada fora da pasta padrão\n"
 "<small>Você pode ocultar aplicações externas nas definições</small>"
 
-#: src/AppDetails.py:223
+#: src/AppDetails.py:247
 msgid "Please, verify the source of this app before opening it"
 msgstr "Por favor, verifique a origem desta aplicação antes de abrir"
 
-#: src/AppDetails.py:224
+#: src/AppDetails.py:248
 msgid "Unlock"
 msgstr "Desbloquear"
 
-#: src/AppDetails.py:344
+#: src/AppDetails.py:347
+msgid "Unkown Error"
+msgstr "Erro desconhecido"
+
+#: src/AppDetails.py:396
 msgid "Launching..."
 msgstr "Inicializando..."
 
-#: src/AppDetails.py:351 src/AppDetails.py:476
-#: src/providers/AppImageProvider.py:645
-msgid "Error"
-msgstr "Erro"
+#: src/AppDetails.py:447
+#, python-brace-format
+msgid ""
+"{app_name} is running, please close it before proceeding with the update"
+msgstr ""
+"{app_name} está em execução, por favor feche o aplicativo antes de atualizar"
 
-#: src/AppDetails.py:398
+#: src/AppDetails.py:501
 msgid "Update error"
 msgstr "Erro de atualização"
 
-#: src/AppDetails.py:402
+#: src/AppDetails.py:505
 msgid "Close"
 msgstr "Fechar"
 
-#: src/AppDetails.py:433 src/AppDetails.py:453
+#: src/AppDetails.py:512
+msgid "Do you really want to remove this app?"
+msgstr "Deseja realmente remover esse aplicativo?"
+
+#: src/AppDetails.py:515 src/components/AppDetailsConflictModal.py:14
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/AppDetails.py:516 src/AppDetails.py:555
+msgid "Remove"
+msgstr "Remover"
+
+#: src/AppDetails.py:551 src/AppDetails.py:571
 msgid "This app runs in the terminal"
 msgstr "Esta aplicação é executada no terminal"
 
-#: src/AppDetails.py:435 src/AppDetails.py:450 src/AppDetails.py:456
+#: src/AppDetails.py:553 src/AppDetails.py:568 src/AppDetails.py:574
 msgid "Launch"
 msgstr "Executar"
 
-#: src/AppDetails.py:437 src/AppDetails.py:465
-msgid "Remove"
-msgstr "Remover"
-
-#: src/AppDetails.py:441
+#: src/AppDetails.py:559
 msgid "Uninstalling..."
 msgstr "Desinstalando..."
 
-#: src/AppDetails.py:445
+#: src/AppDetails.py:563
 msgid "Installing..."
 msgstr "Instalando..."
 
 # Where do I find this option on the app?
 # Not sure if it's related to the OS' apps menu or Gear Level app menu...
-#: src/AppDetails.py:458
+#: src/AppDetails.py:576
 msgid "Move to the app menu"
 msgstr "Mover para o menu das aplicações"
 
-#: src/AppDetails.py:487
+#: src/AppDetails.py:589
+msgid "Error"
+msgstr "Erro"
+
+#: src/AppDetails.py:600
 msgid "This app might not be compatible with your system architecture"
 msgstr ""
 "Esta aplicação pode não ser compatível com a arquitetura do seu sistema"
 
-#: src/AppDetails.py:734
-msgid "Website"
-msgstr "Página web"
-
-#: src/AppDetails.py:734
+#: src/AppDetails.py:909
 msgid "Add a website"
 msgstr "Adicionar página web"
 
-#: src/AppDetails.py:743
+#: src/AppDetails.py:913
+msgid "Website"
+msgstr "Página web"
+
+#: src/AppDetails.py:926
 msgid "Open URL"
 msgstr "Abrir URL"
 
-#: src/AppDetails.py:759 src/AppDetails.py:920
-msgid "Save"
-msgstr "Salvar"
+#: src/AppDetails.py:943
+msgid "How it works"
+msgstr "Como funciona"
 
-#: src/AppDetails.py:772
+#: src/AppDetails.py:965
 msgid "Update management"
 msgstr "Gerenciamento de atualizações"
 
-#: src/AppDetails.py:777
-msgid "Update URL"
-msgstr "URL da atualização"
+#: src/AppDetails.py:972
+msgid "Default"
+msgstr "Padrão"
 
-#: src/AppDetails.py:784
+#: src/AppDetails.py:978
 msgid "Source"
 msgstr "Origem"
 
-#: src/AppDetails.py:785
+#: src/AppDetails.py:979
 msgid "Select the source type"
 msgstr "Selecione o tipo da origem"
 
-#: src/AppDetails.py:809
-msgid "How it works"
-msgstr "Como funciona"
-
-#: src/AppDetails.py:826
+#: src/AppDetails.py:1005
 msgid "Reload metadata"
 msgstr "Recarregar metadata"
 
-#: src/AppDetails.py:827
+#: src/AppDetails.py:1006
 msgid ""
 "Update information like icon, version and description.\n"
 "Useful if the app updated itself."
@@ -172,56 +199,52 @@
 "Atualize informações como ícone, versão e descrição.\n"
 "Útil caso a aplicação tenha sido atualizada automaticamente."
 
-#: src/AppDetails.py:839
+#: src/AppDetails.py:1018
 msgid "Command line arguments"
 msgstr "Parâmetros da linha de comandos"
 
 # I don't think there's a native word for this...
-#: src/AppDetails.py:855
+#: src/AppDetails.py:1036
 msgid "Hash"
 msgstr "Hash"
 
-#: src/AppDetails.py:865
+#: src/AppDetails.py:1046
 msgid "Path"
 msgstr "Localização"
 
-#: src/AppDetails.py:867
+#: src/AppDetails.py:1048
 msgid "Open Folder"
 msgstr "Abrir Pasta"
 
-#: src/AppDetails.py:877
+#: src/AppDetails.py:1058
 msgid "Package type"
 msgstr "Tipo de pacote"
 
-#: src/AppDetails.py:895
+#: src/AppDetails.py:1076
 msgid "Key"
 msgstr "Chave"
 
-#: src/AppDetails.py:896
+#: src/AppDetails.py:1077
 msgid "Value"
 msgstr "Valor"
 
-#: src/AppDetails.py:915
-msgid "Add"
-msgstr "Adicionar"
-
-#: src/AppDetails.py:935
+#: src/AppDetails.py:1116
 msgid "Environment variables"
 msgstr "Variáveis de ambiente"
 
-#: src/AppDetails.py:936
+#: src/AppDetails.py:1117
 msgid "Add or customize environment for this application"
 msgstr "Adicionar ou personalizar o ambiente desta aplicação"
 
-#: src/GearleverWindow.py:37
+#: src/GearleverWindow.py:39
 msgid "Open a new AppImage"
 msgstr "Abrir uma nova AppImage"
 
-#: src/GearleverWindow.py:49
+#: src/GearleverWindow.py:51
 msgid "Open"
 msgstr "Abrir"
 
-#: src/GearleverWindow.py:253
+#: src/GearleverWindow.py:299
 msgid "Open a file"
 msgstr "Abrir arquivo"
 
@@ -229,29 +252,36 @@
 msgid "Check for updates"
 msgstr "Procurar atualizações"
 
-#: src/InstalledAppsList.py:49
+#: src/InstalledAppsList.py:30
+msgid "No updates found"
+msgstr "Nenhuma atualização disponível"
+
+#: src/InstalledAppsList.py:32
+msgid "Update all"
+msgstr "Atualizar tudo"
+
+#: src/InstalledAppsList.py:55
 msgid "Filter installed applications"
 msgstr "Filtrar aplicações instaladas"
 
-#: src/InstalledAppsList.py:55
+#: src/InstalledAppsList.py:62
 msgid "Installed applications"
 msgstr "Aplicações instaladas"
 
-#: src/preferences.py:27
+#: src/preferences.py:29
 msgid "General"
 msgstr "Geral"
 
-#: src/preferences.py:32
+#: src/preferences.py:34
 msgid "AppImage default location"
 msgstr "Localização padrão das AppImage"
 
 # Have some doubts about the original meaning of the sentence.
-#: src/preferences.py:41
+#: src/preferences.py:43
 msgid "Show integrated AppImages outside the default folder"
-msgstr ""
-"Mostrar AppImages integradas fora da pasta padrão"
+msgstr "Mostrar AppImages integradas fora da pasta padrão"
 
-#: src/preferences.py:43
+#: src/preferences.py:45
 msgid ""
 "List AppImages that have been integrated into the system menu but are "
 "located outside the default folder"
@@ -259,16 +289,16 @@
 "Liste AppImages que foram integradas ao menu do sistema, mas que estão "
 "localizadas fora da pasta padrão"
 
-#: src/preferences.py:50
+#: src/preferences.py:52
 msgid "Updates management"
 msgstr "Gerenciamento de atualizações"
 
 # This is another option which I don't see it anywhere.
-#: src/preferences.py:52
-msgid "Check updates in the backgroud"
-msgstr "Verificar atualizações em segundo plano"
-
 #: src/preferences.py:54
+msgid "Check updates on system startup"
+msgstr "Verificar atualizações ao iniciar o sistema"
+
+#: src/preferences.py:56
 msgid ""
 "Receive a notification when a new update is detected; updates will not be "
 "installed automatically"
@@ -276,35 +306,35 @@
 "Receber uma notificação quando uma nova atualização estiver disponível; "
 "atualizações não serão instaladas automaticamente"
 
-#: src/preferences.py:61
+#: src/preferences.py:63
 msgid "File management"
 msgstr "Gerenciamento de arquivos"
 
-#: src/preferences.py:63
+#: src/preferences.py:65
 msgid "Move AppImages into the destination folder"
 msgstr "Mover AppImages para a pasta de destino"
 
-#: src/preferences.py:64
+#: src/preferences.py:66
 msgid "Reduce disk usage"
 msgstr "Reduzir utilização do espaço"
 
-#: src/preferences.py:68
+#: src/preferences.py:70
 msgid "Clone AppImages into the destination folder"
 msgstr "Clonar AppImages para a pasta de destino"
 
-#: src/preferences.py:69
+#: src/preferences.py:71
 msgid "Keep the original file and create a copy in the destination folder"
 msgstr "Manter o arquivo original e criar uma cópia na pasta de destino"
 
-#: src/preferences.py:95
+#: src/preferences.py:97
 msgid "Naming conventions"
 msgstr "Convenções de nomenclatura"
 
-#: src/preferences.py:97
+#: src/preferences.py:99
 msgid "Use executable name for integrated terminal apps"
 msgstr "Utilizar nome do executável para aplicações do terminal integradas"
 
-#: src/preferences.py:99
+#: src/preferences.py:101
 msgid ""
 "If enabled, apps that run in the terminal are renamed as their executable.\n"
 "You would need to add the aforementioned folder to your $PATH manually.\n"
@@ -317,34 +347,58 @@
 "\n"
 "Por exemplo, \"golang_x86_64.appimage\" será guardado como \"go\""
 
+#: src/preferences.py:107
+msgid "Preview new apps in a minimal UI"
+msgstr "Prever aplicativos novos numa interface simples"
+
+#: src/preferences.py:112
+msgid "Use safe mechanisms to load metadata"
+msgstr "Usar mecanismos seguros para carregar os metadados"
+
+#: src/preferences.py:114
+msgid ""
+"If enabled, the app will try to load an Appimage without using the built-in "
+"appimage-extract command.\n"
+"Disable only if you trust your sources: malicious apps could execute code "
+"when loading the metadata."
+msgstr ""
+"Se ativado, o aplicativo tentará carregar um AppImage sem usar o comando "
+"appimage-extract interno.\n"
+"Desative somente se você confiar na fonte, pois aplicativos maliciosos podem "
+"executar código ao carregar os metadados."
+
 # I think this is the right term...
-#: src/preferences.py:105
+#: src/preferences.py:121
 msgid "Debugging"
 msgstr "Depuração"
 
-#: src/preferences.py:107
+#: src/preferences.py:123
 msgid "Enable debug logs"
 msgstr "Ativar registos de depuração"
 
-#: src/preferences.py:109
+#: src/preferences.py:125
 msgid ""
 "Increases log verbosity, occupying more disk space and potentially impacting "
 "performance.\n"
 "Requires a restart."
 msgstr ""
-"Aumenta verbosidade dos registros, ocupando mais espaço de armazenamento e um 
"
-"potencial impacto na performance.\n"
+"Aumenta verbosidade dos registros, ocupando mais espaço de armazenamento e "
+"um potencial impacto na performance.\n"
 "Requer uma reinicialização."
 
-# While there isn't a common word for "home" folder, Apple uses a word for it, 
on macOS: 
https://support.apple.com/pt-pt/guide/mac-help/aside/glos7dad3d40/14.0/mac/14.0
-#: src/preferences.py:133 src/WelcomeScreen.py:95
-msgid "The folder must be in your home directory"
-msgstr "A pasta deve estar em seu diretório pessoal"
+#: src/preferences.py:152
+msgid "The folder must writeable"
+msgstr "A pasta precisa ser gravável"
 
-#: src/preferences.py:136 src/WelcomeScreen.py:98
+#: src/preferences.py:155 src/WelcomeScreen.py:118
 msgid "Select a folder"
 msgstr "Selecione uma pasta"
 
+# While there isn't a common word for "home" folder, Apple uses a word for it, 
on macOS: 
https://support.apple.com/pt-pt/guide/mac-help/aside/glos7dad3d40/14.0/mac/14.0
+#: src/WelcomeScreen.py:115
+msgid "The folder must be in your home directory"
+msgstr "A pasta deve estar em seu diretório pessoal"
+
 # Is it supposed to be translated?
 #: src/gtk/main-menu.ui:6
 msgid "_Preferences"
@@ -363,7 +417,7 @@
 # Is it supposed to be translated?
 #: src/gtk/main-menu.ui:18
 msgid "_About Gear lever"
-msgstr "_Sobre Gear lever"
+msgstr "_Sobre o Gear lever"
 
 #: src/components/AppDetailsConflictModal.py:10
 #, python-brace-format
@@ -374,10 +428,6 @@
 msgid "There is already an app with the same name, how do you want to proceed?"
 msgstr "Já existe uma aplicação com o mesmo nome, como pretende prosseguir?"
 
-#: src/components/AppDetailsConflictModal.py:14
-msgid "Cancel"
-msgstr "Cancelar"
-
 #: src/components/AppDetailsConflictModal.py:17
 msgid "Keep both"
 msgstr "Manter ambos"
@@ -399,8 +449,10 @@
 msgstr "Arraste e solte uma AppImage aqui ou clique no ícone \"+\"."
 
 #: src/gtk/empty-list-placeholder.ui:35
-msgid " If you don't see your apps, check if the selected folder is correct."
-msgstr " Se não vê as suas aplicações, verifique se a pasta selecionada está 
correta "
+msgid "If you don't see your apps, check if the selected folder is correct."
+msgstr ""
+"Se não ver os seus aplicativos, verifique se a pasta selecionada está "
+"correta."
 
 #: src/gtk/empty-list-placeholder.ui:46
 msgid "Show welcome screen"
@@ -425,67 +477,66 @@
 msgid "Quit"
 msgstr "Sair"
 
-#: src/gtk/tutorial/1.ui:21
+#: src/gtk/tutorial/1.ui:26
 msgid "Hi, welcome to Gear lever"
 msgstr "Olá, bem-vindo ao Gear lever"
 
-#: src/gtk/tutorial/1.ui:30
+#: src/gtk/tutorial/1.ui:35
 msgid "An app that helps you integrate AppImages into your system."
 msgstr "Uma aplicação que ajuda a integrar AppImages ao seu sistema."
 
-#: src/gtk/tutorial/1.ui:36
+#: src/gtk/tutorial/1.ui:43
 msgid "Click \"Next\" to follow this tutorial."
 msgstr "Clique \"Seguinte\" para prosseguir este tutorial."
 
-#: src/gtk/tutorial/2.ui:19
+#: src/gtk/tutorial/2.ui:12
 msgid "Set the AppImage location"
 msgstr "Definir localização da AppImage"
 
-#: src/gtk/tutorial/2.ui:28
+#: src/gtk/tutorial/2.ui:13
 msgid ""
 "Gear lever groups all your AppImages into a specific folder and keeps them "
 "organized."
 msgstr ""
-"Gear Lever agrupa todas as suas AppImages em uma pasta especifica e as mantém 
"
-"organizadas."
+"Gear Lever agrupa todas as suas AppImages em uma pasta especifica e as "
+"mantém organizadas."
 
-#: src/gtk/tutorial/2.ui:33
-#, python-brace-format
-msgid "By default, AppImages are saved at: {location}"
-msgstr "Por padrão, AppImages são salvas em: {location}"
+#: src/gtk/tutorial/2.ui:21
+msgid "<b>By default, AppImages are saved at: {location}</b>"
+msgstr "<b>Por padrão, AppImages são salvas em: {location}</b>"
 
-#: src/gtk/tutorial/2.ui:47
+#: src/gtk/tutorial/2.ui:29
 msgid "Change AppImage location"
 msgstr "Alterar localização da AppImage"
 
-#: src/gtk/tutorial/2.ui:59
+#: src/gtk/tutorial/2.ui:38
 msgid "You can customize it later in the preferences."
 msgstr "Você pode personalizar mais tarde, nas preferências."
 
-#: src/gtk/tutorial/3.ui:19
+#: src/gtk/tutorial/3.ui:23
 msgid "Set Gear lever as default"
 msgstr "Definir Gear level como padrão"
 
-#: src/gtk/tutorial/3.ui:28
+#: src/gtk/tutorial/3.ui:32
 msgid ""
 "Click on the button to open a demo folder, containing a sample AppImage."
 msgstr ""
-"Clique no botão para abrir a pasta de demonstração, que contém um exemplo "
-"de uma AppImage."
+"Clique no botão para abrir a pasta de demonstração, que contém um exemplo de "
+"uma AppImage."
 
-#: src/gtk/tutorial/3.ui:33
+#: src/gtk/tutorial/3.ui:40
 msgid ""
-"Use the right-click menu to set Gear lever as the default app for \"."
-"appimage\" files"
+"Use the right-click menu to set Gear lever as the default app for "
+"\".appimage\" files"
 msgstr ""
 "Utilize o menu clique-direito para definir o Gear Lever como a aplicação "
 "padrão para arquivos \".appimage\""
 
-#: src/gtk/tutorial/3.ui:44
+#: src/gtk/tutorial/3.ui:54
 msgid "Open demo folder"
 msgstr "Abrir pasta de demonstração"
 
-#: src/gtk/tutorial/3.ui:56
+#: src/gtk/tutorial/3.ui:63
 msgid "This step is optional"
 msgstr "Este passo é opcional"
 
@@ -493,7 +544,7 @@
 msgid "All done, let's go!"
 msgstr "Tudo pronto, vamos lá!"
 
-#: src/gtk/tutorial/last.ui:35
+#: src/gtk/tutorial/last.ui:24
 msgid "Close tutorial"
 msgstr "Fechar tutorial"
 
@@ -501,29 +552,19 @@
 msgid "No description provided"
 msgstr "Nenhuma descrição fornecida"
 
-#: src/providers/AppImageProvider.py:581
+#: src/providers/AppImageProvider.py:589
 msgid ""
 "The downloaded file is not a valid appimage, please check if the provided "
 "URL is correct"
 msgstr ""
-"O arquivo baixado não é uma AppImage válida, por favor verifique se a "
-"URL está correta"
+"O arquivo baixado não é uma AppImage válida, por favor verifique se a URL "
+"está correta"
 
-#: src/providers/AppImageProvider.py:587
-#, python-brace-format
-msgid ""
-"The downloaded appimage does not have the same app name and can't be "
-"updated\n"
-"{el.name} ➔ {list_element.name}"
-msgstr ""
-"A AppImage baixada não contém o mesmo nome e não pode ser atualizada\n"
-"{el.name} ➔ {list_element.name}"
-
-#: src/providers/AppImageProvider.py:631
+#: src/providers/AppImageProvider.py:650
 msgid "Running AppImages on NixOS requires appimage-run"
 msgstr "Executar AppImages em NixOS requer appimage-run"
 
-#: src/providers/AppImageProvider.py:646
+#: src/providers/AppImageProvider.py:664
 #, python-brace-format
 msgid ""
 "AppImages require FUSE to run. You might still be able to run it with --"
@@ -532,8 +573,33 @@
 "Click the link below for more information. \n"
 "{url}"
 msgstr ""
-"As AppImages requerem o FUSE para serem executadas. Em alguns casos poderá 
funcionar "
-"usando  --appimage-extract-and-run nos parâmetros da linha de comandos. \n"
+"As AppImages requerem o FUSE para serem executadas. Em alguns casos poderá "
+"funcionar usando  --appimage-extract-and-run nos parâmetros da linha de "
+"comandos. \n"
 "\n"
 "Clique na seguinte ligação para mais informação. \n"
 "{url}"
+
+#: src/providers/AppImageProvider.py:751
+msgid ""
+"Any attempts at loading this app's metadata failed; if you want proceed "
+"using appimage-extract, please disable the security option in the settings."
+msgstr ""
+"Quaisquer tentativas de carregar os metadados desse aplicativo falharam. Se "
+"você quiser prosseguir usando appimage-extract, por favor desative a opção "
+"de segurança nas configurações."
+
+#~ msgid "Update URL"
+#~ msgstr "URL da atualização"
+
+#~ msgid "Add"
+#~ msgstr "Adicionar"
+
+#, python-brace-format
+#~ msgid ""
+#~ "The downloaded appimage does not have the same app name and can't be "
+#~ "updated\n"
+#~ "{el.name} ➔ {list_element.name}"
+#~ msgstr ""
+#~ "A AppImage baixada não contém o mesmo nome e não pode ser atualizada\n"
+#~ "{el.name} ➔ {list_element.name}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gearlever-4.4.8/po/pt_PT.po 
new/gearlever-4.4.10/po/pt_PT.po
--- old/gearlever-4.4.8/po/pt_PT.po     2026-03-03 21:13:39.000000000 +0100
+++ new/gearlever-4.4.10/po/pt_PT.po    2026-04-02 19:30:05.000000000 +0200
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-01-22 16:42+0100\n"
-"PO-Revision-Date: 2026-02-01 18:46+0000\n"
+"POT-Creation-Date: 2026-02-19 10:31+0100\n"
+"PO-Revision-Date: 2026-03-14 17:03+0000\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: pt_PT\n"
@@ -29,12 +29,11 @@
 msgid "AppImage;"
 msgstr "AppImage;"
 
-# Is it supposed to be translated?
 #: src/main.py:112
 msgid "translator_credits"
 msgstr "Tick Dracy <[email protected]>"
 
-#: src/AppDetails.py:35 src/AppDetails.py:83 src/AppDetails.py:465
+#: src/AppDetails.py:35 src/AppDetails.py:84 src/AppDetails.py:479
 msgid "Update"
 msgstr "Atualizar"
 
@@ -87,15 +86,15 @@
 msgid "Unlock"
 msgstr "Desbloquear"
 
-#: src/AppDetails.py:333
+#: src/AppDetails.py:347
 msgid "Unkown Error"
 msgstr "Erro Desconhecido"
 
-#: src/AppDetails.py:382
+#: src/AppDetails.py:396
 msgid "Launching..."
 msgstr "A executar…"
 
-#: src/AppDetails.py:433
+#: src/AppDetails.py:447
 #, python-brace-format
 msgid ""
 "{app_name} is running, please close it before proceeding with the update"
@@ -103,92 +102,92 @@
 "{app_name} está em execução, por favor encerre a aplicação antes de "
 "prosseguir com a atualização"
 
-#: src/AppDetails.py:487
+#: src/AppDetails.py:501
 msgid "Update error"
 msgstr "Erro de atualização"
 
-#: src/AppDetails.py:491
+#: src/AppDetails.py:505
 msgid "Close"
 msgstr "Fechar"
 
-#: src/AppDetails.py:498
+#: src/AppDetails.py:512
 msgid "Do you really want to remove this app?"
 msgstr "Quer mesmo remover esta aplicação?"
 
-#: src/AppDetails.py:501 src/components/AppDetailsConflictModal.py:14
+#: src/AppDetails.py:515 src/components/AppDetailsConflictModal.py:14
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: src/AppDetails.py:502 src/AppDetails.py:541
+#: src/AppDetails.py:516 src/AppDetails.py:555
 msgid "Remove"
 msgstr "Remover"
 
-#: src/AppDetails.py:537 src/AppDetails.py:557
+#: src/AppDetails.py:551 src/AppDetails.py:571
 msgid "This app runs in the terminal"
 msgstr "Esta aplicação é executada no terminal"
 
-#: src/AppDetails.py:539 src/AppDetails.py:554 src/AppDetails.py:560
+#: src/AppDetails.py:553 src/AppDetails.py:568 src/AppDetails.py:574
 msgid "Launch"
 msgstr "Executar"
 
-#: src/AppDetails.py:545
+#: src/AppDetails.py:559
 msgid "Uninstalling..."
 msgstr "A desinstalar…"
 
-#: src/AppDetails.py:549
+#: src/AppDetails.py:563
 msgid "Installing..."
 msgstr "A instalar…"
 
-#: src/AppDetails.py:562
+#: src/AppDetails.py:576
 msgid "Move to the app menu"
 msgstr "Mover para o menu das aplicações"
 
-#: src/AppDetails.py:575
+#: src/AppDetails.py:589
 msgid "Error"
 msgstr "Erro"
 
-#: src/AppDetails.py:586
+#: src/AppDetails.py:600
 msgid "This app might not be compatible with your system architecture"
 msgstr ""
 "Esta aplicação pode não ser compatível com a arquitetura do seu sistema"
 
-#: src/AppDetails.py:889
+#: src/AppDetails.py:909
 msgid "Add a website"
 msgstr "Adicionar página Web"
 
-#: src/AppDetails.py:893
+#: src/AppDetails.py:913
 msgid "Website"
 msgstr "Página Web"
 
-#: src/AppDetails.py:906
+#: src/AppDetails.py:926
 msgid "Open URL"
 msgstr "Abrir URL"
 
-#: src/AppDetails.py:923
+#: src/AppDetails.py:943
 msgid "How it works"
 msgstr "Como funciona"
 
-#: src/AppDetails.py:945
+#: src/AppDetails.py:965
 msgid "Update management"
 msgstr "Gestão Atualização"
 
-#: src/AppDetails.py:952
+#: src/AppDetails.py:972
 msgid "Default"
 msgstr "Padrão"
 
-#: src/AppDetails.py:958
+#: src/AppDetails.py:978
 msgid "Source"
 msgstr "Origem"
 
-#: src/AppDetails.py:959
+#: src/AppDetails.py:979
 msgid "Select the source type"
 msgstr "Selecione o tipo da origem"
 
-#: src/AppDetails.py:985
+#: src/AppDetails.py:1005
 msgid "Reload metadata"
 msgstr "Recarregar metadados"
 
-#: src/AppDetails.py:986
+#: src/AppDetails.py:1006
 msgid ""
 "Update information like icon, version and description.\n"
 "Useful if the app updated itself."
@@ -196,40 +195,40 @@
 "Atualizar detalhes, tais como ícones, versão e descrição.\n"
 "Útil caso a aplicação tenha sido atualizada automaticamente."
 
-#: src/AppDetails.py:998
+#: src/AppDetails.py:1018
 msgid "Command line arguments"
 msgstr "Parâmetros da linha de comandos"
 
 # I don't think there's a native word for this…
-#: src/AppDetails.py:1016
+#: src/AppDetails.py:1036
 msgid "Hash"
 msgstr "Hash"
 
-#: src/AppDetails.py:1026
+#: src/AppDetails.py:1046
 msgid "Path"
 msgstr "Localização"
 
-#: src/AppDetails.py:1028
+#: src/AppDetails.py:1048
 msgid "Open Folder"
 msgstr "Abrir Pasta"
 
-#: src/AppDetails.py:1038
+#: src/AppDetails.py:1058
 msgid "Package type"
 msgstr "Tipo de Pacote"
 
-#: src/AppDetails.py:1056
+#: src/AppDetails.py:1076
 msgid "Key"
 msgstr "Chave"
 
-#: src/AppDetails.py:1057
+#: src/AppDetails.py:1077
 msgid "Value"
 msgstr "Valor"
 
-#: src/AppDetails.py:1096
+#: src/AppDetails.py:1116
 msgid "Environment variables"
 msgstr "Variáveis de ambiente"
 
-#: src/AppDetails.py:1097
+#: src/AppDetails.py:1117
 msgid "Add or customize environment for this application"
 msgstr "Adicionar ou personalizar o ambiente desta aplicação"
 
@@ -241,7 +240,7 @@
 msgid "Open"
 msgstr "Abrir"
 
-#: src/GearleverWindow.py:294
+#: src/GearleverWindow.py:299
 msgid "Open a file"
 msgstr "Abrir ficheiro"
 
@@ -344,26 +343,14 @@
 "Por exemplo, \"golang_x86_64.appimage\" será guardado como \"go\""
 
 #: src/preferences.py:107
-msgid "Preview hashes for new apps before loading metadata"
-msgstr ""
-"Pré-visualizar hashes para novas aplicações, antes de carregar os metadados"
-
-#: src/preferences.py:109
-msgid ""
-"If enabled, a preview of the file you are trying to open is shown.\n"
-"Disable only if you trust your sources: malicious apps could execute code "
-"when loading the metadata."
-msgstr ""
-"Quando ativo, uma pré-visualização do ficheiro que está a abrir será "
-"exibida.\n"
-"Apenas desative se confiar nas fontes: aplicações mal-intencionadas podem "
-"executar código ao carregar os metadados."
+msgid "Preview new apps in a minimal UI"
+msgstr "Pré-visualizar novas aplicações numa IU minimalista"
 
-#: src/preferences.py:113
+#: src/preferences.py:112
 msgid "Use safe mechanisms to load metadata"
 msgstr "Usar métodos confiáveis para carregar os metadados."
 
-#: src/preferences.py:115
+#: src/preferences.py:114
 msgid ""
 "If enabled, the app will try to load an Appimage without using the built-in "
 "appimage-extract command.\n"
@@ -376,15 +363,15 @@
 "executar código ao carregar os metadados."
 
 # I think this is the right term…
-#: src/preferences.py:122
+#: src/preferences.py:121
 msgid "Debugging"
 msgstr "Depuração"
 
-#: src/preferences.py:124
+#: src/preferences.py:123
 msgid "Enable debug logs"
 msgstr "Ativar registos de depuração"
 
-#: src/preferences.py:126
+#: src/preferences.py:125
 msgid ""
 "Increases log verbosity, occupying more disk space and potentially impacting "
 "performance.\n"
@@ -394,11 +381,11 @@
 "potencial impacto na performance.\n"
 "Requer um reinicio."
 
-#: src/preferences.py:153
+#: src/preferences.py:152
 msgid "The folder must writeable"
 msgstr "A pasta tem de ter permissão de escrita"
 
-#: src/preferences.py:156 src/WelcomeScreen.py:118
+#: src/preferences.py:155 src/WelcomeScreen.py:118
 msgid "Select a folder"
 msgstr "Selecione uma pasta"
 
@@ -556,7 +543,7 @@
 msgid "No description provided"
 msgstr "Nenhuma descrição fornecida"
 
-#: src/providers/AppImageProvider.py:587
+#: src/providers/AppImageProvider.py:589
 msgid ""
 "The downloaded file is not a valid appimage, please check if the provided "
 "URL is correct"
@@ -564,11 +551,11 @@
 "O ficheiro descarregado não é uma AppImage válida, por favor verifique se o "
 "URL está correto"
 
-#: src/providers/AppImageProvider.py:648
+#: src/providers/AppImageProvider.py:650
 msgid "Running AppImages on NixOS requires appimage-run"
 msgstr "Executar AppImages em NixOS requer appimage-run"
 
-#: src/providers/AppImageProvider.py:662
+#: src/providers/AppImageProvider.py:664
 #, python-brace-format
 msgid ""
 "AppImages require FUSE to run. You might still be able to run it with --"
@@ -583,7 +570,7 @@
 "Clique na seguinte ligação para mais informação. \n"
 "{url}"
 
-#: src/providers/AppImageProvider.py:749
+#: src/providers/AppImageProvider.py:751
 msgid ""
 "Any attempts at loading this app's metadata failed; if you want proceed "
 "using appimage-extract, please disable the security option in the settings."
@@ -592,6 +579,21 @@
 "se deseja continuar usando o appimage-extract, por favor desligue essa "
 "configuração de segurança nas definições."
 
+#~ msgid "Preview hashes for new apps before loading metadata"
+#~ msgstr ""
+#~ "Pré-visualizar hashes para novas aplicações, antes de carregar os "
+#~ "metadados"
+
+#~ msgid ""
+#~ "If enabled, a preview of the file you are trying to open is shown.\n"
+#~ "Disable only if you trust your sources: malicious apps could execute code "
+#~ "when loading the metadata."
+#~ msgstr ""
+#~ "Quando ativo, uma pré-visualização do ficheiro que está a abrir será "
+#~ "exibida.\n"
+#~ "Apenas desative se confiar nas fontes: aplicações mal-intencionadas podem "
+#~ "executar código ao carregar os metadados."
+
 #~ msgid "Update URL"
 #~ msgstr "URL da atualização"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gearlever-4.4.8/src/InstalledAppsList.py 
new/gearlever-4.4.10/src/InstalledAppsList.py
--- old/gearlever-4.4.8/src/InstalledAppsList.py        2026-03-03 
21:13:39.000000000 +0100
+++ new/gearlever-4.4.10/src/InstalledAppsList.py       2026-04-02 
19:30:05.000000000 +0200
@@ -5,7 +5,6 @@
 
 from .State import state
 from time import sleep
-from .lib.constants import APP_ID, ONE_UPDATE_AVAILABLE_LABEL, 
UPDATES_AVAILABLE_LABEL
 from .providers.providers_list import appimage_provider
 from .providers.AppImageProvider import AppImageListElement
 from .models.AppListElement import InstalledStatus
@@ -29,6 +28,7 @@
     CHECK_FOR_UPDATES_LABEL = _('Check for updates')
     NO_UPDATES_FOUND_LABEL = _('No updates found')
     CHECKING_FOR_UPDATES_LABEL = _('Checking updates...')
+    NO_CONNECTION_LABEL = _('No Connection')
     UPDATE_ALL_LABEL = _('Update all')
 
     def __init__(self):
@@ -143,6 +143,18 @@
         global fetch_updates_cache
 
         if not check_internet():
+            def _show_no_connection():
+                self.updates_btn.set_label(self.NO_CONNECTION_LABEL)
+                self.updates_btn.add_css_class('destructive-action')
+                self.updates_btn.set_sensitive(True)
+
+            def _reset_btn():
+                self.updates_btn.set_label(self.CHECK_FOR_UPDATES_LABEL)
+                self.updates_btn.remove_css_class('destructive-action')
+                return GLib.SOURCE_REMOVE
+
+            GLib.idle_add(_show_no_connection)
+            GLib.timeout_add_seconds(3, _reset_btn)
             return
 
         logging.debug('Fetching for updates for all apps')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gearlever-4.4.8/src/lib/utils.py 
new/gearlever-4.4.10/src/lib/utils.py
--- old/gearlever-4.4.8/src/lib/utils.py        2026-03-03 21:13:39.000000000 
+0100
+++ new/gearlever-4.4.10/src/lib/utils.py       2026-04-02 19:30:05.000000000 
+0200
@@ -281,15 +281,18 @@
     return f"{v:.{precision}f} {suffixes[i]}"
 
 def check_internet(timeout=3):
-    try:
-        r = requests.get(
-            url='http://fedoraproject.org/static/hotspot.txt',
-            timeout=timeout
-        )
+    urls = [
+        'https://fedoraproject.org/static/hotspot.txt',
+        'http://fedoraproject.org/static/hotspot.txt',
+    ]
 
-        r.raise_for_status()
-    except Exception as e:
-        logging.warning(f"No internet connection detected")
-        return False
-    
-    return True
\ No newline at end of file
+    for url in urls:
+        try:
+            r = requests.get(url=url, timeout=timeout, allow_redirects=False)
+            if r.status_code < 400:
+                return True
+        except Exception:
+            continue
+
+    logging.warning("No internet connection detected")
+    return False

Reply via email to