Merge branch 'master' into issue-1287

This commit is contained in:
Adriaan de Groot 2020-06-09 13:25:01 +02:00
commit 8c4b6e4804
218 changed files with 3498 additions and 1697 deletions

View File

@ -17,6 +17,7 @@
#include <QSharedMemory> #include <QSharedMemory>
#include <QSharedData> #include <QSharedData>
#include <QBasicTimer> #include <QBasicTimer>
#include <QElapsedTimer>
#include <QTime> #include <QTime>
#include <algorithm> #include <algorithm>
@ -764,7 +765,7 @@ void KDSingleApplicationGuard::Private::create( const QStringList & arguments )
} }
const int maxWaitMSecs = 1000 * 60; // stop waiting after 60 seconds const int maxWaitMSecs = 1000 * 60; // stop waiting after 60 seconds
QTime waitTimer; QElapsedTimer waitTimer;
waitTimer.start(); waitTimer.start();
// lets wait till the other instance initialized the register // lets wait till the other instance initialized the register

37
CHANGES
View File

@ -3,7 +3,7 @@ contributors are listed. Note that Calamares does not have a historical
changelog -- this log starts with version 3.2.0. The release notes on the changelog -- this log starts with version 3.2.0. The release notes on the
website will have to do for older versions. website will have to do for older versions.
# 3.2.25 (unreleased) # # 3.2.26 (unreleased) #
This release contains contributions from (alphabetically by first name): This release contains contributions from (alphabetically by first name):
- No external contributors yet - No external contributors yet
@ -15,6 +15,41 @@ This release contains contributions from (alphabetically by first name):
- No module changes yet - No module changes yet
# 3.2.25 (2020-06-06) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Callum Farmer
- FLVAL
- Gaël PORTAY
## Core ##
- The slideshow in `branding.desc` can be configured with QML (recommended,
as it has been for the past umpteen releases) or with a list of
images (new).
- It is possible to turn off all the new QML code -- navigation, slideshow,
QML-based modules -- with a single `-DWITH_QML=OFF` at CMake time.
This removes QML from Calamares' dependency footprint (but only saves
200kB in Calamares itself).
- Tests have been extended and now support a tests/CMakeTests.txt file
for fine-tuning tests for Python modules.
- SPDX identifiers are used much more widely and consistently in Calamares.
(thanks Callum)
## Modules ##
- The QML based *welcomeq* module is now a viable alternative to the
*welcome*(widgets based) module. Using QML files means it no longer
is needed to have pop-up windows for additional information or warnings,
all loads in the Calamares window itself. Additional features include the
option to customize the *About* info and load files like Release Notes
direct into Calamares, QML files added to the branding directory can be used.
- The *welcome* and *locale* modules that do GeoIP lookup can now also
use "fixed" style; this just negates the GeoIP lookup and substitutes a
constant (fixed) value; useful for testing specific locales.
- The *keyboard* module no longer uses *ca_eng* keyboards in Canada by
default, but sticks to the *us* keyboard. #1419
# 3.2.24 (2020-05-11) # # 3.2.24 (2020-05-11) #
This release contains contributions from (alphabetically by first name): This release contains contributions from (alphabetically by first name):

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###
@ -40,7 +40,7 @@
cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
project( CALAMARES project( CALAMARES
VERSION 3.2.25 VERSION 3.2.26
LANGUAGES C CXX ) LANGUAGES C CXX )
set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development
@ -50,11 +50,14 @@ set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during develop
option( INSTALL_CONFIG "Install configuration files" OFF ) option( INSTALL_CONFIG "Install configuration files" OFF )
option( INSTALL_POLKIT "Install Polkit configuration" ON ) option( INSTALL_POLKIT "Install Polkit configuration" ON )
option( INSTALL_COMPLETION "Install shell completions" OFF ) option( INSTALL_COMPLETION "Install shell completions" OFF )
option( BUILD_TESTING "Build the testing tree." ON ) # Options for the calamares executable
option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF )
option( WITH_KF5Crash "Enable crash reporting with KCrash." ON ) option( WITH_KF5Crash "Enable crash reporting with KCrash." ON )
option( WITH_KF5DBus "Use DBus service for unique-application." OFF ) option( WITH_KF5DBus "Use DBus service for unique-application." OFF )
# 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 )
option( WITH_QML "Enable QML UI options." ON )
# Possible debugging flags are: # Possible debugging flags are:
# - DEBUG_TIMEZONES draws latitude and longitude lines on the timezone # - DEBUG_TIMEZONES draws latitude and longitude lines on the timezone
@ -159,6 +162,7 @@ if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
) )
endif() endif()
include( CTest )
### C++ SETUP ### C++ SETUP
# #
@ -250,7 +254,10 @@ include( CMakeColors )
### DEPENDENCIES ### DEPENDENCIES
# #
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Concurrent Core Gui Widgets LinguistTools Svg Quick QuickWidgets ) find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Concurrent Core Gui LinguistTools Network Svg Widgets )
if( WITH_QML )
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Quick QuickWidgets )
endif()
if( Qt5_VERSION VERSION_GREATER 5.12.1 ) if( Qt5_VERSION VERSION_GREATER 5.12.1 )
# At least Qt 5.12.2 seems to support Esperanto in QLocale # At least Qt 5.12.2 seems to support Esperanto in QLocale
if( "eo" IN_LIST _tx_incomplete ) if( "eo" IN_LIST _tx_incomplete )
@ -312,10 +319,6 @@ if( NOT KF5DBusAddons_FOUND )
set( WITH_KF5DBus OFF ) set( WITH_KF5DBus OFF )
endif() endif()
if( BUILD_TESTING )
enable_testing()
endif ()
find_package( PythonLibs ${PYTHONLIBS_VERSION} ) find_package( PythonLibs ${PYTHONLIBS_VERSION} )
set_package_properties( set_package_properties(
PythonLibs PROPERTIES PythonLibs PROPERTIES
@ -496,7 +499,11 @@ if ( CALAMARES_VERSION_RC EQUAL 0 )
endif() endif()
# enforce using constBegin, constEnd for const-iterators # enforce using constBegin, constEnd for const-iterators
add_definitions( "-DQT_STRICT_ITERATORS" ) add_definitions(
-DQT_STRICT_ITERATORS
-DQT_SHARED
-DQT_SHAREDPOINTER_TRACK_POINTERS
)
# set paths # set paths
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) set( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###
@ -126,10 +126,10 @@ function( calamares_add_module_subdirectory )
endif() endif()
message( "" ) message( "" )
# We copy over the lang directory, if any # We copy over the lang directory, if any
if( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/lang" ) if( IS_DIRECTORY "${_mod_dir}/lang" )
install_calamares_gettext_translations( install_calamares_gettext_translations(
${SUBDIRECTORY} ${SUBDIRECTORY}
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/lang" SOURCE_DIR "${_mod_dir}/lang"
FILENAME ${SUBDIRECTORY}.mo FILENAME ${SUBDIRECTORY}.mo
RENAME calamares-${SUBDIRECTORY}.mo RENAME calamares-${SUBDIRECTORY}.mo
) )
@ -162,6 +162,16 @@ function( calamares_add_module_subdirectory )
# may try to do things to the running system. Needs work to make that a # may try to do things to the running system. Needs work to make that a
# safe thing to do. # safe thing to do.
# #
# If the module has a tests/ subdirectory with *.global and *.job
# files (YAML files holding global and job-configurations for
# testing purposes) then those files are used to drive additional
# tests. The files must be numbered (starting from 1) for this to work;
# 1.global and 1.job together make the configuration for test 1.
#
# If the module has a tests/CMakeLists.txt while it doesn't have its
# own CMakeLists.txt (e.g. a Python module), then the subdirectory
# for tests/ is added on its own.
#
if ( BUILD_TESTING AND _mod_enabled AND _mod_testing ) if ( BUILD_TESTING AND _mod_enabled AND _mod_testing )
add_test( add_test(
NAME load-${SUBDIRECTORY} NAME load-${SUBDIRECTORY}
@ -170,7 +180,7 @@ function( calamares_add_module_subdirectory )
) )
# Try it with the tests/ configurations shipped with the module # Try it with the tests/ configurations shipped with the module
set( _count 1 ) set( _count 1 )
set( _testdir ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/tests ) set( _testdir ${_mod_dir}/tests )
while ( EXISTS "${_testdir}/${_count}.global" OR EXISTS "${_testdir}/${_count}.job" ) while ( EXISTS "${_testdir}/${_count}.global" OR EXISTS "${_testdir}/${_count}.job" )
set( _dash_g "" ) set( _dash_g "" )
set( _dash_j "" ) set( _dash_j "" )
@ -187,5 +197,8 @@ function( calamares_add_module_subdirectory )
) )
math( EXPR _count "${_count} + 1" ) math( EXPR _count "${_count} + 1" )
endwhile() endwhile()
if ( EXISTS ${_testdir}/CMakeTests.txt AND NOT EXISTS ${_mod_dir}/CMakeLists.txt )
include( ${_testdir}/CMakeTests.txt )
endif()
endif() endif()
endfunction() endfunction()

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

24
LICENSES/BSD2 Normal file
View File

@ -0,0 +1,24 @@
Copyright 2019 Adriaan de Groot <groot@kde.org>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

View File

@ -61,6 +61,10 @@ Name[eu]=Sistema instalatu
Icon[eu]=calamares Icon[eu]=calamares
GenericName[eu]=Sistema instalatzailea GenericName[eu]=Sistema instalatzailea
Comment[eu]=Calamares - sistema instalatzailea Comment[eu]=Calamares - sistema instalatzailea
Name[fa]=نصب سامانه
Icon[fa]=کالامارس
GenericName[fa]=نصبکنندهٔ سامانه
Comment[fa]=کالامارس نصبکنندهٔ سامانه
Name[es_PR]=Instalar el sistema Name[es_PR]=Instalar el sistema
Name[fr]=Installer le système Name[fr]=Installer le système
Icon[fr]=calamares Icon[fr]=calamares

View File

@ -2,7 +2,7 @@
<component type="desktop"> <component type="desktop">
<id>io.calamares.calamares.desktop</id> <id>io.calamares.calamares.desktop</id>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license> <project_license>GPL-3.0-or-later</project_license>
<name>Calamares</name> <name>Calamares</name>
<name xml:lang="da">Calamares</name> <name xml:lang="da">Calamares</name>
<name xml:lang="en-GB">Calamares</name> <name xml:lang="en-GB">Calamares</name>

View File

@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>. # along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# #
# SPDX-License-Identifier: GPL-3.0+ # SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE # License-Filename: LICENSE
# #
### ###

View File

@ -232,7 +232,7 @@
<source>Waiting for %n module(s).</source> <source>Waiting for %n module(s).</source>
<translation> <translation>
<numerusform>Venter %n modul.</numerusform> <numerusform>Venter %n modul.</numerusform>
<numerusform>Venter %n moduler.</numerusform> <numerusform>Venter %n modul(er).</numerusform>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
@ -240,7 +240,7 @@
<source>(%n second(s))</source> <source>(%n second(s))</source>
<translation> <translation>
<numerusform>(%n sekund)</numerusform> <numerusform>(%n sekund)</numerusform>
<numerusform>(%n sekunder)</numerusform> <numerusform>(%n sekund(er))</numerusform>
</translation> </translation>
</message> </message>
<message> <message>

View File

@ -525,7 +525,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
<message> <message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="334"/> <location filename="../src/modules/partition/gui/ChoicePage.cpp" line="334"/>
<source>&lt;strong&gt;Manual partitioning&lt;/strong&gt;&lt;br/&gt;You can create or resize partitions yourself. Having a GPT partition table and &lt;strong&gt;fat32 512Mb /boot partition is a must for UEFI installs&lt;/strong&gt;, either use an existing without formatting or create one.</source> <source>&lt;strong&gt;Manual partitioning&lt;/strong&gt;&lt;br/&gt;You can create or resize partitions yourself. Having a GPT partition table and &lt;strong&gt;fat32 512Mb /boot partition is a must for UEFI installs&lt;/strong&gt;, either use an existing without formatting or create one.</source>
<translation type="unfinished"/> <translation>&lt;strong&gt;Manuelle Partitionierung&lt;/strong&gt;&lt;br/&gt;Sie können selbst Partitionen erstellen oder in der Größe verändern. Eine GPT-Partitionstabelle und eine &lt;strong&gt;fat32 512Mb /boot-Partition ist ein Muss für UEFI-Installationen&lt;/strong&gt;, entweder eine vorhandene ohne Formatierung verwenden oder eine Neue erstellen.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="833"/> <location filename="../src/modules/partition/gui/ChoicePage.cpp" line="833"/>
@ -737,7 +737,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
<message> <message>
<location filename="../src/modules/netinstall/Config.cpp" line="51"/> <location filename="../src/modules/netinstall/Config.cpp" line="51"/>
<source>Network Installation. (Disabled: internal error)</source> <source>Network Installation. (Disabled: internal error)</source>
<translation type="unfinished"/> <translation>Netzwerk-Installation. (Deaktiviert: Interner Fehler)</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/Config.cpp" line="53"/> <location filename="../src/modules/netinstall/Config.cpp" line="53"/>
@ -1830,42 +1830,42 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Communication</source> <source>Communication</source>
<translation type="unfinished"/> <translation>Kommunikation</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="75"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="75"/>
<source>Development</source> <source>Development</source>
<translation type="unfinished"/> <translation>Entwicklung</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="76"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="76"/>
<source>Office</source> <source>Office</source>
<translation type="unfinished"/> <translation>Büro</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="77"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="77"/>
<source>Multimedia</source> <source>Multimedia</source>
<translation type="unfinished"/> <translation>Multimedia</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="78"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="78"/>
<source>Internet</source> <source>Internet</source>
<translation type="unfinished"/> <translation>Internet</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="79"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="79"/>
<source>Theming</source> <source>Theming</source>
<translation type="unfinished"/> <translation>Thema</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="80"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="80"/>
<source>Gaming</source> <source>Gaming</source>
<translation type="unfinished"/> <translation>Spielen</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="81"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="81"/>
<source>Utilities</source> <source>Utilities</source>
<translation type="unfinished"/> <translation>Dienstprogramme</translation>
</message> </message>
</context> </context>
<context> <context>
@ -2556,12 +2556,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="433"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="433"/>
<source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;To configure an EFI system partition, go back and select or create a FAT32 filesystem with the &lt;strong&gt;%3&lt;/strong&gt; flag enabled and mount point &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;You can continue without setting up an EFI system partition but your system may fail to start.</source> <source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;To configure an EFI system partition, go back and select or create a FAT32 filesystem with the &lt;strong&gt;%3&lt;/strong&gt; flag enabled and mount point &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;You can continue without setting up an EFI system partition but your system may fail to start.</source>
<translation type="unfinished"/> <translation>Eine EFI Systempartition wird benötigt, um %1 zu starten.&lt;br/&gt;&lt;br/&gt;Um eine EFI Systempartition einzurichten, gehen Sie zurück und wählen oder erstellen Sie ein FAT32-Dateisystem mit einer aktivierten &lt;strong&gt;%3&lt;/strong&gt; Markierung sowie &lt;strong&gt;%2&lt;/strong&gt; als Einhängepunkt .&lt;br/&gt;&lt;br/&gt;Sie können ohne die Einrichtung einer EFI-Systempartition fortfahren, aber ihr System wird unter Umständen nicht starten können.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="447"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="447"/>
<source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;A partition was configured with mount point &lt;strong&gt;%2&lt;/strong&gt; but its &lt;strong&gt;%3&lt;/strong&gt; flag is not set.&lt;br/&gt;To set the flag, go back and edit the partition.&lt;br/&gt;&lt;br/&gt;You can continue without setting the flag but your system may fail to start.</source> <source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;A partition was configured with mount point &lt;strong&gt;%2&lt;/strong&gt; but its &lt;strong&gt;%3&lt;/strong&gt; flag is not set.&lt;br/&gt;To set the flag, go back and edit the partition.&lt;br/&gt;&lt;br/&gt;You can continue without setting the flag but your system may fail to start.</source>
<translation type="unfinished"/> <translation>Eine EFI Systempartition wird benötigt, um %1 zu starten.&lt;br/&gt;&lt;br/&gt;Eine Partition mit dem Einhängepunkt &lt;strong&gt;%2&lt;/strong&gt; wurde eingerichtet, jedoch wurde dort keine &lt;strong&gt;%3&lt;/strong&gt; Markierung gesetzt.&lt;br/&gt;Um diese Markierung zu setzen, gehen Sie zurück und bearbeiten Sie die Partition.&lt;br/&gt;&lt;br/&gt;Sie können ohne diese Markierung fortfahren, aber ihr System wird unter Umständen nicht starten können.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="446"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="446"/>
@ -2571,12 +2571,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="473"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="473"/>
<source>Option to use GPT on BIOS</source> <source>Option to use GPT on BIOS</source>
<translation type="unfinished"/> <translation>Option zur Verwendung von GPT im BIOS</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="474"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="474"/>
<source>A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.&lt;br/&gt;&lt;br/&gt;To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the &lt;strong&gt;bios_grub&lt;/strong&gt; flag enabled.&lt;br/&gt;&lt;br/&gt;An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT.</source> <source>A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.&lt;br/&gt;&lt;br/&gt;To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the &lt;strong&gt;bios_grub&lt;/strong&gt; flag enabled.&lt;br/&gt;&lt;br/&gt;An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT.</source>
<translation type="unfinished"/> <translation>Eine GPT-Partitionstabelle ist die beste Option für alle Systeme. Dieses Installationsprogramm unterstützt ein solches Setup auch für BIOS-Systeme.&lt;br/&gt;&lt;br/&gt;Um eine GPT-Partitionstabelle im BIOS zu konfigurieren, gehen Sie (falls noch nicht geschehen) zurück und setzen Sie die Partitionstabelle auf GPT, als nächstes erstellen Sie eine 8 MB große unformatierte Partition mit aktiviertem &lt;strong&gt;bios_grub&lt;/strong&gt;-Markierung.&lt;br/&gt;&lt;br/&gt;Eine unformatierte 8 MB große Partition ist erforderlich, um %1 auf einem BIOS-System mit GPT zu starten.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="502"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="502"/>
@ -3666,7 +3666,7 @@ Ausgabe:
<message> <message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="250"/> <location filename="../src/modules/welcome/WelcomePage.cpp" line="250"/>
<source>&lt;h1&gt;%1&lt;/h1&gt;&lt;br/&gt;&lt;strong&gt;%2&lt;br/&gt;for %3&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Copyright 2014-2017 Teo Mrnjavac &amp;lt;teo@kde.org&amp;gt;&lt;br/&gt;Copyright 2017-2020 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;Thanks to &lt;a href="https://calamares.io/team/"&gt;the Calamares team&lt;/a&gt; and the &lt;a href="https://www.transifex.com/calamares/calamares/"&gt;Calamares translators team&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href="https://calamares.io/"&gt;Calamares&lt;/a&gt; development is sponsored by &lt;br/&gt;&lt;a href="http://www.blue-systems.com/"&gt;Blue Systems&lt;/a&gt; - Liberating Software.</source> <source>&lt;h1&gt;%1&lt;/h1&gt;&lt;br/&gt;&lt;strong&gt;%2&lt;br/&gt;for %3&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Copyright 2014-2017 Teo Mrnjavac &amp;lt;teo@kde.org&amp;gt;&lt;br/&gt;Copyright 2017-2020 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;Thanks to &lt;a href="https://calamares.io/team/"&gt;the Calamares team&lt;/a&gt; and the &lt;a href="https://www.transifex.com/calamares/calamares/"&gt;Calamares translators team&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href="https://calamares.io/"&gt;Calamares&lt;/a&gt; development is sponsored by &lt;br/&gt;&lt;a href="http://www.blue-systems.com/"&gt;Blue Systems&lt;/a&gt; - Liberating Software.</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;%1&lt;/h1&gt;&lt;br/&gt;&lt;strong&gt;%2&lt;br/&gt;for %3&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Copyright 2014-2017 Teo Mrnjavac &amp;lt;teo@kde.org&amp;gt;&lt;br/&gt;Copyright 2017-2020 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;Danke an &lt;a href="https://calamares.io/team/"&gt;das Calamares Team&lt;/a&gt; und das &lt;a href="https://www.transifex.com/calamares/calamares/"&gt;Calamares Übersetzerteam&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href="https://calamares.io/"&gt;Calamares&lt;/a&gt; Entwicklung wird gesponsert von &lt;br/&gt;&lt;a href="http://www.blue-systems.com/"&gt;Blue Systems&lt;/a&gt; - Liberating Software.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -3701,12 +3701,23 @@ Ausgabe:
development is sponsored by &lt;br/&gt; development is sponsored by &lt;br/&gt;
&lt;a href='http://www.blue-systems.com/'&gt;Blue Systems&lt;/a&gt; - &lt;a href='http://www.blue-systems.com/'&gt;Blue Systems&lt;/a&gt; -
Liberating Software.</source> Liberating Software.</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;%1&lt;/h1&gt;&lt;br/&gt;
&lt;strong&gt;%2&lt;br/&gt;
for %3&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;
Copyright 2014-2017 Teo Mrnjavac &amp;lt;teo@kde.org&amp;gt;&lt;br/&gt;
Copyright 2017-2020 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;
Danke an das &lt;a href='https://calamares.io/team/'&gt;Calamares Team&lt;/a&gt;
und an das &lt;a href='https://www.transifex.com/calamares/calamares/'&gt;Calamares
Übersetzerteam&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
&lt;a href='https://calamares.io/'&gt;Calamares&lt;/a&gt;
Entwicklung wird gesponsert von &lt;br/&gt;
&lt;a href='http://www.blue-systems.com/'&gt;Blue Systems&lt;/a&gt; -
Liberating Software.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcomeq/about.qml" line="105"/> <location filename="../src/modules/welcomeq/about.qml" line="105"/>
<source>Back</source> <source>Back</source>
<translation type="unfinished"/> <translation>Zurück</translation>
</message> </message>
</context> </context>
<context> <context>
@ -3714,44 +3725,44 @@ Ausgabe:
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="25"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="25"/>
<source>Keyboard Model</source> <source>Keyboard Model</source>
<translation type="unfinished"/> <translation>Tastaturmodell</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="26"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="26"/>
<source>Pick your preferred keyboard model or use the default one based on the detected hardware</source> <source>Pick your preferred keyboard model or use the default one based on the detected hardware</source>
<translation type="unfinished"/> <translation>Wählen Sie Ihr bevorzugtes Tastaturmodell oder verwenden Sie das Standardmodell auf Grundlage der erkannten Hardware</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="41"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="41"/>
<source>Refresh</source> <source>Refresh</source>
<translation type="unfinished"/> <translation>Aktualisieren</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="51"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="51"/>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="163"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="163"/>
<source>Layouts</source> <source>Layouts</source>
<translation type="unfinished"/> <translation>Layouts</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="79"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="79"/>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="139"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="139"/>
<source>Keyboard Layout</source> <source>Keyboard Layout</source>
<translation type="unfinished"/> <translation>Tastaturlayout</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="101"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="101"/>
<source>Models</source> <source>Models</source>
<translation type="unfinished"/> <translation>Modelle</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="109"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="109"/>
<source>Variants</source> <source>Variants</source>
<translation type="unfinished"/> <translation>Varianten</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/keyboardq/keyboardq.qml" line="189"/> <location filename="../src/modules/keyboardq/keyboardq.qml" line="189"/>
<source>Test your keyboard</source> <source>Test your keyboard</source>
<translation type="unfinished"/> <translation>Testen Sie Ihre Tastatur</translation>
</message> </message>
</context> </context>
<context> <context>
@ -3789,12 +3800,32 @@ Ausgabe:
&lt;/ul&gt; &lt;/ul&gt;
&lt;p&gt;The vertical scrollbar is adjustable, current width set to 10.&lt;/p&gt;</source> &lt;p&gt;The vertical scrollbar is adjustable, current width set to 10.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;Dies ist eine Beispiel-QML-Datei, die Optionen in RichText mit Flickable-Inhalt zeigt.&lt;/p&gt;
&lt;p&gt;QML mit RichText kann HTML-Tags verwenden, Flickable Inhalt ist nützlich für Touchscreens.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Dies ist fetter Text.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Das ist kursiver Text.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Das ist unterstrichener Text.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;Dieser Text ist mittig ausgerichtet.&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;s&gt;Das ist durchgestrichen.&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;Code Beispiel:
&lt;code&gt;ls -l /home&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Listen:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel CPU Systeme&lt;/li&gt;
&lt;li&gt;AMD CPU Systeme&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die vertikale Bildlaufleiste ist einstellbar, die aktuelle Breite ist auf 10 eingestellt.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcomeq/release_notes.qml" line="85"/> <location filename="../src/modules/welcomeq/release_notes.qml" line="85"/>
<source>Back</source> <source>Back</source>
<translation type="unfinished"/> <translation>Zurück</translation>
</message> </message>
</context> </context>
<context> <context>
@ -3803,7 +3834,7 @@ Ausgabe:
<location filename="../src/modules/welcomeq/welcomeq.qml" line="44"/> <location filename="../src/modules/welcomeq/welcomeq.qml" line="44"/>
<source>&lt;h3&gt;Welcome to the %1 &lt;quote&gt;%2&lt;/quote&gt; installer&lt;/h3&gt; <source>&lt;h3&gt;Welcome to the %1 &lt;quote&gt;%2&lt;/quote&gt; installer&lt;/h3&gt;
&lt;p&gt;This program will ask you some questions and set up %1 on your computer.&lt;/p&gt;</source> &lt;p&gt;This program will ask you some questions and set up %1 on your computer.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h3&gt;Willkommen zum %1 &lt;quote&gt;%2&lt;/quote&gt; Installationsprogramm&lt;/h3&gt;&lt;p&gt;Dieses Programm wird Ihnen einige Fragen stellen und %1 auf Ihrem Computer einrichten.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="71"/> <location filename="../src/modules/welcomeq/welcomeq.qml" line="71"/>

View File

@ -102,7 +102,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/calamares/DebugWindow.ui" line="106"/> <location filename="../src/calamares/DebugWindow.ui" line="106"/>
<source>Reload Stylesheet</source> <source>Reload Stylesheet</source>
<translation type="unfinished"/> <translation>Recargar Hoja de estilo</translation>
</message> </message>
<message> <message>
<location filename="../src/calamares/DebugWindow.ui" line="113"/> <location filename="../src/calamares/DebugWindow.ui" line="113"/>
@ -120,7 +120,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/viewpages/ExecutionViewStep.cpp" line="92"/> <location filename="../src/libcalamaresui/viewpages/ExecutionViewStep.cpp" line="92"/>
<source>Set up</source> <source>Set up</source>
<translation type="unfinished"/> <translation>Instalar</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/viewpages/ExecutionViewStep.cpp" line="92"/> <location filename="../src/libcalamaresui/viewpages/ExecutionViewStep.cpp" line="92"/>
@ -138,7 +138,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamares/JobExample.cpp" line="40"/> <location filename="../src/libcalamares/JobExample.cpp" line="40"/>
<source>Programmed job failure was explicitly requested.</source> <source>Programmed job failure was explicitly requested.</source>
<translation type="unfinished"/> <translation>Se solicitó de manera explícita la falla del trabajo programado.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -154,7 +154,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamares/JobExample.cpp" line="27"/> <location filename="../src/libcalamares/JobExample.cpp" line="27"/>
<source>Example job (%1)</source> <source>Example job (%1)</source>
<translation type="unfinished"/> <translation>Ejemplo de trabajo (%1)</translation>
</message> </message>
</context> </context>
<context> <context>
@ -162,12 +162,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="52"/> <location filename="../src/libcalamares/ProcessJob.cpp" line="52"/>
<source>Run command '%1' in target system.</source> <source>Run command '%1' in target system.</source>
<translation type="unfinished"/> <translation>Ejecutar el comando '% 1' en el sistema de destino.</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="52"/> <location filename="../src/libcalamares/ProcessJob.cpp" line="52"/>
<source> Run command '%1'.</source> <source> Run command '%1'.</source>
<translation type="unfinished"/> <translation>Ejecutar el comando '% 1'.</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="59"/> <location filename="../src/libcalamares/ProcessJob.cpp" line="59"/>
@ -213,17 +213,17 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="76"/> <location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="76"/>
<source>Loading ...</source> <source>Loading ...</source>
<translation type="unfinished"/> <translation>Cargando ...</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="97"/> <location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="97"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source> <source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/> <translation>Paso QML &lt;i&gt;%1&lt;/i&gt;.</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="261"/> <location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="261"/>
<source>Loading failed.</source> <source>Loading failed.</source>
<translation type="unfinished"/> <translation>La carga ha fallado.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -231,9 +231,9 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message numerus="yes"> <message numerus="yes">
<location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="164"/> <location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="164"/>
<source>Waiting for %n module(s).</source> <source>Waiting for %n module(s).</source>
<translation type="unfinished"> <translation>
<numerusform/> <numerusform>Esperando %n módulo (s).</numerusform>
<numerusform/> <numerusform>Esperando %n módulo(s).</numerusform>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
@ -247,7 +247,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="170"/> <location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="170"/>
<source>System-requirements checking is complete.</source> <source>System-requirements checking is complete.</source>
<translation type="unfinished"/> <translation>La verificación de los requisitos del sistema está completa.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -255,7 +255,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="153"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="153"/>
<source>Setup Failed</source> <source>Setup Failed</source>
<translation type="unfinished"/> <translation>Configuración Fallida</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="153"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="153"/>
@ -265,7 +265,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="154"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="154"/>
<source>Would you like to paste the install log to the web?</source> <source>Would you like to paste the install log to the web?</source>
<translation type="unfinished"/> <translation>¿Desea pegar el registro de instalación en la web?</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="167"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="167"/>
@ -292,12 +292,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="192"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="192"/>
<source>Install Log Paste URL</source> <source>Install Log Paste URL</source>
<translation type="unfinished"/> <translation>Pegar URL Registro de Instalación</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="195"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="195"/>
<source>The upload was unsuccessful. No web-paste was done.</source> <source>The upload was unsuccessful. No web-paste was done.</source>
<translation type="unfinished"/> <translation>La carga no tuvo éxito. No se realizó pegado web.</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="211"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="211"/>
@ -322,12 +322,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="328"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="328"/>
<source>Continue with installation?</source> <source>Continue with installation?</source>
<translation type="unfinished"/> <translation>Continuar con la instalación?</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="330"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="330"/>
<source>The %1 setup program is about to make changes to your disk in order to set up %2.&lt;br/&gt;&lt;strong&gt;You will not be able to undo these changes.&lt;/strong&gt;</source> <source>The %1 setup program is about to make changes to your disk in order to set up %2.&lt;br/&gt;&lt;strong&gt;You will not be able to undo these changes.&lt;/strong&gt;</source>
<translation type="unfinished"/> <translation>El programa de instalación %1 está a punto de hacer cambios en el disco con el fin de configurar %2.&lt;br/&gt;&lt;strong&gt;No podrá deshacer estos cambios.&lt;/strong&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="333"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="333"/>
@ -337,7 +337,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="336"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="336"/>
<source>&amp;Set up now</source> <source>&amp;Set up now</source>
<translation type="unfinished"/> <translation>&amp;Configurar ahora</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="336"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="336"/>
@ -352,7 +352,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/>
<source>&amp;Set up</source> <source>&amp;Set up</source>
<translation type="unfinished"/> <translation>&amp;Instalar</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/>
@ -362,7 +362,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="394"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="394"/>
<source>Setup is complete. Close the setup program.</source> <source>Setup is complete. Close the setup program.</source>
<translation type="unfinished"/> <translation>La instalación se ha completado. Cierre el instalador.</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="395"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="395"/>

File diff suppressed because it is too large Load Diff

View File

@ -2555,12 +2555,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="433"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="433"/>
<source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;To configure an EFI system partition, go back and select or create a FAT32 filesystem with the &lt;strong&gt;%3&lt;/strong&gt; flag enabled and mount point &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;You can continue without setting up an EFI system partition but your system may fail to start.</source> <source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;To configure an EFI system partition, go back and select or create a FAT32 filesystem with the &lt;strong&gt;%3&lt;/strong&gt; flag enabled and mount point &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;You can continue without setting up an EFI system partition but your system may fail to start.</source>
<translation type="unfinished"/> <translation>Una partizione EFI è necessaria per avviare %1.&lt;br/&gt;&lt;br/&gt; Per configurare una partizione EFI, tornare indietro e selezionare o creare un filesystem FAT32 con il parametro&lt;strong&gt;%3&lt;/strong&gt;abilitato e punto di montaggio &lt;strong&gt;%2&lt;/strong&gt;. &lt;br/&gt;&lt;br/&gt;Si può continuare senza impostare una partizione EFI ma il sistema potrebbe non avviarsi correttamente.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="447"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="447"/>
<source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;A partition was configured with mount point &lt;strong&gt;%2&lt;/strong&gt; but its &lt;strong&gt;%3&lt;/strong&gt; flag is not set.&lt;br/&gt;To set the flag, go back and edit the partition.&lt;br/&gt;&lt;br/&gt;You can continue without setting the flag but your system may fail to start.</source> <source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;A partition was configured with mount point &lt;strong&gt;%2&lt;/strong&gt; but its &lt;strong&gt;%3&lt;/strong&gt; flag is not set.&lt;br/&gt;To set the flag, go back and edit the partition.&lt;br/&gt;&lt;br/&gt;You can continue without setting the flag but your system may fail to start.</source>
<translation type="unfinished"/> <translation>Una partizione EFI è necessaria per avviare %1.&lt;br/&gt;&lt;br/&gt; Una partizione è stata configurata con punto di montaggio &lt;strong&gt;%2&lt;/strong&gt; ma il suo parametro &lt;strong&gt;%3&lt;/strong&gt; non è impostato.&lt;br/&gt;Per impostare il flag, tornare indietro e modificare la partizione.&lt;br/&gt;&lt;br/&gt;Si può continuare senza impostare il parametro ma il sistema potrebbe non avviarsi correttamente.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="446"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="446"/>
@ -3813,7 +3813,8 @@ Output:
<location filename="../src/modules/welcomeq/welcomeq.qml" line="44"/> <location filename="../src/modules/welcomeq/welcomeq.qml" line="44"/>
<source>&lt;h3&gt;Welcome to the %1 &lt;quote&gt;%2&lt;/quote&gt; installer&lt;/h3&gt; <source>&lt;h3&gt;Welcome to the %1 &lt;quote&gt;%2&lt;/quote&gt; installer&lt;/h3&gt;
&lt;p&gt;This program will ask you some questions and set up %1 on your computer.&lt;/p&gt;</source> &lt;p&gt;This program will ask you some questions and set up %1 on your computer.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h3&gt;Benvenuti al programma d'installazione %1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;
&lt;p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="71"/> <location filename="../src/modules/welcomeq/welcomeq.qml" line="71"/>

View File

@ -11,12 +11,12 @@
<message> <message>
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="81"/> <location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="81"/>
<source>This system was started with an &lt;strong&gt;EFI&lt;/strong&gt; boot environment.&lt;br&gt;&lt;br&gt;To configure startup from an EFI environment, this installer must deploy a boot loader application, like &lt;strong&gt;GRUB&lt;/strong&gt; or &lt;strong&gt;systemd-boot&lt;/strong&gt; on an &lt;strong&gt;EFI System Partition&lt;/strong&gt;. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own.</source> <source>This system was started with an &lt;strong&gt;EFI&lt;/strong&gt; boot environment.&lt;br&gt;&lt;br&gt;To configure startup from an EFI environment, this installer must deploy a boot loader application, like &lt;strong&gt;GRUB&lt;/strong&gt; or &lt;strong&gt;systemd-boot&lt;/strong&gt; on an &lt;strong&gt;EFI System Partition&lt;/strong&gt;. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own.</source>
<translation>Ky sistem qe nisur me një mjedis nisjesh &lt;strong&gt;EFI&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;Që të formësojë nisjen nga një mjedis EFI, ky instalues duhet të vërë në punë një aplikacion ngarkuesi nisësi, të tillë si &lt;strong&gt;GRUB&lt;/strong&gt; ose &lt;strong&gt;systemd-boot&lt;/strong&gt; në një &lt;strong&gt;Pjesë EFI Sistemi&lt;/strong&gt;. Kjo bëhet vetvetiu, hiq rastin kur zgjidhni pjesëzim dorazi, rast në të cilin duhet ta zgjidhni apo krijoni ju vetë.</translation> <translation>Ky sistem qe nisur me një mjedis nisjesh &lt;strong&gt;EFI&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;Që të formësojë nisjen nga një mjedis EFI, ky instalues duhet të vërë në punë një aplikacion ngarkuesi nisësi, të tillë si &lt;strong&gt;GRUB&lt;/strong&gt; ose &lt;strong&gt;systemd-boot&lt;/strong&gt; në një &lt;strong&gt;Pjesë EFI Sistemi&lt;/strong&gt;. Kjo bëhet vetvetiu, hiq rastin kur zgjidhni pjesëtim dorazi, rast në të cilin duhet ta zgjidhni apo krijoni ju vetë.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="93"/> <location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="93"/>
<source>This system was started with a &lt;strong&gt;BIOS&lt;/strong&gt; boot environment.&lt;br&gt;&lt;br&gt;To configure startup from a BIOS environment, this installer must install a boot loader, like &lt;strong&gt;GRUB&lt;/strong&gt;, either at the beginning of a partition or on the &lt;strong&gt;Master Boot Record&lt;/strong&gt; near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own.</source> <source>This system was started with a &lt;strong&gt;BIOS&lt;/strong&gt; boot environment.&lt;br&gt;&lt;br&gt;To configure startup from a BIOS environment, this installer must install a boot loader, like &lt;strong&gt;GRUB&lt;/strong&gt;, either at the beginning of a partition or on the &lt;strong&gt;Master Boot Record&lt;/strong&gt; near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own.</source>
<translation>Ky sistem qe nisur me një mjedis nisjesh &lt;strong&gt;BIOS&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;Që të formësojë nisjen nga një mjedis BIOS, ky instalues duhet të instalojë një ngarkues nisjesh, të tillë si &lt;strong&gt;GRUB&lt;/strong&gt;, ose në krye të një pjese, ose te &lt;strong&gt;Master Boot Record&lt;/strong&gt; pranë fillimit të tabelës së pjesëve (e parapëlqyer). Kjo bëhet vetvetiu, veç në zgjedhshi pjesëzim dorazi, rast në të cilin duhet ta rregulloni ju vetë.</translation> <translation>Ky sistem qe nisur me një mjedis nisjesh &lt;strong&gt;BIOS&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;Që të formësojë nisjen nga një mjedis BIOS, ky instalues duhet të instalojë një ngarkues nisjesh, të tillë si &lt;strong&gt;GRUB&lt;/strong&gt;, ose në krye të një pjese, ose te &lt;strong&gt;Master Boot Record&lt;/strong&gt; pranë fillimit të tabelës së pjesëve (e parapëlqyer). Kjo bëhet vetvetiu, veç në zgjedhshi pjesëtim dorazi, rast në të cilin duhet ta rregulloni ju vetë.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -525,7 +525,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="334"/> <location filename="../src/modules/partition/gui/ChoicePage.cpp" line="334"/>
<source>&lt;strong&gt;Manual partitioning&lt;/strong&gt;&lt;br/&gt;You can create or resize partitions yourself. Having a GPT partition table and &lt;strong&gt;fat32 512Mb /boot partition is a must for UEFI installs&lt;/strong&gt;, either use an existing without formatting or create one.</source> <source>&lt;strong&gt;Manual partitioning&lt;/strong&gt;&lt;br/&gt;You can create or resize partitions yourself. Having a GPT partition table and &lt;strong&gt;fat32 512Mb /boot partition is a must for UEFI installs&lt;/strong&gt;, either use an existing without formatting or create one.</source>
<translation>&lt;strong&gt;Pjesëzim dorazi&lt;/strong&gt;&lt;br/&gt;Mund krijoni ose ripërmasoni pjesë ju vetë. Pasja e një tabele GPT pjesësh dhe &lt;strong&gt;512Mb fat32 /pjesë nisjeje është domosdoshmëri për instalime UEFI&lt;/strong&gt;, ose përdorni një të tillë pa e formatuar, ose krijoni një të tillë.</translation> <translation>&lt;strong&gt;Pjesëtim dorazi&lt;/strong&gt;&lt;br/&gt;Mund krijoni ose ripërmasoni pjesë ju vetë. Pasja e një tabele GPT pjesësh dhe &lt;strong&gt;512Mb fat32 /pjesë nisjeje është domosdoshmëri për instalime UEFI&lt;/strong&gt;, ose përdorni një të tillë pa e formatuar, ose krijoni një të tillë.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="833"/> <location filename="../src/modules/partition/gui/ChoicePage.cpp" line="833"/>
@ -555,7 +555,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1135"/> <location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1135"/>
<source>An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1.</source> <source>An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1.</source>
<translation> këtë sistem sgjendet gjëkundi një pjesë EFI sistemi. Ju lutemi, kthehuni mbrapsht dhe përdorni pjesëzimin dorazi rregulloni %1.</translation> <translation> këtë sistem sgjendet gjëkundi një pjesë EFI sistemi. Ju lutemi, kthehuni mbrapsht dhe përdorni pjesëtimin dorazi rregulloni %1.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1144"/> <location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1144"/>
@ -642,12 +642,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="50"/> <location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="50"/>
<source>Clear mounts for partitioning operations on %1</source> <source>Clear mounts for partitioning operations on %1</source>
<translation>Hiqi montimet për veprime pjesëzimi te %1</translation> <translation>Hiqi montimet për veprime pjesëtimi te %1</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="57"/> <location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="57"/>
<source>Clearing mounts for partitioning operations on %1.</source> <source>Clearing mounts for partitioning operations on %1.</source>
<translation>Po hiqen montimet për veprime pjesëzimi te %1.</translation> <translation>Po hiqen montimet për veprime pjesëtimi te %1.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="232"/> <location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="232"/>
@ -1076,7 +1076,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="122"/> <location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="122"/>
<source>This installer &lt;strong&gt;cannot detect a partition table&lt;/strong&gt; on the selected storage device.&lt;br&gt;&lt;br&gt;The device either has no partition table, or the partition table is corrupted or of an unknown type.&lt;br&gt;This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source> <source>This installer &lt;strong&gt;cannot detect a partition table&lt;/strong&gt; on the selected storage device.&lt;br&gt;&lt;br&gt;The device either has no partition table, or the partition table is corrupted or of an unknown type.&lt;br&gt;This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
<translation>Ky instalues &lt;strong&gt;spikas dot tabelë pjesësh&lt;/strong&gt; te pajisja e depozitimit e përzgjedhur.&lt;br&gt;&lt;br&gt;Ose pajisja ska tabelë pjesësh, ose tabela e pjesëve është e dëmtuar ose e një lloji të panjohur.&lt;br&gt;Ky instalues mund të krijojë për ju një tabelë të re pjesësh, ose vetvetiu, ose përmes faqes së pjesëzimit dorazi.</translation> <translation>Ky instalues &lt;strong&gt;spikas dot tabelë pjesësh&lt;/strong&gt; te pajisja e depozitimit e përzgjedhur.&lt;br&gt;&lt;br&gt;Ose pajisja ska tabelë pjesësh, ose tabela e pjesëve është e dëmtuar ose e një lloji të panjohur.&lt;br&gt;Ky instalues mund të krijojë për ju një tabelë të re pjesësh, ose vetvetiu, ose përmes faqes së pjesëtimit dorazi.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="132"/> <location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="132"/>
@ -2478,7 +2478,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="241"/> <location filename="../src/modules/partition/gui/PartitionPage.cpp" line="241"/>
<source>The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead.</source> <source>The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead.</source>
<translation>Tabela e pjesëzimit te %1 ka tashmë %2 pjesë parësore, dhe smund shtohen tjera. Ju lutemi, vend kësaj, hiqni një pjesë parësore dhe shtoni një pjesë zgjeruar.</translation> <translation>Tabela e pjesëtimit te %1 ka tashmë %2 pjesë parësore, dhe smund shtohen tjera. Ju lutemi, vend kësaj, hiqni një pjesë parësore dhe shtoni një pjesë zgjeruar.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -2511,7 +2511,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="181"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="181"/>
<source>&lt;strong&gt;Manual&lt;/strong&gt; partitioning.</source> <source>&lt;strong&gt;Manual&lt;/strong&gt; partitioning.</source>
<translation>Pjesëzim &lt;strong&gt;dorazi&lt;/strong&gt;.</translation> <translation>Pjesëtim &lt;strong&gt;dorazi&lt;/strong&gt;.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="194"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="194"/>
@ -2531,7 +2531,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej.</translation>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="214"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="214"/>
<source>&lt;strong&gt;Manual&lt;/strong&gt; partitioning on disk &lt;strong&gt;%1&lt;/strong&gt; (%2).</source> <source>&lt;strong&gt;Manual&lt;/strong&gt; partitioning on disk &lt;strong&gt;%1&lt;/strong&gt; (%2).</source>
<translation>Pjesëzim &lt;strong&gt;dorazi&lt;/strong&gt; në diskun &lt;strong&gt;%1&lt;/strong&gt; (%2).</translation> <translation>Pjesëtim &lt;strong&gt;dorazi&lt;/strong&gt; në diskun &lt;strong&gt;%1&lt;/strong&gt; (%2).</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="223"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="223"/>
@ -2805,7 +2805,7 @@ Përfundim:
<message> <message>
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="51"/> <location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="51"/>
<source>Unpartitioned space or unknown partition table</source> <source>Unpartitioned space or unknown partition table</source>
<translation>Hapësirë e papjesëzuar ose tabelë e panjohur pjesësh</translation> <translation>Hapësirë e papjesëtuar ose tabelë e panjohur pjesësh</translation>
</message> </message>
</context> </context>
<context> <context>
@ -2860,7 +2860,7 @@ Përfundim:
<message> <message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="183"/> <location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="183"/>
<source>%1 cannot be installed on an extended partition. Please select an existing primary or logical partition.</source> <source>%1 cannot be installed on an extended partition. Please select an existing primary or logical partition.</source>
<translation>%1 smund instalohet një pjesë llojit extended. Ju lutemi, përzgjidhni një pjesë parësore ose logjike ekzistuese.</translation> <translation>%1 smund instalohet një pjesë llojit extended. Ju lutemi, përzgjidhni një pjesë parësore ose logjike ekzistuese.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="193"/> <location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="193"/>
@ -2890,7 +2890,7 @@ Përfundim:
<message> <message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="255"/> <location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="255"/>
<source>&lt;strong&gt;%2&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1.</source> <source>&lt;strong&gt;%2&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1.</source>
<translation>&lt;strong&gt;%2&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; këtë sistem sgjendet dot ndonjë pjesë sistemi EFI. Ju lutemi, rregulloni %1, kthehuni mbrapsht dhe përdorni procesin e pjesëzimit dorazi.</translation> <translation>&lt;strong&gt;%2&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; këtë sistem sgjendet dot ndonjë pjesë sistemi EFI. Ju lutemi, rregulloni %1, kthehuni mbrapsht dhe përdorni procesin e pjesëtimit dorazi.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="266"/> <location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="266"/>
@ -2902,7 +2902,7 @@ Përfundim:
<message> <message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="275"/> <location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="275"/>
<source>The EFI system partition at %1 will be used for starting %2.</source> <source>The EFI system partition at %1 will be used for starting %2.</source>
<translation>Për nisjen e %2 do përdoret ndarja EFI e sistemit te %1.</translation> <translation>Për nisjen e %2 do përdoret pjesa EFI e sistemit te %1.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="291"/> <location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="291"/>

View File

@ -2558,12 +2558,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="433"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="433"/>
<source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;To configure an EFI system partition, go back and select or create a FAT32 filesystem with the &lt;strong&gt;%3&lt;/strong&gt; flag enabled and mount point &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;You can continue without setting up an EFI system partition but your system may fail to start.</source> <source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;To configure an EFI system partition, go back and select or create a FAT32 filesystem with the &lt;strong&gt;%3&lt;/strong&gt; flag enabled and mount point &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;You can continue without setting up an EFI system partition but your system may fail to start.</source>
<translation type="unfinished"/> <translation> EFI %1 &lt;br/&gt;&lt;br/&gt; EFI 退 FAT32 &lt;strong&gt;%3&lt;/strong&gt; &lt;strong&gt;%2&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; EFI </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="447"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="447"/>
<source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;A partition was configured with mount point &lt;strong&gt;%2&lt;/strong&gt; but its &lt;strong&gt;%3&lt;/strong&gt; flag is not set.&lt;br/&gt;To set the flag, go back and edit the partition.&lt;br/&gt;&lt;br/&gt;You can continue without setting the flag but your system may fail to start.</source> <source>An EFI system partition is necessary to start %1.&lt;br/&gt;&lt;br/&gt;A partition was configured with mount point &lt;strong&gt;%2&lt;/strong&gt; but its &lt;strong&gt;%3&lt;/strong&gt; flag is not set.&lt;br/&gt;To set the flag, go back and edit the partition.&lt;br/&gt;&lt;br/&gt;You can continue without setting the flag but your system may fail to start.</source>
<translation type="unfinished"/> <translation> EFI %1 &lt;br/&gt;&lt;br/&gt; &lt;strong&gt;%2&lt;/strong&gt; &lt;strong&gt;%3&lt;/strong&gt; &lt;br/&gt;退&lt;br/&gt;&lt;br/&gt; EFI </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="446"/> <location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="446"/>
@ -3804,7 +3804,28 @@ Output:
&lt;/ul&gt; &lt;/ul&gt;
&lt;p&gt;The vertical scrollbar is adjustable, current width set to 10.&lt;/p&gt;</source> &lt;p&gt;The vertical scrollbar is adjustable, current width set to 10.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;QML Flickable RichText &lt;/p&gt;
&lt;p&gt; RichText QML 使 HTML
Flickable &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;线&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;s&gt;线&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;:
&lt;code&gt;ls -l /home&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel CPU &lt;/li&gt;
&lt;li&gt;AMD CPU &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;10&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcomeq/release_notes.qml" line="85"/> <location filename="../src/modules/welcomeq/release_notes.qml" line="85"/>
@ -3818,7 +3839,8 @@ Output:
<location filename="../src/modules/welcomeq/welcomeq.qml" line="44"/> <location filename="../src/modules/welcomeq/welcomeq.qml" line="44"/>
<source>&lt;h3&gt;Welcome to the %1 &lt;quote&gt;%2&lt;/quote&gt; installer&lt;/h3&gt; <source>&lt;h3&gt;Welcome to the %1 &lt;quote&gt;%2&lt;/quote&gt; installer&lt;/h3&gt;
&lt;p&gt;This program will ask you some questions and set up %1 on your computer.&lt;/p&gt;</source> &lt;p&gt;This program will ask you some questions and set up %1 on your computer.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h3&gt; %1 &lt;quote&gt;%2&lt;/quote&gt; &lt;/h3&gt;
&lt;p&gt; %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="71"/> <location filename="../src/modules/welcomeq/welcomeq.qml" line="71"/>

View File

@ -1838,7 +1838,7 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="76"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="76"/>
<source>Office</source> <source>Office</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="77"/> <location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="77"/>
@ -3619,7 +3619,7 @@ Output:
<message> <message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="185"/> <location filename="../src/modules/welcome/WelcomePage.ui" line="185"/>
<source>Open release notes website</source> <source>Open release notes website</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="188"/> <location filename="../src/modules/welcome/WelcomePage.ui" line="188"/>

Binary file not shown.

View File

@ -5,8 +5,8 @@
# #
# Translators: # Translators:
# Adriaan de Groot <groot@kde.org>, 2019 # Adriaan de Groot <groot@kde.org>, 2019
# Andreas Eitel <github-aneitel@online.de>, 2019
# Christian Spaan, 2020 # Christian Spaan, 2020
# Andreas Eitel <github-aneitel@online.de>, 2020
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
@ -15,7 +15,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n" "POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Christian Spaan, 2020\n" "Last-Translator: Andreas Eitel <github-aneitel@online.de>, 2020\n"
"Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -99,11 +99,11 @@ msgstr "rsync fehlgeschlagen mit Fehlercode {}."
#: src/modules/unpackfs/main.py:302 #: src/modules/unpackfs/main.py:302
msgid "Unpacking image {}/{}, file {}/{}" msgid "Unpacking image {}/{}, file {}/{}"
msgstr "" msgstr "Bild Entpacken {}/{}, Datei {}/{}"
#: src/modules/unpackfs/main.py:317 #: src/modules/unpackfs/main.py:317
msgid "Starting to unpack {}" msgid "Starting to unpack {}"
msgstr "" msgstr "Beginn des Entpackens {}"
#: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432 #: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432
msgid "Failed to unpack image \"{}\"" msgid "Failed to unpack image \"{}\""
@ -134,6 +134,8 @@ msgstr "Ungültige unsquash-Konfiguration"
#: src/modules/unpackfs/main.py:423 #: src/modules/unpackfs/main.py:423
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel" msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
msgstr "" msgstr ""
"Das Dateisystem für \"{}\". ({}) wird von Ihrem aktuellen Kernel nicht "
"unterstützt"
#: src/modules/unpackfs/main.py:427 #: src/modules/unpackfs/main.py:427
msgid "The source filesystem \"{}\" does not exist" msgid "The source filesystem \"{}\" does not exist"

Binary file not shown.

View File

@ -9,6 +9,7 @@
# Guido Grasso <cuquiman97@gmail.com>, 2018 # Guido Grasso <cuquiman97@gmail.com>, 2018
# Adolfo Jayme-Barrientos, 2019 # Adolfo Jayme-Barrientos, 2019
# Miguel Mayol <mitcoes@gmail.com>, 2020 # Miguel Mayol <mitcoes@gmail.com>, 2020
# Pier Jose Gotta Perez <piegope@protonmail.com>, 2020
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
@ -17,7 +18,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n" "POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Miguel Mayol <mitcoes@gmail.com>, 2020\n" "Last-Translator: Pier Jose Gotta Perez <piegope@protonmail.com>, 2020\n"
"Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -100,11 +101,11 @@ msgstr "Falló la sincronización mediante rsync con el código de error {}."
#: src/modules/unpackfs/main.py:302 #: src/modules/unpackfs/main.py:302
msgid "Unpacking image {}/{}, file {}/{}" msgid "Unpacking image {}/{}, file {}/{}"
msgstr "" msgstr "Desempaquetando la imagen {}/{}, archivo {}/{}"
#: src/modules/unpackfs/main.py:317 #: src/modules/unpackfs/main.py:317
msgid "Starting to unpack {}" msgid "Starting to unpack {}"
msgstr "" msgstr "Iniciando el desempaquetado {}"
#: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432 #: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432
msgid "Failed to unpack image \"{}\"" msgid "Failed to unpack image \"{}\""
@ -137,6 +138,8 @@ msgstr "Configuración de \"unsquash\" no válida"
#: src/modules/unpackfs/main.py:423 #: src/modules/unpackfs/main.py:423
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel" msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
msgstr "" msgstr ""
"El sistema de archivos para \"{}\" ({}) no es compatible con su kernel "
"actual"
#: src/modules/unpackfs/main.py:427 #: src/modules/unpackfs/main.py:427
msgid "The source filesystem \"{}\" does not exist" msgid "The source filesystem \"{}\" does not exist"

Binary file not shown.

View File

@ -3,6 +3,9 @@
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
# Translators:
# Danial Behzadi <dani.behzi@ubuntu.com>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -10,6 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n" "POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>, 2020\n"
"Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -20,30 +24,30 @@ msgstr ""
#: src/modules/packages/main.py:59 src/modules/packages/main.py:68 #: src/modules/packages/main.py:59 src/modules/packages/main.py:68
#: src/modules/packages/main.py:78 #: src/modules/packages/main.py:78
msgid "Install packages." msgid "Install packages."
msgstr "" msgstr "نصب بسته‌ها."
#: src/modules/packages/main.py:66 #: src/modules/packages/main.py:66
#, python-format #, python-format
msgid "Processing packages (%(count)d / %(total)d)" msgid "Processing packages (%(count)d / %(total)d)"
msgstr "" msgstr "در حال پردازش بسته‌ها (%(count)d/%(total)d)"
#: src/modules/packages/main.py:71 #: src/modules/packages/main.py:71
#, python-format #, python-format
msgid "Installing one package." msgid "Installing one package."
msgid_plural "Installing %(num)d packages." msgid_plural "Installing %(num)d packages."
msgstr[0] "" msgstr[0] "در حال نصب یک بسته."
msgstr[1] "" msgstr[1] "در حال نصب %(num)d بسته."
#: src/modules/packages/main.py:74 #: src/modules/packages/main.py:74
#, python-format #, python-format
msgid "Removing one package." msgid "Removing one package."
msgid_plural "Removing %(num)d packages." msgid_plural "Removing %(num)d packages."
msgstr[0] "" msgstr[0] "در حال برداشتن یک بسته."
msgstr[1] "" msgstr[1] "در حال برداشتن %(num)d بسته."
#: src/modules/networkcfg/main.py:37 #: src/modules/networkcfg/main.py:37
msgid "Saving network configuration." msgid "Saving network configuration."
msgstr "" msgstr "در حال ذخیرهٔ پیکربندی شبکه."
#: src/modules/networkcfg/main.py:48 src/modules/initcpiocfg/main.py:205 #: src/modules/networkcfg/main.py:48 src/modules/initcpiocfg/main.py:205
#: src/modules/initcpiocfg/main.py:209 src/modules/openrcdmcryptcfg/main.py:78 #: src/modules/initcpiocfg/main.py:209 src/modules/openrcdmcryptcfg/main.py:78
@ -53,142 +57,146 @@ msgstr ""
#: src/modules/fstab/main.py:338 src/modules/initramfscfg/main.py:94 #: src/modules/fstab/main.py:338 src/modules/initramfscfg/main.py:94
#: src/modules/initramfscfg/main.py:98 src/modules/rawfs/main.py:171 #: src/modules/initramfscfg/main.py:98 src/modules/rawfs/main.py:171
msgid "Configuration Error" msgid "Configuration Error"
msgstr "" msgstr "خطای پیکربندی"
#: src/modules/networkcfg/main.py:49 src/modules/initcpiocfg/main.py:210 #: src/modules/networkcfg/main.py:49 src/modules/initcpiocfg/main.py:210
#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/localecfg/main.py:145 #: src/modules/openrcdmcryptcfg/main.py:83 src/modules/localecfg/main.py:145
#: src/modules/luksopenswaphookcfg/main.py:100 src/modules/fstab/main.py:339 #: src/modules/luksopenswaphookcfg/main.py:100 src/modules/fstab/main.py:339
#: src/modules/initramfscfg/main.py:99 #: src/modules/initramfscfg/main.py:99
msgid "No root mount point is given for <pre>{!s}</pre> to use." msgid "No root mount point is given for <pre>{!s}</pre> to use."
msgstr "" msgstr "هیچ نقطهٔ اتّصال ریشه‌ای برای استفادهٔ <pre>{!s}</pre> داده نشده."
#: src/modules/umount/main.py:40 #: src/modules/umount/main.py:40
msgid "Unmount file systems." msgid "Unmount file systems."
msgstr "" msgstr "پیاده کردن سامانه‌های پرونده."
#: src/modules/initcpiocfg/main.py:37 #: src/modules/initcpiocfg/main.py:37
msgid "Configuring mkinitcpio." msgid "Configuring mkinitcpio."
msgstr "" msgstr "پیکربندی mkinitcpio."
#: src/modules/initcpiocfg/main.py:206 src/modules/openrcdmcryptcfg/main.py:79 #: src/modules/initcpiocfg/main.py:206 src/modules/openrcdmcryptcfg/main.py:79
#: src/modules/mount/main.py:146 src/modules/luksopenswaphookcfg/main.py:96 #: src/modules/mount/main.py:146 src/modules/luksopenswaphookcfg/main.py:96
#: src/modules/fstab/main.py:333 src/modules/initramfscfg/main.py:95 #: src/modules/fstab/main.py:333 src/modules/initramfscfg/main.py:95
#: src/modules/rawfs/main.py:172 #: src/modules/rawfs/main.py:172
msgid "No partitions are defined for <pre>{!s}</pre> to use." msgid "No partitions are defined for <pre>{!s}</pre> to use."
msgstr "" msgstr "هیچ افرازی برای استفادهٔ <pre>{!s}</pre> تعریف نشده."
#: src/modules/openrcdmcryptcfg/main.py:34 #: src/modules/openrcdmcryptcfg/main.py:34
msgid "Configuring OpenRC dmcrypt service." msgid "Configuring OpenRC dmcrypt service."
msgstr "" msgstr "در حال پیکربندی خدمت dmcrypt OpenRC."
#: src/modules/unpackfs/main.py:44 #: src/modules/unpackfs/main.py:44
msgid "Filling up filesystems." msgid "Filling up filesystems."
msgstr "" msgstr "در حال پر کردن سامانه‌پرونده‌ها."
#: src/modules/unpackfs/main.py:257 #: src/modules/unpackfs/main.py:257
msgid "rsync failed with error code {}." msgid "rsync failed with error code {}."
msgstr "" msgstr "آرسینک با رمز خطای {} شکست خورد."
#: src/modules/unpackfs/main.py:302 #: src/modules/unpackfs/main.py:302
msgid "Unpacking image {}/{}, file {}/{}" msgid "Unpacking image {}/{}, file {}/{}"
msgstr "" msgstr "در حال بسته‌گشایی تصویر {}/{}، پروندهٔ {}/{}"
#: src/modules/unpackfs/main.py:317 #: src/modules/unpackfs/main.py:317
msgid "Starting to unpack {}" msgid "Starting to unpack {}"
msgstr "" msgstr "در حال شروع بسته‌گشایی {}"
#: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432 #: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432
msgid "Failed to unpack image \"{}\"" msgid "Failed to unpack image \"{}\""
msgstr "" msgstr "شکست در بسته‌گشایی تصویر {}"
#: src/modules/unpackfs/main.py:399 #: src/modules/unpackfs/main.py:399
msgid "No mount point for root partition" msgid "No mount point for root partition"
msgstr "" msgstr "هیچ نقطهٔ اتّصالی برای افراز ریشه وجود ندارد"
#: src/modules/unpackfs/main.py:400 #: src/modules/unpackfs/main.py:400
msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"
msgstr "" msgstr "globalstorage کلید rootMountPoint را ندارد. کاری انجام نمی‌شود"
#: src/modules/unpackfs/main.py:405 #: src/modules/unpackfs/main.py:405
msgid "Bad mount point for root partition" msgid "Bad mount point for root partition"
msgstr "" msgstr "نقطهٔ اتّصال بد برای افراز ریشه"
#: src/modules/unpackfs/main.py:406 #: src/modules/unpackfs/main.py:406
msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgid "rootMountPoint is \"{}\", which does not exist, doing nothing"
msgstr "" msgstr "نقطهٔ اتّصال ریشه {} است که وجود ندارد. کاری انجام نمی‌شود"
#: src/modules/unpackfs/main.py:422 src/modules/unpackfs/main.py:426 #: src/modules/unpackfs/main.py:422 src/modules/unpackfs/main.py:426
#: src/modules/unpackfs/main.py:446 #: src/modules/unpackfs/main.py:446
msgid "Bad unsquash configuration" msgid "Bad unsquash configuration"
msgstr "" msgstr "پیکربندی بد unsquash"
#: src/modules/unpackfs/main.py:423 #: src/modules/unpackfs/main.py:423
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel" msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
msgstr "" msgstr "کرنل کنونیتان از سامانه‌پروندهٔ {} ({}) پشتیبانی نمی‌کند"
#: src/modules/unpackfs/main.py:427 #: src/modules/unpackfs/main.py:427
msgid "The source filesystem \"{}\" does not exist" msgid "The source filesystem \"{}\" does not exist"
msgstr "" msgstr "سامانهٔ پروندهٔ مبدأ {} وجود ندارد"
#: src/modules/unpackfs/main.py:433 #: src/modules/unpackfs/main.py:433
msgid "" msgid ""
"Failed to find unsquashfs, make sure you have the squashfs-tools package " "Failed to find unsquashfs, make sure you have the squashfs-tools package "
"installed" "installed"
msgstr "" msgstr "شکست در یافتن unsquashfs. مطمئن شوید بستهٔ squashfs-tools نصب است"
#: src/modules/unpackfs/main.py:447 #: src/modules/unpackfs/main.py:447
msgid "The destination \"{}\" in the target system is not a directory" msgid "The destination \"{}\" in the target system is not a directory"
msgstr "" msgstr "مقصد {} در سامانهٔ هدف، یک شاخه نیست"
#: src/modules/services-systemd/main.py:35 #: src/modules/services-systemd/main.py:35
msgid "Configure systemd services" msgid "Configure systemd services"
msgstr "" msgstr "در حال پیکربندی خدمات سیستم‌دی"
#: src/modules/services-systemd/main.py:68 #: src/modules/services-systemd/main.py:68
#: src/modules/services-openrc/main.py:102 #: src/modules/services-openrc/main.py:102
msgid "Cannot modify service" msgid "Cannot modify service"
msgstr "" msgstr "نمی‌توان خدمت را دستکاری کرد"
#: src/modules/services-systemd/main.py:69 #: src/modules/services-systemd/main.py:69
msgid "" msgid ""
"<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}." "<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}."
msgstr "" msgstr ""
"فراخوانی <code>systemctl {arg!s}</code> در chroot رمز خطای {num!s} را "
"برگرداند."
#: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:72
#: src/modules/services-systemd/main.py:76 #: src/modules/services-systemd/main.py:76
msgid "Cannot enable systemd service <code>{name!s}</code>." msgid "Cannot enable systemd service <code>{name!s}</code>."
msgstr "" msgstr "نمی‌توان خدمت سیستم‌دی <code>{name!s}</code> را به کار انداخت."
#: src/modules/services-systemd/main.py:74 #: src/modules/services-systemd/main.py:74
msgid "Cannot enable systemd target <code>{name!s}</code>." msgid "Cannot enable systemd target <code>{name!s}</code>."
msgstr "" msgstr "نمی‌توان هدف سیستم‌دی <code>{name!s}</code> را به کار انداخت."
#: src/modules/services-systemd/main.py:78 #: src/modules/services-systemd/main.py:78
msgid "Cannot disable systemd target <code>{name!s}</code>." msgid "Cannot disable systemd target <code>{name!s}</code>."
msgstr "" msgstr "نمی‌توان خدمت سیستم‌دی <code>{name!s}</code> را از کار انداخت."
#: src/modules/services-systemd/main.py:80 #: src/modules/services-systemd/main.py:80
msgid "Cannot mask systemd unit <code>{name!s}</code>." msgid "Cannot mask systemd unit <code>{name!s}</code>."
msgstr "" msgstr "نمی‌توان واحد سیستم‌دی <code>{name!s}</code> را پوشاند."
#: src/modules/services-systemd/main.py:82 #: src/modules/services-systemd/main.py:82
msgid "" msgid ""
"Unknown systemd commands <code>{command!s}</code> and " "Unknown systemd commands <code>{command!s}</code> and "
"<code>{suffix!s}</code> for unit {name!s}." "<code>{suffix!s}</code> for unit {name!s}."
msgstr "" msgstr ""
"دستورات ناشناختهٔ سیستم‌دی <code>{command!s}</code> و "
"<code>{suffix!s}</code> برای واحد {name!s}."
#: src/modules/dummypython/main.py:44 #: src/modules/dummypython/main.py:44
msgid "Dummy python job." msgid "Dummy python job."
msgstr "" msgstr "کار پایتونی الکی."
#: src/modules/dummypython/main.py:46 src/modules/dummypython/main.py:102 #: src/modules/dummypython/main.py:46 src/modules/dummypython/main.py:102
#: src/modules/dummypython/main.py:103 #: src/modules/dummypython/main.py:103
msgid "Dummy python step {}" msgid "Dummy python step {}"
msgstr "" msgstr "گام پایتونی الکی {}"
#: src/modules/bootloader/main.py:51 #: src/modules/bootloader/main.py:51
msgid "Install bootloader." msgid "Install bootloader."
msgstr "" msgstr "نصب بارکنندهٔ راه‌اندازی."
#: src/modules/localecfg/main.py:39 #: src/modules/localecfg/main.py:39
msgid "Configuring locales." msgid "Configuring locales."
@ -196,31 +204,31 @@ msgstr ""
#: src/modules/mount/main.py:38 #: src/modules/mount/main.py:38
msgid "Mounting partitions." msgid "Mounting partitions."
msgstr "" msgstr "در حال سوار کردن افرازها."
#: src/modules/plymouthcfg/main.py:36 #: src/modules/plymouthcfg/main.py:36
msgid "Configure Plymouth theme" msgid "Configure Plymouth theme"
msgstr "" msgstr "در حال پیکربندی زمینهٔ پلی‌موث"
#: src/modules/luksopenswaphookcfg/main.py:35 #: src/modules/luksopenswaphookcfg/main.py:35
msgid "Configuring encrypted swap." msgid "Configuring encrypted swap."
msgstr "" msgstr "در حال پیکربندی مبادلهٔ رمزشده."
#: src/modules/fstab/main.py:38 #: src/modules/fstab/main.py:38
msgid "Writing fstab." msgid "Writing fstab."
msgstr "" msgstr "در حال نوشتن fstab."
#: src/modules/services-openrc/main.py:38 #: src/modules/services-openrc/main.py:38
msgid "Configure OpenRC services" msgid "Configure OpenRC services"
msgstr "" msgstr "پیکربندی خدمات OpenRC"
#: src/modules/services-openrc/main.py:66 #: src/modules/services-openrc/main.py:66
msgid "Cannot add service {name!s} to run-level {level!s}." msgid "Cannot add service {name!s} to run-level {level!s}."
msgstr "" msgstr "نمی‌توان خدمت {name!s} را به سطح اجرایی {level!s} افزود."
#: src/modules/services-openrc/main.py:68 #: src/modules/services-openrc/main.py:68
msgid "Cannot remove service {name!s} from run-level {level!s}." msgid "Cannot remove service {name!s} from run-level {level!s}."
msgstr "" msgstr "نمی‌توان خدمت {name!s} را از سطح اجرایی {level!s} برداشت."
#: src/modules/services-openrc/main.py:70 #: src/modules/services-openrc/main.py:70
msgid "" msgid ""
@ -235,7 +243,7 @@ msgstr ""
#: src/modules/services-openrc/main.py:110 #: src/modules/services-openrc/main.py:110
msgid "Target runlevel does not exist" msgid "Target runlevel does not exist"
msgstr "" msgstr "سطح اجرایی هدف وجود ندارد."
#: src/modules/services-openrc/main.py:111 #: src/modules/services-openrc/main.py:111
msgid "" msgid ""
@ -245,7 +253,7 @@ msgstr ""
#: src/modules/services-openrc/main.py:119 #: src/modules/services-openrc/main.py:119
msgid "Target service does not exist" msgid "Target service does not exist"
msgstr "" msgstr "خدمت هدف وجود ندارد"
#: src/modules/services-openrc/main.py:120 #: src/modules/services-openrc/main.py:120
msgid "" msgid ""
@ -255,82 +263,84 @@ msgstr ""
#: src/modules/dracut/main.py:36 #: src/modules/dracut/main.py:36
msgid "Creating initramfs with dracut." msgid "Creating initramfs with dracut."
msgstr "" msgstr "در حال ایجاد initramfs با dracut."
#: src/modules/dracut/main.py:58 #: src/modules/dracut/main.py:58
msgid "Failed to run dracut on the target" msgid "Failed to run dracut on the target"
msgstr "" msgstr "شکست در اجرای dracut روی هدف"
#: src/modules/dracut/main.py:59 #: src/modules/dracut/main.py:59
msgid "The exit code was {}" msgid "The exit code was {}"
msgstr "" msgstr "رمز خروج {} بود"
#: src/modules/grubcfg/main.py:37 #: src/modules/grubcfg/main.py:37
msgid "Configure GRUB." msgid "Configure GRUB."
msgstr "" msgstr "در حال پیکربندی گراب."
#: src/modules/displaymanager/main.py:515 #: src/modules/displaymanager/main.py:515
msgid "Cannot write KDM configuration file" msgid "Cannot write KDM configuration file"
msgstr "" msgstr "نمی‌توان پروندهٔ پیکربندی KDM را نوشت"
#: src/modules/displaymanager/main.py:516 #: src/modules/displaymanager/main.py:516
msgid "KDM config file {!s} does not exist" msgid "KDM config file {!s} does not exist"
msgstr "" msgstr "پروندهٔ پیکربندی {!s} وجود ندارد"
#: src/modules/displaymanager/main.py:577 #: src/modules/displaymanager/main.py:577
msgid "Cannot write LXDM configuration file" msgid "Cannot write LXDM configuration file"
msgstr "" msgstr "نمی‌توان پروندهٔ پیکربندی LXDM را نوشت"
#: src/modules/displaymanager/main.py:578 #: src/modules/displaymanager/main.py:578
msgid "LXDM config file {!s} does not exist" msgid "LXDM config file {!s} does not exist"
msgstr "" msgstr "پروندهٔ پیکربندی {!s} وجود ندارد"
#: src/modules/displaymanager/main.py:661 #: src/modules/displaymanager/main.py:661
msgid "Cannot write LightDM configuration file" msgid "Cannot write LightDM configuration file"
msgstr "" msgstr "نمی‌توان پروندهٔ پیکربندی LightDM را نوشت"
#: src/modules/displaymanager/main.py:662 #: src/modules/displaymanager/main.py:662
msgid "LightDM config file {!s} does not exist" msgid "LightDM config file {!s} does not exist"
msgstr "" msgstr "پروندهٔ پیکربندی {!s} وجود ندارد"
#: src/modules/displaymanager/main.py:736 #: src/modules/displaymanager/main.py:736
msgid "Cannot configure LightDM" msgid "Cannot configure LightDM"
msgstr "" msgstr "نمی‌توان LightDM را پیکربندی کرد"
#: src/modules/displaymanager/main.py:737 #: src/modules/displaymanager/main.py:737
msgid "No LightDM greeter installed." msgid "No LightDM greeter installed."
msgstr "" msgstr "هیچ خوش‌آمدگوی LightDMای نصب نشده."
#: src/modules/displaymanager/main.py:768 #: src/modules/displaymanager/main.py:768
msgid "Cannot write SLIM configuration file" msgid "Cannot write SLIM configuration file"
msgstr "" msgstr "نمی‌توان پروندهٔ پیکربندی LightDM را نوشت"
#: src/modules/displaymanager/main.py:769 #: src/modules/displaymanager/main.py:769
msgid "SLIM config file {!s} does not exist" msgid "SLIM config file {!s} does not exist"
msgstr "" msgstr "پروندهٔ پیکربندی {!s} وجود ندارد"
#: src/modules/displaymanager/main.py:895 #: src/modules/displaymanager/main.py:895
msgid "No display managers selected for the displaymanager module." msgid "No display managers selected for the displaymanager module."
msgstr "" msgstr "هیچ مدیر نمایشی برای پیمانهٔ displaymanager گزیده نشده."
#: src/modules/displaymanager/main.py:896 #: src/modules/displaymanager/main.py:896
msgid "" msgid ""
"The displaymanagers list is empty or undefined in bothglobalstorage and " "The displaymanagers list is empty or undefined in bothglobalstorage and "
"displaymanager.conf." "displaymanager.conf."
msgstr "" msgstr ""
"فهرست displaymanagers خالی بوده یا در bothglobalstorage و "
"displaymanager.conf تعریف نشده."
#: src/modules/displaymanager/main.py:978 #: src/modules/displaymanager/main.py:978
msgid "Display manager configuration was incomplete" msgid "Display manager configuration was incomplete"
msgstr "" msgstr "پیکربندی مدیر نمایش کامل نبود"
#: src/modules/initramfscfg/main.py:41 #: src/modules/initramfscfg/main.py:41
msgid "Configuring initramfs." msgid "Configuring initramfs."
msgstr "" msgstr "در حال پیکربندی initramfs."
#: src/modules/hwclock/main.py:35 #: src/modules/hwclock/main.py:35
msgid "Setting hardware clock." msgid "Setting hardware clock."
msgstr "" msgstr "در حال تنظیم ساعت سخت‌افزاری."
#: src/modules/rawfs/main.py:35 #: src/modules/rawfs/main.py:35
msgid "Installing data." msgid "Installing data."
msgstr "" msgstr "داده‌های نصب"

View File

@ -24,7 +24,7 @@ msgstr ""
#: src/modules/packages/main.py:59 src/modules/packages/main.py:68 #: src/modules/packages/main.py:59 src/modules/packages/main.py:68
#: src/modules/packages/main.py:78 #: src/modules/packages/main.py:78
msgid "Install packages." msgid "Install packages."
msgstr "Asenna paketteja." msgstr "Asenna paketit."
#: src/modules/packages/main.py:66 #: src/modules/packages/main.py:66
#, python-format #, python-format
@ -108,7 +108,7 @@ msgstr "Kuvan purkaminen epäonnistui \"{}\""
#: src/modules/unpackfs/main.py:399 #: src/modules/unpackfs/main.py:399
msgid "No mount point for root partition" msgid "No mount point for root partition"
msgstr "Ei liitoskohtaa juuri root-osiolle" msgstr "Ei liitoskohtaa juuri root osiolle"
#: src/modules/unpackfs/main.py:400 #: src/modules/unpackfs/main.py:400
msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"

Binary file not shown.

View File

@ -6,7 +6,7 @@
# Translators: # Translators:
# Choiril Abdul, 2018 # Choiril Abdul, 2018
# Harry Suryapambagya <harsxv@gmail.com>, 2018 # Harry Suryapambagya <harsxv@gmail.com>, 2018
# Wantoyo <wantoyek@gmail.com>, 2018 # Wantoyèk <wantoyek@gmail.com>, 2018
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
@ -15,7 +15,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n" "POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Wantoyo <wantoyek@gmail.com>, 2018\n" "Last-Translator: Wantoyèk <wantoyek@gmail.com>, 2018\n"
"Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"

Binary file not shown.

View File

@ -4,7 +4,7 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
# Translators: # Translators:
# Tyler Moss <inactive+lazerbeta@transifex.com>, 2017 # 865ac004d9acf2568b2e4b389e0007c7_fba755c <3516cc82d94f87187da1e036e5f09e42_616112>, 2017
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
@ -13,7 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n" "POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Tyler Moss <inactive+lazerbeta@transifex.com>, 2017\n" "Last-Translator: 865ac004d9acf2568b2e4b389e0007c7_fba755c <3516cc82d94f87187da1e036e5f09e42_616112>, 2017\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"

View File

@ -5,6 +5,7 @@
# #
# Translators: # Translators:
# 黃柏諺 <s8321414@gmail.com>, 2020 # 黃柏諺 <s8321414@gmail.com>, 2020
# Walter Cheuk <wwycheuk@gmail.com>, 2020
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
@ -13,7 +14,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-30 23:13+0200\n" "POT-Creation-Date: 2020-04-30 23:13+0200\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: 黃柏諺 <s8321414@gmail.com>, 2020\n" "Last-Translator: Walter Cheuk <wwycheuk@gmail.com>, 2020\n"
"Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -126,7 +127,7 @@ msgstr "錯誤的 unsquash 設定"
#: src/modules/unpackfs/main.py:423 #: src/modules/unpackfs/main.py:423
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel" msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
msgstr "\"{}\" ({}) 的檔案系統不被您目前的核心所支援" msgstr "\"{}\" ({}) 的檔案系統不獲您目前的內核所支援"
#: src/modules/unpackfs/main.py:427 #: src/modules/unpackfs/main.py:427
msgid "The source filesystem \"{}\" does not exist" msgid "The source filesystem \"{}\" does not exist"
@ -136,7 +137,7 @@ msgstr "來源檔案系統 \"{}\" 不存在"
msgid "" msgid ""
"Failed to find unsquashfs, make sure you have the squashfs-tools package " "Failed to find unsquashfs, make sure you have the squashfs-tools package "
"installed" "installed"
msgstr "找不到 unsquashfs請確定已安裝 squashfs-tools 軟體包" msgstr "找不到 unsquashfs請確定已安裝 squashfs-tools 軟體包"
#: src/modules/unpackfs/main.py:447 #: src/modules/unpackfs/main.py:447
msgid "The destination \"{}\" in the target system is not a directory" msgid "The destination \"{}\" in the target system is not a directory"

View File

@ -141,8 +141,23 @@ images:
# The slideshow is displayed during execution steps (e.g. when the # The slideshow is displayed during execution steps (e.g. when the
# installer is actually writing to disk and doing other slow things). # installer is actually writing to disk and doing other slow things).
#
# The slideshow can be a QML file (recommended) which can display
# arbitrary things -- text, images, animations, or even play a game --
# during the execution step. The QML **is** abruptly stopped when the
# execution step is done, though, so maybe a game isn't a great idea.
#
# The slideshow can also be a sequence of images (not recommended unless
# you don't want QML at all in your Calamares). The images are displayed
# at a rate of 1 every 2 seconds during the execution step.
#
# To configure a QML file, list a single filename:
# slideshow: "show.qml"
# To configure images, like the filenames (here, as an inline list):
# slideshow: [ "/etc/calamares/slideshow/0.png", "/etc/logo.png" ]
slideshow: "show.qml" slideshow: "show.qml"
# There are two available APIs for the slideshow:
# There are two available APIs for a QML slideshow:
# - 1 (the default) loads the entire slideshow when the installation- # - 1 (the default) loads the entire slideshow when the installation-
# slideshow page is shown and starts the QML then. The QML # slideshow page is shown and starts the QML then. The QML
# is never stopped (after installation is done, times etc. # is never stopped (after installation is done, times etc.
@ -151,6 +166,8 @@ slideshow: "show.qml"
# onLeave() in the root object. After the installation is done, # onLeave() in the root object. After the installation is done,
# the show is stopped (first by calling onLeave(), then destroying # the show is stopped (first by calling onLeave(), then destroying
# the QML components). # the QML components).
#
# An image slideshow does not need to have the API defined.
slideshowAPI: 2 slideshowAPI: 2

View File

@ -10,6 +10,20 @@ set( calamaresSources
progresstree/ProgressTreeView.cpp progresstree/ProgressTreeView.cpp
) )
if( NOT WITH_KF5DBus )
set( kdsagSources "" )
foreach( _s
kdsingleapplicationguard/kdsingleapplicationguard.cpp
kdsingleapplicationguard/kdsharedmemorylocker.cpp
kdsingleapplicationguard/kdtoolsglobal.cpp
kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp
)
list( APPEND kdsagSources ${CMAKE_SOURCE_DIR}/3rdparty/${_s} )
endforeach()
mark_thirdparty_code( ${kdsagSources} )
list( APPEND calamaresSources ${kdsagSources} )
endif()
include_directories( include_directories(
${CMAKE_SOURCE_DIR}/src/libcalamares ${CMAKE_SOURCE_DIR}/src/libcalamares
${CMAKE_SOURCE_DIR}/src/libcalamaresui ${CMAKE_SOURCE_DIR}/src/libcalamaresui

View File

@ -32,6 +32,9 @@
#include "utils/CalamaresUtilsSystem.h" #include "utils/CalamaresUtilsSystem.h"
#include "utils/Dirs.h" #include "utils/Dirs.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#ifdef WITH_QML
#include "utils/Qml.h"
#endif
#include "utils/Retranslator.h" #include "utils/Retranslator.h"
#include "viewpages/ViewStep.h" #include "viewpages/ViewStep.h"
@ -117,34 +120,6 @@ CalamaresApplication::mainWindow()
} }
static QStringList
qmlDirCandidates( bool assumeBuilddir )
{
static const char QML[] = "qml";
QStringList qmlDirs;
if ( CalamaresUtils::isAppDataDirOverridden() )
{
qmlDirs << CalamaresUtils::appDataDir().absoluteFilePath( QML );
}
else
{
if ( assumeBuilddir )
{
qmlDirs << QDir::current().absoluteFilePath( "src/qml" ); // In build-dir
}
if ( CalamaresUtils::haveExtraDirs() )
for ( auto s : CalamaresUtils::extraDataDirs() )
{
qmlDirs << ( s + QML );
}
qmlDirs << CalamaresUtils::appDataDir().absoluteFilePath( QML );
}
return qmlDirs;
}
static QStringList static QStringList
brandingFileCandidates( bool assumeBuilddir, const QString& brandingFilename ) brandingFileCandidates( bool assumeBuilddir, const QString& brandingFilename )
{ {
@ -175,38 +150,12 @@ brandingFileCandidates( bool assumeBuilddir, const QString& brandingFilename )
void void
CalamaresApplication::initQmlPath() CalamaresApplication::initQmlPath()
{ {
QDir importPath; // Right now, current-dir #ifdef WITH_QML
QStringList qmlDirCandidatesByPriority = qmlDirCandidates( isDebug() ); if ( !CalamaresUtils::initQmlModulesDir() )
bool found = false;
foreach ( const QString& path, qmlDirCandidatesByPriority )
{ {
QDir dir( path );
if ( dir.exists() && dir.isReadable() )
{
importPath = dir;
found = true;
break;
}
}
if ( !found || !importPath.exists() || !importPath.isReadable() )
{
cError() << "Cowardly refusing to continue startup without a QML directory."
<< Logger::DebugList( qmlDirCandidatesByPriority );
if ( CalamaresUtils::isAppDataDirOverridden() )
{
cError() << "FATAL: explicitly configured application data directory is missing qml/";
}
else
{
cError() << "FATAL: none of the expected QML paths exist.";
}
::exit( EXIT_FAILURE ); ::exit( EXIT_FAILURE );
} }
#endif
cDebug() << "Using Calamares QML directory" << importPath.absolutePath();
CalamaresUtils::setQmlModulesDir( importPath );
} }

View File

@ -22,6 +22,7 @@
#include "CalamaresWindow.h" #include "CalamaresWindow.h"
#include "Branding.h" #include "Branding.h"
#include "CalamaresConfig.h"
#include "DebugWindow.h" #include "DebugWindow.h"
#include "Settings.h" #include "Settings.h"
#include "ViewManager.h" #include "ViewManager.h"
@ -38,8 +39,10 @@
#include <QFile> #include <QFile>
#include <QFileInfo> #include <QFileInfo>
#include <QLabel> #include <QLabel>
#ifdef WITH_QML
#include <QQuickItem> #include <QQuickItem>
#include <QQuickWidget> #include <QQuickWidget>
#endif
#include <QTreeView> #include <QTreeView>
static inline int static inline int
@ -132,18 +135,6 @@ CalamaresWindow::getWidgetSidebar( QWidget* parent, int desiredWidth )
return sideBox; return sideBox;
} }
QWidget*
CalamaresWindow::getQmlSidebar( QWidget* parent, int )
{
CalamaresUtils::registerCalamaresModels();
QQuickWidget* w = new QQuickWidget( parent );
w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
w->setResizeMode( QQuickWidget::SizeRootObjectToView );
w->setSource( QUrl(
CalamaresUtils::searchQmlFile( CalamaresUtils::QmlSearch::Both, QStringLiteral( "calamares-sidebar" ) ) ) );
return w;
}
/** @brief Get a button-sized icon. */ /** @brief Get a button-sized icon. */
static inline QPixmap static inline QPixmap
getButtonIcon( const QString& name ) getButtonIcon( const QString& name )
@ -213,10 +204,23 @@ CalamaresWindow::getWidgetNavigation( QWidget* parent )
return navigation; return navigation;
} }
#ifdef WITH_QML
QWidget*
CalamaresWindow::getQmlSidebar( QWidget* parent, int )
{
CalamaresUtils::registerQmlModels();
QQuickWidget* w = new QQuickWidget( parent );
w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
w->setResizeMode( QQuickWidget::SizeRootObjectToView );
w->setSource( QUrl(
CalamaresUtils::searchQmlFile( CalamaresUtils::QmlSearch::Both, QStringLiteral( "calamares-sidebar" ) ) ) );
return w;
}
QWidget* QWidget*
CalamaresWindow::getQmlNavigation( QWidget* parent ) CalamaresWindow::getQmlNavigation( QWidget* parent )
{ {
CalamaresUtils::registerCalamaresModels(); CalamaresUtils::registerQmlModels();
QQuickWidget* w = new QQuickWidget( parent ); QQuickWidget* w = new QQuickWidget( parent );
w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
w->setResizeMode( QQuickWidget::SizeRootObjectToView ); w->setResizeMode( QQuickWidget::SizeRootObjectToView );
@ -231,6 +235,19 @@ CalamaresWindow::getQmlNavigation( QWidget* parent )
return w; return w;
} }
#else
// Bogus to keep the linker happy
QWidget * CalamaresWindow::getQmlSidebar(QWidget* , int )
{
return nullptr;
}
QWidget * CalamaresWindow::getQmlNavigation(QWidget* )
{
return nullptr;
}
#endif
/**@brief Picks one of two methods to call /**@brief Picks one of two methods to call
* *
@ -243,16 +260,21 @@ flavoredWidget( Calamares::Branding::PanelFlavor flavor,
CalamaresWindow* w, CalamaresWindow* w,
QWidget* parent, QWidget* parent,
widgetMaker widget, widgetMaker widget,
widgetMaker qml, widgetMaker qml, // Only if WITH_QML is on
args... a ) args... a )
{ {
#ifndef WITH_QML
Q_UNUSED( qml )
#endif
// Member-function calling syntax is (object.*member)(args) // Member-function calling syntax is (object.*member)(args)
switch ( flavor ) switch ( flavor )
{ {
case Calamares::Branding::PanelFlavor::Widget: case Calamares::Branding::PanelFlavor::Widget:
return ( w->*widget )( parent, a... ); return ( w->*widget )( parent, a... );
#ifdef WITH_QML
case Calamares::Branding::PanelFlavor::Qml: case Calamares::Branding::PanelFlavor::Qml:
return ( w->*qml )( parent, a... ); return ( w->*qml )( parent, a... );
#endif
case Calamares::Branding::PanelFlavor::None: case Calamares::Branding::PanelFlavor::None:
return nullptr; return nullptr;
} }

View File

@ -22,18 +22,22 @@
* bindings. * bindings.
*/ */
#include "modulesystem/Module.h"
#include "utils/Logger.h"
#include "utils/Yaml.h"
#include "Branding.h" #include "Branding.h"
#include "CppJob.h"
#include "GlobalStorage.h" #include "GlobalStorage.h"
#include "Job.h" #include "Job.h"
#include "JobQueue.h" #include "JobQueue.h"
#include "Settings.h" #include "Settings.h"
#include "ViewManager.h" #include "ViewManager.h"
#include "modulesystem/Module.h"
#include "modulesystem/ModuleManager.h" #include "modulesystem/ModuleManager.h"
#include "modulesystem/ViewModule.h"
#include "utils/Logger.h"
#ifdef WITH_QML
#include "utils/Qml.h"
#endif
#include "utils/Yaml.h"
#include "viewpages/ExecutionViewStep.h"
#include <QApplication> #include <QApplication>
#include <QCommandLineOption> #include <QCommandLineOption>
@ -42,6 +46,7 @@
#include <QFileInfo> #include <QFileInfo>
#include <QLabel> #include <QLabel>
#include <QMainWindow> #include <QMainWindow>
#include <QThread>
#include <memory> #include <memory>
@ -80,6 +85,8 @@ handle_args( QCoreApplication& a )
"src/branding/default/branding.desc" ); "src/branding/default/branding.desc" );
QCommandLineOption uiOption( QStringList() << QStringLiteral( "U" ) << QStringLiteral( "ui" ), QCommandLineOption uiOption( QStringList() << QStringLiteral( "U" ) << QStringLiteral( "ui" ),
QStringLiteral( "Enable UI" ) ); QStringLiteral( "Enable UI" ) );
QCommandLineOption slideshowOption( QStringList() << QStringLiteral( "s" ) << QStringLiteral( "slideshow" ),
QStringLiteral( "Run slideshow module" ) );
QCommandLineParser parser; QCommandLineParser parser;
parser.setApplicationDescription( "Calamares module tester" ); parser.setApplicationDescription( "Calamares module tester" );
@ -92,13 +99,14 @@ handle_args( QCoreApplication& a )
parser.addOption( langOption ); parser.addOption( langOption );
parser.addOption( brandOption ); parser.addOption( brandOption );
parser.addOption( uiOption ); parser.addOption( uiOption );
parser.addOption( slideshowOption );
parser.addPositionalArgument( "module", "Path or name of module to run." ); parser.addPositionalArgument( "module", "Path or name of module to run." );
parser.addPositionalArgument( "job.yaml", "Path of job settings document to use.", "[job.yaml]" ); parser.addPositionalArgument( "job.yaml", "Path of job settings document to use.", "[job.yaml]" );
parser.process( a ); parser.process( a );
const QStringList args = parser.positionalArguments(); const QStringList args = parser.positionalArguments();
if ( args.isEmpty() ) if ( args.isEmpty() && !parser.isSet( slideshowOption ) )
{ {
cError() << "Missing <module> path.\n"; cError() << "Missing <module> path.\n";
parser.showHelp(); parser.showHelp();
@ -116,20 +124,161 @@ handle_args( QCoreApplication& a )
jobSettings = args.at( 1 ); jobSettings = args.at( 1 );
} }
return ModuleConfig { args.first(), return ModuleConfig { parser.isSet( slideshowOption ) ? QStringLiteral( "-" ) : args.first(),
jobSettings, jobSettings,
parser.value( globalOption ), parser.value( globalOption ),
parser.value( langOption ), parser.value( langOption ),
parser.value( brandOption ), parser.value( brandOption ),
parser.isSet( uiOption ) }; parser.isSet( slideshowOption ) || parser.isSet( uiOption ) };
} }
} }
/** @brief Bogus Job for --slideshow option
*
* Generally one would use DummyCppJob for this kind of dummy
* job, but that class lives in a module so isn't available
* in this test application.
*
* This bogus job just sleeps for 3.
*/
class ExecViewJob : public Calamares::CppJob
{
public:
explicit ExecViewJob( const QString& name, unsigned long t = 3 )
: m_name( name )
, m_delay( t )
{
}
virtual ~ExecViewJob() override;
QString prettyName() const override { return m_name; }
Calamares::JobResult exec() override
{
QThread::sleep( m_delay );
return Calamares::JobResult::ok();
}
void setConfigurationMap( const QVariantMap& ) override {}
private:
QString m_name;
unsigned long m_delay;
};
ExecViewJob::~ExecViewJob() {}
/** @brief Bogus module for --slideshow option
*
* Normally the slideshow -- displayed by ExecutionViewStep -- is not
* associated with any particular module in the Calamares configuration.
* It is added internally by the module manager. For the module-loader
* testing application, we need something that pretends to be the
* module for the ExecutionViewStep.
*/
class ExecViewModule : public Calamares::Module
{
public:
ExecViewModule();
~ExecViewModule() override;
void loadSelf() override;
virtual Type type() const override;
virtual Interface interface() const override;
virtual Calamares::JobList jobs() const override;
protected:
void initFrom( const QVariantMap& ) override;
};
ExecViewModule::ExecViewModule()
: Calamares::Module()
{
// Normally the module-loader gives the module an instance key
// (out of the settings file, or the descriptor of the module).
// We don't have one, so build one -- this gives us "x@x".
QVariantMap m;
m.insert( "name", "x" );
Calamares::Module::initFrom( m, "x" );
}
ExecViewModule::~ExecViewModule() {}
void
ExecViewModule::initFrom( const QVariantMap& )
{
}
void
ExecViewModule::loadSelf()
{
auto* viewStep = new Calamares::ExecutionViewStep();
viewStep->setModuleInstanceKey( instanceKey() );
viewStep->setConfigurationMap( m_configurationMap );
viewStep->appendJobModuleInstanceKey( instanceKey().toString() );
Calamares::ViewManager::instance()->addViewStep( viewStep );
m_loaded = true;
}
Calamares::Module::Type
ExecViewModule::type() const
{
return Module::Type::View;
}
Calamares::Module::Interface
ExecViewModule::interface() const
{
return Module::Interface::QtPlugin;
}
Calamares::JobList
ExecViewModule::jobs() const
{
Calamares::JobList l;
const auto* gs = Calamares::JobQueue::instance()->globalStorage();
if ( gs && gs->contains( "jobs" ) )
{
QVariantList joblist = gs->value( "jobs" ).toList();
for ( const auto& jd : joblist )
{
QVariantMap jobdescription = jd.toMap();
if ( jobdescription.contains( "name" ) && jobdescription.contains( "delay" ) )
{
l.append( Calamares::job_ptr( new ExecViewJob( jobdescription.value( "name" ).toString(),
jobdescription.value( "delay" ).toULongLong() ) ) );
}
}
}
if ( l.count() > 0 )
{
return l;
}
l.append( Calamares::job_ptr( new ExecViewJob( QStringLiteral( "step 1" ) ) ) );
l.append( Calamares::job_ptr( new ExecViewJob( QStringLiteral( "step two" ) ) ) );
l.append( Calamares::job_ptr( new ExecViewJob( QStringLiteral( "locking mutexes" ), 20 ) ) );
l.append( Calamares::job_ptr( new ExecViewJob( QStringLiteral( "unlocking mutexes" ), 1 ) ) );
for ( const QString& s : QStringList { "Harder", "Better", "Faster", "Stronger" } )
{
l.append( Calamares::job_ptr( new ExecViewJob( s, 0 ) ) );
}
l.append( Calamares::job_ptr( new ExecViewJob( QStringLiteral( "cleaning up" ), 20 ) ) );
return l;
}
static Calamares::Module* static Calamares::Module*
load_module( const ModuleConfig& moduleConfig ) load_module( const ModuleConfig& moduleConfig )
{ {
QString moduleName = moduleConfig.moduleName(); QString moduleName = moduleConfig.moduleName();
if ( moduleName == "-" )
{
return new ExecViewModule;
}
QFileInfo fi; QFileInfo fi;
bool ok = false; bool ok = false;
@ -188,6 +337,18 @@ load_module( const ModuleConfig& moduleConfig )
return module; return module;
} }
static bool
is_ui_option( const char* s )
{
return !qstrcmp( s, "--ui" ) || !qstrcmp( s, "-U" );
}
static bool
is_slideshow_option( const char* s )
{
return !qstrcmp( s, "--slideshow" ) || !qstrcmp( s, "-s" );
}
/** @brief Create the right kind of QApplication /** @brief Create the right kind of QApplication
* *
* Does primitive parsing of argv[] to find the --ui option and returns * Does primitive parsing of argv[] to find the --ui option and returns
@ -202,7 +363,7 @@ createApplication( int& argc, char* argv[] )
{ {
for ( int i = 1; i < argc; ++i ) for ( int i = 1; i < argc; ++i )
{ {
if ( !qstrcmp( argv[ i ], "--ui" ) || !qstrcmp( argv[ i ], "-U" ) ) if ( is_slideshow_option( argv[ i ] ) || is_ui_option( argv[ i ] ) )
{ {
auto* aw = new QApplication( argc, argv ); auto* aw = new QApplication( argc, argv );
aw->setQuitOnLastWindowClosed( true ); aw->setQuitOnLastWindowClosed( true );
@ -241,6 +402,10 @@ main( int argc, char* argv[] )
gs->insert( "localeConf", vm ); gs->insert( "localeConf", vm );
} }
#ifdef WITH_QML
CalamaresUtils::initQmlModulesDir(); // don't care if failed
#endif
cDebug() << "Calamares module-loader testing" << module.moduleName(); cDebug() << "Calamares module-loader testing" << module.moduleName();
Calamares::Module* m = load_module( module ); Calamares::Module* m = load_module( module );
if ( !m ) if ( !m )
@ -252,11 +417,22 @@ main( int argc, char* argv[] )
cDebug() << " .. got" << m->name() << m->typeString() << m->interfaceString(); cDebug() << " .. got" << m->name() << m->typeString() << m->interfaceString();
if ( m->type() == Calamares::Module::Type::View ) if ( m->type() == Calamares::Module::Type::View )
{ {
// If we forgot the --ui, any ViewModule will core dump as it
// tries to create the widget **which won't be used anyway**.
//
// To avoid that crash, re-create the QApplication, now with GUI
if ( !qobject_cast< QApplication* >( aw ) )
{
auto* replace_app = new QApplication( argc, argv );
replace_app->setQuitOnLastWindowClosed( true );
aw = replace_app;
}
mw = module.m_ui ? new QMainWindow() : nullptr; mw = module.m_ui ? new QMainWindow() : nullptr;
(void)new Calamares::Branding( module.m_branding ); (void)new Calamares::Branding( module.m_branding );
(void)new Calamares::ModuleManager( QStringList(), nullptr ); auto* modulemanager = new Calamares::ModuleManager( QStringList(), nullptr );
(void)Calamares::ViewManager::instance( mw ); (void)Calamares::ViewManager::instance( mw );
modulemanager->addModule( m );
} }
if ( !m->isLoaded() ) if ( !m->isLoaded() )

View File

@ -1,12 +1,29 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
#
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
#
# Calamares is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Calamares is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
#
# libcalamares is the non-GUI part of Calamares, which includes handling # libcalamares is the non-GUI part of Calamares, which includes handling
# translations, configurations, logging, utilities, global storage, and (non-GUI) jobs. # translations, configurations, logging, utilities, global storage, and (non-GUI) jobs.
add_definitions( add_definitions( -DDLLEXPORT_PRO )
${QT_DEFINITIONS} include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} )
-DQT_SHARED
-DQT_SHAREDPOINTER_TRACK_POINTERS
-DDLLEXPORT_PRO
)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/CalamaresConfig.h.in configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/CalamaresConfig.h.in
${CMAKE_CURRENT_BINARY_DIR}/CalamaresConfig.h ) ${CMAKE_CURRENT_BINARY_DIR}/CalamaresConfig.h )
@ -27,6 +44,7 @@ set( libSources
# GeoIP services # GeoIP services
geoip/Interface.cpp geoip/Interface.cpp
geoip/GeoIPFixed.cpp
geoip/GeoIPJSON.cpp geoip/GeoIPJSON.cpp
geoip/Handler.cpp geoip/Handler.cpp
@ -65,22 +83,6 @@ set( libSources
utils/Variant.cpp utils/Variant.cpp
utils/Yaml.cpp utils/Yaml.cpp
) )
set( _kdsagSources
kdsingleapplicationguard/kdsingleapplicationguard.cpp
kdsingleapplicationguard/kdsharedmemorylocker.cpp
kdsingleapplicationguard/kdtoolsglobal.cpp
kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp
)
set( kdsagSources "" )
foreach( _s ${_kdsagSources} )
list( APPEND kdsagSources ${CMAKE_SOURCE_DIR}/3rdparty/${_s} )
endforeach()
mark_thirdparty_code( ${kdsagSources} )
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
### OPTIONAL Python support ### OPTIONAL Python support
# #
@ -156,7 +158,7 @@ endif()
### LIBRARY ### LIBRARY
# #
# #
add_library( calamares SHARED ${libSources} ${kdsagSources} ) add_library( calamares SHARED ${libSources} )
set_target_properties( calamares set_target_properties( calamares
PROPERTIES PROPERTIES
VERSION ${CALAMARES_VERSION_SHORT} VERSION ${CALAMARES_VERSION_SHORT}

View File

@ -1,3 +1,24 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/
#ifndef CALAMARESCONFIG_H #ifndef CALAMARESCONFIG_H
#define CALAMARESCONFIG_H #define CALAMARESCONFIG_H
@ -11,5 +32,6 @@
//cmakedefines for CMake variables (e.g. for optdepends) go here //cmakedefines for CMake variables (e.g. for optdepends) go here
#cmakedefine WITH_PYTHON #cmakedefine WITH_PYTHON
#cmakedefine WITH_PYTHONQT #cmakedefine WITH_PYTHONQT
#cmakedefine WITH_QML
#endif // CALAMARESCONFIG_H #endif // CALAMARESCONFIG_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2016, Kevin Kofler <kevin.kofler@chello.at> * SPDX-FileCopyrightText: 2016 Kevin Kofler <kevin.kofler@chello.at>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "CppJob.h" #include "CppJob.h"

View File

@ -1,8 +1,8 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2016, Kevin Kofler <kevin.kofler@chello.at> * SPDX-FileCopyrightText: 2016 Kevin Kofler <kevin.kofler@chello.at>
* Copyright 2020, Adriaan de Groor <groot@kde.org> * SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -16,6 +16,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_CPPJOB_H #ifndef CALAMARES_CPPJOB_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,12 +15,16 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef DLLMACRO_H #ifndef DLLMACRO_H
#define DLLMACRO_H #define DLLMACRO_H
#include <QtCore/qglobal.h> #include <qglobal.h>
/* /*
* Mark symbols exported from Calamares non-GUI library with DLLEXPORT. * Mark symbols exported from Calamares non-GUI library with DLLEXPORT.

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "GlobalStorage.h" #include "GlobalStorage.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_GLOBALSTORAGE_H #ifndef CALAMARES_GLOBALSTORAGE_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Job.h" #include "Job.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,8 +14,11 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_JOB_H #ifndef CALAMARES_JOB_H
#define CALAMARES_JOB_H #define CALAMARES_JOB_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,8 +14,11 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "JobExample.h" #include "JobExample.h"
namespace Calamares namespace Calamares

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_JOB_EXAMPLE_H #ifndef CALAMARES_JOB_EXAMPLE_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "JobQueue.h" #include "JobQueue.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_JOBQUEUE_H #ifndef CALAMARES_JOBQUEUE_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "ProcessJob.h" #include "ProcessJob.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_PROCESSJOB_H #ifndef CALAMARES_PROCESSJOB_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "PythonHelper.h" #include "PythonHelper.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2018, 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_PYTHONJOBHELPER_H #ifndef CALAMARES_PYTHONJOBHELPER_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2016 Teo Mrnjavac <teo@kde.org>
* Copyright 2018, 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,8 +15,11 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "PythonJob.h" #include "PythonJob.h"
#include "CalamaresVersion.h" #include "CalamaresVersion.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_PYTHONJOB_H #ifndef CALAMARES_PYTHONJOB_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2016 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "PythonJobApi.h" #include "PythonJobApi.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2016 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,15 +15,19 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef PYTHONJOBAPI_H #ifndef PYTHONJOBAPI_H
#define PYTHONJOBAPI_H #define PYTHONJOBAPI_H
#include "qglobal.h" // For qreal
#include "utils/BoostPython.h" #include "utils/BoostPython.h"
#include <qglobal.h> // For qreal
namespace Calamares namespace Calamares
{ {
class PythonJob; class PythonJob;

View File

@ -1,9 +1,9 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Dominic Hayes <ferenosdev@outlook.com> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2019, Gabriel Craciunescu <crazy@frugalware.org> * SPDX-FileCopyrightText: 2019 Gabriel Craciunescu <crazy@frugalware.org>
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2019 Dominic Hayes <ferenosdev@outlook.com>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -17,6 +17,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Settings.h" #include "Settings.h"

View File

@ -1,9 +1,9 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Dominic Hayes <ferenosdev@outlook.com> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2019, Gabriel Craciunescu <crazy@frugalware.org> * SPDX-FileCopyrightText: 2019 Gabriel Craciunescu <crazy@frugalware.org>
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2019 Dominic Hayes <ferenosdev@outlook.com>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -17,6 +17,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef SETTINGS_H #ifndef SETTINGS_H

View File

@ -0,0 +1,47 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*/
#include "GeoIPFixed.h"
namespace CalamaresUtils
{
namespace GeoIP
{
GeoIPFixed::GeoIPFixed( const QString& attribute )
: Interface( attribute.isEmpty() ? QStringLiteral( "Europe/Amsterdam" ) : attribute )
{
}
QString
GeoIPFixed::rawReply( const QByteArray& )
{
return m_element;
}
GeoIP::RegionZonePair
GeoIPFixed::processReply( const QByteArray& data )
{
return splitTZString( rawReply( data ) );
}
} // namespace GeoIP
} // namespace CalamaresUtils

View File

@ -0,0 +1,55 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*/
#ifndef GEOIP_GEOIPFIXED_H
#define GEOIP_GEOIPFIXED_H
#include "Interface.h"
namespace CalamaresUtils
{
namespace GeoIP
{
/** @brief GeoIP with a fixed return value
*
* The data is ignored entirely and the attribute value is returned unchanged.
* Note that you still need to provide a usable URL for a successful GeoIP
* lookup -- the URL's data is just ignored.
*
* @note This class is an implementation detail.
*/
class GeoIPFixed : public Interface
{
public:
/** @brief Configure the value to return from rawReply()
*
* An empty string, which would not be a valid zone name, is
* translated to "Europe/Amsterdam".
*/
explicit GeoIPFixed( const QString& value = QString() );
virtual RegionZonePair processReply( const QByteArray& ) override;
virtual QString rawReply( const QByteArray& ) override;
};
} // namespace GeoIP
} // namespace CalamaresUtils
#endif

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2016 Teo Mrnjavac <teo@kde.org>
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "GeoIPJSON.h" #include "GeoIPJSON.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef GEOIP_GEOIPJSON_H #ifndef GEOIP_GEOIPJSON_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,10 +14,15 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "GeoIPTests.h" #include "GeoIPTests.h"
#include "GeoIPFixed.h"
#include "GeoIPJSON.h" #include "GeoIPJSON.h"
#ifdef QT_XML_LIB #ifdef QT_XML_LIB
#include "GeoIPXML.h" #include "GeoIPXML.h"
@ -240,3 +245,35 @@ GeoIPTests::testGet()
CHECK_GET( XML, QString(), "https://geoip.kde.org/v1/ubiquity" ) // Temporary KDE service CHECK_GET( XML, QString(), "https://geoip.kde.org/v1/ubiquity" ) // Temporary KDE service
#endif #endif
} }
void
GeoIPTests::testFixed()
{
{
GeoIPFixed f;
auto tz = f.processReply( QByteArray() );
QCOMPARE( tz.first, QStringLiteral( "Europe" ) );
QCOMPARE( tz.second, QStringLiteral( "Amsterdam" ) );
QCOMPARE( f.processReply( xml_data_ubiquity ), tz );
QCOMPARE( f.processReply( QByteArray( "derp" ) ), tz );
}
{
GeoIPFixed f( QStringLiteral( "America/Vancouver" ) );
auto tz = f.processReply( QByteArray() );
QCOMPARE( tz.first, QStringLiteral( "America" ) );
QCOMPARE( tz.second, QStringLiteral( "Vancouver" ) );
QCOMPARE( f.processReply( xml_data_ubiquity ), tz );
QCOMPARE( f.processReply( QByteArray( "derp" ) ), tz );
}
{
GeoIPFixed f( QStringLiteral( "America/North Dakota/Beulah" ) );
auto tz = f.processReply( QByteArray() );
QCOMPARE( tz.first, QStringLiteral( "America" ) );
QCOMPARE( tz.second, QStringLiteral( "North_Dakota/Beulah" ) );
QCOMPARE( f.processReply( xml_data_ubiquity ), tz );
QCOMPARE( f.processReply( QByteArray( "derp" ) ), tz );
}
}

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef GEOIPTESTS_H #ifndef GEOIPTESTS_H
@ -30,6 +34,7 @@ public:
private Q_SLOTS: private Q_SLOTS:
void initTestCase(); void initTestCase();
void testFixed();
void testJSON(); void testJSON();
void testJSONalt(); void testJSONalt();
void testJSONbad(); void testJSONbad();

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "GeoIPXML.h" #include "GeoIPXML.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef GEOIP_GEOIPXML_H #ifndef GEOIP_GEOIPXML_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,15 +14,21 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Handler.h" #include "Handler.h"
#include "GeoIPFixed.h"
#include "GeoIPJSON.h" #include "GeoIPJSON.h"
#if defined( QT_XML_LIB ) #if defined( QT_XML_LIB )
#include "GeoIPXML.h" #include "GeoIPXML.h"
#endif #endif
#include "Settings.h"
#include "network/Manager.h" #include "network/Manager.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "utils/NamedEnum.h" #include "utils/NamedEnum.h"
@ -40,7 +46,8 @@ handlerTypes()
static const NamedEnumTable<Type> names{ static const NamedEnumTable<Type> names{
{ QStringLiteral( "none" ), Type::None }, { QStringLiteral( "none" ), Type::None },
{ QStringLiteral( "json" ), Type::JSON }, { QStringLiteral( "json" ), Type::JSON },
{ QStringLiteral( "xml" ), Type::XML } { QStringLiteral( "xml" ), Type::XML },
{ QStringLiteral( "fixed" ), Type::Fixed }
}; };
// *INDENT-ON* // *INDENT-ON*
// clang-format on // clang-format on
@ -73,6 +80,10 @@ Handler::Handler( const QString& implementation, const QString& url, const QStri
{ {
cWarning() << "GeoIP style *none* does not do anything."; cWarning() << "GeoIP style *none* does not do anything.";
} }
else if ( m_type == Type::Fixed && Calamares::Settings::instance() && !Calamares::Settings::instance()->debugMode() )
{
cWarning() << "GeoIP style *fixed* is not recommended for production.";
}
#if !defined( QT_XML_LIB ) #if !defined( QT_XML_LIB )
else if ( m_type == Type::XML ) else if ( m_type == Type::XML )
{ {
@ -99,6 +110,8 @@ create_interface( Handler::Type t, const QString& selector )
#else #else
return nullptr; return nullptr;
#endif #endif
case Handler::Type::Fixed:
return std::make_unique< GeoIPFixed >( selector );
} }
NOTREACHED return nullptr; NOTREACHED return nullptr;
} }

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef GEOIP_HANDLER_H #ifndef GEOIP_HANDLER_H
@ -43,9 +47,10 @@ class DLLEXPORT Handler
public: public:
enum class Type enum class Type
{ {
None, None, // No lookup, returns empty string
JSON, JSON, // JSON-formatted data, returns extracted field
XML XML, // XML-formatted data, returns extracted field
Fixed // Returns selector string verbatim
}; };
/** @brief An unconfigured handler; this always returns errors. */ /** @brief An unconfigured handler; this always returns errors. */

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Interface.h" #include "Interface.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef GEOIP_INTERFACE_H #ifndef GEOIP_INTERFACE_H
@ -98,7 +102,7 @@ public:
virtual QString rawReply( const QByteArray& ) = 0; virtual QString rawReply( const QByteArray& ) = 0;
protected: protected:
Interface( const QString& e = QString() ); Interface( const QString& element = QString() );
QString m_element; // string for selecting from data QString m_element; // string for selecting from data
}; };

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
/** /**
@ -22,6 +26,7 @@
#include <iostream> #include <iostream>
#include "GeoIPFixed.h"
#include "GeoIPJSON.h" #include "GeoIPJSON.h"
#ifdef QT_XML_LIB #ifdef QT_XML_LIB
#include "GeoIPXML.h" #include "GeoIPXML.h"
@ -33,27 +38,34 @@ using namespace CalamaresUtils::GeoIP;
int int
main( int argc, char** argv ) main( int argc, char** argv )
{ {
if ( argc != 2 ) if ( ( argc != 2 ) && ( argc != 3 ) )
{ {
cerr << "Usage: curl url | test_geoip <format>\n"; cerr << "Usage: curl url | test_geoip <format> [selector]\n";
return 1; return 1;
} }
QString format( argv[ 1 ] );
QString selector = argc == 3 ? QString( argv[ 2 ] ) : QString();
Interface* handler = nullptr; Interface* handler = nullptr;
if ( QStringLiteral( "json" ) == argv[ 1 ] ) if ( QStringLiteral( "json" ) == format )
{ {
handler = new GeoIPJSON; handler = new GeoIPJSON( selector );
} }
#ifdef QT_XML_LIB #ifdef QT_XML_LIB
else if ( QStringLiteral( "xml" ) == argv[ 1 ] ) else if ( QStringLiteral( "xml" ) == format )
{ {
handler = new GeoIPXML; handler = new GeoIPXML( selector );
} }
#endif #endif
else if ( QStringLiteral( "fixed" ) == format )
{
handler = new GeoIPFixed( selector );
}
if ( !handler ) if ( !handler )
{ {
cerr << "Unknown format '" << argv[ 1 ] << "'\n"; cerr << "Unknown format '" << format.toLatin1().constData() << "'\n";
return 1; return 1;
} }

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Label.h" #include "Label.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef LOCALE_LABEL_H #ifndef LOCALE_LABEL_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019-2020 Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Camilo Higuita <milo.h@aol.com>
* Copyright 2019, Camilo Higuita <milo.h@aol.com> * SPDX-FileCopyrightText: 2019-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "LabelModel.h" #include "LabelModel.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019-2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Camilo Higuita <milo.h@aol.com>
* Copyright 2019, Camilo Higuita <milo.h@aol.com> * SPDX-FileCopyrightText: 2019-2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef LOCALE_LABELMODEL_H #ifndef LOCALE_LABELMODEL_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Lookup.h" #include "Lookup.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef LOCALE_LOOKUP_H #ifndef LOCALE_LOOKUP_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Tests.h" #include "Tests.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef LIBCALAMARES_LOCALE_TESTS_H #ifndef LIBCALAMARES_LOCALE_TESTS_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "TimeZone.h" #include "TimeZone.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef LOCALE_TIMEZONE_H #ifndef LOCALE_TIMEZONE_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "TranslatableConfiguration.h" #include "TranslatableConfiguration.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef LOCALE_TRANSLATABLECONFIGURATION_H #ifndef LOCALE_TRANSLATABLECONFIGURATION_H

View File

@ -2,6 +2,26 @@
* *
* === This file is part of Calamares - <https://github.com/calamares> === * === This file is part of Calamares - <https://github.com/calamares> ===
* *
* SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*
*
* This file is derived from zone.tab, which has its own copyright statement: * This file is derived from zone.tab, which has its own copyright statement:
* *
* This file is in the public domain, so clarified as of * This file is in the public domain, so clarified as of

View File

@ -2,6 +2,13 @@
# #
# === This file is part of Calamares - <https://github.com/calamares> === # === This file is part of Calamares - <https://github.com/calamares> ===
# #
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
#
# SPDX-License-Identifier: BSD-2-Clause
# License-Filename: LICENSES/BSD2
#
#
#
# Python3 script to scrape some data out of ICU CLDR supplemental data. # Python3 script to scrape some data out of ICU CLDR supplemental data.
# #
### BEGIN LICENSES ### BEGIN LICENSES

View File

@ -2,6 +2,12 @@
# #
# === This file is part of Calamares - <https://github.com/calamares> === # === This file is part of Calamares - <https://github.com/calamares> ===
# #
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
#
# SPDX-License-Identifier: BSD-2-Clause
# License-Filename: LICENSES/BSD2
#
#
# Python3 script to scrape some data out of zoneinfo/zone.tab. # Python3 script to scrape some data out of zoneinfo/zone.tab.
# #
### BEGIN LICENSES ### BEGIN LICENSES

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
* Copyright 2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef MODULESYSTEM_ACTIONS_H #ifndef MODULESYSTEM_ACTIONS_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2020, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef MODULESYSTEM_DESCRIPTOR_H #ifndef MODULESYSTEM_DESCRIPTOR_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "InstanceKey.h" #include "InstanceKey.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef MODULESYSTEM_INSTANCEKEY_H #ifndef MODULESYSTEM_INSTANCEKEY_H
#define MODULESYSTEM_INSTANCEKEY_H #define MODULESYSTEM_INSTANCEKEY_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Module.h" #include "Module.h"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org> * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
* Copyright 2017, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -15,6 +15,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_MODULE_H #ifndef CALAMARES_MODULE_H

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2017, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,5 +14,9 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#include "Requirement.h" #include "Requirement.h"

View File

@ -1,6 +1,6 @@
/* === This file is part of Calamares - <http://github.com/calamares> === /* === This file is part of Calamares - <https://github.com/calamares> ===
* *
* Copyright 2017, Adriaan de Groot <groot@kde.org> * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
* *
* Calamares is free software: you can redistribute it and/or modify * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,6 +14,10 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>. * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
* License-Filename: LICENSE
*
*/ */
#ifndef CALAMARES_REQUIREMENT_H #ifndef CALAMARES_REQUIREMENT_H
#define CALAMARES_REQUIREMENT_H #define CALAMARES_REQUIREMENT_H

Some files were not shown because too many files have changed in this diff Show More