Merge remote-tracking branch 'upstream/master' into partition-layout

This commit is contained in:
Arnaud Ferraris 2019-01-11 10:03:46 +01:00
commit 5cacc0ddc6
39 changed files with 773 additions and 482 deletions

26
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
website will have to do for older versions.
# 3.2.3 (unreleased) #
# 3.2.4 (unreleased) #
This release contains contributions from (alphabetically by first name):
- Alf Gaida
@ -45,6 +45,30 @@ This release contains contributions from (alphabetically by first name):
for all operations, not just during install (keep in mind that
these run as three separate shells, though).
# 3.2.3 (2019-01-09) #
This release contains contributions from (alphabetically by first name):
- aliveafter1000
## Core ##
There are no core changes in this release.
## Modules ##
* *partition* Fixed bug where, during detection of existing systems, the
existing system partitions may be mounted and then files deleted.
This is a **limited** version of the patch from aliveafter1000
that will be in 3.2.4, which tries harder to mount filesystems
read-only and unmodifiable.
* *locale* It was possible to set the installer and system language
(e.g. to German) while the global storage value for *locale*
remained set to English. Then no localization packages are installed
(see feature `${LOCALE}` in `packages.conf`). Reported downstream
in Netrunner.
# 3.2.2 (2018-09-04) #
This release contains contributions from (alphabetically by first name):

View File

@ -75,7 +75,7 @@ set( CALAMARES_DESCRIPTION_SUMMARY
set( CALAMARES_VERSION_MAJOR 3 )
set( CALAMARES_VERSION_MINOR 2 )
set( CALAMARES_VERSION_PATCH 3 )
set( CALAMARES_VERSION_PATCH 4 )
set( CALAMARES_VERSION_RC 1 )
@ -113,7 +113,7 @@ set( _tx_bad eo kk kn uz ur mk lo gu fr_CH fa be )
### Required versions
#
# See DEPENDENCIES section below.
set( QT_VERSION 5.7.0 )
set( QT_VERSION 5.10.0 )
set( YAMLCPP_VERSION 0.5.1 )
set( ECM_VERSION 5.18 )
set( PYTHONLIBS_VERSION 3.3 )
@ -152,7 +152,7 @@ set( CMAKE_C_STANDARD_REQUIRED ON )
# location database.
# - DEBUG_FILESYSTEMS does extra logging and checking when looking at
# partition configuration. Lists known KPMCore FS types.
#
#
# The flags listed here are enabled in Debug builds. By default, none
# are **actually** listed, because they're for such specific scenarios.
set( _enable_debug_flags

View File

@ -13,7 +13,10 @@ StartupNotify=true
Categories=Qt;System;
X-AppStream-Ignore=true
Name[ar]=نظام التثبيت
Name[ar]=تثبيت النظام
Icon[ar]=كالامارس
GenericName[ar]=مثبت النظام
Comment[ar]=كالامارس - مثبت النظام
Name[be]=Усталяваць сістэму
Icon[be]=calamares
GenericName[be]=Усталёўшчык сістэмы
@ -51,6 +54,9 @@ Icon[et]=calamares
GenericName[et]=Süsteemipaigaldaja
Comment[et]=Calamares süsteemipaigaldaja
Name[eu]=Sistema instalatu
Icon[eu]=calamares
GenericName[eu]=Sistema instalatzailea
Comment[eu]=Calamares - sistema instalatzailea
Name[es_PR]=Instalar el sistema
Name[fr]=Installer le système
Icon[fr]=calamares

View File

@ -73,7 +73,7 @@
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="44"/>
<source>Modules</source>
<translation>الوحدا</translation>
<translation>الوحدات</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="57"/>
@ -2834,7 +2834,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="290"/>
<source>%1 support</source>
<translation>1% الدعم</translation>
<translation>%1 الدعم</translation>
</message>
</context>
<context>

File diff suppressed because it is too large Load Diff

View File

@ -192,17 +192,17 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
<source>Calamares Initialization Failed</source>
<translation type="unfinished"/>
<translation>A Calamares előkészítése meghiúsult</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
<translation type="unfinished"/>
<translation>A(z) %1 nem telepíthető. A Calamares nem tudta betölteni a konfigurált modulokat. Ez a probléma abból fakad, ahogy a disztribúció a Calamarest használja.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
<source>&lt;br/&gt;The following modules could not be loaded:</source>
<translation type="unfinished"/>
<translation>&lt;br/&gt;A következő modulok nem tölthetőek be:</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
@ -509,12 +509,12 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/libcalamares/utils/CommandList.cpp" line="128"/>
<source>The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined.</source>
<translation type="unfinished"/>
<translation>A parancs a gazdakörnyezetben fut, és ismernie kell a gyökér útvonalát, de nincs rootMountPoint megadva.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CommandList.cpp" line="139"/>
<source>The command needs to know the user&apos;s name, but no username is defined.</source>
<translation type="unfinished"/>
<translation>A parancsnak tudnia kell a felhasználónevet, de az nincs megadva.</translation>
</message>
</context>
<context>
@ -522,7 +522,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/contextualprocess/ContextualProcessJob.cpp" line="117"/>
<source>Contextual Processes Job</source>
<translation type="unfinished"/>
<translation>Környezetfüggő folyamatok feladat</translation>
</message>
</context>
<context>
@ -560,7 +560,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
<source>LVM LV name</source>
<translation type="unfinished"/>
<translation>LVM LV név</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="188"/>
@ -720,22 +720,22 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
<source>Create new volume group named %1.</source>
<translation type="unfinished"/>
<translation>Új kötetcsoport létrehozása: %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="45"/>
<source>Create new volume group named &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Új kötetcsoport létrehozása: &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="52"/>
<source>Creating new volume group named %1.</source>
<translation type="unfinished"/>
<translation>Új kötetcsoport létrehozása: %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="65"/>
<source>The installer failed to create a volume group named &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>A telepítő nem tudta létrehozni a kötetcsoportot: %1.</translation>
</message>
</context>
<context>
@ -744,17 +744,17 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="34"/>
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="48"/>
<source>Deactivate volume group named %1.</source>
<translation type="unfinished"/>
<translation>A kötetcsoport deaktiválása: %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="41"/>
<source>Deactivate volume group named &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Kötetcsoport deaktiválása: &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="61"/>
<source>The installer failed to deactivate a volume group named %1.</source>
<translation type="unfinished"/>
<translation>A telepítőnek nem sikerült deaktiválnia a kötetcsoportot: %1.</translation>
</message>
</context>
<context>
@ -823,7 +823,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="89"/>
<source>%1 - (%2)</source>
<translation type="unfinished"/>
<translation>%1 (%2)</translation>
</message>
</context>
<context>
@ -986,7 +986,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When this box is checked, your system will restart immediately when you click on &lt;span style=&quot; font-style:italic;&quot;&gt;Done&lt;/span&gt; or close the installer.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Ha ez be van jelölve, akkor a rendszer azonnal újraindul, ha a &lt;span style=&quot; font-style:italic;&quot;&gt;Kész&lt;/span&gt;-re kattint, vagy bezárja a telepítőt.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
@ -1292,232 +1292,232 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="151"/>
<source>Password is too weak</source>
<translation type="unfinished"/>
<translation>A jelszó túl gyenge</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="158"/>
<source>Memory allocation error when setting &apos;%1&apos;</source>
<translation type="unfinished"/>
<translation>Memóriafoglalási hiba a(z) %1 beállításakor</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="162"/>
<source>Memory allocation error</source>
<translation type="unfinished"/>
<translation>Memóriafoglalási hiba</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="164"/>
<source>The password is the same as the old one</source>
<translation type="unfinished"/>
<translation>A jelszó ugyanaz, mint a régi</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="166"/>
<source>The password is a palindrome</source>
<translation type="unfinished"/>
<translation>A jelszó egy palindrom</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="168"/>
<source>The password differs with case changes only</source>
<translation type="unfinished"/>
<translation>A jelszó csak kis- és nagybetűben tér el</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="170"/>
<source>The password is too similar to the old one</source>
<translation type="unfinished"/>
<translation>A jelszó túlságosan hasonlít a régire</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="172"/>
<source>The password contains the user name in some form</source>
<translation type="unfinished"/>
<translation>A jelszó tartalmazza felhasználónevet valamilyen formában</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="174"/>
<source>The password contains words from the real name of the user in some form</source>
<translation type="unfinished"/>
<translation>A jelszó tartalmazza a felhasználó valódi nevét valamilyen formában</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="176"/>
<source>The password contains forbidden words in some form</source>
<translation type="unfinished"/>
<translation>A jelszó tiltott szavakat tartalmaz valamilyen formában</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="179"/>
<source>The password contains less than %1 digits</source>
<translation type="unfinished"/>
<translation>A jelszó kevesebb mint %1 számjegyet tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="180"/>
<source>The password contains too few digits</source>
<translation type="unfinished"/>
<translation>A jelszó túl kevés számjegyet tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="183"/>
<source>The password contains less than %1 uppercase letters</source>
<translation type="unfinished"/>
<translation>A jelszó kevesebb mint %1 nagybetűt tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="184"/>
<source>The password contains too few uppercase letters</source>
<translation type="unfinished"/>
<translation>A jelszó túl kevés nagybetűt tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="187"/>
<source>The password contains less than %1 lowercase letters</source>
<translation type="unfinished"/>
<translation>A jelszó kevesebb mint %1 kisbetűt tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="188"/>
<source>The password contains too few lowercase letters</source>
<translation type="unfinished"/>
<translation>A jelszó túl kevés kisbetűt tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="191"/>
<source>The password contains less than %1 non-alphanumeric characters</source>
<translation type="unfinished"/>
<translation>A jelszó kevesebb mint %1 nem alfanumerikus karaktert tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="192"/>
<source>The password contains too few non-alphanumeric characters</source>
<translation type="unfinished"/>
<translation>A jelszó túl kevés nem alfanumerikus karaktert tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="195"/>
<source>The password is shorter than %1 characters</source>
<translation type="unfinished"/>
<translation>A jelszó rövidebb mint %1 karakter</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="196"/>
<source>The password is too short</source>
<translation type="unfinished"/>
<translation>A jelszó túl rövid</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="198"/>
<source>The password is just rotated old one</source>
<translation type="unfinished"/>
<translation>A jelszó egy újra felhasznált régi jelszó</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="201"/>
<source>The password contains less than %1 character classes</source>
<translation type="unfinished"/>
<translation>A jelszó kevesebb mint %1 karaktert tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="202"/>
<source>The password does not contain enough character classes</source>
<translation type="unfinished"/>
<translation>A jelszó nem tartalmaz elég karakterosztályt</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="205"/>
<source>The password contains more than %1 same characters consecutively</source>
<translation type="unfinished"/>
<translation>A jelszó több mint %1 egyező karaktert tartalmaz egymás után</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="206"/>
<source>The password contains too many same characters consecutively</source>
<translation type="unfinished"/>
<translation>A jelszó túl sok egyező karaktert tartalmaz egymás után</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="209"/>
<source>The password contains more than %1 characters of the same class consecutively</source>
<translation type="unfinished"/>
<translation>A jelszó több mint %1 karaktert tartalmaz ugyanabból a karakterosztályból egymás után</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="210"/>
<source>The password contains too many characters of the same class consecutively</source>
<translation type="unfinished"/>
<translation>A jelszó túl sok karaktert tartalmaz ugyanabból a karakterosztályból egymás után</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="213"/>
<source>The password contains monotonic sequence longer than %1 characters</source>
<translation type="unfinished"/>
<translation>A jelszó %1 karakternél hosszabb monoton sorozatot tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="214"/>
<source>The password contains too long of a monotonic character sequence</source>
<translation type="unfinished"/>
<translation>A jelszó túl hosszú monoton karaktersorozatot tartalmaz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="216"/>
<source>No password supplied</source>
<translation type="unfinished"/>
<translation>Nincs jelszó megadva</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="218"/>
<source>Cannot obtain random numbers from the RNG device</source>
<translation type="unfinished"/>
<translation>Nem nyerhetőek ki véletlenszámok az RNG eszközből</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="220"/>
<source>Password generation failed - required entropy too low for settings</source>
<translation type="unfinished"/>
<translation>A jelszó előállítás meghiúsult a szükséges entrópia túl alacsony a beállításokhoz</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="225"/>
<source>The password fails the dictionary check - %1</source>
<translation type="unfinished"/>
<translation>A jelszó megbukott a szótárellenőrzésen %1</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="227"/>
<source>The password fails the dictionary check</source>
<translation type="unfinished"/>
<translation>A jelszó megbukott a szótárellenőrzésen</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="231"/>
<source>Unknown setting - %1</source>
<translation type="unfinished"/>
<translation>Ismeretlen beállítás %1</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="235"/>
<source>Unknown setting</source>
<translation type="unfinished"/>
<translation>Ismeretlen beállítás</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="239"/>
<source>Bad integer value of setting - %1</source>
<translation type="unfinished"/>
<translation>Hibás egész érték a beállításnál %1</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="243"/>
<source>Bad integer value</source>
<translation type="unfinished"/>
<translation>Hibás egész érték</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="247"/>
<source>Setting %1 is not of integer type</source>
<translation type="unfinished"/>
<translation>A(z) %1 beállítás nem egész típusú</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="251"/>
<source>Setting is not of integer type</source>
<translation type="unfinished"/>
<translation>A beállítás nem egész típusú</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="255"/>
<source>Setting %1 is not of string type</source>
<translation type="unfinished"/>
<translation>A(z) %1 beállítás nem karakterlánc típusú</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="259"/>
<source>Setting is not of string type</source>
<translation type="unfinished"/>
<translation>A beállítás nem karakterlánc típusú</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="261"/>
<source>Opening the configuration file failed</source>
<translation type="unfinished"/>
<translation>A konfigurációs fájl megnyitása meghiúsult</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="263"/>
<source>The configuration file is malformed</source>
<translation type="unfinished"/>
<translation>A konfigurációs fájl rosszul formázott</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="265"/>
<source>Fatal failure</source>
<translation type="unfinished"/>
<translation>Végzetes hiba</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="267"/>
<source>Unknown error</source>
<translation type="unfinished"/>
<translation>Ismeretlen hiba</translation>
</message>
</context>
<context>
@ -1711,7 +1711,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
<source>Cre&amp;ate</source>
<translation type="unfinished"/>
<translation>&amp;Létrehozás</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
@ -1726,27 +1726,27 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
<source>New Volume Group</source>
<translation type="unfinished"/>
<translation>Új kötetcsoport</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
<source>Resize Volume Group</source>
<translation type="unfinished"/>
<translation>Kötetcsoport átméretezése</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
<source>Deactivate Volume Group</source>
<translation type="unfinished"/>
<translation>Kötetcsoport deaktiválása</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
<source>Remove Volume Group</source>
<translation type="unfinished"/>
<translation>Kötetcsoport eltávolítása</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="180"/>
<source>I&amp;nstall boot loader on:</source>
<translation type="unfinished"/>
<translation>Rendszerbetöltő &amp;telepítése ide:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="217"/>
@ -1756,12 +1756,12 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="241"/>
<source>Can not create new partition</source>
<translation type="unfinished"/>
<translation>Nem hozható létre új partíció</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="242"/>
<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 type="unfinished"/>
<translation>A(z) %1 lemezen lévő partíciós táblában már %2 elsődleges partíció van, és több nem adható hozzá. Helyette távolítson el egy elsődleges partíciót, és adjon hozzá egy kiterjesztett partíciót.</translation>
</message>
</context>
<context>
@ -1867,13 +1867,13 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="41"/>
<source>Plasma Look-and-Feel Job</source>
<translation type="unfinished"/>
<translation>Plasma kinézet feladat</translation>
</message>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="73"/>
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="74"/>
<source>Could not select KDE Plasma Look-and-Feel package</source>
<translation type="unfinished"/>
<translation>A KDE Plasma kinézeti csomag nem válaszható ki</translation>
</message>
</context>
<context>
@ -1891,7 +1891,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
<translation type="unfinished"/>
<translation>Válasszon egy kinézetet a KDE Plasma asztali környezethez. Ki is hagyhatja ezt a lépést, és beállíthatja a kinézetet, ha a telepítés elkészült. A kinézetválasztóra kattintva é előnézetet kaphat a kinézetről.</translation>
</message>
</context>
<context>
@ -1899,7 +1899,7 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfViewStep.cpp" line="68"/>
<source>Look-and-Feel</source>
<translation type="unfinished"/>
<translation>Kinézet</translation>
</message>
</context>
<context>
@ -1907,17 +1907,17 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="85"/>
<source>Saving files for later ...</source>
<translation type="unfinished"/>
<translation>Fájlok mentése későbbre </translation>
</message>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="123"/>
<source>No files configured to save for later.</source>
<translation type="unfinished"/>
<translation>Nincsenek fájlok beállítva elmentésre későbbre</translation>
</message>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="177"/>
<source>Not all of the configured files could be preserved.</source>
<translation type="unfinished"/>
<translation>Nem az összes beállított fájl örízhető meg.</translation>
</message>
</context>
<context>
@ -1926,14 +1926,17 @@ Telepítés nem folytatható. &lt;a href=&quot;#details&quot;&gt;Részletek...&l
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="271"/>
<source>
There was no output from the command.</source>
<translation type="unfinished"/>
<translation>
A parancsnak nem volt kimenete.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="272"/>
<source>
Output:
</source>
<translation type="unfinished"/>
<translation>
Kimenet:
</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="275"/>
@ -1948,17 +1951,17 @@ Output:
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="281"/>
<source>External command failed to start.</source>
<translation type="unfinished"/>
<translation>A külső parancsot nem sikerült elindítani.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="282"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; failed to start.</source>
<translation type="unfinished"/>
<translation>A(z) &lt;i&gt;%1&lt;/i&gt; parancsot nem sikerült elindítani.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="286"/>
<source>Internal error when starting command.</source>
<translation type="unfinished"/>
<translation>Belső hiba a parancs végrehajtásakor.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="287"/>
@ -1973,17 +1976,17 @@ Output:
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="291"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; failed to finish in %2 seconds.</source>
<translation type="unfinished"/>
<translation>A(z) &lt;i&gt;%1&lt;/i&gt; parancsot nem sikerült befejezni %2 másodperc alatt.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="297"/>
<source>External command finished with errors.</source>
<translation type="unfinished"/>
<translation>A külső parancs hibával fejeződött be.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="298"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; finished with exit code %2.</source>
<translation type="unfinished"/>
<translation>A(z) &lt;i&gt;%1&lt;/i&gt; parancs hibakóddal lépett ki: %2.</translation>
</message>
</context>
<context>
@ -2031,17 +2034,17 @@ Output:
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="34"/>
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="48"/>
<source>Remove Volume Group named %1.</source>
<translation type="unfinished"/>
<translation>A kötetcsoport eltávolítása: %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="41"/>
<source>Remove Volume Group named &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Kötetcsoport eltávolítása: &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="61"/>
<source>The installer failed to remove a volume group named &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>A telepítő nem tudta eltávolítani a kötetcsoportot: %1.</translation>
</message>
</context>
<context>
@ -2182,29 +2185,29 @@ Output:
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="130"/>
<source>Resize Filesystem Job</source>
<translation type="unfinished"/>
<translation>Fájlrendszer átméretezési feladat</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="238"/>
<source>Invalid configuration</source>
<translation type="unfinished"/>
<translation>Érvénytelen konfiguráció</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="239"/>
<source>The file-system resize job has an invalid configuration and will not run.</source>
<translation type="unfinished"/>
<translation>A fájlrendszer átméretezési feladat konfigurációja érvénytelen, és nem fog futni.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="253"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="263"/>
<source>KPMCore not Available</source>
<translation type="unfinished"/>
<translation>A KPMCore nem érhető el</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="254"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="264"/>
<source>Calamares cannot start KPMCore for the file-system resize job.</source>
<translation type="unfinished"/>
<translation>A Calamares nem tudja elindítani a KPMCore-t a fájlrendszer átméretezési feladathoz.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="272"/>
@ -2213,39 +2216,39 @@ Output:
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="303"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="320"/>
<source>Resize Failed</source>
<translation type="unfinished"/>
<translation>Az átméretezés meghiúsult</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="273"/>
<source>The filesystem %1 could not be found in this system, and cannot be resized.</source>
<translation type="unfinished"/>
<translation>A(z) %1 fájlrendszer nem található a rendszeren, és nem méretezhető át.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="274"/>
<source>The device %1 could not be found in this system, and cannot be resized.</source>
<translation type="unfinished"/>
<translation>A(z) %1 eszköz nem található a rendszeren, és nem méretezhető át.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="282"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="295"/>
<source>The filesystem %1 cannot be resized.</source>
<translation type="unfinished"/>
<translation>A(z) %1 fájlrendszer nem méretezhető át.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="283"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="296"/>
<source>The device %1 cannot be resized.</source>
<translation type="unfinished"/>
<translation>A(z) %1 eszköz nem méretezhető át.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="304"/>
<source>The filesystem %1 must be resized, but cannot.</source>
<translation type="unfinished"/>
<translation>A(z) %1 fájlrendszert át kell méretezni, de nem lehet.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="305"/>
<source>The device %1 must be resized, but cannot</source>
<translation type="unfinished"/>
<translation>A(z) %1 eszközt át kell méretezni, de nem lehet</translation>
</message>
</context>
<context>
@ -2277,17 +2280,17 @@ Output:
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="37"/>
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="55"/>
<source>Resize volume group named %1 from %2 to %3.</source>
<translation type="unfinished"/>
<translation>A(z) %1 kötet átméretezése ekkoráról: %2, ekkorára: %3.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="46"/>
<source>Resize volume group named &lt;strong&gt;%1&lt;/strong&gt; from &lt;strong&gt;%2&lt;/strong&gt; to &lt;strong&gt;%3&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>A(z) &lt;strong&gt;%1&lt;/strong&gt; kötet átméretezése ekkoráról: &lt;strong&gt;%2&lt;/strong&gt;, ekkorára: &lt;strong&gt;%3&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="70"/>
<source>The installer failed to resize a volume group named &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>A telepítő nem tudta átméretezni a kötetcsoportot: %1.</translation>
</message>
</context>
<context>
@ -2532,7 +2535,7 @@ Output:
<message>
<location filename="../src/modules/shellprocess/ShellProcessJob.cpp" line="51"/>
<source>Shell Processes Job</source>
<translation type="unfinished"/>
<translation>Parancssori folyamatok feladat</translation>
</message>
</context>
<context>
@ -2541,7 +2544,7 @@ Output:
<location filename="../src/qml/calamares/slideshow/SlideCounter.qml" line="36"/>
<source>%L1 / %L2</source>
<extracomment>slide counter, %1 of %2 (numeric)</extracomment>
<translation type="unfinished"/>
<translation>%L1 / %L2</translation>
</message>
</context>
<context>
@ -2725,27 +2728,27 @@ Calamares hiba %1.</translation>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="14"/>
<source>VolumeGroupDialog</source>
<translation type="unfinished"/>
<translation>Kötetcsoport párbeszédablak</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="20"/>
<source>List of Physical Volumes</source>
<translation type="unfinished"/>
<translation>Fizikai kötetek listája</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="30"/>
<source>Volume Group Name:</source>
<translation type="unfinished"/>
<translation>Kötetcsoport neve:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="43"/>
<source>Volume Group Type:</source>
<translation type="unfinished"/>
<translation>Kötetcsoport típusa:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
<source>Physical Extent Size:</source>
<translation type="unfinished"/>
<translation>Fizikai kiterjedés mérete:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
@ -2755,7 +2758,7 @@ Calamares hiba %1.</translation>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
<source>Total Size:</source>
<translation type="unfinished"/>
<translation>Teljes méret:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="92"/>
@ -2763,22 +2766,22 @@ Calamares hiba %1.</translation>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="132"/>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="152"/>
<source>---</source>
<translation type="unfinished"/>
<translation>---</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="102"/>
<source>Used Size:</source>
<translation type="unfinished"/>
<translation>Használt méret:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
<source>Total Sectors:</source>
<translation type="unfinished"/>
<translation>Szektorok összesen:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
<source>Quantity of LVs:</source>
<translation type="unfinished"/>
<translation>Logkai kötetek száma:</translation>
</message>
</context>
<context>
@ -2831,7 +2834,7 @@ Calamares hiba %1.</translation>
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="75"/>
<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 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the &lt;a href=&quot;https://www.transifex.com/calamares/calamares/&quot;&gt;Calamares translators team&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://calamares.io/&quot;&gt;Calamares&lt;/a&gt; development is sponsored by &lt;br/&gt;&lt;a href=&quot;http://www.blue-systems.com/&quot;&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 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;Köszönet: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg és a &lt;a href=&quot;https://www.transifex.com/calamares/calamares/&quot;&gt;Calamares fordítócsapat&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;A &lt;a href=&quot;https://calamares.io/&quot;&gt;Calamares&lt;/a&gt; fejlesztését a &lt;br/&gt;&lt;a href=&quot;http://www.blue-systems.com/&quot;&gt;Blue Systems&lt;/a&gt; támogatja.</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="290"/>

View File

@ -14,7 +14,7 @@
<message>
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="91"/>
<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> &lt;strong&gt;BIOS&lt;/strong&gt; &lt;br&gt;&lt;br&gt; BIOS()&lt;strong&gt;&lt;/strong&gt; &lt;strong&gt;GRUB&lt;/strong&gt; </translation>
<translation> &lt;strong&gt;BIOS&lt;/strong&gt; &lt;br&gt;&lt;br&gt; BIOS () &lt;strong&gt;&lt;/strong&gt; &lt;strong&gt;GRUB&lt;/strong&gt; </translation>
</message>
</context>
<context>
@ -169,19 +169,19 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="74"/>
<source>&amp;Back</source>
<translation>&amp;B</translation>
<translation> (&amp;B)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="75"/>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="279"/>
<source>&amp;Next</source>
<translation>&amp;N</translation>
<translation> (&amp;N)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="76"/>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="288"/>
<source>&amp;Cancel</source>
<translation>&amp;C</translation>
<translation> (&amp;C)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="77"/>
@ -197,7 +197,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
<translation>%1 Calamares Calamares 使</translation>
<translation>%1 Calamares Calamares 使</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
@ -207,7 +207,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
<source>&amp;Install</source>
<translation>&amp;I</translation>
<translation> (&amp;I)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
@ -224,17 +224,17 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="331"/>
<source>&amp;Yes</source>
<translation>&amp;Y</translation>
<translation> (&amp;Y)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="332"/>
<source>&amp;No</source>
<translation>&amp;N</translation>
<translation> (&amp;N)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="163"/>
<source>&amp;Close</source>
<translation>&amp;C</translation>
<translation> (&amp;C)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="237"/>
@ -249,17 +249,17 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="243"/>
<source>&amp;Install now</source>
<translation>&amp;I</translation>
<translation> (&amp;I)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="244"/>
<source>Go &amp;back</source>
<translation>&amp;B</translation>
<translation> (&amp;B)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="283"/>
<source>&amp;Done</source>
<translation>&amp;D</translation>
<translation> (&amp;D)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="284"/>
@ -371,7 +371,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="129"/>
<source>Select storage de&amp;vice:</source>
<translation>&amp;V:</translation>
<translation> (&amp;V):</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="130"/>
@ -539,22 +539,22 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="55"/>
<source>Partition &amp;Type:</source>
<translation>&amp;T:</translation>
<translation> (&amp;T):</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="67"/>
<source>&amp;Primary</source>
<translation>&amp;P</translation>
<translation> (&amp;P)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="77"/>
<source>E&amp;xtended</source>
<translation>&amp;x</translation>
<translation> (&amp;X)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="119"/>
<source>Fi&amp;le System:</source>
<translation> &amp;L:</translation>
<translation> (&amp;L):</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
@ -569,17 +569,17 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="161"/>
<source>&amp;Mount Point:</source>
<translation>&amp;M</translation>
<translation> (&amp;M)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="38"/>
<source>Si&amp;ze:</source>
<translation>&amp;Z</translation>
<translation> (&amp;Z)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.cpp" line="72"/>
<source>En&amp;crypt</source>
<translation>&amp;C</translation>
<translation> (&amp;C)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.cpp" line="151"/>
@ -650,7 +650,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="82"/>
<source>GUID Partition Table (GPT)</source>
<translation>GUID (GPT)</translation>
<translation>GUID (GPT)</translation>
</message>
</context>
<context>
@ -784,7 +784,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="150"/>
<source>The type of &lt;strong&gt;partition table&lt;/strong&gt; on the selected storage device.&lt;br&gt;&lt;br&gt;The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.&lt;br&gt;This installer will keep the current partition table unless you explicitly choose otherwise.&lt;br&gt;If unsure, on modern systems GPT is preferred.</source>
<translation>&lt;strong&gt; &lt;/strong&gt; &lt;br&gt;&lt;br&gt; &lt;br&gt; GPT</translation>
<translation>&lt;strong&gt; &lt;/strong&gt; &lt;br&gt;&lt;br&gt; &lt;br&gt; GPT</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="107"/>
@ -866,7 +866,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="60"/>
<source>&amp;Keep</source>
<translation>&amp;K</translation>
<translation> (&amp;K)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="70"/>
@ -881,12 +881,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="99"/>
<source>&amp;Mount Point:</source>
<translation>&amp;M</translation>
<translation> (&amp;M)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="119"/>
<source>Si&amp;ze:</source>
<translation>&amp;Z:</translation>
<translation> (&amp;Z):</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="129"/>
@ -896,7 +896,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="136"/>
<source>Fi&amp;le System:</source>
<translation>&amp;L</translation>
<translation> (&amp;L)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="149"/>
@ -919,7 +919,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="32"/>
<source>En&amp;crypt system</source>
<translation>&amp;C</translation>
<translation> (&amp;C)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="42"/>
@ -990,7 +990,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
<source>&amp;Restart now</source>
<translation>&amp;R</translation>
<translation> (&amp;R)</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.cpp" line="51"/>
@ -1107,12 +1107,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="66"/>
<source>&amp;Cancel</source>
<translation>&amp;C</translation>
<translation> (&amp;C)</translation>
</message>
<message>
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="67"/>
<source>&amp;OK</source>
<translation>&amp;O</translation>
<translation> (&amp;O)</translation>
</message>
</context>
<context>
@ -1219,7 +1219,7 @@ The installer will quit and all changes will be lost.</source>
<location filename="../src/modules/locale/LocalePage.cpp" line="220"/>
<location filename="../src/modules/locale/LocalePage.cpp" line="221"/>
<source>&amp;Change...</source>
<translation>&amp;C...</translation>
<translation> (&amp;C)...</translation>
</message>
<message>
<location filename="../src/modules/locale/LocalePage.cpp" line="398"/>
@ -1696,7 +1696,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="22"/>
<source>Storage de&amp;vice:</source>
<translation> &amp;V:</translation>
<translation> (&amp;V):</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="51"/>
@ -1706,22 +1706,22 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="87"/>
<source>New Partition &amp;Table</source>
<translation>&amp;T</translation>
<translation> (&amp;T)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
<source>Cre&amp;ate</source>
<translation>&amp;a</translation>
<translation> (&amp;A)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
<source>&amp;Edit</source>
<translation>&amp;E</translation>
<translation> (&amp;E)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="121"/>
<source>&amp;Delete</source>
<translation>&amp;D</translation>
<translation> (&amp;D)</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
@ -1859,7 +1859,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="451"/>
<source>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.&lt;br/&gt;&lt;br/&gt;There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.&lt;br/&gt;You may continue if you wish, but filesystem unlocking will happen later during system startup.&lt;br/&gt;To encrypt the boot partition, go back and recreate it, selecting &lt;strong&gt;Encrypt&lt;/strong&gt; in the partition creation window.</source>
<translation>&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Encrypt&lt;/strong&gt;</translation>
<translation>&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Encrypt&lt;/strong&gt; () </translation>
</message>
</context>
<context>
@ -1917,7 +1917,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="177"/>
<source>Not all of the configured files could be preserved.</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@ -2654,7 +2654,7 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingPage.cpp" line="44"/>
<source>Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area.</source>
<translation> %1 %1 (2) </translation>
<translation> %1 %1 (2) </translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingPage.cpp" line="45"/>
@ -2757,7 +2757,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
<source>Total Size:</source>
<translation>:</translation>
<translation>:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="92"/>
@ -2775,7 +2775,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
<source>Total Sectors:</source>
<translation>:</translation>
<translation>:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
@ -2793,17 +2793,17 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="75"/>
<source>&amp;Language:</source>
<translation>&amp;L:</translation>
<translation> (&amp;L):</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="176"/>
<source>&amp;Release notes</source>
<translation>&amp;R</translation>
<translation> (&amp;R)</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="166"/>
<source>&amp;Known issues</source>
<translation>&amp;K</translation>
<translation> (&amp;K)</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="156"/>
@ -2813,7 +2813,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="146"/>
<source>&amp;About</source>
<translation>&amp;A</translation>
<translation> (&amp;A)</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>

View File

@ -50,7 +50,7 @@
<message>
<location filename="../src/libcalamaresui/viewpages/BlankViewStep.cpp" line="69"/>
<source>Blank Page</source>
<translation type="unfinished"/>
<translation>Празна Страна</translation>
</message>
</context>
<context>
@ -94,7 +94,7 @@
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="93"/>
<source>Tools</source>
<translation type="unfinished"/>
<translation>Алатки</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.cpp" line="182"/>
@ -107,7 +107,7 @@
<message>
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="79"/>
<source>Install</source>
<translation type="unfinished"/>
<translation>Инсталирај</translation>
</message>
</context>
<context>
@ -115,7 +115,7 @@
<message>
<location filename="../src/libcalamares/JobQueue.cpp" line="101"/>
<source>Done</source>
<translation type="unfinished"/>
<translation>Готово</translation>
</message>
</context>
<context>
@ -263,12 +263,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="284"/>
<source>The installation is complete. Close the installer.</source>
<translation type="unfinished"/>
<translation>Инсталацијата е готова. Исклучете го инсталерот.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"/>
<translation>Грешка</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="161"/>

Binary file not shown.

View File

@ -3,6 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
@ -10,6 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018\n"
"Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,43 +23,43 @@ msgstr ""
#: src/modules/displaymanager/main.py:380
msgid "Cannot write KDM configuration file"
msgstr ""
msgstr "فشلت كتابة ملف ضبط KDM."
#: src/modules/displaymanager/main.py:381
msgid "KDM config file {!s} does not exist"
msgstr ""
msgstr "ملف ضبط KDM {!s} غير موجود"
#: src/modules/displaymanager/main.py:442
msgid "Cannot write LXDM configuration file"
msgstr ""
msgstr "فشلت كتابة ملف ضبط LXDM."
#: src/modules/displaymanager/main.py:443
msgid "LXDM config file {!s} does not exist"
msgstr ""
msgstr "ملف ضبط LXDM {!s} غير موجود"
#: src/modules/displaymanager/main.py:517
msgid "Cannot write LightDM configuration file"
msgstr ""
msgstr "فشلت كتابة ملف ضبط LightDM."
#: src/modules/displaymanager/main.py:518
msgid "LightDM config file {!s} does not exist"
msgstr ""
msgstr "ملف ضبط LightDM {!s} غير موجود"
#: src/modules/displaymanager/main.py:592
msgid "Cannot configure LightDM"
msgstr ""
msgstr "فشل ضبط LightDM"
#: src/modules/displaymanager/main.py:593
msgid "No LightDM greeter installed."
msgstr ""
msgstr "لم يتم تصيب LightDM"
#: src/modules/displaymanager/main.py:624
msgid "Cannot write SLIM configuration file"
msgstr ""
msgstr "فشلت كتابة ملف ضبط SLIM."
#: src/modules/displaymanager/main.py:625
msgid "SLIM config file {!s} does not exist"
msgstr ""
msgstr "ملف ضبط SLIM {!s} غير موجود"
#: src/modules/displaymanager/main.py:740
#: src/modules/displaymanager/main.py:772
@ -78,28 +82,28 @@ msgstr ""
#: src/modules/umount/main.py:40
msgid "Unmount file systems."
msgstr ""
msgstr "الغاء تحميل ملف النظام"
#: src/modules/dummypython/main.py:44
msgid "Dummy python job."
msgstr ""
msgstr "عملية بايثون دميه"
#: src/modules/dummypython/main.py:97
msgid "Dummy python step {}"
msgstr ""
msgstr "عملية دميه خطوه بايثون {}"
#: src/modules/machineid/main.py:35
msgid "Generate machine-id."
msgstr ""
msgstr "توليد معرف الجهاز"
#: src/modules/packages/main.py:62
#, python-format
msgid "Processing packages (%(count)d / %(total)d)"
msgstr ""
msgstr "جاري تحميل الحزم (%(count)d/%(total)d)"
#: src/modules/packages/main.py:64 src/modules/packages/main.py:74
msgid "Install packages."
msgstr ""
msgstr "تثبيت الحزم"
#: src/modules/packages/main.py:67
#, python-format

View File

@ -3,9 +3,6 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# enolp <enolp@softastur.org>, 2017
#
#, fuzzy
msgid ""
msgstr ""
@ -13,7 +10,6 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: enolp <enolp@softastur.org>, 2017\n"
"Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -86,15 +82,15 @@ msgstr ""
#: src/modules/dummypython/main.py:44
msgid "Dummy python job."
msgstr "Trabayu maniquín de python."
msgstr ""
#: src/modules/dummypython/main.py:97
msgid "Dummy python step {}"
msgstr "Pasu maniquín de python {}"
msgstr ""
#: src/modules/machineid/main.py:35
msgid "Generate machine-id."
msgstr "Xenerar machine-id."
msgstr ""
#: src/modules/packages/main.py:62
#, python-format

Binary file not shown.

View File

@ -4,7 +4,7 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Dirk Hein <bankman@mailbox.org>, 2017
# Adriaan de Groot <groot@kde.org>, 2017
# Christian Spaan, 2018
# Andreas Eitel, 2018
#
@ -115,11 +115,11 @@ msgstr "Pakete installieren "
msgid "Installing one package."
msgid_plural "Installing %(num)d packages."
msgstr[0] "Installiere ein Paket"
msgstr[1] "Installiere %(num)dPakete."
msgstr[1] "Installiere %(num)d Pakete."
#: src/modules/packages/main.py:70
#, python-format
msgid "Removing one package."
msgid_plural "Removing %(num)d packages."
msgstr[0] "Entferne ein Paket"
msgstr[1] "Entferne %(num)dPakete."
msgstr[1] "Entferne %(num)d Pakete."

Binary file not shown.

View File

@ -3,6 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ander Elortondo, 2019
#
#, fuzzy
msgid ""
msgstr ""
@ -10,6 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Ander Elortondo, 2019\n"
"Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,98 +23,102 @@ msgstr ""
#: src/modules/displaymanager/main.py:380
msgid "Cannot write KDM configuration file"
msgstr ""
msgstr "Ezin da KDM konfigurazio fitxategia idatzi"
#: src/modules/displaymanager/main.py:381
msgid "KDM config file {!s} does not exist"
msgstr ""
msgstr "KDM konfigurazio fitxategia {!s} ez da existitzen"
#: src/modules/displaymanager/main.py:442
msgid "Cannot write LXDM configuration file"
msgstr ""
msgstr "Ezin da LXDM konfigurazio fitxategia idatzi"
#: src/modules/displaymanager/main.py:443
msgid "LXDM config file {!s} does not exist"
msgstr ""
msgstr "LXDM konfigurazio fitxategia {!s} ez da existitzen"
#: src/modules/displaymanager/main.py:517
msgid "Cannot write LightDM configuration file"
msgstr ""
msgstr "Ezin da LightDM konfigurazio fitxategia idatzi"
#: src/modules/displaymanager/main.py:518
msgid "LightDM config file {!s} does not exist"
msgstr ""
msgstr "LightDM konfigurazio fitxategia {!s} ez da existitzen"
#: src/modules/displaymanager/main.py:592
msgid "Cannot configure LightDM"
msgstr ""
msgstr "Ezin da LightDM konfiguratu"
#: src/modules/displaymanager/main.py:593
msgid "No LightDM greeter installed."
msgstr ""
msgstr "Ez dago LightDM harrera instalatua."
#: src/modules/displaymanager/main.py:624
msgid "Cannot write SLIM configuration file"
msgstr ""
msgstr "Ezin da SLIM konfigurazio fitxategia idatzi"
#: src/modules/displaymanager/main.py:625
msgid "SLIM config file {!s} does not exist"
msgstr ""
msgstr "SLIM konfigurazio fitxategia {!s} ez da existitzen"
#: src/modules/displaymanager/main.py:740
#: src/modules/displaymanager/main.py:772
msgid "No display managers selected for the displaymanager module."
msgstr ""
"Ez da pantaila kudeatzailerik aukeratu pantaila-kudeatzaile modulurako."
#: src/modules/displaymanager/main.py:741
msgid ""
"The displaymanagers list is empty or undefined in bothglobalstorage and "
"displaymanager.conf."
msgstr ""
"Pantaila-kudeatzaile-zerrenda hutsik dago edo definitzeke bothglobalstorage "
"eta displaymanager.conf"
#: src/modules/displaymanager/main.py:773
msgid "The list is empty after checking for installed display managers."
msgstr ""
"Zerrenda hutsik dago instalatutako pantaila-kudeatzaileak egiaztatu ondoren."
#: src/modules/displaymanager/main.py:821
msgid "Display manager configuration was incomplete"
msgstr ""
msgstr "Pantaila kudeatzaile konfigurazioa osotu gabe"
#: src/modules/umount/main.py:40
msgid "Unmount file systems."
msgstr ""
msgstr "Fitxategi sistemak desmuntatu."
#: src/modules/dummypython/main.py:44
msgid "Dummy python job."
msgstr ""
msgstr "Dummy python lana."
#: src/modules/dummypython/main.py:97
msgid "Dummy python step {}"
msgstr ""
msgstr "Dummy python urratsa {}"
#: src/modules/machineid/main.py:35
msgid "Generate machine-id."
msgstr ""
msgstr "Sortu makina-id."
#: src/modules/packages/main.py:62
#, python-format
msgid "Processing packages (%(count)d / %(total)d)"
msgstr ""
msgstr "Paketeak prozesatzen (%(count)d/ %(total)d) "
#: src/modules/packages/main.py:64 src/modules/packages/main.py:74
msgid "Install packages."
msgstr ""
msgstr "Instalatu paketeak"
#: src/modules/packages/main.py:67
#, python-format
msgid "Installing one package."
msgid_plural "Installing %(num)d packages."
msgstr[0] ""
msgstr[1] ""
msgstr[0] "Pakete bat instalatzen."
msgstr[1] "%(num)dpakete instalatzen."
#: src/modules/packages/main.py:70
#, python-format
msgid "Removing one package."
msgid_plural "Removing %(num)d packages."
msgstr[0] ""
msgstr[1] ""
msgstr[0] "Pakete bat kentzen."
msgstr[1] "%(num)dpakete kentzen."

Binary file not shown.

View File

@ -9,6 +9,7 @@
# Aestan <anthony.margerand@protonmail.com>, 2018
# Jeremy Gourmel <jgourmel@free.fr>, 2018
# Aurnytoraink <wiiu3dsxl13127@gmail.com>, 2018
# Florian B <florianb3522@gmail.com>, 2018
#
#, fuzzy
msgid ""
@ -17,7 +18,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Aurnytoraink <wiiu3dsxl13127@gmail.com>, 2018\n"
"Last-Translator: Florian B <florianb3522@gmail.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -31,7 +32,7 @@ msgstr "Impossible d'écrire le fichier de configuration KDM"
#: src/modules/displaymanager/main.py:381
msgid "KDM config file {!s} does not exist"
msgstr ""
msgstr "Le fichier de configuration KDM n'existe pas"
#: src/modules/displaymanager/main.py:442
msgid "Cannot write LXDM configuration file"
@ -39,7 +40,7 @@ msgstr "Impossible d'écrire le fichier de configuration LXDM"
#: src/modules/displaymanager/main.py:443
msgid "LXDM config file {!s} does not exist"
msgstr ""
msgstr "Le fichier de configuration LXDM n'existe pas"
#: src/modules/displaymanager/main.py:517
msgid "Cannot write LightDM configuration file"

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2017-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
@ -275,16 +275,21 @@ gettext_path()
}
_add_localedirs( candidatePaths, QDir().canonicalPath() ); // .
cDebug() << "Standard paths" << candidatePaths;
cDebug() << "Determining gettext path from" << candidatePaths;
for ( auto lang : _gettext_languages() )
QStringList candidateLanguages = _gettext_languages();
for ( const auto& lang : candidateLanguages )
for ( auto localedir : candidatePaths )
{
QDir ldir( localedir );
cDebug() << "Checking" << lang << "in" <<ldir.canonicalPath();
if ( ldir.cd( lang ) )
{
cDebug() << " .. Found" << lang << "in" << ldir.canonicalPath();
return bp::object( localedir.toStdString() );
}
}
cDebug() << " .. None found for" << candidateLanguages;
return bp::object(); // None
}

View File

@ -3,6 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018
#
#, fuzzy
msgid ""
msgstr ""
@ -10,6 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018\n"
"Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,24 +23,24 @@ msgstr ""
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
msgstr "اضغط علي!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
msgstr "QLabel جديد"
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
msgstr "دميه خطوة PythonQt "
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
msgstr "دميه عملية PythonQt "
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
msgstr "هذة دميه عملية خطوة PythonQt. و تقول: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""
msgstr "رسالة حاله دميه عملية خطوة PythonQt"

View File

@ -4,7 +4,7 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# enolp <enolp@softastur.org>, 2017
# enolp <enolp@softastur.org>, 2019
#
#, fuzzy
msgid ""
@ -13,7 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: enolp <enolp@softastur.org>, 2017\n"
"Last-Translator: enolp <enolp@softastur.org>, 2019\n"
"Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -23,7 +23,7 @@ msgstr ""
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr "¡Prímime!"
msgstr "¡Fai clic en min!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
@ -31,7 +31,7 @@ msgstr "Una QLabel nueva."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
msgstr "ViewStep maniquín de PythonQT"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"

View File

@ -3,6 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ander Elortondo, 2019
#
#, fuzzy
msgid ""
msgstr ""
@ -10,6 +13,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: Ander Elortondo, 2019\n"
"Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,24 +23,24 @@ msgstr ""
#: src/modules/dummypythonqt/main.py:84
msgid "Click me!"
msgstr ""
msgstr "Egidazu klik!"
#: src/modules/dummypythonqt/main.py:94
msgid "A new QLabel."
msgstr ""
msgstr "QLabel berria."
#: src/modules/dummypythonqt/main.py:97
msgid "Dummy PythonQt ViewStep"
msgstr ""
msgstr "Dummy PythonQt pauso-ikuspegia"
#: src/modules/dummypythonqt/main.py:183
msgid "The Dummy PythonQt Job"
msgstr ""
msgstr " Dummy PythonQt lana"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr ""
msgstr "Hau Dummy PythonQt lana da. Dummy lanak zera dio: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr ""
msgstr "Dummy PythonQt lanaren egoera mezua."

View File

@ -53,6 +53,17 @@ if( ECM_FOUND AND BUILD_TESTING )
${YAMLCPP_LIBRARY}
)
set_target_properties( geoiptest PROPERTIES AUTOMOC TRUE )
ecm_add_test(
Tests.cpp
LocaleConfiguration.cpp
TEST_NAME
localetest
LINK_LIBRARIES
calamares
Qt5::Test
)
set_target_properties( localetest PROPERTIES AUTOMOC TRUE )
endif()
if( BUILD_TESTING )

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2017-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
@ -27,14 +27,23 @@ LocaleConfiguration::LocaleConfiguration()
}
LocaleConfiguration
LocaleConfiguration::createDefault()
LocaleConfiguration::LocaleConfiguration( const QString& localeName, const QString& formatsName )
: LocaleConfiguration()
{
LocaleConfiguration lc = LocaleConfiguration();
lc.lang = lc.lc_numeric = lc.lc_time = lc.lc_monetary = lc.lc_paper = lc.lc_name
= lc.lc_address = lc.lc_telephone = lc.lc_measurement
= lc.lc_identification = "en_US.UTF-8";
return lc;
lc_numeric = lc_time = lc_monetary = lc_paper = lc_name
= lc_address = lc_telephone = lc_measurement
= lc_identification = formatsName;
(void) setLanguage( localeName );
}
void
LocaleConfiguration::setLanguage(const QString& localeName )
{
QString language = localeName.split( '_' ).first();
m_languageLocaleBcp47 = QLocale( language ).bcp47Name().toLower();
m_lang = localeName;
}
@ -43,11 +52,7 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale,
const QStringList& availableLocales,
const QString& countryCode )
{
LocaleConfiguration lc;
// Note that the documentation how this works is in packages.conf
QString language = languageLocale.split( '_' ).first();
lc.myLanguageLocaleBcp47 = QLocale(language).bcp47Name().toLower();
QStringList linesForLanguage;
for ( const QString &line : availableLocales )
@ -264,19 +269,14 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale,
if ( lc_formats.isEmpty() )
lc_formats = lang;
lc.lang = lang;
lc.lc_address = lc.lc_identification = lc.lc_measurement = lc.lc_monetary
= lc.lc_name = lc.lc_numeric = lc.lc_paper = lc.lc_telephone
= lc.lc_time = lc_formats;
return lc;
return LocaleConfiguration( lang, lc_formats );
}
bool
LocaleConfiguration::isEmpty() const
{
return lang.isEmpty() &&
return m_lang.isEmpty() &&
lc_numeric.isEmpty() &&
lc_time.isEmpty() &&
lc_monetary.isEmpty() &&
@ -294,8 +294,8 @@ LocaleConfiguration::toMap() const
{
QMap< QString, QString > map;
if ( !lang.isEmpty() )
map.insert( "LANG", lang );
if ( !m_lang.isEmpty() )
map.insert( "LANG", m_lang );
if ( !lc_numeric.isEmpty() )
map.insert( "LC_NUMERIC", lc_numeric );
@ -327,8 +327,3 @@ LocaleConfiguration::toMap() const
return map;
}
QString
LocaleConfiguration::toBcp47() const
{
return myLanguageLocaleBcp47;
}

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2017-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
@ -20,28 +20,42 @@
#ifndef LOCALECONFIGURATION_H
#define LOCALECONFIGURATION_H
#include <QDebug>
#include <QString>
#include <QMap>
class LocaleConfiguration
{
public:
/// @brief Create an empty locale, with nothing set
explicit LocaleConfiguration();
/// @brief Create a locale with everything set to the given @p localeName
explicit LocaleConfiguration( const QString& localeName /* "en_US.UTF-8" */ )
: LocaleConfiguration( localeName, localeName ) { };
/// @brief Create a locale with language and formats separate
explicit LocaleConfiguration( const QString& localeName, const QString& formatsName );
static LocaleConfiguration createDefault();
static LocaleConfiguration fromLanguageAndLocation( const QString& language,
const QStringList& availableLocales,
const QString& countryCode );
bool isEmpty() const;
QMap< QString, QString > toMap() const;
/** @brief sets lang and the BCP47 representation
*
* Note that the documentation how this works is in packages.conf
*/
void setLanguage( const QString& localeName );
QString language() const { return m_lang; }
// Note that the documentation how this works is in packages.conf
QString toBcp47() const;
QString toBcp47() const { return m_languageLocaleBcp47; }
QMap< QString, QString > toMap() const;
// These become all uppercase in locale.conf, but we keep them lowercase here to
// avoid confusion with locale.h.
QString lang, lc_numeric, lc_time, lc_monetary, lc_paper, lc_name, lc_address,
QString lc_numeric, lc_time, lc_monetary, lc_paper, lc_name, lc_address,
lc_telephone, lc_measurement, lc_identification;
// If the user has explicitly selected language (from the dialog)
@ -49,7 +63,13 @@ public:
bool explicit_lang, explicit_lc;
private:
QString myLanguageLocaleBcp47;
QString m_lang;
QString m_languageLocaleBcp47;
};
inline QDebug& operator <<( QDebug& s, const LocaleConfiguration& l )
{
return s << l.language() << '(' << l.toBcp47() << ") +" << l.lc_numeric;
}
#endif // LOCALECONFIGURATION_H

View File

@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2017-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
@ -164,16 +164,17 @@ LocalePage::LocalePage( QWidget* parent )
{
LCLocaleDialog* dlg =
new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ?
guessLocaleConfiguration().lang :
m_selectedLocaleConfiguration.lang,
guessLocaleConfiguration().language() :
m_selectedLocaleConfiguration.language(),
m_localeGenLines,
this );
dlg->exec();
if ( dlg->result() == QDialog::Accepted &&
!dlg->selectedLCLocale().isEmpty() )
{
m_selectedLocaleConfiguration.lang = dlg->selectedLCLocale();
m_selectedLocaleConfiguration.setLanguage( dlg->selectedLCLocale() );
m_selectedLocaleConfiguration.explicit_lang = true;
this->updateGlobalLocale();
this->updateLocaleLabels();
}
@ -317,7 +318,7 @@ LocalePage::init( const QString& initialRegion,
}
else
{
cDebug() << "Cannot open file" << localeGenPath
cWarning() << "Cannot open file" << localeGenPath
<< ". Assuming the supported languages are already built into "
"the locale archive.";
QProcess localeA;
@ -386,7 +387,7 @@ std::pair< QString, QString > LocalePage::prettyLocaleStatus( const LocaleConfig
{
using CalamaresUtils::LocaleLabel;
LocaleLabel lang( lc.lang, LocaleLabel::LabelFormat::AlwaysWithCountry );
LocaleLabel lang( lc.language(), LocaleLabel::LabelFormat::AlwaysWithCountry );
LocaleLabel num( lc.lc_numeric, LocaleLabel::LabelFormat::AlwaysWithCountry );
return std::make_pair< QString, QString >(
@ -443,7 +444,8 @@ LocalePage::onActivate()
!m_selectedLocaleConfiguration.explicit_lang )
{
auto newLocale = guessLocaleConfiguration();
m_selectedLocaleConfiguration.lang = newLocale.lang;
m_selectedLocaleConfiguration.setLanguage( newLocale.language() );
updateGlobalLocale();
updateLocaleLabels();
}
}
@ -452,41 +454,39 @@ LocalePage::onActivate()
LocaleConfiguration
LocalePage::guessLocaleConfiguration() const
{
QLocale myLocale; // User-selected language
// If we cannot say anything about available locales
if ( m_localeGenLines.isEmpty() )
{
cWarning() << "guessLocaleConfiguration can't guess from an empty list.";
return LocaleConfiguration::createDefault();
}
QString myLanguageLocale = myLocale.name();
if ( myLanguageLocale.isEmpty() )
return LocaleConfiguration::createDefault();
return LocaleConfiguration::fromLanguageAndLocation( myLanguageLocale,
return LocaleConfiguration::fromLanguageAndLocation( QLocale().name(),
m_localeGenLines,
m_tzWidget->getCurrentLocation().country );
}
void
LocalePage::updateGlobalLocale()
{
auto *gs = Calamares::JobQueue::instance()->globalStorage();
const QString bcp47 = m_selectedLocaleConfiguration.toBcp47();
gs->insert( "locale", bcp47 );
}
void
LocalePage::updateGlobalStorage()
{
LocaleGlobal::Location location = m_tzWidget->getCurrentLocation();
Calamares::JobQueue::instance()->globalStorage()
->insert( "locationRegion", location.region );
Calamares::JobQueue::instance()->globalStorage()
->insert( "locationZone", location.zone );
auto *gs = Calamares::JobQueue::instance()->globalStorage();
const QString bcp47 = m_selectedLocaleConfiguration.toBcp47();
Calamares::JobQueue::instance()->globalStorage()->insert( "locale", bcp47 );
LocaleGlobal::Location location = m_tzWidget->getCurrentLocation();
bool locationChanged = ( location.region != gs->value( "locationRegion" ) ) ||
( location.zone != gs->value( "locationZone" ) );
gs->insert( "locationRegion", location.region );
gs->insert( "locationZone", location.zone );
updateGlobalLocale();
// If we're in chroot mode (normal install mode), then we immediately set the
// timezone on the live system. When debugging timezones, don't bother.
#ifndef DEBUG_TIMEZONES
if ( Calamares::Settings::instance()->doChroot() )
if ( locationChanged && Calamares::Settings::instance()->doChroot() )
{
QProcess::execute( "timedatectl", // depends on systemd
{ "set-timezone",
@ -498,7 +498,7 @@ LocalePage::updateGlobalStorage()
auto newLocale = guessLocaleConfiguration();
if ( !m_selectedLocaleConfiguration.isEmpty() &&
m_selectedLocaleConfiguration.explicit_lang )
newLocale.lang = m_selectedLocaleConfiguration.lang;
newLocale.setLanguage( m_selectedLocaleConfiguration.language() );
if ( !m_selectedLocaleConfiguration.isEmpty() &&
m_selectedLocaleConfiguration.explicit_lc )
{

View File

@ -1,6 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
* Copyright 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
@ -56,6 +57,12 @@ private:
// the settings for language and numbers.
std::pair< QString, QString > prettyLocaleStatus( const LocaleConfiguration& ) const;
/** @brief Update the GS *locale* key with the selected system language.
*
* This uses whatever is set in m_selectedLocaleConfiguration as the language,
* and writes it to GS *locale* key (as a string, in BCP47 format).
*/
void updateGlobalLocale();
void updateGlobalStorage();
void updateLocaleLabels();

View File

@ -0,0 +1,80 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* Copyright 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/>.
*/
#include "Tests.h"
#include "LocaleConfiguration.h"
#include <QtTest/QtTest>
QTEST_GUILESS_MAIN( LocaleTests )
LocaleTests::LocaleTests()
{
}
LocaleTests::~LocaleTests()
{
}
void LocaleTests::initTestCase()
{
}
void LocaleTests::testEmptyLocaleConfiguration()
{
LocaleConfiguration lc;
QVERIFY( lc.isEmpty() );
QCOMPARE( lc.toBcp47(), QString() );
}
void LocaleTests::testDefaultLocaleConfiguration()
{
LocaleConfiguration lc( "en_US.UTF-8" );
QVERIFY( !lc.isEmpty() );
QCOMPARE( lc.language(), "en_US.UTF-8" );
QCOMPARE( lc.toBcp47(), "en" );
LocaleConfiguration lc2( "de_DE.UTF-8" );
QVERIFY( !lc2.isEmpty() );
QCOMPARE( lc2.language(), "de_DE.UTF-8" );
QCOMPARE( lc2.toBcp47(), "de" );
}
void LocaleTests::testSplitLocaleConfiguration()
{
LocaleConfiguration lc( "en_US.UTF-8", "de_DE.UTF-8" );
QVERIFY( !lc.isEmpty() );
QCOMPARE( lc.language(), "en_US.UTF-8" );
QCOMPARE( lc.toBcp47(), "en" );
QCOMPARE( lc.lc_numeric, QStringLiteral( "de_DE.UTF-8" ) );
LocaleConfiguration lc2( "de_DE.UTF-8", "da_DK.UTF-8" );
QVERIFY( !lc2.isEmpty() );
QCOMPARE( lc2.language(), "de_DE.UTF-8" );
QCOMPARE( lc2.toBcp47(), "de" );
QCOMPARE( lc2.lc_numeric, "da_DK.UTF-8" );
LocaleConfiguration lc3( "da_DK.UTF-8", "de_DE.UTF-8" );
QVERIFY( !lc3.isEmpty() );
QCOMPARE( lc3.toBcp47(), "da" );
QCOMPARE( lc3.lc_numeric, "de_DE.UTF-8" );
}

View File

@ -0,0 +1,40 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* Copyright 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/>.
*/
#ifndef TESTS_H
#define TESTS_H
#include <QObject>
class LocaleTests : public QObject
{
Q_OBJECT
public:
LocaleTests();
~LocaleTests() override;
private Q_SLOTS:
void initTestCase();
// Check the sample config file is processed correctly
void testEmptyLocaleConfiguration();
void testDefaultLocaleConfiguration();
void testSplitLocaleConfiguration();
};
#endif

View File

@ -1,6 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
* Copyright 2019, Adriaan de Groot <groot@kde.org>
*
* Originally from the Manjaro Installation Framework
* by Roland Singer <roland@manjaro.org>
@ -38,11 +39,13 @@
class LocaleGlobal
{
public:
struct Locale {
struct Locale
{
QString description, locale;
};
struct Location {
struct Location
{
QString region, zone, country;
double latitude, longitude;
static QString pretty( const QString& s );
@ -59,7 +62,12 @@ private:
static void initLocales();
static void initLocations();
static double getRightGeoLocation(QString str);
static double getRightGeoLocation( QString str );
};
inline QDebug& operator <<( QDebug& s, const LocaleGlobal::Location& l )
{
return s << l.region << '/' << l.zone << '(' << l.country << ") @N" << l.latitude << 'E' << l.longitude;
}
#endif // LOCALEGLOBAL_H

View File

@ -150,10 +150,10 @@ class PackageManager(metaclass=abc.ABCMeta):
@param packagedata: str|dict
"""
if isinstance(packagedata, str):
self.remove([packagedata], from_local=from_local)
self.remove([packagedata])
else:
self.run(packagedata["pre-script"])
self.remove([packagedata["package"]], from_local=from_local)
self.remove([packagedata["package"]])
self.run(packagedata["post-script"])

View File

@ -2,6 +2,7 @@
*
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2019, Collabora Ltd
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -1471,3 +1472,16 @@ ChoicePage::updateSwapChoicesTr(QComboBox* box)
}
}
}
int
ChoicePage::lastSelectedDeviceIndex()
{
return m_lastSelectedDeviceIndex;
}
void
ChoicePage::setLastSelectedDeviceIndex( int index )
{
m_lastSelectedDeviceIndex = index;
m_drivesCombo->setCurrentIndex( m_lastSelectedDeviceIndex );
}

View File

@ -2,6 +2,7 @@
*
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
* Copyright 2018, Adriaan de Groot <groot@kde.org>
* Copyright 2019, Collabora Ltd
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -97,6 +98,9 @@ public:
*/
void applyActionChoice( ChoicePage::InstallChoice choice );
int lastSelectedDeviceIndex();
void setLastSelectedDeviceIndex( int index );
signals:
void nextStatusChanged( bool );
void actionChosen();

View File

@ -5,6 +5,7 @@
* Copyright 2018, Adriaan de Groot <groot@kde.org>
* Copyright 2018, Andrius Štikonas <andrius@stikonas.eu>
* Copyright 2018, Caio Jordão Carvalho <caiojcarvalho@gmail.com>
* Copyright 2019, Collabora Ltd
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -609,3 +610,15 @@ PartitionPage::getCurrentUsedMountpoints()
return mountPoints;
}
int
PartitionPage::selectedDeviceIndex()
{
return m_ui->deviceComboBox->currentIndex();
}
void
PartitionPage::selectDeviceByIndex ( int index )
{
m_ui->deviceComboBox->setCurrentIndex( index );
}

View File

@ -2,6 +2,7 @@
*
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
* Copyright 2018, Adriaan de Groot <groot@kde.org>
* Copyright 2019, Collabora Ltd
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -46,6 +47,9 @@ public:
void onRevertClicked();
int selectedDeviceIndex();
void selectDeviceByIndex( int index );
private:
QScopedPointer< Ui_PartitionPage > m_ui;
PartitionCoreModule* m_core;

View File

@ -3,6 +3,7 @@
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
* Copyright 2018, Adriaan de Groot <groot@kde.org>
* Copyright 2019, Collabora Ltd
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -286,6 +287,7 @@ PartitionViewStep::next()
if ( m_choicePage->currentChoice() == ChoicePage::Manual )
{
m_widget->setCurrentWidget( m_manualPartitionPage );
m_manualPartitionPage->selectDeviceByIndex( m_choicePage->lastSelectedDeviceIndex() );
if ( m_core->isDirty() )
m_manualPartitionPage->onRevertClicked();
}
@ -315,7 +317,10 @@ void
PartitionViewStep::back()
{
if ( m_widget->currentWidget() != m_choicePage )
{
m_widget->setCurrentWidget( m_choicePage );
m_choicePage->setLastSelectedDeviceIndex( m_manualPartitionPage->selectedDeviceIndex() );
}
}
@ -495,6 +500,61 @@ nameToChoice( QString name, bool& ok )
return SwapChoice::NoSwap;
}
/** @brief translate @p defaultFS into a recognized name
*
* Makes several attempts to translate the string into a
* name that KPMCore will recognize.
*/
static QString
findFS( QString defaultFS )
{
QStringList fsLanguage { QLatin1Literal( "C" ) }; // Required language list to turn off localization
if ( defaultFS.isEmpty() )
defaultFS = QStringLiteral( "ext4" );
if ( FileSystem::typeForName( defaultFS, fsLanguage ) != FileSystem::Unknown )
{
cDebug() << "Partition-module setting *defaultFileSystemType*" << defaultFS;
return defaultFS;
}
// First pass: try the default language instead of C locale
auto fsType = FileSystem::typeForName( defaultFS );
if ( fsType != FileSystem::Unknown )
{
defaultFS = FileSystem::nameForType( fsType, fsLanguage );
cWarning() << "Partition-module setting *defaultFileSystemType* changed" << defaultFS;
return defaultFS;
}
// Second pass: try case-insensitive, both unlocalized and localized
const auto fstypes = FileSystem::types();
for ( FileSystem::Type t : fstypes )
{
if ( ( 0 == QString::compare( defaultFS, FileSystem::nameForType( t, fsLanguage ), Qt::CaseInsensitive ) ) ||
( 0 == QString::compare( defaultFS, FileSystem::nameForType( t ), Qt::CaseInsensitive ) ) )
{
defaultFS = FileSystem::nameForType( fsType, fsLanguage );
cWarning() << "Partition-module setting *defaultFileSystemType* changed" << defaultFS;
return defaultFS;
}
}
cWarning() << "Partition-module setting *defaultFileSystemType* is bad (" << defaultFS << ") using ext4.";
defaultFS = QStringLiteral( "ext4" );
#ifdef DEBUG_FILESYSTEMS
// This bit is for distro's debugging their settings, and shows
// all the strings that KPMCore is matching against for FS type.
{
Logger::CLog d( Logger::LOGDEBUG );
using TR = Logger::DebugRow< int, QString >;
const auto fstypes = FileSystem::types();
d << "Available types (" << fstypes.count() << ')';
for ( FileSystem::Type t : fstypes )
d << TR( static_cast<int>( t ), FileSystem::nameForType( t, fsLanguage ) );
}
#endif
return defaultFS;
}
void
PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
@ -571,30 +631,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
gs->insert( "alwaysShowPartitionLabels", CalamaresUtils::getBool( configurationMap, "alwaysShowPartitionLabels", true ) );
gs->insert( "enableLuksAutomatedPartitioning", CalamaresUtils::getBool( configurationMap, "enableLuksAutomatedPartitioning", true ) );
gs->insert( "allowManualPartitioning", CalamaresUtils::getBool( configurationMap, "allowManualPartitioning", true ) );
QString defaultFS = CalamaresUtils::getString( configurationMap, "defaultFileSystemType" );
if ( defaultFS.isEmpty() )
defaultFS = QStringLiteral( "ext4" );
else
cDebug() << "Partition-module setting *defaultFileSystemType*" << defaultFS;
if ( FileSystem::typeForName( defaultFS ) == FileSystem::Unknown )
{
cWarning() << "Partition-module setting *defaultFileSystemType* is bad (" << defaultFS << ") using ext4.";
defaultFS = QStringLiteral( "ext4" );
#ifdef DEBUG_FILESYSTEMS
// This bit is for distro's debugging their settings, and shows
// all the strings that KPMCore is matching against for FS type.
{
Logger::CLog d( Logger::LOGDEBUG );
using TR = Logger::DebugRow< int, QString >;
const auto fstypes = FileSystem::types();
d << "Available types (" << fstypes.count() << ')';
for ( FileSystem::Type t : fstypes )
d << TR( static_cast<int>( t ), FileSystem::nameForType( t ) );
}
#endif
}
gs->insert( "defaultFileSystemType", defaultFS );
gs->insert( "defaultFileSystemType", findFS( CalamaresUtils::getString( configurationMap, "defaultFileSystemType" ) ) );
// Now that we have the config, we load the PartitionCoreModule in the background