From ca4dbabf7060fc2e3eaa86e90155f7356fe7fb54 Mon Sep 17 00:00:00 2001
From: Adriaan de Groot <groot@kde.org>
Date: Tue, 28 Sep 2021 23:49:08 +0200
Subject: [PATCH] Remove PythonQt support

Nothing beyond the example module was ever built with the
PythonQt bindings, as far as I can tell. They have been
deprecated, defaulting OFF for over two years now.

QML modules fill the gap with customizable, run-time
interpreted UI and stronger support from the C++ side
of Calamares.
---
 CMakeLists.txt                                |  15 --
 .../CalamaresAddModuleSubdirectory.cmake      |   3 +-
 CMakeModules/FindPythonQt.cmake               | 185 ----------------
 CONTRIBUTING.md                               |   1 -
 CalamaresConfig.cmake.in                      |   1 -
 src/calamares/DebugWindow.cpp                 |  76 +------
 src/libcalamares/CalamaresConfig.h.in         |   1 -
 src/libcalamaresui/CMakeLists.txt             |  16 --
 .../modulesystem/ModuleFactory.cpp            |   8 -
 .../modulesystem/PythonQtViewModule.cpp       | 184 ----------------
 .../modulesystem/PythonQtViewModule.h         |  50 -----
 src/libcalamaresui/utils/PythonQtUtils.cpp    |  37 ----
 src/libcalamaresui/utils/PythonQtUtils.h      |  29 ---
 .../PythonQtGlobalStorageWrapper.cpp          |  61 ------
 .../viewpages/PythonQtGlobalStorageWrapper.h  |  48 -----
 src/libcalamaresui/viewpages/PythonQtJob.cpp  |  62 ------
 src/libcalamaresui/viewpages/PythonQtJob.h    |  53 -----
 .../viewpages/PythonQtUtilsWrapper.cpp        | 116 ----------
 .../viewpages/PythonQtUtilsWrapper.h          |  57 -----
 .../viewpages/PythonQtViewStep.cpp            | 203 ------------------
 .../viewpages/PythonQtViewStep.h              |  57 -----
 src/libcalamaresui/viewpages/ViewStep.h       |   3 +-
 src/modules/README.md                         |  11 -
 src/modules/dummypythonqt/dummypythonqt.conf  |  24 ---
 .../lang/ar/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/as/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/ast/LC_MESSAGES/dummypythonqt.po     |  46 ----
 .../lang/be/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/bg/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/bn/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/ca/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../ca@valencia/LC_MESSAGES/dummypythonqt.po  |  42 ----
 .../lang/cs_CZ/LC_MESSAGES/dummypythonqt.po   |  47 ----
 .../lang/da/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/de/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../dummypythonqt/lang/dummypythonqt.pot      |  42 ----
 .../lang/el/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/en_GB/LC_MESSAGES/dummypythonqt.po   |  46 ----
 .../lang/eo/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/es/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/es_MX/LC_MESSAGES/dummypythonqt.po   |  46 ----
 .../lang/es_PR/LC_MESSAGES/dummypythonqt.po   |  42 ----
 .../lang/et/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/eu/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/fa/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/fi_FI/LC_MESSAGES/dummypythonqt.po   |  47 ----
 .../lang/fr/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/fr_CH/LC_MESSAGES/dummypythonqt.po   |  42 ----
 .../lang/gl/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/gu/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/he/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/hi/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/hr/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/hu/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/id/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/is/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/it_IT/LC_MESSAGES/dummypythonqt.po   |  47 ----
 .../lang/ja/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/kk/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/kn/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/ko/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/lo/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/lt/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/lv/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/mk/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/ml/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/mr/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/nb/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/ne_NP/LC_MESSAGES/dummypythonqt.po   |  46 ----
 .../lang/nl/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/pl/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/pt_BR/LC_MESSAGES/dummypythonqt.po   |  47 ----
 .../lang/pt_PT/LC_MESSAGES/dummypythonqt.po   |  46 ----
 .../lang/ro/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/ru/LC_MESSAGES/dummypythonqt.po      |  47 ----
 .../lang/sk/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/sl/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/sq/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/sr/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../sr@latin/LC_MESSAGES/dummypythonqt.po     |  42 ----
 .../lang/sv/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/th/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/tr_TR/LC_MESSAGES/dummypythonqt.po   |  46 ----
 .../lang/uk/LC_MESSAGES/dummypythonqt.po      |  46 ----
 .../lang/ur/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/uz/LC_MESSAGES/dummypythonqt.po      |  42 ----
 .../lang/zh_CN/LC_MESSAGES/dummypythonqt.po   |  47 ----
 .../lang/zh_TW/LC_MESSAGES/dummypythonqt.po   |  46 ----
 src/modules/dummypythonqt/main.py             | 188 ----------------
 src/modules/dummypythonqt/module.desc         |   9 -
 90 files changed, 4 insertions(+), 4378 deletions(-)
 delete mode 100644 CMakeModules/FindPythonQt.cmake
 delete mode 100644 src/libcalamaresui/modulesystem/PythonQtViewModule.cpp
 delete mode 100644 src/libcalamaresui/modulesystem/PythonQtViewModule.h
 delete mode 100644 src/libcalamaresui/utils/PythonQtUtils.cpp
 delete mode 100644 src/libcalamaresui/utils/PythonQtUtils.h
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtJob.cpp
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtJob.h
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtViewStep.cpp
 delete mode 100644 src/libcalamaresui/viewpages/PythonQtViewStep.h
 delete mode 100644 src/modules/dummypythonqt/dummypythonqt.conf
 delete mode 100644 src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/as/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/be/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/bn/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ca@valencia/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/dummypythonqt.pot
 delete mode 100644 src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/eo/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/kn/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ko/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/lv/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/mk/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ne_NP/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po
 delete mode 100644 src/modules/dummypythonqt/main.py
 delete mode 100644 src/modules/dummypythonqt/module.desc

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2c70c45385..a39dc616c0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,6 @@
 #                     CMake once. These affect the ABI offered by Calamares.
 #                       - PYTHON (enable Python Job modules)
 #                       - QML (enable QML UI View modules)
-#                       - PYTHONQT # TODO:3.3: remove
 #   BUILD_<foo>     : choose additional things to build
 #                       - TESTING (standard CMake option)
 #                       - SCHEMA_TESTING (requires Python, see ci/configvalidator.py)
@@ -66,7 +65,6 @@ option( WITH_KF5Crash "Enable crash reporting with KCrash." ON )  # TODO:3.3: WI
 # When adding WITH_* that affects the ABI offered by libcalamares,
 # also update libcalamares/CalamaresConfig.h.in
 option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
-option( WITH_PYTHONQT "Enable Python view modules API (deprecated, requires PythonQt)." OFF )  # TODO:3.3: remove
 option( WITH_QML "Enable QML UI options." ON )
 #
 # Additional parts to build
@@ -397,29 +395,17 @@ if ( PYTHONLIBS_FOUND )
         Boost PROPERTIES
         PURPOSE "Boost.Python is used for Python job modules."
     )
-    # TODO:3.3: Remove PythonQt support
-    find_package( PythonQt )
-    set_package_properties( PythonQt PROPERTIES
-        DESCRIPTION "A Python embedding solution for Qt applications."
-        URL "http://pythonqt.sourceforge.net"
-        PURPOSE "PythonQt is used for Python view modules."
-    )
 endif()
 
 if( NOT PYTHONLIBS_FOUND OR NOT CALAMARES_BOOST_PYTHON3_FOUND )
     message(STATUS "Disabling Boost::Python modules")
     set( WITH_PYTHON OFF )
 endif()
-if( NOT PYTHONLIBS_FOUND OR NOT PYTHONQT_FOUND )
-    message(STATUS "Disabling PythonQt modules")
-    set( WITH_PYTHONQT OFF )
-endif()
 
 # Now we know the state of the ABI-options, copy them into "Calamares_"
 # prefixed variables, to match how the variables would-be-named
 # when building out-of-tree.
 set(Calamares_WITH_PYTHON ${WITH_PYTHON})
-set(Calamares_WITH_PYTHONQT ${WITH_PYTHONQT})
 set(Calamares_WITH_QML ${WITH_QML})
 
 ### Transifex Translation status
@@ -573,7 +559,6 @@ set( Calamares_LIBRARIES calamares )
 add_subdirectory( src )
 
 add_feature_info(Python ${WITH_PYTHON} "Python job modules")
-add_feature_info(PythonQt ${WITH_PYTHONQT} "Python view modules")
 add_feature_info(Config ${INSTALL_CONFIG} "Install Calamares configuration")
 add_feature_info(KCrash ${WITH_KF5Crash} "Crash dumps via KCrash")
 
diff --git a/CMakeModules/CalamaresAddModuleSubdirectory.cmake b/CMakeModules/CalamaresAddModuleSubdirectory.cmake
index 91524a09e4..e0eed223e7 100644
--- a/CMakeModules/CalamaresAddModuleSubdirectory.cmake
+++ b/CMakeModules/CalamaresAddModuleSubdirectory.cmake
@@ -121,7 +121,8 @@ function( _calamares_add_module_subdirectory_impl )
         # _mod_testing boolean if the module should be added to the loadmodule tests
         file(STRINGS "${_mod_dir}/module.desc" MODULE_INTERFACE REGEX "^interface")
         if ( MODULE_INTERFACE MATCHES "pythonqt" )
-            set( _mod_enabled ${Calamares_WITH_PYTHONQT} )
+            message( FATAL_ERROR "PythonQt is no longer supported" )
+            set( _mod_enabled OFF )
             set( _mod_reason "No PythonQt support" )
             set( _mod_testing OFF )
         elseif ( MODULE_INTERFACE MATCHES "python" )
diff --git a/CMakeModules/FindPythonQt.cmake b/CMakeModules/FindPythonQt.cmake
deleted file mode 100644
index 81208a86e7..0000000000
--- a/CMakeModules/FindPythonQt.cmake
+++ /dev/null
@@ -1,185 +0,0 @@
-# === This file is part of Calamares - <https://calamares.io> ===
-#
-#   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
-#   SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
-#   SPDX-License-Identifier: BSD-2-Clause
-#
-###
-#
-# Find PythonQt
-#
-# Sets PYTHONQT_FOUND, PYTHONQT_INCLUDE_DIR, PYTHONQT_LIBRARY, PYTHONQT_LIBRARIES
-#
-# Also sets PYTHONQT_INCLUDE_DIRS to add whatever directories
-#   that are needed for extensions.
-#
-
-# Python is required
-find_package(PythonLibs)
-if(NOT PYTHONLIBS_FOUND)
-  message(FATAL_ERROR "error: Python is required to build PythonQt")
-endif()
-
-# Cut X.Y[.Z] down to just X.Y
-string(REGEX REPLACE
-    "^([0-9][0-9]*)\.([0-9][0-9]*)"
-    "\\1.\\2@"
-    _PYTHONLIBS_MAJMIN
-    ${PYTHONLIBS_VERSION_STRING}
-)
-string(REGEX REPLACE
-    "@.*"
-    ""
-    PYTHONLIBS_MAJMIN
-    ${_PYTHONLIBS_MAJMIN}
-)
-
-if(NOT EXISTS "${PYTHONQT_INSTALL_DIR}")
-    find_path(PYTHONQT_INSTALL_DIR
-        NAMES
-            include/PythonQt/PythonQt.h
-            include/PythonQt5/PythonQt.h
-        DOC "Directory where PythonQt was installed.")
-endif()
-
-# XXX Since PythonQt 3.0 is not yet cmakeified, depending
-#     on how PythonQt is built, headers will not always be
-#     installed in "include/PythonQt". That is why "src"
-#     is added as an option. See [1] for more details.
-#     [1] https://github.com/commontk/CTK/pull/538#issuecomment-86106367
-find_path(PYTHONQT_INCLUDE_DIR PythonQt.h
-    PATHS
-        "${PYTHONQT_INSTALL_DIR}/include/PythonQt"
-        "${PYTHONQT_INSTALL_DIR}/include/PythonQt5"
-        "${PYTHONQT_INSTALL_DIR}/src"
-    DOC "Path to the PythonQt include directory")
-find_path(PYTHONQT_ALL_INCLUDE_DIR PythonQt_QtAll.h
-    PATHS
-        "${PYTHONQT_INCLUDE_DIR}"
-        "${PYTHONQT_INSTALL_DIR}"
-    PATH_SUFFIXES
-        "extensions/PythonQt_QtAll"
-        "src"
-    DOC "Path to the PythonQt 'all' header")
-
-if ( NOT PythonQt_FIND_QUIETLY )
-    message( STATUS "Searching for PythonQt (PythonLibs ${PYTHONLIBS_MAJMIN}) .." )
-    if ( PYTHONQT_INCLUDE_DIR )
-        message( STATUS "  .. found include ${PYTHONQT_INCLUDE_DIR}" )
-        message( STATUS "  .. found all include ${PYTHONQT_ALL_INCLUDE_DIR}" )
-    endif()
-endif()
-
-# Minimum v3.1 is needed
-find_library(PYTHONQT_LIBRARY_RELEASE
-    NAMES
-        PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}
-        PythonQt-Qt5-Python3
-        PythonQt
-    PATHS "${PYTHONQT_INSTALL_DIR}/lib"
-    DOC "The PythonQt library."
-)
-find_library(PYTHONQT_LIBRARY_DEBUG
-    NAMES
-        PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}JMIN${CTK_CMAKE_DEBUG_POSTFIX}
-        PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}${CMAKE_DEBUG_POSTFIX}
-        PythonQt-Qt5-Python${PYTHONLIBS_MAJMIN}
-        PythonQt-Qt5-Python3${CTK_CMAKE_DEBUG_POSTFIX}
-        PythonQt-Qt5-Python3${CMAKE_DEBUG_POSTFIX}
-        PythonQt-Qt5-Python3
-        PythonQt${CTK_CMAKE_DEBUG_POSTFIX}
-        PythonQt${CMAKE_DEBUG_POSTFIX}
-        PythonQt
-    PATHS "${PYTHONQT_INSTALL_DIR}/lib"
-    DOC "The PythonQt library (debug build)."
-)
-find_library(PYTHONQT_QTALL_LIBRARY_RELEASE
-    NAMES
-        PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}
-        PythonQt_QtAll-Qt5-Python3
-        PythonQt_QtAll
-    PATHS "${PYTHONQT_INSTALL_DIR}/lib"
-    DOC "Full Qt bindings for the PythonQt library."
-)
-find_library(PYTHONQT_QTALL_LIBRARY_DEBUG
-    NAMES
-        PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}${CTK_CMAKE_DEBUG_POSTFIX}
-        PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}${CMAKE_DEBUG_POSTFIX}
-        PythonQt_QtAll-Qt5-Python${PYTHONLIBS_MAJMIN}
-        PythonQt_QtAll-Qt5-Python3${CTK_CMAKE_DEBUG_POSTFIX}
-        PythonQt_QtAll-Qt5-Python3${CMAKE_DEBUG_POSTFIX}
-        PythonQt_QtAll-Qt5-Python3
-        PythonQt_QtAll${CTK_CMAKE_DEBUG_POSTFIX}
-        PythonQt_QtAll${CMAKE_DEBUG_POSTFIX}
-        PythonQt_QtAll
-    PATHS "${PYTHONQT_INSTALL_DIR}/lib"
-    DOC "Full Qt bindings for the PythonQt library (debug build)."
-)
-
-set(PYTHONQT_LIBRARY)
-if(PYTHONQT_LIBRARY_RELEASE)
-  list(APPEND PYTHONQT_LIBRARY optimized ${PYTHONQT_LIBRARY_RELEASE})
-endif()
-if(PYTHONQT_LIBRARY_DEBUG)
-  list(APPEND PYTHONQT_LIBRARY debug ${PYTHONQT_LIBRARY_DEBUG})
-endif()
-
-set(PYTHONQT_QTALL_LIBRARY)
-if(PYTHONQT_QTALL_LIBRARY_RELEASE)
-  list(APPEND PYTHONQT_QTALL_LIBRARY optimized ${PYTHONQT_QTALL_LIBRARY_RELEASE})
-endif()
-if(PYTHONQT_QTALL_LIBRARY_DEBUG)
-  list(APPEND PYTHONQT_QTALL_LIBRARY debug ${PYTHONQT_QTALL_LIBRARY_DEBUG})
-endif()
-
-if ( NOT PythonQt_FIND_QUIETLY )
-    if ( PYTHONQT_LIBRARY )
-        message( STATUS "  .. found library ${PYTHONQT_LIBRARY}" )
-    endif()
-    if ( PYTHONQT_QTALL_LIBRARY )
-        message( STATUS "  .. found qtall   ${PYTHONQT_QTALL_LIBRARY}" )
-    endif()
-endif()
-
-
-mark_as_advanced(PYTHONQT_INSTALL_DIR)
-mark_as_advanced(PYTHONQT_INCLUDE_DIR)
-mark_as_advanced(PYTHONQT_LIBRARY_RELEASE)
-mark_as_advanced(PYTHONQT_LIBRARY_DEBUG)
-mark_as_advanced(PYTHONQT_QTALL_LIBRARY_RELEASE)
-mark_as_advanced(PYTHONQT_QTALL_LIBRARY_DEBUG)
-
-# On linux, also find libutil
-if(UNIX AND NOT APPLE)
-  find_library(PYTHONQT_LIBUTIL util)
-  mark_as_advanced(PYTHONQT_LIBUTIL)
-endif()
-
-# All upper case _FOUND variable is maintained for backwards compatibility.
-set(PYTHONQT_FOUND 0)
-set(PythonQt_FOUND 0)
-
-if(PYTHONQT_INCLUDE_DIR AND PYTHONQT_LIBRARY AND PYTHONQT_QTALL_LIBRARY)
-  # Currently CMake'ified PythonQt only supports building against a python Release build.
-  # This applies independently of CTK build type (Release, Debug, ...)
-  add_definitions(-DPYTHONQT_USE_RELEASE_PYTHON_FALLBACK)
-  set(PYTHONQT_FOUND 1)
-  set(PythonQt_FOUND ${PYTHONQT_FOUND})
-  set(PYTHONQT_LIBRARIES ${PYTHONQT_LIBRARY} ${PYTHONQT_LIBUTIL} ${PYTHONQT_QTALL_LIBRARY})
-  set(PYTHONQT_INCLUDE_DIRS ${PYTHONQT_INCLUDE_DIR})
-  if(PYTHONQT_ALL_INCLUDE_DIR)
-    list(APPEND PYTHONQT_INCLUDE_DIRS ${PYTHONQT_ALL_INCLUDE_DIR})
-  endif()
-elseif(NOT PythonQt_FIND_QUIETLY)
-  set(_missing "")
-  if (NOT PYTHONQT_INCLUDE_DIR)
-    list(APPEND _missing "includes")
-  endif()
-  if (NOT PYTHONQT_LIBRARY)
-    list(APPEND _missing "library")
-  endif()
-  if (NOT PYTHONQT_QTALL_LIBRARY)
-    list(APPEND _missing "qtall")
-  endif()
-  message(STATUS "PythonQt not found, missing components ${_missing}")
-endif()
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0be408ba01..aec9cb9e66 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -86,7 +86,6 @@ Main:
 * KDE extra-cmake-modules >= 5.18 (recommended; required for some modules;
   required for some tests)
 * KDE Frameworks KCoreAddons (>= 5.58 recommended)
-* PythonQt (optional, deprecated)
 
 Individual modules may have their own requirements;
 these are listed in CMake output.
diff --git a/CalamaresConfig.cmake.in b/CalamaresConfig.cmake.in
index 4fb9621ca7..7b7f5aff95 100644
--- a/CalamaresConfig.cmake.in
+++ b/CalamaresConfig.cmake.in
@@ -87,5 +87,4 @@ include(CalamaresAddPlugin)
 # This list should match the one in libcalamares/CalamaresConfig.h,
 # which is the C++-language side of the same configuration.
 set(Calamares_WITH_PYTHON @WITH_PYTHON@)
-set(Calamares_WITH_PYTHONQT @WITH_PYTHONQT@)
 set(Calamares_WITH_QML @WITH_QML@)
diff --git a/src/calamares/DebugWindow.cpp b/src/calamares/DebugWindow.cpp
index b5fd899d46..0ac8d2f60a 100644
--- a/src/calamares/DebugWindow.cpp
+++ b/src/calamares/DebugWindow.cpp
@@ -23,13 +23,6 @@
 #include "utils/Paste.h"
 #include "utils/Retranslator.h"
 
-#ifdef WITH_PYTHONQT
-#include "ViewManager.h"
-#include "viewpages/PythonQtViewStep.h"
-
-#include <gui/PythonQtScriptingConsole.h>
-#endif
-
 #include <QSplitter>
 #include <QStringListModel>
 #include <QTreeView>
@@ -110,73 +103,10 @@ DebugWindow::DebugWindow()
 
     m_ui->moduleConfigView->setModel( m_module_model.get() );
 
-#ifdef WITH_PYTHONQT
-    QPushButton* pythonConsoleButton = new QPushButton;
-    pythonConsoleButton->setText( "Attach Python console" );
-    m_ui->modulesVerticalLayout->insertWidget( 1, pythonConsoleButton );
-    pythonConsoleButton->hide();
-
-    QObject::connect( pythonConsoleButton, &QPushButton::clicked, this, [this, moduleConfigModel] {
-        QString moduleName = m_ui->modulesListView->currentIndex().data().toString();
-        Module* module = ModuleManager::instance()->moduleInstance( moduleName );
-        if ( module->interface() != Module::Interface::PythonQt || module->type() != Module::Type::View )
-            return;
-
-        for ( ViewStep* step : ViewManager::instance()->viewSteps() )
-        {
-            if ( step->moduleInstanceKey() == module->instanceKey() )
-            {
-                PythonQtViewStep* pqvs = qobject_cast< PythonQtViewStep* >( step );
-                if ( pqvs )
-                {
-                    QWidget* consoleWindow = new QWidget;
-
-                    QWidget* console = pqvs->createScriptingConsole();
-                    console->setParent( consoleWindow );
-
-                    QVBoxLayout* layout = new QVBoxLayout;
-                    consoleWindow->setLayout( layout );
-                    layout->addWidget( console );
-
-                    QHBoxLayout* bottomLayout = new QHBoxLayout;
-                    layout->addLayout( bottomLayout );
-
-                    QLabel* bottomLabel = new QLabel( consoleWindow );
-                    bottomLayout->addWidget( bottomLabel );
-                    QString line = QString( "Module: <font color=\"#008000\"><code>%1</code></font><br/>"
-                                            "Python class: <font color=\"#008000\"><code>%2</code></font>" )
-                                       .arg( module->instanceKey() )
-                                       .arg( console->property( "classname" ).toString() );
-                    bottomLabel->setText( line );
-
-                    QPushButton* closeButton = new QPushButton( consoleWindow );
-                    closeButton->setText( "&Close" );
-                    QObject::connect( closeButton, &QPushButton::clicked, [consoleWindow] { consoleWindow->close(); } );
-                    bottomLayout->addWidget( closeButton );
-                    bottomLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
-
-                    consoleWindow->setParent( this );
-                    consoleWindow->setWindowFlags( Qt::Window );
-                    consoleWindow->setWindowTitle( "Calamares Python console" );
-                    consoleWindow->setAttribute( Qt::WA_DeleteOnClose, true );
-                    consoleWindow->showNormal();
-                    break;
-                }
-            }
-        }
-    } );
-
-#endif
-
     connect( m_ui->modulesListView->selectionModel(),
              &QItemSelectionModel::selectionChanged,
              this,
-             [this
-#ifdef WITH_PYTHONQT
-              ,
-              pythonConsoleButton
-#endif
-    ] {
+             [this] {
                  QString moduleName = m_ui->modulesListView->currentIndex().data().toString();
                  Module* module
                      = ModuleManager::instance()->moduleInstance( ModuleSystem::InstanceKey::fromString( moduleName ) );
@@ -187,10 +117,6 @@ DebugWindow::DebugWindow()
                      m_ui->moduleConfigView->expandAll();
                      m_ui->moduleTypeLabel->setText( module->typeString() );
                      m_ui->moduleInterfaceLabel->setText( module->interfaceString() );
-#ifdef WITH_PYTHONQT
-                     pythonConsoleButton->setVisible( module->interface() == Module::Interface::PythonQt
-                                                      && module->type() == Module::Type::View );
-#endif
                  }
              } );
 
diff --git a/src/libcalamares/CalamaresConfig.h.in b/src/libcalamares/CalamaresConfig.h.in
index 3d551b8e89..23d4ebfd0b 100644
--- a/src/libcalamares/CalamaresConfig.h.in
+++ b/src/libcalamares/CalamaresConfig.h.in
@@ -25,7 +25,6 @@
  * which is the CMake-time side of the same configuration.
  */
 #cmakedefine WITH_PYTHON
-#cmakedefine WITH_PYTHONQT
 #cmakedefine WITH_QML
 
 #endif  // CALAMARESCONFIG_H
diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt
index a704b74844..72f3bd09fa 100644
--- a/src/libcalamaresui/CMakeLists.txt
+++ b/src/libcalamaresui/CMakeLists.txt
@@ -50,17 +50,6 @@ if( WITH_PYTHON )
     )
 endif()
 
-if( WITH_PYTHONQT )
-    list( APPEND calamaresui_SOURCES
-        modulesystem/PythonQtViewModule.cpp
-        utils/PythonQtUtils.cpp
-        viewpages/PythonQtJob.cpp
-        viewpages/PythonQtViewStep.cpp
-        viewpages/PythonQtGlobalStorageWrapper.cpp
-        viewpages/PythonQtUtilsWrapper.cpp
-    )
-endif()
-
 if( WITH_QML )
     list( APPEND calamaresui_SOURCES
         utils/Qml.cpp
@@ -81,11 +70,6 @@ target_link_libraries( calamaresui PRIVATE yamlcpp::yamlcpp )
 if( KF5CoreAddons_FOUND AND KF5CoreAddons_VERSION VERSION_GREATER_EQUAL 5.58 )
     target_compile_definitions( calamaresui PRIVATE WITH_KOSRelease )
 endif()
-if( WITH_PYTHONQT )
-    # *_DIRS because we also use extensions
-    target_include_directories( calamaresui PRIVATE ${PYTHON_INCLUDE_DIRS} ${PYTHONQT_INCLUDE_DIRS} )
-    target_link_libraries( calamaresui PRIVATE ${PYTHON_LIBRARIES} ${PYTHONQT_LIBRARIES} )
-endif()
 if( WITH_QML )
     target_link_libraries( calamaresui PUBLIC Qt5::QuickWidgets )
 endif()
diff --git a/src/libcalamaresui/modulesystem/ModuleFactory.cpp b/src/libcalamaresui/modulesystem/ModuleFactory.cpp
index a7193d3f50..99bba5955c 100644
--- a/src/libcalamaresui/modulesystem/ModuleFactory.cpp
+++ b/src/libcalamaresui/modulesystem/ModuleFactory.cpp
@@ -24,10 +24,6 @@
 #include "PythonJobModule.h"
 #endif
 
-#ifdef WITH_PYTHONQT
-#include "PythonQtViewModule.h"
-#endif
-
 #include <QDir>
 #include <QFile>
 #include <QFileInfo>
@@ -61,11 +57,7 @@ moduleFromDescriptor( const Calamares::ModuleSystem::Descriptor& moduleDescripto
         }
         else if ( moduleDescriptor.interface() == Interface::PythonQt )
         {
-#ifdef WITH_PYTHONQT
-            m.reset( new PythonQtViewModule() );
-#else
             cError() << "PythonQt view modules are not supported in this version of Calamares.";
-#endif
         }
         else
         {
diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp
deleted file mode 100644
index ae2b2915fe..0000000000
--- a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
- *   SPDX-FileCopyrightText: 2018 Raul Rodrigo Segura <raurodse@gmail.com>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#include "PythonQtViewModule.h"
-
-#include "CalamaresConfig.h"
-#include "GlobalStorage.h"
-#include "JobQueue.h"
-#include "ViewManager.h"
-#include "utils/Logger.h"
-#include "viewpages/PythonQtGlobalStorageWrapper.h"
-#include "viewpages/PythonQtUtilsWrapper.h"
-#include "viewpages/PythonQtViewStep.h"
-#include "viewpages/ViewStep.h"
-
-#include <PythonQt.h>
-#include <PythonQt_QtAll.h>
-
-#include <QDir>
-#include <QPointer>
-
-
-static QPointer< GlobalStorage > s_gs = nullptr;
-static QPointer< Utils > s_utils = nullptr;
-
-namespace Calamares
-{
-
-Module::Type
-PythonQtViewModule::type() const
-{
-    return Module::Type::View;
-}
-
-
-Module::Interface
-PythonQtViewModule::interface() const
-{
-    return Module::Interface::PythonQt;
-}
-
-
-void
-PythonQtViewModule::loadSelf()
-{
-    if ( !m_scriptFileName.isEmpty() )
-    {
-        if ( PythonQt::self() == nullptr )
-        {
-            if ( Py_IsInitialized() )
-                PythonQt::init( PythonQt::IgnoreSiteModule | PythonQt::RedirectStdOut
-                                | PythonQt::PythonAlreadyInitialized );
-            else
-            {
-                PythonQt::init();
-            }
-
-            PythonQt_QtAll::init();
-            cDebug() << "Initializing PythonQt bindings."
-                     << "This should only happen once.";
-
-            //TODO: register classes here into the PythonQt environment, like this:
-            //PythonQt::self()->registerClass( &PythonQtViewStep::staticMetaObject,
-            //                                 "calamares" );
-
-            // We only do the following to force PythonQt to create a submodule
-            // "calamares" for us to put our static objects in
-            PythonQt::self()->registerClass( &::GlobalStorage::staticMetaObject, "calamares" );
-
-            // Get a PythonQtObjectPtr to the PythonQt.calamares submodule
-            PythonQtObjectPtr pqtm = PythonQt::priv()->pythonQtModule();
-            PythonQtObjectPtr cala = PythonQt::self()->lookupObject( pqtm, "calamares" );
-
-            // Prepare GlobalStorage object, in module PythonQt.calamares
-            if ( !s_gs )
-            {
-                s_gs = new ::GlobalStorage( Calamares::JobQueue::instance()->globalStorage() );
-            }
-            cala.addObject( "global_storage", s_gs );
-
-            // Prepare Utils object, in module PythonQt.calamares
-            if ( !s_utils )
-            {
-                s_utils = new ::Utils( Calamares::JobQueue::instance()->globalStorage() );
-            }
-            cala.addObject( "utils", s_utils );
-
-            // Append configuration object, in module PythonQt.calamares
-            cala.addVariable( "configuration", m_configurationMap );
-
-            // Basic stdout/stderr handling
-            QObject::connect( PythonQt::self(), &PythonQt::pythonStdOut, []( const QString& message ) {
-                cDebug() << "PythonQt OUT>" << message;
-            } );
-            QObject::connect( PythonQt::self(), &PythonQt::pythonStdErr, []( const QString& message ) {
-                cDebug() << "PythonQt ERR>" << message;
-            } );
-        }
-
-        QDir workingDir( m_workingPath );
-        if ( !workingDir.exists() )
-        {
-            cDebug() << "Invalid working directory" << m_workingPath << "for module" << name();
-            return;
-        }
-
-        QString fullPath = workingDir.absoluteFilePath( m_scriptFileName );
-        QFileInfo scriptFileInfo( fullPath );
-        if ( !scriptFileInfo.isReadable() )
-        {
-            cDebug() << "Invalid main script file path" << fullPath << "for module" << name();
-            return;
-        }
-
-        // Construct empty Python module with the given name
-        PythonQtObjectPtr cxt = PythonQt::self()->createModuleFromScript( name() );
-        if ( cxt.isNull() )
-        {
-            cDebug() << "Cannot load PythonQt context from file" << fullPath << "for module" << name();
-            return;
-        }
-
-        static const QLatin1String calamares_module_annotation(
-            "_calamares_module_typename = ''\n"
-            "def calamares_module(viewmodule_type):\n"
-            "    global _calamares_module_typename\n"
-            "    _calamares_module_typename = viewmodule_type.__name__\n"
-            "    return viewmodule_type\n" );
-
-        // Load in the decorator
-        PythonQt::self()->evalScript( cxt, calamares_module_annotation );
-
-        // Load the module
-        PythonQt::self()->evalFile( cxt, fullPath );
-
-        m_viewStep = new PythonQtViewStep( cxt );
-
-        cDebug() << "PythonQtViewModule loading self for instance" << instanceKey() << "\nPythonQtViewModule at address"
-                 << this << "\nViewStep at address" << m_viewStep;
-
-        m_viewStep->setModuleInstanceKey( instanceKey() );
-        m_viewStep->setConfigurationMap( m_configurationMap );
-        ViewManager::instance()->addViewStep( m_viewStep );
-        m_loaded = true;
-        cDebug() << "PythonQtViewModule" << instanceKey() << "loading complete.";
-    }
-}
-
-
-JobList
-PythonQtViewModule::jobs() const
-{
-    return m_viewStep->jobs();
-}
-
-
-void
-PythonQtViewModule::initFrom( const QVariantMap& moduleDescriptor )
-{
-    QDir directory( location() );
-    m_workingPath = directory.absolutePath();
-
-    if ( !moduleDescriptor.value( "script" ).toString().isEmpty() )
-    {
-        m_scriptFileName = moduleDescriptor.value( "script" ).toString();
-    }
-}
-
-PythonQtViewModule::PythonQtViewModule()
-    : Module()
-{
-}
-
-PythonQtViewModule::~PythonQtViewModule() {}
-
-}  // namespace Calamares
diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.h b/src/libcalamaresui/modulesystem/PythonQtViewModule.h
deleted file mode 100644
index 8267dd2cba..0000000000
--- a/src/libcalamaresui/modulesystem/PythonQtViewModule.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#ifndef CALAMARES_PYTHONQTVIEWMODULE_H
-#define CALAMARES_PYTHONQTVIEWMODULE_H
-
-#include "DllMacro.h"
-#include "Module.h"
-
-namespace Calamares
-{
-
-class ViewStep;
-
-class UIDLLEXPORT PythonQtViewModule : public Module
-{
-public:
-    Type type() const override;
-    Interface interface() const override;
-
-    void loadSelf() override;
-    JobList jobs() const override;
-
-protected:
-    void initFrom( const QVariantMap& moduleDescriptor ) override;
-
-private:
-    explicit PythonQtViewModule();
-    virtual ~PythonQtViewModule();
-
-    ViewStep* m_viewStep = nullptr;
-
-    QString m_scriptFileName;
-    QString m_workingPath;
-
-    friend Module* Calamares::moduleFromDescriptor( const ModuleSystem::Descriptor& moduleDescriptor,
-                                                    const QString& instanceId,
-                                                    const QString& configFileName,
-                                                    const QString& moduleDirectory );
-};
-
-}  // namespace Calamares
-
-#endif  // CALAMARES_PYTHONQTVIEWMODULE_H
diff --git a/src/libcalamaresui/utils/PythonQtUtils.cpp b/src/libcalamaresui/utils/PythonQtUtils.cpp
deleted file mode 100644
index bc4e034f02..0000000000
--- a/src/libcalamaresui/utils/PythonQtUtils.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#include "PythonQtUtils.h"
-
-namespace CalamaresUtils
-{
-
-QVariant
-lookupAndCall( PyObject* object,
-               const QStringList& candidateNames,
-               const QVariantList& args,
-               const QVariantMap& kwargs )
-{
-    Q_ASSERT( object );
-    Q_ASSERT( !candidateNames.isEmpty() );
-
-    for ( const QString& name : candidateNames )
-    {
-        PythonQtObjectPtr callable = PythonQt::self()->lookupCallable( object, name );
-        if ( callable )
-        {
-            return callable.call( args, kwargs );
-        }
-    }
-
-    // If we haven't found a callable with the given names, we force an error:
-    return PythonQt::self()->call( object, candidateNames.first(), args, kwargs );
-}
-
-}  // namespace CalamaresUtils
diff --git a/src/libcalamaresui/utils/PythonQtUtils.h b/src/libcalamaresui/utils/PythonQtUtils.h
deleted file mode 100644
index 49f3bb1c4a..0000000000
--- a/src/libcalamaresui/utils/PythonQtUtils.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#ifndef PYTHONQTUTILS_H
-#define PYTHONQTUTILS_H
-
-#include <PythonQt.h>
-
-#include <QVariant>
-
-
-namespace CalamaresUtils
-{
-//NOTE: when running this, it is assumed that Python is initialized and
-//      PythonQt::self() is valid.
-QVariant lookupAndCall( PyObject* object,
-                        const QStringList& candidateNames,
-                        const QVariantList& args = QVariantList(),
-                        const QVariantMap& kwargs = QVariantMap() );
-
-}  // namespace CalamaresUtils
-
-#endif  // PYTHONQTUTILS_H
diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp
deleted file mode 100644
index 0d667a0970..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#include "PythonQtGlobalStorageWrapper.h"
-
-#include "GlobalStorage.h"
-
-
-GlobalStorage::GlobalStorage( Calamares::GlobalStorage* gs )
-    : QObject( gs )
-    , m_gs( gs )
-{
-}
-
-
-bool
-GlobalStorage::contains( const QString& key ) const
-{
-    return m_gs->contains( key );
-}
-
-
-int
-GlobalStorage::count() const
-{
-    return m_gs->count();
-}
-
-
-void
-GlobalStorage::insert( const QString& key, const QVariant& value )
-{
-    m_gs->insert( key, value );
-}
-
-
-QStringList
-GlobalStorage::keys() const
-{
-    return m_gs->keys();
-}
-
-
-int
-GlobalStorage::remove( const QString& key )
-{
-    return m_gs->remove( key );
-}
-
-
-QVariant
-GlobalStorage::value( const QString& key ) const
-{
-    return m_gs->value( key );
-}
diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h
deleted file mode 100644
index 5d1282d0f0..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#ifndef PYTHONQTGLOBALSTORAGEWRAPPER_H
-#define PYTHONQTGLOBALSTORAGEWRAPPER_H
-
-#include <QObject>
-#include <QStringList>
-#include <QVariant>
-
-namespace Calamares
-{
-class GlobalStorage;
-}
-
-
-/**
- * @brief This GlobalStorage class is a namespace-free wrapper for
- *        Calamares::GlobalStorage. This is unfortunately a necessity
- *        because PythonQt doesn't like namespaces.
- */
-class GlobalStorage : public QObject
-{
-    Q_OBJECT
-public:
-    explicit GlobalStorage( Calamares::GlobalStorage* gs );
-    virtual ~GlobalStorage() {}
-
-public slots:
-    bool contains( const QString& key ) const;
-    int count() const;
-    void insert( const QString& key, const QVariant& value );
-    QStringList keys() const;
-    int remove( const QString& key );
-    QVariant value( const QString& key ) const;
-
-private:
-    Calamares::GlobalStorage* m_gs;
-};
-
-#endif  // PYTHONQTGLOBALSTORAGEWRAPPER_H
diff --git a/src/libcalamaresui/viewpages/PythonQtJob.cpp b/src/libcalamaresui/viewpages/PythonQtJob.cpp
deleted file mode 100644
index d41c70f1f1..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtJob.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#include "PythonQtJob.h"
-
-#include "utils/PythonQtUtils.h"
-
-PythonQtJob::PythonQtJob( PythonQtObjectPtr cxt, PythonQtObjectPtr pyJob, QObject* parent )
-    : Calamares::Job( parent )
-    , m_cxt( cxt )
-    , m_pyJob( pyJob )
-{
-}
-
-
-QString
-PythonQtJob::prettyName() const
-{
-    return CalamaresUtils::lookupAndCall( m_pyJob, { "prettyName", "prettyname", "pretty_name" } ).toString();
-}
-
-
-QString
-PythonQtJob::prettyDescription() const
-{
-    return CalamaresUtils::lookupAndCall( m_pyJob, { "prettyDescription", "prettydescription", "pretty_description" } )
-        .toString();
-}
-
-
-QString
-PythonQtJob::prettyStatusMessage() const
-{
-    return CalamaresUtils::lookupAndCall( m_pyJob,
-                                          { "prettyStatusMessage", "prettystatusmessage", "pretty_status_message" } )
-        .toString();
-}
-
-
-Calamares::JobResult
-PythonQtJob::exec()
-{
-    QVariant response = m_pyJob.call( "exec" );
-    if ( response.isNull() )
-    {
-        return Calamares::JobResult::ok();
-    }
-
-    QVariantMap map = response.toMap();
-    if ( map.isEmpty() || map.value( "ok" ).toBool() )
-    {
-        return Calamares::JobResult::ok();
-    }
-
-    return Calamares::JobResult::error( map.value( "message" ).toString(), map.value( "details" ).toString() );
-}
diff --git a/src/libcalamaresui/viewpages/PythonQtJob.h b/src/libcalamaresui/viewpages/PythonQtJob.h
deleted file mode 100644
index 4d48921e1a..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtJob.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#ifndef PYTHONQTJOB_H
-#define PYTHONQTJOB_H
-
-#include "Job.h"
-
-#include <PythonQt.h>
-
-namespace Calamares
-{
-class PythonQtViewStep;
-}
-
-class PythonQtJobResult : public QObject, public Calamares::JobResult
-{
-    Q_OBJECT
-public:
-    explicit PythonQtJobResult( bool ok, const QString& message, const QString& details )
-        : QObject( nullptr )
-        , Calamares::JobResult( message, details, ok ? 0 : Calamares::JobResult::GenericError )
-    {
-    }
-};
-
-
-class PythonQtJob : public Calamares::Job
-{
-    Q_OBJECT
-public:
-    virtual ~PythonQtJob() {}
-
-    QString prettyName() const override;
-    QString prettyDescription() const override;
-    QString prettyStatusMessage() const override;
-    Calamares::JobResult exec() override;
-
-private:
-    explicit PythonQtJob( PythonQtObjectPtr cxt, PythonQtObjectPtr pyJob, QObject* parent = nullptr );
-    friend class Calamares::PythonQtViewStep;  // only this one can call the ctor
-
-    PythonQtObjectPtr m_cxt;
-    PythonQtObjectPtr m_pyJob;
-};
-
-#endif  // PYTHONQTJOB_H
diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp
deleted file mode 100644
index 4cd72f8c04..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#include "PythonQtUtilsWrapper.h"
-
-#include "partition/Mount.h"
-#include "utils/CalamaresUtilsSystem.h"
-#include "utils/Logger.h"
-#include "utils/String.h"
-
-#include <PythonQt.h>
-
-
-Utils::Utils( QObject* parent )
-    : QObject( parent )
-    , m_exceptionCxt( PythonQt::self()->createUniqueModule() )
-{
-    PythonQt::self()->evalScript( m_exceptionCxt, "import subprocess" );
-}
-
-
-void
-Utils::debug( const QString& s ) const
-{
-    cDebug() << "PythonQt DBG>" << s;
-}
-
-
-int
-Utils::mount( const QString& device_path,
-              const QString& mount_point,
-              const QString& filesystem_name,
-              const QString& options ) const
-{
-    return CalamaresUtils::Partition::mount( device_path, mount_point, filesystem_name, options );
-}
-
-
-int
-Utils::target_env_call( const QString& command, const QString& stdin, int timeout ) const
-{
-    return CalamaresUtils::System::instance()->targetEnvCall(
-        command, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
-}
-
-
-int
-Utils::target_env_call( const QStringList& args, const QString& stdin, int timeout ) const
-{
-    return CalamaresUtils::System::instance()->targetEnvCall(
-        args, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
-}
-
-
-int
-Utils::check_target_env_call( const QString& command, const QString& stdin, int timeout ) const
-{
-    int ec = target_env_call( command, stdin, timeout );
-    return _handle_check_target_env_call_error( ec, command );
-}
-
-
-int
-Utils::check_target_env_call( const QStringList& args, const QString& stdin, int timeout ) const
-{
-    int ec = target_env_call( args, stdin, timeout );
-    return _handle_check_target_env_call_error( ec, args.join( ' ' ) );
-}
-
-
-QString
-Utils::check_target_env_output( const QString& command, const QString& stdin, int timeout ) const
-{
-    QString output;
-    int ec = CalamaresUtils::System::instance()->targetEnvOutput(
-        command, output, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
-    _handle_check_target_env_call_error( ec, command );
-    return output;
-}
-
-
-QString
-Utils::check_target_env_output( const QStringList& args, const QString& stdin, int timeout ) const
-{
-    QString output;
-    int ec = CalamaresUtils::System::instance()->targetEnvOutput(
-        args, output, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) );
-    _handle_check_target_env_call_error( ec, args.join( ' ' ) );
-    return output;
-}
-
-
-QString
-Utils::obscure( const QString& string ) const
-{
-    return CalamaresUtils::obscure( string );
-}
-
-
-int
-Utils::_handle_check_target_env_call_error( int ec, const QString& cmd ) const
-{
-    if ( ec )
-    {
-        QString raise = QString( "raise subprocess.CalledProcessError(%1,\"%2\")" ).arg( ec ).arg( cmd );
-        PythonQt::self()->evalScript( m_exceptionCxt, raise );
-    }
-    return ec;
-}
diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h
deleted file mode 100644
index e392491851..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#ifndef PYTHONQTUTILSWRAPPER_H
-#define PYTHONQTUTILSWRAPPER_H
-
-#include <PythonQtObjectPtr.h>
-
-#include <QObject>
-
-
-/**
- * @brief The Utils class wraps around functions from CalamaresUtils to make them
- * available in the PythonQt interface.
- */
-class Utils : public QObject
-{
-    Q_OBJECT
-public:
-    explicit Utils( QObject* parent = nullptr );
-    virtual ~Utils() {}
-
-public slots:
-    void debug( const QString& s ) const;
-
-    int mount( const QString& device_path,
-               const QString& mount_point,
-               const QString& filesystem_name,
-               const QString& options ) const;
-
-    int target_env_call( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const;
-
-    int target_env_call( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const;
-
-    int check_target_env_call( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const;
-
-    int check_target_env_call( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const;
-
-    QString check_target_env_output( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const;
-
-    QString check_target_env_output( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const;
-
-    QString obscure( const QString& string ) const;
-
-private:
-    inline int _handle_check_target_env_call_error( int ec, const QString& cmd ) const;
-
-    PythonQtObjectPtr m_exceptionCxt;
-};
-
-#endif  // PYTHONQTUTILSWRAPPER_H
diff --git a/src/libcalamaresui/viewpages/PythonQtViewStep.cpp b/src/libcalamaresui/viewpages/PythonQtViewStep.cpp
deleted file mode 100644
index df3c119943..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtViewStep.cpp
+++ /dev/null
@@ -1,203 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#include "PythonQtViewStep.h"
-#include "utils/CalamaresUtilsGui.h"
-#include "utils/Logger.h"
-#include "utils/PythonQtUtils.h"
-#include "utils/Retranslator.h"
-#include "viewpages/PythonQtJob.h"
-
-#include <gui/PythonQtScriptingConsole.h>
-
-#include <QBoxLayout>
-#include <QWidget>
-
-
-namespace Calamares
-{
-
-PythonQtViewStep::PythonQtViewStep( PythonQtObjectPtr cxt, QObject* parent )
-    : ViewStep( parent )
-    , m_widget( new QWidget() )
-    , m_cxt( cxt )
-{
-    PythonQt* pq = PythonQt::self();
-    Q_ASSERT( pq );
-
-    // The @calamares_module decorator should have filled _calamares_module_typename
-    // for us.
-    QString className = m_cxt.getVariable( "_calamares_module_typename" ).toString();
-
-    // Instantiate an object of the class marked with @calamares_module and
-    // store it as _calamares_module.
-    pq->evalScript( m_cxt, QString( "_calamares_module = %1()" ).arg( className ) );
-    m_obj = pq->lookupObject( m_cxt, "_calamares_module" );
-
-    Q_ASSERT( !m_obj.isNull() );  // no entry point, no party
-
-    // Prepare the base widget for the module's pages
-    m_widget->setLayout( new QVBoxLayout );
-    CalamaresUtils::unmarginLayout( m_widget->layout() );
-    m_cxt.addObject( "_calamares_module_basewidget", m_widget );
-
-    CALAMARES_RETRANSLATE_FOR(
-        m_widget,
-        CalamaresUtils::lookupAndCall( m_obj, { "retranslate" }, { CalamaresUtils::translatorLocaleName() } ); )
-}
-
-
-QString
-PythonQtViewStep::prettyName() const
-{
-    return CalamaresUtils::lookupAndCall( m_obj, { "prettyName", "prettyname", "pretty_name" } ).toString();
-}
-
-
-QWidget*
-PythonQtViewStep::widget()
-{
-    if ( m_widget->layout()->count() > 1 )
-        cWarning() << "PythonQtViewStep wrapper widget has more than 1 child. "
-                      "This should never happen.";
-
-    bool nothingChanged
-        = m_cxt.evalScript( "_calamares_module.widget() in _calamares_module_basewidget.children()" ).toBool();
-    if ( nothingChanged )
-    {
-        return m_widget;
-    }
-
-    // Else, we either don't have a child widget, or we have a child widget that
-    // was previously set and doesn't apply any more since the Python module
-    // set a new one.
-
-    // First we clear the layout, which should only ever have 1 item.
-    // We only remove from the layout and not delete because Python is in charge
-    // of memory management for these widgets.
-    while ( m_widget->layout()->itemAt( 0 ) )
-    {
-        m_widget->layout()->takeAt( 0 );
-    }
-
-    m_cxt.evalScript( "_calamares_module_basewidget.layout().addWidget(_calamares_module.widget())" );
-
-    return m_widget;
-}
-
-
-void
-PythonQtViewStep::next()
-{
-    CalamaresUtils::lookupAndCall( m_obj, { "next" } );
-}
-
-
-void
-PythonQtViewStep::back()
-{
-    CalamaresUtils::lookupAndCall( m_obj, { "back" } );
-}
-
-
-bool
-PythonQtViewStep::isNextEnabled() const
-{
-    return CalamaresUtils::lookupAndCall( m_obj, { "isNextEnabled", "isnextenabled", "is_next_enabled" } ).toBool();
-}
-
-
-bool
-PythonQtViewStep::isBackEnabled() const
-{
-    return CalamaresUtils::lookupAndCall( m_obj, { "isBackEnabled", "isbackenabled", "is_back_enabled" } ).toBool();
-}
-
-
-bool
-PythonQtViewStep::isAtBeginning() const
-{
-    return CalamaresUtils::lookupAndCall( m_obj, { "isAtBeginning", "isatbeginning", "is_at_beginning" } ).toBool();
-}
-
-
-bool
-PythonQtViewStep::isAtEnd() const
-{
-    return CalamaresUtils::lookupAndCall( m_obj, { "isAtEnd", "isatend", "is_at_end" } ).toBool();
-}
-
-void
-PythonQtViewStep::onActivate()
-{
-    CalamaresUtils::lookupAndCall( m_obj, { "onActivate", "onactivate", "on_activate" } );
-}
-
-void
-PythonQtViewStep::onLeave()
-{
-    CalamaresUtils::lookupAndCall( m_obj, { "onLeave", "onleave", "on_leave" } );
-}
-
-
-JobList
-PythonQtViewStep::jobs() const
-{
-    JobList jobs;
-
-    PythonQtObjectPtr jobsCallable = PythonQt::self()->lookupCallable( m_obj, "jobs" );
-    if ( jobsCallable.isNull() )
-    {
-        return jobs;
-    }
-
-    PythonQtObjectPtr response = PythonQt::self()->callAndReturnPyObject( jobsCallable );
-    if ( response.isNull() )
-    {
-        return jobs;
-    }
-
-    PythonQtObjectPtr listPopCallable = PythonQt::self()->lookupCallable( response, "pop" );
-    if ( listPopCallable.isNull() )
-    {
-        return jobs;
-    }
-
-    forever
-    {
-        PythonQtObjectPtr aJob = PythonQt::self()->callAndReturnPyObject( listPopCallable, { 0 } );
-        if ( aJob.isNull() )
-        {
-            break;
-        }
-
-        jobs.append( Calamares::job_ptr( new PythonQtJob( m_cxt, aJob ) ) );
-    }
-
-    return jobs;
-}
-
-
-void
-PythonQtViewStep::setConfigurationMap( const QVariantMap& configurationMap )
-{
-    m_obj.addVariable( "configuration", configurationMap );
-}
-
-
-QWidget*
-PythonQtViewStep::createScriptingConsole()
-{
-    PythonQtScriptingConsole* console = new PythonQtScriptingConsole( nullptr, m_cxt );
-    console->setProperty( "classname", m_cxt.getVariable( "_calamares_module_typename" ).toString() );
-    return console;
-}
-
-}  // namespace Calamares
diff --git a/src/libcalamaresui/viewpages/PythonQtViewStep.h b/src/libcalamaresui/viewpages/PythonQtViewStep.h
deleted file mode 100644
index b23a540b9a..0000000000
--- a/src/libcalamaresui/viewpages/PythonQtViewStep.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* === This file is part of Calamares - <https://calamares.io> ===
- *
- *   SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
- *   SPDX-License-Identifier: GPL-3.0-or-later
- *
- *   Calamares is Free Software: see the License-Identifier above.
- *
- */
-
-#ifndef PYTHONQTVIEWSTEP_H
-#define PYTHONQTVIEWSTEP_H
-
-#include "ViewStep.h"
-
-#include <PythonQt.h>
-
-namespace Calamares
-{
-
-class PythonQtViewStep : public Calamares::ViewStep
-{
-    Q_OBJECT
-public:
-    PythonQtViewStep( PythonQtObjectPtr cxt, QObject* parent = nullptr );
-
-    QString prettyName() const override;
-
-    QWidget* widget() override;
-
-    void next() override;
-    void back() override;
-    void onLeave() override;
-    void onActivate() override;
-
-    bool isNextEnabled() const override;
-    bool isBackEnabled() const override;
-
-    bool isAtBeginning() const override;
-    bool isAtEnd() const override;
-
-    JobList jobs() const override;
-
-    void setConfigurationMap( const QVariantMap& configurationMap ) override;
-
-    QWidget* createScriptingConsole();
-
-protected:
-    QWidget* m_widget;
-
-private:
-    PythonQtObjectPtr m_cxt;
-    PythonQtObjectPtr m_obj;
-};
-
-}  // namespace Calamares
-
-#endif  // PYTHONQTVIEWSTEP_H
diff --git a/src/libcalamaresui/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h
index c20a9d3967..22e72e5fd5 100644
--- a/src/libcalamaresui/viewpages/ViewStep.h
+++ b/src/libcalamaresui/viewpages/ViewStep.h
@@ -29,8 +29,7 @@ namespace Calamares
  * A view module is a Calamares module which has at least one UI page (exposed as
  * ViewStep::widget), and can optionally create Calamares jobs at runtime.
  * As of early 2020, a view module can be implemented by deriving from ViewStep
- * in C++ (as a Qt Plugin or a Qml ViewStep) or in Python with the PythonQt interface
- * (which also mimics the ViewStep class).
+ * in C++ (as a Qt Plugin or a Qml ViewStep).
  *
  * A ViewStep can describe itself in human-readable format for the SummaryPage
  * (which shows all of the things which have been collected to be done in the
diff --git a/src/modules/README.md b/src/modules/README.md
index d3611448c0..859b4e688b 100644
--- a/src/modules/README.md
+++ b/src/modules/README.md
@@ -283,17 +283,6 @@ description if something went wrong.
 **TODO:** this needs documentation
 
 
-
-## PythonQt modules (deprecated)
-
-> Type: viewmodule, jobmodule
-> Interface: pythonqt
-
-The PythonQt modules are deprecated and will be removed in Calamares 3.3.
-Their documentation is also almost completely lacking.
-
-
-
 ## Process modules
 
 Use of this kind of module is **not** recommended.
diff --git a/src/modules/dummypythonqt/dummypythonqt.conf b/src/modules/dummypythonqt/dummypythonqt.conf
deleted file mode 100644
index 6caf9cc186..0000000000
--- a/src/modules/dummypythonqt/dummypythonqt.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-FileCopyrightText: no
-# SPDX-License-Identifier: CC0-1.0
-#
-# This is a dummy (example) module for PythonQt.
-#
-# The code is the documentation for the configuration file.
----
-syntax: "YAML map of anything"
-example:
-    whats_this: "module-specific configuration"
-    from_where: "dummypythonqt.conf"
-a_list:
-    - "item1"
-    - "item2"
-    - "item3"
-    - "item4"
-a_list_of_maps:
-    - name: "an Item"
-      contents:
-        - "an element"
-        - "another element"
-    - name: "another item"
-      contents:
-        - "not much"
diff --git a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 91d430930f..0000000000
--- a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018\n"
-"Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ar\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "اضغط علي!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "QLabel جديد"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "دميه خطوة PythonQt "
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "دميه عملية PythonQt "
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "هذة دميه عملية خطوة PythonQt. و تقول: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "رسالة حاله دميه عملية خطوة PythonQt"
diff --git a/src/modules/dummypythonqt/lang/as/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/as/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 75d63e46ec..0000000000
--- a/src/modules/dummypythonqt/lang/as/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Deep Jyoti Choudhury <deep.choudhury@libresoft.in>, 2020
-# Wrishiraj Kaushik <wrix@libresoft.in>, 2020
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-02-19 17:27+0100\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Wrishiraj Kaushik <wrix@libresoft.in>, 2020\n"
-"Language-Team: Assamese (https://www.transifex.com/calamares/teams/20061/as/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: as\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "ইয়াত ক্লিক কৰক!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "এটা নতুন QLabel।"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "ডামী পাইথন-কিউট্ ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "ডামী পাইথন-কিউট্ কায্য"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "এইটোৱে ডামী পাইথন-কিউট্ কাৰ্য্য। ডামী কাৰ্য্যটোৱে কয় যে: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "ডামী পাইথন-কিউট্ কায্যৰ বাবে এটা অৱস্থা বাৰ্তা।"
diff --git a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 1807e45d6a..0000000000
--- a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# enolp <enolp@softastur.org>, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-22 07:09-0500\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: enolp <enolp@softastur.org>, 2019\n"
-"Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ast\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "¡Cálcame!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Una QLabel nueva."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "ViewStep maniquín en PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "El trabayu maniquín en PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Esti ye'l trabayu maniquín en PythonQt. El trabayu maniquín diz: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un mensaxe d'estáu pal trabayu maniquín en PythonQt."
diff --git a/src/modules/dummypythonqt/lang/be/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/be/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index c14151114a..0000000000
--- a/src/modules/dummypythonqt/lang/be/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Zmicer Turok <nashtlumach@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-10 19:18-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Zmicer Turok <nashtlumach@gmail.com>, 2018\n"
-"Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: be\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Націсніце сюды! "
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Новы QLabel. "
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "The Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Гэта Dummy PythonQt Job. Фіктыўная задача паведамляе: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Паведамленне статусу Dummy PythonQt Job. "
diff --git a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 831105b95c..0000000000
--- a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Georgi Georgiev <georgiev_1994@abv.bg>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Georgi Georgiev <georgiev_1994@abv.bg>, 2018\n"
-"Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: bg\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Натисни ме!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Нов QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Фиктивен PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Фиктивната задача PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Това е фиктивната задача PythonQt. Фиктивната задача заявява: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Съобщение за състоянието на фиктивната задача PythonQt."
diff --git a/src/modules/dummypythonqt/lang/bn/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/bn/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index d2783e5e38..0000000000
--- a/src/modules/dummypythonqt/lang/bn/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-30 23:13+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Bengali (https://www.transifex.com/calamares/teams/20061/bn/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: bn\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 19f669849e..0000000000
--- a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Davidmp <medipas@gmail.com>, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-10 19:18-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Davidmp <medipas@gmail.com>, 2019\n"
-"Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ca\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Clica'm!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Una etiqueta Q nova."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Vistes de Dummy PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "La tasca Dummy PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Soc la tasca Dummy PythonQt. La tasca diu el següent: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un missatge d'estat per a la tasca Dummy PythonQt."
diff --git a/src/modules/dummypythonqt/lang/ca@valencia/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ca@valencia/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index e67e371f30..0000000000
--- a/src/modules/dummypythonqt/lang/ca@valencia/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-10 19:18-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ca@valencia\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 44cd1e2d41..0000000000
--- a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# pavelrz, 2017
-# Pavel Borecki <pavel.borecki@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-22 07:09-0500\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2017\n"
-"Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: cs_CZ\n"
-"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klikněte na mě!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Nový QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Testovací PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Testovací úloha PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Toto je testovací úloha PythonQt. Testovací úloha sděluje: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Stavová zpráva o testovací úloze PythonQt."
diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 5a1473adda..0000000000
--- a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# scootergrisen, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: scootergrisen, 2017\n"
-"Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: da\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klik på mig!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "En ny QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt-visningstrin"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Dummy PythonQt-jobbet"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Dette er dummy PythonQt-jobbet. Dummy-jobbet siger: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "En statusmeddelelse til dummy PythonQt-job."
diff --git a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index b0121397fd..0000000000
--- a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Christian Spaan, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Christian Spaan, 2017\n"
-"Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: de\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klick mich!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Ein neues QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Der Dummy-PythonQt-Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Dies ist der Dummy-PythonQt-Job. Der Dummy-Job lautet: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Eine Statusmeldung für den Dummy-PythonQt-Job."
diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot
deleted file mode 100644
index 57546f55e1..0000000000
--- a/src/modules/dummypythonqt/lang/dummypythonqt.pot
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-14 16:14+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-#: src/modules/dummypythonqt/main.py:75
-msgid "Click me!"
-msgstr "Click me!"
-
-#: src/modules/dummypythonqt/main.py:85
-msgid "A new QLabel."
-msgstr "A new QLabel."
-
-#: src/modules/dummypythonqt/main.py:88
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:174
-msgid "The Dummy PythonQt Job"
-msgstr "The Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:177
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "This is the Dummy PythonQt Job. The dummy job says: {}"
-
-#: src/modules/dummypythonqt/main.py:181
-msgid "A status message for Dummy PythonQt Job."
-msgstr "A status message for Dummy PythonQt Job."
diff --git a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 3163846194..0000000000
--- a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: el\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index a0e21be1fa..0000000000
--- a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Jason Collins <JasonPCollins@protonmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Jason Collins <JasonPCollins@protonmail.com>, 2018\n"
-"Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: en_GB\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Click me!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "A new QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "The Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "This is the Dummy PythonQt Job. The dummy job says: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "A status message for Dummy PythonQt Job."
diff --git a/src/modules/dummypythonqt/lang/eo/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/eo/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index a656d0608c..0000000000
--- a/src/modules/dummypythonqt/lang/eo/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Kurt Ankh Phoenix <kurtphoenix@tuta.io>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Kurt Ankh Phoenix <kurtphoenix@tuta.io>, 2018\n"
-"Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eo\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Alklaku min!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Nova QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Formala PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "La Formala PythonQt Laboro"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ĉi tiu estas la Formala PythonQt Laboro. La formala laboro diras: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Statusa mesaĝo por Formala PythonQt Laboro."
diff --git a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index b29ba10b37..0000000000
--- a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# strel, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: strel, 2017\n"
-"Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "¡Púlsame!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Una nueva QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "ViewStep de PythonQt Ficticia"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "La Tarea PythonQt Ficticia"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Esta es la Tarea PythonQt Ficticia. La tarea ficticia dice: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un mensaje de estado para la Tarea PythonQt Ficticia."
diff --git a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 6dc2d8278d..0000000000
--- a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# guillermo pacheco <guillopacheco@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: guillermo pacheco <guillopacheco@gmail.com>, 2018\n"
-"Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: es_MX\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "¡Haz clic en mí!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Una nueva QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Vision del PythonQt ficticio"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Trabajo del PythonQt ficticio"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Este es el Trabajo PythonQt ficticio. El trabajo ficticio dice: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un mensaje de estado para el trabajo PythonQt ficticio."
diff --git a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 1b767f1ad5..0000000000
--- a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: es_PR\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 4ab56cc0f9..0000000000
--- a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Madis Otenurm, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-07-06 01:16+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Madis Otenurm, 2018\n"
-"Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: et\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klõpsa mind!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Uus QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Testiv PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Testiv PythonQt Töö"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "See on testiv PythonQt töö. Testiv töö ütleb: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Olekusõnum testivale PythonQt tööle."
diff --git a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index a336c22a00..0000000000
--- a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Ander Elortondo, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Ander Elortondo, 2019\n"
-"Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Egidazu klik!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "QLabel berria."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt pauso-ikuspegia"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr " Dummy PythonQt lana"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Hau  Dummy PythonQt lana da. Dummy lanak zera dio: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Dummy PythonQt lanaren egoera mezua."
diff --git a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 373a4c3e90..0000000000
--- a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Danial Behzadi <dani.behzi@ubuntu.com>, 2020
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-30 23:13+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>, 2020\n"
-"Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fa\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "کلیکم کنید!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "یک QLabel جدید."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "گام نمایش PythonQt الکی"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "کار PythonQt الکی"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "این کار PythonQt الکی است. کار الکی می‌گوید: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "پیام وضعیتی برای کار PythonQt الکی."
diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 1d8526f2a8..0000000000
--- a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Assalat3 <assalat3@gmail.com>, 2017
-# Kimmo Kujansuu <mrkujansuu@gmail.com>, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-10 19:18-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>, 2019\n"
-"Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fi_FI\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klikkaa minua!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Uusi Qtyönimi."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Näppärä Python Qt-näkymä"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Näppärä Python Qt-työkalu"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Tämä on näppärä Python Qt-työkalu. Näennäinen työ sanoo: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Python Qt-työkalun tilailmoitus."
diff --git a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index fe75d0c552..0000000000
--- a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Paul Combal <abonnementspaul@gmail.com>, 2017
-# Aestan <anthony.margerand@protonmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Aestan <anthony.margerand@protonmail.com>, 2018\n"
-"Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Cliquez-moi!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Un nouveau QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "ViewStep Factice PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Tâche Factice PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ceci est la tâche factice PythonQt. La tâche factice dit : {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un message d'état pour la tâche factice PythonQt."
diff --git a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 9e8862d549..0000000000
--- a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fr_CH\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index c7917c72bf..0000000000
--- a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Xosé, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Xosé, 2018\n"
-"Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: gl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Prémeme!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Unha QLabel nova."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "ViewStep parvo de PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "A tarefa parva de PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Esta é a tarefa parva de PythonQt. A tarefa parva di: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Unha mensaxe parva para Dummy PythonQt Job."
diff --git a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 62b6d55605..0000000000
--- a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: gu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 1d4c544a84..0000000000
--- a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Eli Shleifer <eligator@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Eli Shleifer <eligator@gmail.com>, 2017\n"
-"Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: he\n"
-"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "לחץ עליי!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "QLabel חדש."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "שלב הצפייה של משימת הדמה של PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "משימת הדמה של PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "זוהי משימת הדמה של PythonQt. משימת הדמה אומרת: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "הודעת מצב עבור משימת דמה של PythonQt."
diff --git a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 4f43a75f86..0000000000
--- a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Panwar108 <caspian7pena@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Panwar108 <caspian7pena@gmail.com>, 2018\n"
-"Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: hi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "यहाँ क्लिक करें!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "नया QLabel।"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "डमी पाइथन प्रक्रिया की चरण संख्या देखें"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "डमी पाइथन प्रक्रिया"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "यह डमी पाइथन प्रक्रिया है। डमी प्रक्रिया संबंधी संदेश : {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "डमी पाइथन प्रक्रिया की अवस्था संबंधी संदेश।"
diff --git a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index a6e05ada62..0000000000
--- a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Lovro Kudelić <lovro.kudelic@outlook.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Lovro Kudelić <lovro.kudelic@outlook.com>, 2017\n"
-"Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: hr\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klikni me!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Novi QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Testni PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Testni PythonQt posao"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ovo je testni PythonQt posao. Testni posao kaže: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Statusna poruka za testni PythonQt posao."
diff --git a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index bae97b375d..0000000000
--- a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Lajos Pasztor <mrlajos@gmail.com>, 2016
-# miku84, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: miku84, 2017\n"
-"Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: hu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Kattints ide!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Egy új QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Hamis PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Egy PythonQt Job teszt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ez egy PythonQt Job teszt. A teszt job azt mondja: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Sztátus üzenet egy PythonQt Job-hoz."
diff --git a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 41a0444c09..0000000000
--- a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Kukuh Syafaat <syafaatkukuh@gmail.com>, 2016
-# Wantoyèk <wantoyek@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-30 23:13+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Wantoyèk <wantoyek@gmail.com>, 2017\n"
-"Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: id\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klik saya!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Sebuah QLabel baru."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ini adalah Dummy PythonQt Job. Dummy job mengatakan: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Sebuah pesan status untuk Dummy PythonQt Job."
diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index ed89dbc18c..0000000000
--- a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Kristján Magnússon, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Kristján Magnússon, 2017\n"
-"Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: is\n"
-"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Smelltu mig!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Nýtt QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Þetta er Dummy PythonQt Job. Dummy job segir: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Stöðuskilaboð fyrir Dummy PythonQt Job."
diff --git a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 211f9d9c26..0000000000
--- a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Teo Mrnjavac <teo@kde.org>, 2016
-# Saverio <saverio.brancaccio@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-22 07:09-0500\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Saverio <saverio.brancaccio@gmail.com>, 2018\n"
-"Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: it_IT\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Clicca qui!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Una nuova QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "PythonQt ViewStep fittizio"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Il Job Dummy PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Questo è il Job Dummy PythonQt. Il dummy job notifica: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un messaggio di stato per il Job Dummy PythonQt."
diff --git a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 6ed47ce1bd..0000000000
--- a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Takefumi Nagata, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Takefumi Nagata, 2017\n"
-"Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ja\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "クリックしてください!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "新しいQLabel"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "The Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "これはDummy PythonQtジョブです。Dummy ジョブの出力: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "ダミーのPythonQtジョブの状態"
diff --git a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 1d941e24eb..0000000000
--- a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: kk\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/kn/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/kn/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index ff9def1e00..0000000000
--- a/src/modules/dummypythonqt/lang/kn/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: kn\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/ko/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ko/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index e6dc4af27c..0000000000
--- a/src/modules/dummypythonqt/lang/ko/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# MarongHappy <daemul72@gmail.com>, 2019
-# 김지현 <potatogim@potatogim.net>, 2020
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-02-19 17:27+0100\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: 김지현 <potatogim@potatogim.net>, 2020\n"
-"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ko\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "여기를 클릭하세요!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "새로운 QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "더미 PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "더미 PythonQt 작업"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "더미 PythonQt 작업입니다. 이 더미 작업의 출력은 다음과 같습니다: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "더미 PythonQt 작업의 상태 메시지"
diff --git a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 87614dc887..0000000000
--- a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: lo\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 443ab99d8b..0000000000
--- a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Moo, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Moo, 2017\n"
-"Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: lt\n"
-"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Spustelėkite mane!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Naujas QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Fiktyvi PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Fiktyvi PythonQt užduotis"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Tai yra fiktyvi PythonQt užduotis. Fiktyvi užduotis sako: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Fiktyvios PythonQt užduoties būsenos pranešimas."
diff --git a/src/modules/dummypythonqt/lang/lv/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lv/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 651fe2fa44..0000000000
--- a/src/modules/dummypythonqt/lang/lv/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-30 23:13+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Latvian (https://www.transifex.com/calamares/teams/20061/lv/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: lv\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/mk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/mk/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 82998bf479..0000000000
--- a/src/modules/dummypythonqt/lang/mk/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Martin Ristovski <martinristovski@protonmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Martin Ristovski <martinristovski@protonmail.com>, 2018\n"
-"Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: mk\n"
-"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Кликни ме!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Нов QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index faf7737705..0000000000
--- a/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Balasankar C <balasankarc@autistici.org>, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-09-15 21:54+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Balasankar C <balasankarc@autistici.org>, 2019\n"
-"Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ml\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "എന്നെ ക്ലിക്ക് ചെയ്യൂ!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "ഒരു പുതിയ QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index eaafadeac5..0000000000
--- a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: mr\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 4bf83c2830..0000000000
--- a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: nb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/ne_NP/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ne_NP/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 37f213df29..0000000000
--- a/src/modules/dummypythonqt/lang/ne_NP/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Ghost Hackz <ghosthackz861@gmail.com>, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-01-25 08:04-0500\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Ghost Hackz <ghosthackz861@gmail.com>, 2019\n"
-"Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ne_NP\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "यहाँ क्लिक गर्नुहोस्!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "नयाँ QLabel।"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "डमी पाइथन भ्यूस्टेप"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "डमी पाइथन प्रकृया"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "यो डमी पाइथन प्रकृया हो। डमी प्रकृया सम्बन्धित सन्देश: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "डमी पाइथन प्रकृयाको अवस्था सम्बन्धित सन्देश।"
diff --git a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 7f17f99735..0000000000
--- a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# De Zeeappel <zeeappel@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: De Zeeappel <zeeappel@gmail.com>, 2017\n"
-"Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: nl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klik mij!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Een nieuw QLabel"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "De Dummy PythonQt opdracht"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Dit is de Dummy PythonQt opdracht. De opdracht zegt: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Een statusbericht voor de Dummy PythonQt opdracht."
diff --git a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 8502113bd9..0000000000
--- a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Marcin Mikołajczak <me@mkljczk.pl>, 2016
-# Piotr Strębski <strebski@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-10 19:18-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2017\n"
-"Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: pl\n"
-"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Naciśnij mnie!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Nowy QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Podgląd kroków fikcyjnego PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Zadanie fikcyjne PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "To jest zadanie fikcyjne PythonQt mówiące: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Wiadomość o stanie zadania fikcyjnego PythonQt."
diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 4e5391043b..0000000000
--- a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2017
-# Guilherme, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-25 23:02+0100\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Guilherme, 2018\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_BR\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Clique em mim!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Uma nova QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "ViewStep do Modelo PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "A Tarefa de Modelo PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Esta é a Tarefa Modelo PythonQt. A tarefa modelo diz: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Uma mensagem de status para a Tarefa Modelo PythonQt."
diff --git a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 952413cfac..0000000000
--- a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Ricardo Simões <xmcorporation@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Ricardo Simões <xmcorporation@gmail.com>, 2017\n"
-"Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_PT\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Clique-me!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Uma nova QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "A Tarefa Dummy PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Esta é a tarefa Dummy PythonQt. A tarefa dummy diz: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Uma mensagem de estado para a Tarefa Dummy PythonQt."
diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 3ac2bfcba4..0000000000
--- a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Baadur Jobava <jobaval10n@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Baadur Jobava <jobaval10n@gmail.com>, 2018\n"
-"Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ro\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Clic aici!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Un nou QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Un job job fictiv PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Acesta este jobul fictiv PythonQt. Descrierea jobului: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Un mesaj de stare pentru jobul fictiv PythonQt."
diff --git a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index cedc4d4833..0000000000
--- a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Вадим Сабынич <vadim@sabini.ch>, 2017
-# Simon Schwartz <arzardk@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Simon Schwartz <arzardk@gmail.com>, 2017\n"
-"Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ru\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Нажать здесь!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Новый QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "The Dummy PythonQt Job"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Сообщение состояния для Dummy PythonQt Job."
diff --git a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 9c1d60dfde..0000000000
--- a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Dušan Kazik <prescott66@gmail.com>, 2016
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Dušan Kazik <prescott66@gmail.com>, 2016\n"
-"Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sk\n"
-"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Kliknite sem!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Nová menovka QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Fiktívna úloha PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Toto je fiktívna úloha PythonQt. Fiktívna úloha hovorí: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Stavová správa pre fiktívnu úlohu PythonQt."
diff --git a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 178fc694ab..0000000000
--- a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sl\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 6335e9c561..0000000000
--- a/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Besnik Bleta <besnik@programeshqip.org>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-15 13:39+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Besnik Bleta <besnik@programeshqip.org>, 2017\n"
-"Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sq\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klikomëni!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Një QLabel e re."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Dummy PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Akti PythonQt Dummy"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ky është Akti PythonQt Dummy. Akti dummy thotë: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Një mesazh gjendjeje nga Akti PythonQt Dummy."
diff --git a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 6660b15006..0000000000
--- a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Slobodan Simić <slsimic@gmail.com>, 2019
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-18 15:54+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Slobodan Simić <slsimic@gmail.com>, 2019\n"
-"Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sr\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Кликни ме!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Нова КуОзнака"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Провизорни ПитонКуТ корак прегледа"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Провизорни ПитонКуТ посао"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Ово је провизорни ПитонКуТ посао. Он каже: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Порука стања за провизорни ПитонКуТ посао."
diff --git a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index b3e4fe47b6..0000000000
--- a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-22 07:09-0500\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sr@latin\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 192ed25e68..0000000000
--- a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Luna Jernberg <bittin@cafe8bitar.se>, 2020
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-03-19 00:13+0100\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Luna Jernberg <bittin@cafe8bitar.se>, 2020\n"
-"Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: sv\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Klicka på mig!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "En ny QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Exempel PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Exempel PythonQt jobb"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Detta är ett exempel PythonQt jobb. Exempel jobbet säger: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Ett statusmeddelande för exempel PythonQt jobb."
diff --git a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 22d3044580..0000000000
--- a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: th\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index fe0f567c51..0000000000
--- a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Demiray Muhterem <mdemiray@msn.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Demiray Muhterem <mdemiray@msn.com>, 2017\n"
-"Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: tr_TR\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Buraya tıkla!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Yeni bir QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Sahte PythonQt görünümü"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Sahte PythonQt işleri"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Kukla PythonQt işleri. Sahte işleri şöyle diyor: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Kukla PythonQt Çalışması için bir durum mesajı."
diff --git a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index bcf3b814a5..0000000000
--- a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Yuri Chornoivan <yurchor@ukr.net>, 2020
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-02-19 17:27+0100\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>, 2020\n"
-"Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: uk\n"
-"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "Натисни мене!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "Нова QLabel."
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "Фіктивний ViewStep PythonQt"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "Фіктивне завдання PythonQt"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "Це фіктивне завдання PythonQt. Фіктивне завдання повідомляє: {}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "Повідомлення щодо стану фіктивного завдання PythonQt."
diff --git a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 54352d479c..0000000000
--- a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ur\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index 75584e15c7..0000000000
--- a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-05 11:34-0400\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: uz\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr ""
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr ""
diff --git a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index d7baa50f25..0000000000
--- a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,47 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# Mingcong Bai <jeffbai@aosc.xyz>, 2017
-# soenggam <senggemg@gmail.com>, 2018
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-22 07:09-0500\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: soenggam <senggemg@gmail.com>, 2018\n"
-"Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "按我按我!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "一个新的QLabel。"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "坠吼滴 PythonQt ViewStep"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "PythonQt 任务"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "我是个 PythonQt 任务。任务提示:{}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "来自 PythonQt 任务的状态消息。"
diff --git a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po
deleted file mode 100644
index bc2056e1e3..0000000000
--- a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po
+++ /dev/null
@@ -1,46 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# 
-# Translators:
-# 黃柏諺 <s8321414@gmail.com>, 2017
-# 
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-07-06 01:16+0200\n"
-"PO-Revision-Date: 2016-12-16 12:18+0000\n"
-"Last-Translator: 黃柏諺 <s8321414@gmail.com>, 2017\n"
-"Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/modules/dummypythonqt/main.py:84
-msgid "Click me!"
-msgstr "點擊我!"
-
-#: src/modules/dummypythonqt/main.py:94
-msgid "A new QLabel."
-msgstr "一個新的 QLabel。"
-
-#: src/modules/dummypythonqt/main.py:97
-msgid "Dummy PythonQt ViewStep"
-msgstr "假的 PythonQt 檢視步驟"
-
-#: src/modules/dummypythonqt/main.py:183
-msgid "The Dummy PythonQt Job"
-msgstr "假的 PythonQt 工作"
-
-#: src/modules/dummypythonqt/main.py:186
-msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
-msgstr "這是一個假的 PythonQt 工作。假工作表示:{}"
-
-#: src/modules/dummypythonqt/main.py:190
-msgid "A status message for Dummy PythonQt Job."
-msgstr "假的 PythonQt 工作的狀態訊息。"
diff --git a/src/modules/dummypythonqt/main.py b/src/modules/dummypythonqt/main.py
deleted file mode 100644
index e33c20e6fb..0000000000
--- a/src/modules/dummypythonqt/main.py
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# === This file is part of Calamares - <https://calamares.io> ===
-#
-#   SPDX-FileCopyrightText: 2016-2017 Teo Mrnjavac <teo@kde.org>
-#   SPDX-FileCopyrightText: 2017 Alf Gaida <agaida@siduction.org>
-#   SPDX-License-Identifier: GPL-3.0-or-later
-#
-#   Calamares is Free Software: see the License-Identifier above.
-#
-
-import platform
-
-from PythonQt.QtGui import *
-import PythonQt.calamares as calamares
-
-# WARNING: the Calamares PythonQt API is considered EXPERIMENTAL as of
-# Calamares 2.5. It comes with no promise or commitment to API stability.
-
-
-# Set up translations.
-# You may skip this if your Calamares module has no user visible strings.
-# DO NOT install _ into the builtin namespace because each module loads
-# its own catalog.
-# DO use the gettext class-based API and manually alias _ as described in:
-# https://docs.python.org/3.5/library/gettext.html#localizing-your-module
-import gettext
-import inspect
-import os
-_filename = inspect.getframeinfo(inspect.currentframe()).filename
-_path = os.path.dirname(os.path.abspath(_filename))
-
-_ = gettext.gettext
-
-# Example Python ViewModule.
-# A Python ViewModule is a Python program which defines a ViewStep class.
-# One UI module ==> one ViewStep.
-# This class must be marked with the @calamares_module decorator. A
-# ViewModule may define other classes, but only one may be decorated with
-# @calamares_module. Such a class must conform to the Calamares ViewStep
-# interface and functions as the entry point of the module.
-# A ViewStep manages one or more "wizard pages" through methods like
-# back/next, and reports its status through isNextEnabled/isBackEnabled/
-# isAtBeginning/isAtEnd. The whole UI, including all the pages, must be
-# exposed as a single QWidget, returned by the widget function.
-#
-# For convenience, both C++ and PythonQt ViewSteps are considered to be
-# implementations of ViewStep.h. Additionally, the Calamares PythonQt API
-# allows Python developers to keep their identifiers more Pythonic on the
-# Python side. Thus, all of the following are considered valid method
-# identifiers in a ViewStep implementation: isNextEnabled, isnextenabled,
-# is_next_enabled.
-
-
-@calamares_module
-class DummyPythonQtViewStep:
-    def __init__(self):
-        # Importing PythonQt.QtGui provides access to most Qt widget classes.
-        self.main_widget = QFrame()
-
-        self.main_widget.setLayout(QVBoxLayout())
-
-        label = QLabel()
-        self.main_widget.layout().addWidget(label)
-
-        accumulator = "\nCalamares+PythonQt running embedded Python " +\
-                      platform.python_version()
-        label.text = accumulator
-
-        btn = QPushButton()
-
-        # Python strings can be used wherever a method wants a QString. Python
-        # gettext translations can be used seamlessly as well.
-        btn.setText(_("Click me!"))
-        self.main_widget.layout().addWidget(btn)
-
-        # The syntax for signal-slot connections is very simple, though
-        # slightly different from the C++ equivalent. There are no SIGNAL and
-        # SLOT macros, and a signal can be connected to any Python method
-        # (without a special "slot" designation).
-        btn.connect("clicked(bool)", self.on_btn_clicked)
-
-    def on_btn_clicked(self):
-        self.main_widget.layout().addWidget(QLabel(_("A new QLabel.")))
-
-    def prettyName(self):
-        return _("Dummy PythonQt ViewStep")
-
-    def isNextEnabled(self):
-        return True  # The "Next" button should be clickable
-
-    def isBackEnabled(self):
-        return True  # The "Back" button should be clickable
-
-    def isAtBeginning(self):
-        # True means the currently shown UI page is the first page of this
-        # module, thus a "Back" button click will not be handled by this
-        # module and will cause a skip to the previous ViewStep instead
-        # (if any). False means that the present ViewStep provides other UI
-        # pages placed logically "before" the current one, thus a "Back" button
-        # click will be handled by this module instead of skipping to another
-        # ViewStep. A module (ViewStep) with only one page will always return
-        # True here.
-        return True
-
-    def isAtEnd(self):
-        # True means the currently shown UI page is the last page of this
-        # module, thus a "Next" button click will not be handled by this
-        # module and will cause a skip to the next ViewStep instead (if any).
-        # False means that the present ViewStep provides other UI pages placed
-        # logically "after" the current one, thus a "Next" button click will
-        # be handled by this module instead of skipping to another ViewStep.
-        # A module (ViewStep) with only one page will always return True here.
-        return True
-
-    def jobs(self):
-        # Returns a list of objects that implement Calamares::Job.
-        return [DummyPQJob("Dummy PythonQt job reporting for duty")]
-
-    def widget(self):
-        # Returns the base QWidget of this module's UI.
-        return self.main_widget
-
-    def retranslate(self, locale_name):
-        # This is where it gets slightly weird. In most desktop applications we
-        # shouldn't need this kind of mechanism, because we could assume that
-        # the operating environment is configured to use a certain language.
-        # Usually the user would change the system-wide language in a settings
-        # UI, restart the application, done.
-        # Alas, Calamares runs on an unconfigured live system, and one of the
-        # core features of Calamares is to allow the user to pick a language.
-        # Unfortunately, strings in the UI do not automatically react to a
-        # runtime language change. To get UI strings in a new language, all
-        # user-visible strings must be retranslated (by calling tr() in C++ or
-        # _() in Python) and reapplied on the relevant widgets.
-        # When the user picks a new UI translation language, Qt raises a QEvent
-        # of type LanguageChange, which propagates through the QObject
-        # hierarchy. By catching and reacting to this event, we can show
-        # user-visible strings in the new language at the right time.
-        # The C++ side of the Calamares PythonQt API catches the LanguageChange
-        # event and calls the present method. It is then up to the module
-        # developer to add here all the needed code to load the module's
-        # translation catalog for the new language (which is separate from the
-        # main Calamares strings catalog) and reapply any user-visible strings.
-        calamares.utils.debug("PythonQt retranslation event "
-                              "for locale name: {}".format(locale_name))
-
-        # First we load the catalog file for the new language...
-        try:
-            global _
-            _t = gettext.translation('dummypythonqt',
-                                     localedir=os.path.join(_path, 'lang'),
-                                     languages=[locale_name])
-            _ = _t.gettext
-        except OSError as e:
-            calamares.utils.debug(e)
-            pass
-
-        # ... and then we can call setText(_("foo")) and similar methods on
-        # the relevant widgets here to reapply the strings.
-
-# An example Job class. Implements Calamares::Job. For method identifiers, the
-# same rules apply as for ViewStep. No decorators are necessary here, because
-# only the ViewStep implementation is the unique entry point, and a module can
-# have any number of jobs.
-
-
-class DummyPQJob:
-    def __init__(self, my_msg):
-        self.my_msg = my_msg
-
-    def pretty_name(self):
-        return _("The Dummy PythonQt Job")
-
-    def pretty_description(self):
-        return _("This is the Dummy PythonQt Job. "
-                 "The dummy job says: {}").format(self.my_msg)
-
-    def pretty_status_message(self):
-        return _("A status message for Dummy PythonQt Job.")
-
-    def exec(self):
-        # As an example, we touch a file in the target root filesystem.
-        rmp = calamares.global_storage['rootMountPoint']
-        os.system("touch {}/calamares_dpqt_was_here".format(rmp))
-        calamares.utils.debug("the dummy job says {}".format(self.my_msg))
-        return {'ok': True}
diff --git a/src/modules/dummypythonqt/module.desc b/src/modules/dummypythonqt/module.desc
deleted file mode 100644
index a747daeaad..0000000000
--- a/src/modules/dummypythonqt/module.desc
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-FileCopyrightText: no
-# SPDX-License-Identifier: CC0-1.0
-# Module metadata file for dummy pythonqt jobmodule
-# Syntax is YAML 1.2
----
-type:       "view"
-name:       "dummypythonqt"
-interface:  "pythonqt"
-script:     "main.py"   #assumed relative to the current directory
-- 
GitLab