Compare commits

..

42 Commits

Author SHA1 Message Date
Calamares CI
0d91220ab7 i18n: [calamares] Automatic merge of Transifex translations 2020-02-27 23:26:29 +01:00
Adriaan de Groot
bfe45aea18 [netinstall] Warnings--, unused parameter 2020-02-27 23:19:55 +01:00
Adriaan de Groot
3df0878e43 [initramfs] Warnings--
Initializing the JobQuene (and hence Global Storage) and
the System instance is a bit odd, avoid unused-variable
warning with an ugly cast instead.
2020-02-27 23:18:28 +01:00
Adriaan de Groot
0793971d01 [libcalamares] Warnings--, unused variable 2020-02-27 23:18:13 +01:00
Adriaan de Groot
3c059cc599 Changes: pre-release housekeeping 2020-02-27 23:12:03 +01:00
Adriaan de Groot
72dcf886bf [contextualprocess] Improve tests, fix off-by-one
- there's no string representation for a QVariantMap, so it
  won't be converted; in *debug* output it looks like there's a
  string there.
- off-by-one when diving into compound selectors, spotted by
  test, now fixed.
2020-02-27 22:44:49 +01:00
Adriaan de Groot
28bf4082b3 [contextualprocess] Tests for new lookup behavior 2020-02-27 22:34:46 +01:00
Adriaan de Groot
bdb208c079 [contextualprocess] Split API
In order to test some of the internals, split them into Binding.h.
This makes the interface visible for tests. The implementation
still lives in the same place.

While here, adjust the test to the changed **example** which
now lists an additional variable.
2020-02-27 18:40:17 +01:00
Adriaan de Groot
4a5b3e7bc8 [contextualprocess] Document new behavior for compound keys 2020-02-27 18:22:07 +01:00
Adriaan de Groot
d114a3dc21 [contextualprocess] Allow selection from GS with "var1.var2.var3" 2020-02-27 17:14:41 +01:00
Adriaan de Groot
f5522425f6 Merge pull request #1331 from PureTryOut/apk-support
[packages] Add apk (Alpine Linux package manager) support
2020-02-27 16:22:36 +01:00
Adriaan de Groot
510e4a0033 Changes: document debug-logging and FillGlobalStorageJob 2020-02-27 15:01:37 +01:00
Adriaan de Groot
54a4644893 [partition] Store filesystem types
- Write a new GS key filesystems_use, which is a map of filesystems
  in use on the target system.
2020-02-27 14:29:54 +01:00
Adriaan de Groot
d4b26bbaf0 [partition] Tighten up the types of internal methods 2020-02-27 13:49:02 +01:00
Calamares CI
c93f749a35 i18n: [python] Automatic merge of Transifex translations 2020-02-27 13:36:21 +01:00
Calamares CI
29ba5c961d i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-02-27 13:36:21 +01:00
Calamares CI
6d638539e5 i18n: [desktop] Automatic merge of Transifex translations 2020-02-27 13:36:21 +01:00
Calamares CI
5e0f182ebc i18n: [calamares] Automatic merge of Transifex translations 2020-02-27 13:36:21 +01:00
Adriaan de Groot
b0abb99ee1 [libcalamares] Don't log useless FUNC_INFO for Python
- When a Python module calls utils.debug(), there's no point
  in logging the C++ funcinfo that passes the parameters on;
  don't use cDebug() with its attendant magic.
2020-02-27 13:24:23 +01:00
Adriaan de Groot
f818d4b446 [libcalamares] Log Q_FUNC_INFO as part of debug
- Warnings, errors, don't get funcinfo, but regular cDebug()
  calls do. Other special-cases, like calling Logger::CDebug()
  constructor explicitly, don't get funcinfo either.

FIXES #1328
2020-02-27 13:20:19 +01:00
Bart Ribbers
136d22188e [packages] Add apk (Alpine Linux package manager) support 2020-02-27 12:58:53 +01:00
Adriaan de Groot
3456aabfce [libcalamares] Expand utility of list-logging
- Allow logging any QList type (needs explicit call in usage).
- Add a DebugList inheriting from DebugListT to keep existing
  code that logs QStringLists.
- For Calamares 3.3, consider using C++17 and class template deduction.
2020-02-27 11:59:24 +01:00
Adriaan de Groot
8f060a741f [calamares] Default to log-level 1 (not 8)
- This bug has been here since f233cac7a1,
  where a check for isSet() (of the -D option) was dropped. So since then,
  Calamares has always been running with full logging (-D8) on.
- The recently-added "easter egg" of showing the debug-button when
  log-level is 8 (to allow debugging-in-production) trips over the
  default-log-level of 8, so the debug-button is always visible.

So, minor bugs in the debugging-setup, combine to show a debug-button
when there shouldn't be one.

FIXES #1329
2020-02-27 11:38:50 +01:00
Adriaan de Groot
aacdb6be29 Changes: post-release housekeeping 2020-02-24 21:47:13 +01:00
Adriaan de Groot
9b4af86ab9 Changes: fix up the changelog that should have been in 3.2.19.1 2020-02-24 21:44:30 +01:00
Adriaan de Groot
2db3b413f4 [libcalamares] Unmount with mount point, not device
- The manpage for umount says that -R can only be used with
  a mount point (e.g. /usr/local) and not a device name;
  this makes sense because a device might be mounted in multiple
  locations, but the mountpoint (and things mounted under it) lives
  in the filesystem tree.
- Existing code tried to unmount -R the device, not the mount point,
  and so always failed; leaving things mounted that shouldn't.
2020-02-24 20:58:02 +01:00
Philip Müller
0c8257df3d [initcpio] Don't claim other swap
From downstream ee99e34e25ed1224504bbef93fb41e5cad6b0ee8
2020-02-24 18:23:32 +01:00
Adriaan de Groot
7e24afc966 Merge pull request #1325 from Chrysostomus/patch-2
[grubcfg] Don't GRUB_SAVEDEFAULT if the FS doesn't support it
2020-02-24 18:09:00 +01:00
Matti Hyttinen
717b8947d5 Update main.py
Unset GRUB_SAVEDEFAULT if / or /boot is in btrfs or f2fs partition. This avoids the error "sparse file not allowed" at boot time. Btrfs and f2fs do not support saving default entry in grub.
2020-02-24 17:49:56 +02:00
Adriaan de Groot
c20ac0836e [users] Take setRootPassword into account when hiding fields 2020-02-24 16:11:14 +01:00
Adriaan de Groot
7752cf31b3 [users] Improve documentation of setRootPassword 2020-02-24 15:59:52 +01:00
Adriaan de Groot
14979b1630 [libcalamares] TemporaryMount with backwards logic
- because mount() returns an exit code, and 0 is "success",
  the if (!code) was backwards: when mounting succeeded, the
  TemporaryMount object thought it failed.
- This leads to temp-mounts being left *all over* the place
  from os-prober and fstab-handling.
2020-02-24 15:21:31 +01:00
Adriaan de Groot
a865620f90 [calamares] Easter egg: running -D8 will show the Debug Information button 2020-02-24 14:47:10 +01:00
Adriaan de Groot
ee52e37b36 [libcalamares] Don't hard-code full paths
- See editorial in the code-comment. Still need to test that
   chroot(8) doesn't need a full path, otherwise this will
   go to /usr/bin/env udevadm to force lookup (redundantly
   if not in a chroot)
2020-02-24 13:15:13 +01:00
Adriaan de Groot
8c527ab592 [users] Overwrite host(s|name) files in target 2020-02-24 12:48:01 +01:00
Adriaan de Groot
4621937477 [users] Use right check on writing hostname
- !failed() also means "didn't write the file because it already
  exists", which is sometimes acceptable -- but not here.
  Use the more-strict bool() conversion, which is only when
  the file was actually written.
2020-02-24 12:44:50 +01:00
Adriaan de Groot
862b7e34df [libcalamares] Add tests for file-overwrite 2020-02-24 12:38:08 +01:00
Adriaan de Groot
f89951716e [libcalamares] Add mode to createTargetFile()
- Unconditionally **not** overwriting the target file isn't an option:
  writing hostname, for instance, expects that to be done even
  if `/etc/hostname` already exists on the target filesystem.
2020-02-24 12:14:50 +01:00
Calamares CI
d903a50bd8 i18n: [python] Automatic merge of Transifex translations 2020-02-24 11:43:38 +01:00
Calamares CI
bcc779bd43 i18n: [calamares] Automatic merge of Transifex translations 2020-02-24 11:43:37 +01:00
Adriaan de Groot
801c3d4715 Changes: pre-release (hotfix) housekeeping 2020-02-24 11:41:18 +01:00
Adriaan de Groot
a7b0b03bde Changes: post-release housekeeping 2020-02-21 22:07:15 +01:00
50 changed files with 1226 additions and 704 deletions

40
CHANGES
View File

@@ -3,6 +3,46 @@ 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.20 (2020-02-27) #
This release contains contributions from (alphabetically by first name):
- Bart Ribbers
## Core ##
- When logging level is set to 8 (eight), for instance via the `-D8`
logging flag, or the `-d` debug flag, the *Show debug information*
button will appear in the progress view. This helps with debugging
issues where the `-d` flag would be inappropriate.
- Calamares now starts at logging level 1 (warnings and errors to
the console) by default. Previously it (wrongly) started at level 8.
## Modules ##
- The *partition* module now stores which filesystems are in use in
global storage.
- The *contextualprocess* module now understands "compound variable
names", where a dot (.) is used to index into structured data
stored in global storage. This allows it to use the map stored
by the partition module (but also other things, like looking into
the branding information).
- The *packages* module now understands "apk", the Alpine Linux
package manager.
# 3.2.19.1 (2020-02-24) #
This is a hotfix release for bugs in the *users* module.
Reported by Philip Mueller and Walter Lapchynski.
## Modules ##
- The *users* module no longer wrote `/etc/hostname` at all.
- The *users* module erroneously shows the root password input fields.
- The *initramfs* module sets a resume-hook even when there is no swap.
- The partitioning service expects *udevadm* in `/sbin`, but some
distro's place it elsewhere.
- The mount service didn't unmount directories properly, leading to
blocked installations.
# 3.2.19 (2020-02-21) #
This release contains contributions from (alphabetically by first name):

View File

@@ -40,7 +40,7 @@
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
project( CALAMARES
VERSION 3.2.19
VERSION 3.2.20
LANGUAGES C CXX )
set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development

View File

@@ -103,9 +103,9 @@ Icon[ja]=calamares
GenericName[ja]=システムインストーラー
Comment[ja]=Calamares — システムインストーラー
Name[ko]=시스템 설치
Icon[ko]=깔라마레스 (Calamares)
Icon[ko]=깔라마레스
GenericName[ko]=시스템 설치 관리자
Comment[ko]=깔라마레스 (Calamares) — 시스템 설치 관리자
Comment[ko]=깔라마레스 — 시스템 설치 관리자
Name[lt]=Įdiegti Sistemą
Icon[lt]=calamares
GenericName[lt]=Sistemos diegimas į kompiuterį

View File

@@ -120,3 +120,16 @@
text *not released yet*.
* Commit and push that, usually with the message
*Changes: post-release housekeeping*.
```
# 3.2.XX (unreleased) #
This release contains contributions from (alphabetically by first name):
- No external contributors yet
## Core ##
- No core changes yet
## Modules ##
- No module changes yet
```

View File

@@ -212,7 +212,7 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation>Cargando...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
@@ -222,7 +222,7 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
<source>Loading failed.</source>
<translation type="unfinished"/>
<translation>Falló la carga.</translation>
</message>
</context>
<context>
@@ -532,7 +532,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="967"/>
<source>%1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4.</source>
<translation>%1 va redimensionase a %2MB y va crease una partición nueva de %3MB pa %4.</translation>
<translation>%1 va redimensionase a %2MB y va crease una partición de %3MB pa %4.</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1073"/>
@@ -785,7 +785,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="72"/>
<source>Creating new %1 partition on %2.</source>
<translation>Creando una partición %1 nueva en %2.</translation>
<translation>Creando una partición %1 en %2.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="84"/>
@@ -803,7 +803,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="39"/>
<source>Creating a new partition table will delete all existing data on the disk.</source>
<translation>Crear una tabla de particiones nueva va desaniciar tolos datos esistentes nel discu.</translation>
<translation>Crear una tabla de particiones va desaniciar tolos datos esistentes nel discu.</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="65"/>
@@ -831,12 +831,12 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionTableJob.cpp" line="54"/>
<source>Create new &lt;strong&gt;%1&lt;/strong&gt; partition table on &lt;strong&gt;%2&lt;/strong&gt; (%3).</source>
<translation>Va crease una tabla de particiones nueva &lt;strong&gt;%1&lt;/strong&gt; en &lt;strong&gt;%2&lt;/strong&gt; (%3).</translation>
<translation>Va crease una tabla de particiones &lt;strong&gt;%1&lt;/strong&gt; en &lt;strong&gt;%2&lt;/strong&gt; (%3).</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionTableJob.cpp" line="64"/>
<source>Creating new %1 partition table on %2.</source>
<translation>Creando una tabla de particiones nueva %1 en %2.</translation>
<translation>Creando una tabla de particiones %1 en %2.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionTableJob.cpp" line="82"/>
@@ -895,17 +895,17 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
<source>Create new volume group named %1.</source>
<translation>Creación d'un grupu nuevu de volúmenes col nome %1.</translation>
<translation>Creación d'un grupu de volúmenes col nome %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>Va crease un grupu nuevu de volúmenes col nome &lt;strong&gt;%1&lt;/strong&gt;.</translation>
<translation>Va crease un grupu de volúmenes col nome &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>Creando un grupu nuevu de volúmenes col nome %1.</translation>
<translation>Creando un grupu de volúmenes col nome %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="65"/>
@@ -975,7 +975,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="122"/>
<source>This installer &lt;strong&gt;cannot detect a partition table&lt;/strong&gt; on the selected storage device.&lt;br&gt;&lt;br&gt;The device either has no partition table, or the partition table is corrupted or of an unknown type.&lt;br&gt;This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
<translation>Esti instalador &lt;strong&gt;nun pue deteutar una tabla de particiones&lt;/strong&gt; nel preséu d'almacenamientu esbilláu.&lt;br&gt;&lt;br&gt;El preséu nun tien una tabla de particiones, la tabla de particiones ta toyida o ye d'una triba desconocida.&lt;br&gt;Esti instalador pue crear una tabla de particiones nueva por ti, automáticamente o pente la páxina de particionáu manual.</translation>
<translation>Esti instalador &lt;strong&gt;nun pue deteutar una tabla de particiones&lt;/strong&gt; nel preséu d'almacenamientu esbilláu.&lt;br&gt;&lt;br&gt;El preséu nun tien una tabla de particiones porque ta toyida o ye d'una triba desconocida.&lt;br&gt;Esti instalador pue crear una tabla de particiones nueva por ti, automáticamente o pente la páxina de particionáu manual.</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="132"/>
@@ -1470,22 +1470,22 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="156"/>
<source>This setup procedure will install proprietary software that is subject to licensing terms.</source>
<translation type="unfinished"/>
<translation>Esti procedimientu va instalar software privativu que ta suxetu a términos de llicencia.</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="159"/>
<source>If you do not agree with the terms, the setup procedure cannot continue.</source>
<translation type="unfinished"/>
<translation>Si nun aceutes los términos, el procedimientu de configuración nun pue siguir.</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="164"/>
<source>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience.</source>
<translation type="unfinished"/>
<translation>Esti procedimientu de configuración pue instalar software privativu que ta suxetu a términos de llicencia pa fornir carauterístiques adicionales y ameyorar la esperiencia d'usuariu.</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="169"/>
<source>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead.</source>
<translation type="unfinished"/>
<translation>Si nun aceutes los términos, el software privativu nun va instalase y van usase les alternatives de códigu abiertu.</translation>
</message>
</context>
<context>
@@ -1501,7 +1501,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="96"/>
<source>URL: %1</source>
<translation type="unfinished"/>
<translation>URL: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="117"/>
@@ -1538,7 +1538,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="171"/>
<source>File: %1</source>
<translation type="unfinished"/>
<translation>Ficheru: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
@@ -1691,12 +1691,12 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>Software ofimáticu</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>Paquete ofimáticu</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
@@ -1711,17 +1711,17 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>Restolador web</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>Kernel</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>Servicios</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
@@ -1731,12 +1731,12 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>Escritoriu</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>Aplicaciones</translation>
</message>
</context>
<context>
@@ -1744,7 +1744,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>Notes</translation>
</message>
</context>
<context>
@@ -2023,7 +2023,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="571"/>
<source>Password is empty</source>
<translation type="unfinished"/>
<translation>La contraseña ta balera</translation>
</message>
</context>
<context>
@@ -2064,7 +2064,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/packagechooser/PackageChooserViewStep.cpp" line="70"/>
<source>Packages</source>
<translation type="unfinished"/>
<translation>Paquetes</translation>
</message>
</context>
<context>
@@ -2142,7 +2142,7 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<location filename="../src/modules/users/page_usersetup.ui" line="351"/>
<location filename="../src/modules/users/page_usersetup.ui" line="521"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>Contraseña</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="376"/>
@@ -2301,22 +2301,22 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
<source>New Volume Group</source>
<translation>Grupu de volúmenes nuevu</translation>
<translation>Grupu nuevu</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
<source>Resize Volume Group</source>
<translation>Redimensionar el grupu de volúmenes</translation>
<translation>Redimensionar el grupu</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
<source>Deactivate Volume Group</source>
<translation>Desactivar el grupu de volúmenes</translation>
<translation>Desactivar el grupu</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
<source>Remove Volume Group</source>
<translation>Desaniciar el grupu de volúmenes</translation>
<translation>Desaniciar el grupu</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="180"/>
@@ -2439,12 +2439,12 @@ L'instalador va colar y van perdese tolos cambeos.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="650"/>
<source>has at least one disk device available.</source>
<translation>tien polo menos un preséu con espaciu disponible en discu</translation>
<translation>tien polo menos un preséu disponible d'almacenamientu</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="651"/>
<source>There are no partitions to install on.</source>
<translation type="unfinished"/>
<translation>Nun hai particiones nes qu'instalar.</translation>
</message>
</context>
<context>
@@ -2649,7 +2649,7 @@ Salida:
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="74"/>
<source>Path &lt;pre&gt;%1&lt;/pre&gt; must be an absolute path.</source>
<translation type="unfinished"/>
<translation>El camín &lt;pre&gt;%1&lt;/pre&gt; ha ser absolutu.</translation>
</message>
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="103"/>
@@ -2850,7 +2850,7 @@ Salida:
<message>
<location filename="../src/modules/partition/gui/ResizeVolumeGroupDialog.cpp" line="39"/>
<source>Resize Volume Group</source>
<translation>Redimensionar el grupu de volúmenes</translation>
<translation>Redimensionar el grupu</translation>
</message>
</context>
<context>
@@ -3542,7 +3542,7 @@ Salida:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
@@ -3557,12 +3557,12 @@ Salida:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation>Problemes conocíos</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation>Notes del llanzamientu</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>

View File

@@ -106,7 +106,7 @@
<message>
<location filename="../src/calamares/DebugWindow.ui" line="113"/>
<source>Widget Tree</source>
<translation type="unfinished"/>
<translation>Albero dei Widget</translation>
</message>
<message>
<location filename="../src/calamares/DebugWindow.cpp" line="231"/>
@@ -137,7 +137,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="40"/>
<source>Programmed job failure was explicitly requested.</source>
<translation type="unfinished"/>
<translation>Il fallimento dell'operazione programmata è stato richiesto esplicitamente.</translation>
</message>
</context>
<context>
@@ -153,7 +153,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="27"/>
<source>Example job (%1)</source>
<translation type="unfinished"/>
<translation>Operazione d'esempio (%1)</translation>
</message>
</context>
<context>
@@ -212,12 +212,12 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation>Caricamento ...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/>
<translation>QML Progresso &lt;i&gt;%1&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
@@ -238,9 +238,9 @@
<message numerus="yes">
<location filename="../src/libcalamaresui/modulesystem/RequirementsChecker.cpp" line="167"/>
<source>(%n second(s))</source>
<translation type="unfinished">
<numerusform/>
<numerusform/>
<translation>
<numerusform>(%n secondo)</numerusform>
<numerusform>(%n secondi)</numerusform>
</translation>
</message>
<message>
@@ -292,12 +292,12 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="238"/>
<source>Install Log Paste URL</source>
<translation type="unfinished"/>
<translation>Incolla URL Log di Installazione</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="241"/>
<source>The upload was unsuccessful. No web-paste was done.</source>
<translation type="unfinished"/>
<translation>Il caricamento è fallito. Non è stato eseguito web-paste.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="257"/>
@@ -454,7 +454,8 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="34"/>
<source>Install log posted to:
%1</source>
<translation type="unfinished"/>
<translation>Log di installazione caricato:
%1</translation>
</message>
</context>
<context>
@@ -779,7 +780,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="60"/>
<source>Create new &lt;strong&gt;%2MiB&lt;/strong&gt; partition on &lt;strong&gt;%4&lt;/strong&gt; (%3) with file system &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Creare nuova partizione di &lt;strong&gt;%2MiB&lt;/strong&gt; su &lt;strong&gt;%4&lt;/strong&gt; (%3) con file system &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="72"/>
@@ -1162,7 +1163,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
<source>&lt;Restart checkbox tooltip&gt;</source>
<translation type="unfinished"/>
<translation>&lt;Restart checkbox tooltip&gt;</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
@@ -1172,7 +1173,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/finished/FinishedPage.cpp" line="54"/>
<source>&lt;h1&gt;All done.&lt;/h1&gt;&lt;br/&gt;%1 has been set up on your computer.&lt;br/&gt;You may now start using your new system.</source>
<translation type="unfinished"/>
<translation>&lt;h1&gt;Tutto eseguito.&lt;/h1&gt;&lt;br/&gt;%1 è stato configurato sul tuo computer.&lt;br/&gt;Adesso puoi iniziare a utilizzare il tuo nuovo sistema.</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.cpp" line="58"/>
@@ -1187,7 +1188,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/finished/FinishedPage.cpp" line="71"/>
<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="font-style:italic;"&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;Quando questa casella è selezionata, il tuo sistema si riavvierà immediatamente quando clicchi su &lt;span style="font-style:italic;"&gt;Fatto&lt;/span&gt; o chiudi il programma di installazione.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.cpp" line="133"/>
@@ -1296,7 +1297,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="164"/>
<source>is running the installer as an administrator (root)</source>
<translation type="unfinished"/>
<translation>sta eseguendo il programma di installazione come amministratore (root)</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="167"/>
@@ -1311,7 +1312,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="176"/>
<source>has a screen large enough to show the whole installer</source>
<translation type="unfinished"/>
<translation>ha uno schermo abbastanza grande da mostrare l'intero programma di installazione</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="179"/>
@@ -1329,7 +1330,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/hostinfo/HostInfoJob.cpp" line="51"/>
<source>Collecting information about your machine.</source>
<translation type="unfinished"/>
<translation>Raccogliendo informazioni sulla tua macchina.</translation>
</message>
</context>
<context>
@@ -1340,7 +1341,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<location filename="../src/modules/oemid/IDJob.cpp" line="59"/>
<location filename="../src/modules/oemid/IDJob.cpp" line="67"/>
<source>OEM Batch Identifier</source>
<translation type="unfinished"/>
<translation>Codice Batch OEM</translation>
</message>
<message>
<location filename="../src/modules/oemid/IDJob.cpp" line="48"/>
@@ -1454,7 +1455,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/license/LicensePage.ui" line="22"/>
<source>&lt;h1&gt;License Agreement&lt;/h1&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h1&gt;Accordo di Licenza&lt;/h1&gt;</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="149"/>
@@ -1464,27 +1465,27 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="151"/>
<source>Please review the End User License Agreements (EULAs).</source>
<translation type="unfinished"/>
<translation>Si prega di leggere l'Accordo di Licenza per l'Utente Finale (EULAs).</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="156"/>
<source>This setup procedure will install proprietary software that is subject to licensing terms.</source>
<translation type="unfinished"/>
<translation>Questa procedura di configurazione installerà software proprietario che è soggetto ai termini di licenza.</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="159"/>
<source>If you do not agree with the terms, the setup procedure cannot continue.</source>
<translation type="unfinished"/>
<translation>Se non accetti i termini, la procedura di configurazione non può continuare.</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="164"/>
<source>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience.</source>
<translation type="unfinished"/>
<translation>Questa procedura di configurazione installerà software proprietario sottoposto a termini di licenza, per fornire caratteristiche aggiuntive e migliorare l'esperienza utente.</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="169"/>
<source>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead.</source>
<translation type="unfinished"/>
<translation>Se non se ne accettano i termini, il software proprietario non verrà installato e al suo posto saranno utilizzate alternative open source. </translation>
</message>
</context>
<context>
@@ -1500,7 +1501,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="96"/>
<source>URL: %1</source>
<translation type="unfinished"/>
<translation>URL: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="117"/>
@@ -1537,17 +1538,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="171"/>
<source>File: %1</source>
<translation type="unfinished"/>
<translation>File: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
<source>Show the license text</source>
<translation type="unfinished"/>
<translation>Mostra il testo della licenza</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="198"/>
<source>Open license agreement in browser.</source>
<translation type="unfinished"/>
<translation>Apri l'accordo di licenza nel browser.</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
@@ -1602,7 +1603,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="39"/>
<source>Configuring LUKS key file.</source>
<translation type="unfinished"/>
<translation>Configurazione in corso del file chiave LUKS.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="156"/>
@@ -1615,22 +1616,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="199"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="207"/>
<source>Encrypted rootfs setup error</source>
<translation type="unfinished"/>
<translation>Errore nella configurazione del rootfs crittato</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="193"/>
<source>Root partition %1 is LUKS but no passphrase has been set.</source>
<translation type="unfinished"/>
<translation>La partizione root %1 è LUKS ma non sono state configurate passphrase.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="200"/>
<source>Could not create LUKS key file for root partition %1.</source>
<translation type="unfinished"/>
<translation>Impossibile creare il file chiave LUKS per la partizione root %1.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="208"/>
<source>Could not configure LUKS key file on partition %1.</source>
<translation type="unfinished"/>
<translation>Impossibile configurare il file chiave LUKS per la partizione %1.</translation>
</message>
</context>
<context>
@@ -1643,12 +1644,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="62"/>
<source>Configuration Error</source>
<translation type="unfinished"/>
<translation>Errore di Configurazione</translation>
</message>
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="63"/>
<source>No root mount point is set for MachineId.</source>
<translation type="unfinished"/>
<translation>Non è impostato alcun punto di montaggio root per MachineId</translation>
</message>
</context>
<context>
@@ -1676,7 +1677,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="187"/>
<source>Network Installation. (Disabled: Incorrect configuration)</source>
<translation type="unfinished"/>
<translation>Installazione di rete. (Disabilitato: Configurazione scorretta)</translation>
</message>
</context>
<context>
@@ -1690,52 +1691,52 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>Software per ufficio</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>Pacchetto per ufficio</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
<source>Browser software</source>
<translation type="unfinished"/>
<translation>Software navigazione web</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="68"/>
<source>Browser package</source>
<translation type="unfinished"/>
<translation>Pacchetto navigazione web</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>Browser web</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>Kernel</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>Servizi</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
<source>Login</source>
<translation type="unfinished"/>
<translation>Accesso</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>Ambiente desktop</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>Applicazioni</translation>
</message>
</context>
<context>
@@ -1743,7 +1744,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>Note</translation>
</message>
</context>
<context>
@@ -1751,17 +1752,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/oemid/OEMPage.ui" line="28"/>
<source>Ba&amp;tch:</source>
<translation type="unfinished"/>
<translation>Lo&amp;amp;tto</translation>
</message>
<message>
<location filename="../src/modules/oemid/OEMPage.ui" line="38"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enter a batch-identifier here. This will be stored in the target system.&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;Inserire un identificatore per il lotto. Questo verrà salvato nel sistema di destinazione.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/modules/oemid/OEMPage.ui" line="48"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;h1&gt;OEM Configuration&lt;/h1&gt;&lt;p&gt;Calamares will use OEM settings while configuring the target system.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;h1&gt;Configurazione OEM&lt;/h1&gt;&lt;p&gt;Calamares userà le impostazioni OEM nella configurazione del sistema di destinazione.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
</context>
<context>
@@ -1769,12 +1770,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="121"/>
<source>OEM Configuration</source>
<translation type="unfinished"/>
<translation>Configurazione OEM</translation>
</message>
<message>
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="126"/>
<source>Set the OEM Batch Identifier to &lt;code&gt;%1&lt;/code&gt;.</source>
<translation type="unfinished"/>
<translation>Impostare l'Identificatore del Lotto OEM a &lt;code&gt;%1&lt;/code&gt;.</translation>
</message>
</context>
<context>
@@ -2022,7 +2023,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="571"/>
<source>Password is empty</source>
<translation type="unfinished"/>
<translation>Password vuota</translation>
</message>
</context>
<context>
@@ -2035,7 +2036,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="40"/>
<source>Product Name</source>
<translation type="unfinished"/>
<translation>Nome Prodotto</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="53"/>
@@ -2045,17 +2046,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="69"/>
<source>Long Product Description</source>
<translation type="unfinished"/>
<translation>Descrizione Estesa del Prodotto</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="34"/>
<source>Package Selection</source>
<translation type="unfinished"/>
<translation>Selezione del Pacchetto</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="35"/>
<source>Please pick a product from the list. The selected product will be installed.</source>
<translation type="unfinished"/>
<translation>Si prega di scegliere un prodotto dalla lista. Il prodotto selezionato verrà installato.</translation>
</message>
</context>
<context>
@@ -2063,7 +2064,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/packagechooser/PackageChooserViewStep.cpp" line="70"/>
<source>Packages</source>
<translation type="unfinished"/>
<translation>Pacchetti</translation>
</message>
</context>
<context>
@@ -2120,12 +2121,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="51"/>
<source>Your Full Name</source>
<translation type="unfinished"/>
<translation>Nome Completo</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="144"/>
<source>login</source>
<translation type="unfinished"/>
<translation>accesso</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="243"/>
@@ -2135,29 +2136,29 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="246"/>
<source>Computer Name</source>
<translation type="unfinished"/>
<translation>Nome Computer</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="351"/>
<location filename="../src/modules/users/page_usersetup.ui" line="521"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>Password</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="376"/>
<location filename="../src/modules/users/page_usersetup.ui" line="546"/>
<source>Repeat Password</source>
<translation type="unfinished"/>
<translation>Ripetere Password</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="451"/>
<source>When this box is checked, password-strength checking is done and you will not be able to use a weak password.</source>
<translation type="unfinished"/>
<translation>Quando questa casella è selezionata, la robustezza della password viene verificata e non sarà possibile utilizzare password deboli.</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="454"/>
<source>Require strong passwords.</source>
<translation type="unfinished"/>
<translation>È richiesta una password robusta.</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="461"/>
@@ -2443,7 +2444,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="651"/>
<source>There are no partitions to install on.</source>
<translation type="unfinished"/>
<translation>Non ci sono partizioni su cui installare.</translation>
</message>
</context>
<context>
@@ -2470,7 +2471,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno perse
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="70"/>
<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 set up. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
<translation type="unfinished"/>
<translation>Scegliere il tema per l'ambiente desktop KDE Plasma. Si può anche saltare questa scelta e configurare il tema dopo aver installato il sistema. Cliccando su selezione del tema, ne sarà mostrata un'anteprima. </translation>
</message>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="76"/>
@@ -2619,7 +2620,7 @@ Output:
<message>
<location filename="../src/libcalamaresui/modulesystem/RequirementsChecker.cpp" line="65"/>
<source>Requirements checking for module &lt;i&gt;%1&lt;/i&gt; is complete.</source>
<translation type="unfinished"/>
<translation>Il controllo dei requisiti per il modulo &lt;i&gt;%1&lt;/i&gt; è completo.</translation>
</message>
<message>
<location filename="../src/libcalamares/locale/Label.cpp" line="39"/>
@@ -2630,7 +2631,7 @@ Output:
<message>
<location filename="../src/modules/packagechooser/PackageModel.cpp" line="79"/>
<source>No product</source>
<translation type="unfinished"/>
<translation>Nessun prodotto</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageModel.cpp" line="87"/>
@@ -2643,17 +2644,17 @@ Output:
<location filename="../src/modules/machineid/Workers.cpp" line="85"/>
<location filename="../src/modules/machineid/Workers.cpp" line="102"/>
<source>File not found</source>
<translation type="unfinished"/>
<translation>File non trovato</translation>
</message>
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="74"/>
<source>Path &lt;pre&gt;%1&lt;/pre&gt; must be an absolute path.</source>
<translation type="unfinished"/>
<translation>Il percorso &lt;pre&gt;%1&lt;/pre&gt; deve essere un percorso assoluto.</translation>
</message>
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="103"/>
<source>Could not create new random file &lt;pre&gt;%1&lt;/pre&gt;.</source>
<translation type="unfinished"/>
<translation>Impossibile creare un nuovo file random &lt;pre&gt;%1&lt;/pre&gt;.</translation>
</message>
</context>
<context>
@@ -2672,7 +2673,7 @@ Output:
<message>
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="61"/>
<source>The installer failed to remove a volume group named '%1'.</source>
<translation type="unfinished"/>
<translation>Il programma di installazione non è riuscito a rimuovere il gruppo di volumi denominato '%1'.</translation>
</message>
</context>
<context>
@@ -2771,13 +2772,13 @@ Output:
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="187"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="197"/>
<source>KPMCore not Available</source>
<translation type="unfinished"/>
<translation>KPMCore non Disponibile</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="188"/>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="198"/>
<source>Calamares cannot start KPMCore for the file-system resize job.</source>
<translation type="unfinished"/>
<translation>Calamares non riesce ad avviare KPMCore per ridimensionare il file-system.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="206"/>
@@ -2831,7 +2832,7 @@ Output:
<message>
<location filename="../src/modules/partition/jobs/ResizePartitionJob.cpp" line="55"/>
<source>Resize &lt;strong&gt;%2MiB&lt;/strong&gt; partition &lt;strong&gt;%1&lt;/strong&gt; to &lt;strong&gt;%3MiB&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Ridimensionare la partizione &lt;strong&gt;%1&lt;/strong&gt; da &lt;strong&gt;%2MiB&lt;/strong&gt; a &lt;strong&gt;%3MiB&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/ResizePartitionJob.cpp" line="66"/>
@@ -2995,7 +2996,7 @@ Output:
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="57"/>
<source>Set flags on %1MiB %2 partition.</source>
<translation type="unfinished"/>
<translation>Impostare le flag sulla partizione %2 da %1MiB.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="61"/>
@@ -3010,22 +3011,22 @@ Output:
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="77"/>
<source>Clear flags on %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition.</source>
<translation type="unfinished"/>
<translation>Rimuovere le flag dalla partizione &lt;strong&gt;%2&lt;/strong&gt; da %1MiB.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="92"/>
<source>Flag %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition as &lt;strong&gt;%3&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Flag della partizione &lt;strong&gt;%2&lt;/strong&gt; da %1MiB impostate come &lt;strong&gt;%3&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="115"/>
<source>Clearing flags on %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition.</source>
<translation type="unfinished"/>
<translation>Rimozione delle flag sulla partizione &lt;strong&gt;%2&lt;/strong&gt; da %1MiB in corso.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="130"/>
<source>Setting flags &lt;strong&gt;%3&lt;/strong&gt; on %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition.</source>
<translation type="unfinished"/>
<translation>Impostazione delle flag &lt;strong&gt;%3&lt;/strong&gt; sulla partizione &lt;strong&gt;%2&lt;/strong&gt; da %1MiB in corso.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="81"/>
@@ -3171,7 +3172,7 @@ Output:
<message>
<location filename="../src/modules/summary/SummaryPage.cpp" line="57"/>
<source>This is an overview of what will happen once you start the setup procedure.</source>
<translation type="unfinished"/>
<translation>Questa è una panoramica di quello che succederà una volta avviata la procedura di configurazione.</translation>
</message>
<message>
<location filename="../src/modules/summary/SummaryPage.cpp" line="60"/>
@@ -3295,12 +3296,12 @@ Output:
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="139"/>
<source>&lt;small&gt;If more than one person will use this computer, you can create multiple accounts after setup.&lt;/small&gt;</source>
<translation type="unfinished"/>
<translation>&lt;small&gt;Se più di una persona utilizzerà questo computer, puoi creare ulteriori account dopo la configurazione.&lt;/small&gt;</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="145"/>
<source>&lt;small&gt;If more than one person will use this computer, you can create multiple accounts after installation.&lt;/small&gt;</source>
<translation type="unfinished"/>
<translation>&lt;small&gt;Se più di una persona utilizzerà questo computer, puoi creare ulteriori account dopo l'installazione.&lt;/small&gt;</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="385"/>
@@ -3310,17 +3311,17 @@ Output:
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="392"/>
<source>Your username must start with a lowercase letter or underscore.</source>
<translation type="unfinished"/>
<translation>Il tuo username deve iniziare con una lettera minuscola o un trattino basso.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="399"/>
<source>Only lowercase letters, numbers, underscore and hyphen are allowed.</source>
<translation type="unfinished"/>
<translation>Solo lettere minuscole, numeri, trattini e trattini bassi sono permessi.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="447"/>
<source>Only letters, numbers, underscore and hyphen are allowed.</source>
<translation type="unfinished"/>
<translation>Solo lettere, numeri, trattini e trattini bassi sono permessi.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="435"/>
@@ -3384,7 +3385,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
<source>Physical Extent Size:</source>
<translation type="unfinished"/>
<translation>Dimensione fisica dell'estensione:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
@@ -3409,7 +3410,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
<source>Quantity of LVs:</source>
<translation type="unfinished"/>
<translation>Numero di LV:</translation>
</message>
</context>
<context>
@@ -3423,7 +3424,7 @@ Output:
<location filename="../src/modules/welcome/WelcomePage.ui" line="69"/>
<location filename="../src/modules/welcome/WelcomePage.ui" line="82"/>
<source>Select application and system language</source>
<translation type="unfinished"/>
<translation>Selezionare lingua per l'applicazione e il sistema</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="140"/>
@@ -3443,7 +3444,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="166"/>
<source>Open issues and bug-tracking website</source>
<translation type="unfinished"/>
<translation>Apri il sito per la gestione di problemi e bug</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="179"/>
@@ -3493,7 +3494,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="266"/>
<source>About %1 setup</source>
<translation type="unfinished"/>
<translation>Informazioni sul sistema di configurazione %1</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="266"/>
@@ -3533,7 +3534,8 @@ Output:
<location filename="../src/modules/notesqml/notesqml.qml" line="60"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;These are example release notes.&lt;/p&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;Questo è un esempio di note di rilascio.&lt;/p&gt;</translation>
</message>
</context>
<context>
@@ -3541,32 +3543,32 @@ Output:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
<source>About</source>
<translation type="unfinished"/>
<translation>Informazioni su</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="86"/>
<source>Support</source>
<translation type="unfinished"/>
<translation>Supporto</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation>Problemi conosciuti</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation>Note di rilascio</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>
<source>Donate</source>
<translation type="unfinished"/>
<translation>Donazioni</translation>
</message>
</context>
</TS>

View File

@@ -132,7 +132,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="39"/>
<source>Job failed (%1)</source>
<translation>(% 1) </translation>
<translation>(%1) </translation>
</message>
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="40"/>
@@ -212,17 +212,17 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation> ...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/>
<translation>QML &lt;i&gt;%1&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
<source>Loading failed.</source>
<translation type="unfinished"/>
<translation> .</translation>
</message>
</context>
<context>
@@ -1630,7 +1630,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="208"/>
<source>Could not configure LUKS key file on partition %1.</source>
<translation type="unfinished"/>
<translation>파티션 %1에 LUKS 키 파일을 설정할 수 없습니다.</translation>
</message>
</context>
<context>
@@ -1690,52 +1690,52 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>오피스 소프트웨어</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>오피스 패키지</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
<source>Browser software</source>
<translation type="unfinished"/>
<translation>브라우저 소프트웨어</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="68"/>
<source>Browser package</source>
<translation type="unfinished"/>
<translation>브라우저 패키지</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>웹 브라우저</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>커널</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>서비스</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
<source>Login</source>
<translation type="unfinished"/>
<translation>로그인</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>데스크탑</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>애플리케이션</translation>
</message>
</context>
<context>
@@ -1743,7 +1743,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>노트</translation>
</message>
</context>
<context>
@@ -2443,7 +2443,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="651"/>
<source>There are no partitions to install on.</source>
<translation type="unfinished"/>
<translation>설치를 위한 파티션이 없습니다.</translation>
</message>
</context>
<context>
@@ -3533,7 +3533,8 @@ Output:
<location filename="../src/modules/notesqml/notesqml.qml" line="60"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;These are example release notes.&lt;/p&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt; .&lt;/p&gt;</translation>
</message>
</context>
<context>
@@ -3541,32 +3542,32 @@ Output:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
<source>About</source>
<translation type="unfinished"/>
<translation>Calamares에 </translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="86"/>
<source>Support</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation> </translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation> </translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>
<source>Donate</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
</TS>

View File

@@ -212,17 +212,17 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation>Įkeliama...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/>
<translation>QML &lt;i&gt;%1&lt;/i&gt; žingsnis.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
<source>Loading failed.</source>
<translation type="unfinished"/>
<translation>Įkėlimas nepavyko.</translation>
</message>
</context>
<context>
@@ -1636,7 +1636,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="208"/>
<source>Could not configure LUKS key file on partition %1.</source>
<translation type="unfinished"/>
<translation>Nepavyko konfigūruoti LUKS rakto failo skaidinyje %1.</translation>
</message>
</context>
<context>
@@ -1696,52 +1696,52 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>Raštinės programinė įranga</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>Raštinės paketas</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
<source>Browser software</source>
<translation type="unfinished"/>
<translation>Naršyklės programinė įranga</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="68"/>
<source>Browser package</source>
<translation type="unfinished"/>
<translation>Naršyklės paketas</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>Saityno naršyklė</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>Branduolys</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>Tarnybos</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
<source>Login</source>
<translation type="unfinished"/>
<translation>Prisijungimas</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>Darbalaukis</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>Programos</translation>
</message>
</context>
<context>
@@ -1749,7 +1749,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>Pastabos</translation>
</message>
</context>
<context>
@@ -2449,7 +2449,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="651"/>
<source>There are no partitions to install on.</source>
<translation type="unfinished"/>
<translation>Nėra skaidinių į kuriuos diegti.</translation>
</message>
</context>
<context>
@@ -3539,7 +3539,8 @@ Išvestis:
<location filename="../src/modules/notesqml/notesqml.qml" line="60"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;These are example release notes.&lt;/p&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;Tai yra pavyzdinė laidos informacija.&lt;/p&gt;</translation>
</message>
</context>
<context>
@@ -3547,32 +3548,32 @@ Išvestis:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
<source>About</source>
<translation type="unfinished"/>
<translation>Apie</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="86"/>
<source>Support</source>
<translation type="unfinished"/>
<translation>Palaikymas</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation>Žinomos problemos</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation>Laidos informacija</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>
<source>Donate</source>
<translation type="unfinished"/>
<translation>Paaukoti</translation>
</message>
</context>
</TS>

View File

@@ -212,17 +212,17 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation>Carregando ...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/>
<translation>Passo QML &lt;i&gt;%1&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
<source>Loading failed.</source>
<translation type="unfinished"/>
<translation>Carregamento falhou.</translation>
</message>
</context>
<context>
@@ -1632,7 +1632,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="208"/>
<source>Could not configure LUKS key file on partition %1.</source>
<translation type="unfinished"/>
<translation>Não foi possível configurar a chave LUKS na partição %1.</translation>
</message>
</context>
<context>
@@ -1692,52 +1692,52 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>Software de office</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>Pacote office</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
<source>Browser software</source>
<translation type="unfinished"/>
<translation>Softwares de browser</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="68"/>
<source>Browser package</source>
<translation type="unfinished"/>
<translation>Pacote de browser</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>Navegador web</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>Kernel</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>Seriços</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
<source>Login</source>
<translation type="unfinished"/>
<translation>Login</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>Área de trabalho</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>Aplicações</translation>
</message>
</context>
<context>
@@ -1745,7 +1745,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>Notas</translation>
</message>
</context>
<context>
@@ -2445,7 +2445,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="651"/>
<source>There are no partitions to install on.</source>
<translation type="unfinished"/>
<translation>Não há partições para instalar.</translation>
</message>
</context>
<context>
@@ -3535,7 +3535,8 @@ Saída:
<location filename="../src/modules/notesqml/notesqml.qml" line="60"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;These are example release notes.&lt;/p&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;These are example release notes.&lt;/p&gt;</translation>
</message>
</context>
<context>
@@ -3543,32 +3544,32 @@ Saída:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
<source>About</source>
<translation type="unfinished"/>
<translation>Sobre</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="86"/>
<source>Support</source>
<translation type="unfinished"/>
<translation>Suporte</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation>Problemas conhecidos</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation>Notas de lançamento</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>
<source>Donate</source>
<translation type="unfinished"/>
<translation>Faça uma doação</translation>
</message>
</context>
</TS>

View File

@@ -1333,7 +1333,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/hostinfo/HostInfoJob.cpp" line="51"/>
<source>Collecting information about your machine.</source>
<translation type="unfinished"/>
<translation>Сбор информации о вашем компьютере.</translation>
</message>
</context>
<context>
@@ -1458,7 +1458,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/license/LicensePage.ui" line="22"/>
<source>&lt;h1&gt;License Agreement&lt;/h1&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h1&gt;Лицензионное соглашение&lt;/h1&gt;</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="149"/>
@@ -1541,17 +1541,17 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="171"/>
<source>File: %1</source>
<translation type="unfinished"/>
<translation>Файл: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
<source>Show the license text</source>
<translation type="unfinished"/>
<translation>Показать текст лицензии</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="198"/>
<source>Open license agreement in browser.</source>
<translation type="unfinished"/>
<translation>Открыть лицензионное соглашение в браузере.</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
@@ -1714,12 +1714,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>Веб-браузер</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>Ядро</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
@@ -1739,7 +1739,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>Приложения</translation>
</message>
</context>
<context>
@@ -2026,7 +2026,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="571"/>
<source>Password is empty</source>
<translation type="unfinished"/>
<translation>Пустой пароль</translation>
</message>
</context>
<context>
@@ -2124,7 +2124,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="51"/>
<source>Your Full Name</source>
<translation type="unfinished"/>
<translation>Ваше полное имя</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="144"/>
@@ -2139,19 +2139,19 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="246"/>
<source>Computer Name</source>
<translation type="unfinished"/>
<translation>Имя компьютера</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="351"/>
<location filename="../src/modules/users/page_usersetup.ui" line="521"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>Пароль</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="376"/>
<location filename="../src/modules/users/page_usersetup.ui" line="546"/>
<source>Repeat Password</source>
<translation type="unfinished"/>
<translation>Повторите пароль</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="451"/>
@@ -2647,17 +2647,17 @@ Output:
<location filename="../src/modules/machineid/Workers.cpp" line="85"/>
<location filename="../src/modules/machineid/Workers.cpp" line="102"/>
<source>File not found</source>
<translation type="unfinished"/>
<translation>Файл не найден</translation>
</message>
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="74"/>
<source>Path &lt;pre&gt;%1&lt;/pre&gt; must be an absolute path.</source>
<translation type="unfinished"/>
<translation>Путь &lt;pre&gt;%1&lt;/pre&gt; должен быть абсолютным путём.</translation>
</message>
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="103"/>
<source>Could not create new random file &lt;pre&gt;%1&lt;/pre&gt;.</source>
<translation type="unfinished"/>
<translation>Не удалось создать новый случайный файл &lt;pre&gt;%1&lt;/pre&gt;.</translation>
</message>
</context>
<context>
@@ -2795,12 +2795,12 @@ Output:
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="207"/>
<source>The filesystem %1 could not be found in this system, and cannot be resized.</source>
<translation type="unfinished"/>
<translation>Файловая система %1 не обнаружена в этой системе, поэтому её размер невозможно изменить.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="208"/>
<source>The device %1 could not be found in this system, and cannot be resized.</source>
<translation type="unfinished"/>
<translation>Устройство %1 не обнаружено в этой системе, поэтому его размер невозможно изменить.</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="216"/>
@@ -3319,12 +3319,12 @@ Output:
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="399"/>
<source>Only lowercase letters, numbers, underscore and hyphen are allowed.</source>
<translation type="unfinished"/>
<translation>Допускаются только строчные буквы, числа, символы подчёркивания и дефисы.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="447"/>
<source>Only letters, numbers, underscore and hyphen are allowed.</source>
<translation type="unfinished"/>
<translation>Допускаются только буквы, цифры, символы подчёркивания и дефисы.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="435"/>
@@ -3373,7 +3373,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="20"/>
<source>List of Physical Volumes</source>
<translation type="unfinished"/>
<translation>Список физических томов</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="30"/>

View File

@@ -153,7 +153,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="27"/>
<source>Example job (%1)</source>
<translation type="unfinished"/>
<translation>Exempel jobb (%1)</translation>
</message>
</context>
<context>
@@ -212,12 +212,12 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation>Laddar ...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/>
<translation>QML steg &lt;i&gt;%1&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
@@ -327,22 +327,22 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="333"/>
<source>&amp;Set up now</source>
<translation type="unfinished"/>
<translation>&amp;Installera nu </translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="389"/>
<source>&amp;Set up</source>
<translation type="unfinished"/>
<translation>&amp;Installera</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="389"/>
<source>&amp;Install</source>
<translation type="unfinished"/>
<translation>&amp;Installera</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="391"/>
<source>Setup is complete. Close the setup program.</source>
<translation type="unfinished"/>
<translation>Installationen är klar. Du kan avsluta installationsprogrammet.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="490"/>
@@ -371,18 +371,18 @@ Alla ändringar kommer att gå förlorade.</translation>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="220"/>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="497"/>
<source>&amp;Yes</source>
<translation type="unfinished"/>
<translation>&amp;Ja</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="221"/>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="498"/>
<source>&amp;No</source>
<translation type="unfinished"/>
<translation>&amp;Nej</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="227"/>
<source>&amp;Close</source>
<translation type="unfinished"/>
<translation>&amp;Stäng</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
@@ -407,7 +407,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="415"/>
<source>&amp;Done</source>
<translation type="unfinished"/>
<translation>&amp;Klar</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/>
@@ -462,7 +462,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/calamares/CalamaresWindow.cpp" line="72"/>
<source>%1 Setup Program</source>
<translation type="unfinished"/>
<translation>%1 Installationsprogram</translation>
</message>
<message>
<location filename="../src/calamares/CalamaresWindow.cpp" line="73"/>
@@ -574,12 +574,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1501"/>
<source>No Swap</source>
<translation type="unfinished"/>
<translation>Ingen Swap</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1506"/>
<source>Reuse Swap</source>
<translation type="unfinished"/>
<translation>Återanvänd Swap</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1509"/>
@@ -701,7 +701,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="48"/>
<source> MiB</source>
<translation type="unfinished"/>
<translation>MiB</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="55"/>
@@ -726,7 +726,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
<source>LVM LV name</source>
<translation type="unfinished"/>
<translation>LVM LV namn</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="188"/>
@@ -774,12 +774,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="49"/>
<source>Create new %2MiB partition on %4 (%3) with file system %1.</source>
<translation type="unfinished"/>
<translation>Skapa ny %2MiB partition på %4 (%3) med filsystem %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="60"/>
<source>Create new &lt;strong&gt;%2MiB&lt;/strong&gt; partition on &lt;strong&gt;%4&lt;/strong&gt; (%3) with file system &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Skapa ny &lt;strong&gt;%2MiB&lt;/strong&gt;partition på &lt;strong&gt;%4&lt;/strong&gt; (%3) med filsystem &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="72"/>
@@ -1007,7 +1007,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/dracutlukscfg/DracutLuksCfgJob.cpp" line="136"/>
<source>Write LUKS configuration for Dracut to %1</source>
<translation type="unfinished"/>
<translation>Skriv LUKS konfiguration för Dracut till %1</translation>
</message>
<message>
<location filename="../src/modules/dracutlukscfg/DracutLuksCfgJob.cpp" line="140"/>
@@ -1068,7 +1068,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="129"/>
<source> MiB</source>
<translation type="unfinished"/>
<translation>MiB</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="136"/>
@@ -1096,7 +1096,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="32"/>
<source>En&amp;crypt system</source>
<translation type="unfinished"/>
<translation>Kryptera system</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="42"/>
@@ -1124,7 +1124,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="163"/>
<source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition.</source>
<translation type="unfinished"/>
<translation>Installera %1 på &lt;strong&gt;ny&lt;/strong&gt; %2 system partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="169"/>
@@ -1134,7 +1134,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="179"/>
<source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Installera %2 på %3 system partition &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="186"/>
@@ -1233,12 +1233,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="46"/>
<source>Format partition %1 (file system: %2, size: %3 MiB) on %4.</source>
<translation type="unfinished"/>
<translation>Formatera partition %1 (filsystem: %2, storlek: %3 MiB) på %4.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="57"/>
<source>Format &lt;strong&gt;%3MiB&lt;/strong&gt; partition &lt;strong&gt;%1&lt;/strong&gt; with file system &lt;strong&gt;%2&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Formatera &lt;strong&gt;%3MiB&lt;/strong&gt; partition &lt;strong&gt;%1&lt;/strong&gt; med filsystem &lt;strong&gt;%2&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="68"/>
@@ -1256,7 +1256,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="126"/>
<source>has at least %1 GiB available drive space</source>
<translation type="unfinished"/>
<translation>har minst %1 GiB tillgängligt på hårddisken</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="128"/>
@@ -1266,7 +1266,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="137"/>
<source>has at least %1 GiB working memory</source>
<translation type="unfinished"/>
<translation>har minst %1 GiB arbetsminne</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="139"/>
@@ -1329,7 +1329,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/hostinfo/HostInfoJob.cpp" line="51"/>
<source>Collecting information about your machine.</source>
<translation type="unfinished"/>
<translation>Samlar in information om din maskin.</translation>
</message>
</context>
<context>
@@ -1345,17 +1345,17 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/oemid/IDJob.cpp" line="48"/>
<source>Could not create directories &lt;code&gt;%1&lt;/code&gt;.</source>
<translation type="unfinished"/>
<translation>Kunde inte skapa mappar &lt;code&gt;%1&lt;/code&gt;.</translation>
</message>
<message>
<location filename="../src/modules/oemid/IDJob.cpp" line="60"/>
<source>Could not open file &lt;code&gt;%1&lt;/code&gt;.</source>
<translation type="unfinished"/>
<translation>Kunde inte öppna fil &lt;code&gt;%1&lt;/code&gt;.</translation>
</message>
<message>
<location filename="../src/modules/oemid/IDJob.cpp" line="68"/>
<source>Could not write to file &lt;code&gt;%1&lt;/code&gt;.</source>
<translation type="unfinished"/>
<translation>Kunde inte skriva till fil &lt;code&gt;%1&lt;/code&gt;.</translation>
</message>
</context>
<context>
@@ -1363,7 +1363,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/initcpio/InitcpioJob.cpp" line="40"/>
<source>Creating initramfs with mkinitcpio.</source>
<translation type="unfinished"/>
<translation>Skapar initramfs med mkinitcpio.</translation>
</message>
</context>
<context>
@@ -1371,7 +1371,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/initramfs/InitramfsJob.cpp" line="37"/>
<source>Creating initramfs.</source>
<translation type="unfinished"/>
<translation>Skapar initramfs.</translation>
</message>
</context>
<context>
@@ -1454,7 +1454,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/license/LicensePage.ui" line="22"/>
<source>&lt;h1&gt;License Agreement&lt;/h1&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h1&gt;Licensavtal&lt;/h1&gt;</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="149"/>
@@ -1500,7 +1500,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="96"/>
<source>URL: %1</source>
<translation type="unfinished"/>
<translation>URL: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="117"/>
@@ -1537,22 +1537,22 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="171"/>
<source>File: %1</source>
<translation type="unfinished"/>
<translation>Fil: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
<source>Show the license text</source>
<translation type="unfinished"/>
<translation>Visa licens text</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="198"/>
<source>Open license agreement in browser.</source>
<translation type="unfinished"/>
<translation>Öppna licensavtal i en webbläsare.</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
<source>Hide license text</source>
<translation type="unfinished"/>
<translation>Dölj licens text </translation>
</message>
</context>
<context>
@@ -1602,13 +1602,13 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="39"/>
<source>Configuring LUKS key file.</source>
<translation type="unfinished"/>
<translation>Konfigurerar LUKS nyckel fil.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="156"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="164"/>
<source>No partitions are defined.</source>
<translation type="unfinished"/>
<translation>Inga partitioner är definerade.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="192"/>
@@ -1638,12 +1638,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="46"/>
<source>Generate machine-id.</source>
<translation type="unfinished"/>
<translation>Generera maskin-id.</translation>
</message>
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="62"/>
<source>Configuration Error</source>
<translation type="unfinished"/>
<translation>Konfigurationsfel</translation>
</message>
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="63"/>
@@ -1690,12 +1690,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>Kontors programvara</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>Kontors paket</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
@@ -1710,32 +1710,32 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>Webbläsare</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>Kärna</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>Tjänster</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
<source>Login</source>
<translation type="unfinished"/>
<translation>Inloggning</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>Skrivbord</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>Program</translation>
</message>
</context>
<context>
@@ -1743,7 +1743,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>Anteckningar</translation>
</message>
</context>
<context>
@@ -1769,7 +1769,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="121"/>
<source>OEM Configuration</source>
<translation type="unfinished"/>
<translation>OEM Konfiguration</translation>
</message>
<message>
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="126"/>
@@ -1782,17 +1782,17 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="57"/>
<source>Password is too short</source>
<translation type="unfinished"/>
<translation>Lösenordet är för kort </translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="73"/>
<source>Password is too long</source>
<translation type="unfinished"/>
<translation>Lösenordet är för långt </translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="149"/>
<source>Password is too weak</source>
<translation type="unfinished"/>
<translation>Lösenordet är för svagt </translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="157"/>
@@ -1802,7 +1802,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="162"/>
<source>Memory allocation error</source>
<translation type="unfinished"/>
<translation>Minnesallokerings fel</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="164"/>
@@ -1812,7 +1812,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="166"/>
<source>The password is a palindrome</source>
<translation type="unfinished"/>
<translation>Lösenordet är en palindrom</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="168"/>
@@ -1887,7 +1887,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="213"/>
<source>The password is too short</source>
<translation type="unfinished"/>
<translation>Detta lösenordet är för kort </translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="215"/>
@@ -1937,7 +1937,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="250"/>
<source>No password supplied</source>
<translation type="unfinished"/>
<translation>Inget lösenord angivit</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="252"/>
@@ -1962,12 +1962,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="267"/>
<source>Unknown setting - %1</source>
<translation type="unfinished"/>
<translation>Okänd inställning - %1</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="271"/>
<source>Unknown setting</source>
<translation type="unfinished"/>
<translation>Okänd inställning</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="275"/>
@@ -1977,27 +1977,27 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="280"/>
<source>Bad integer value</source>
<translation type="unfinished"/>
<translation>Dåligt heltals värde</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="284"/>
<source>Setting %1 is not of integer type</source>
<translation type="unfinished"/>
<translation>Inställning %1 är inte av heltals typ</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="289"/>
<source>Setting is not of integer type</source>
<translation type="unfinished"/>
<translation>Inställning är inte av heltals typ</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="293"/>
<source>Setting %1 is not of string type</source>
<translation type="unfinished"/>
<translation>Inställning %1 är inte av sträng typ </translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="298"/>
<source>Setting is not of string type</source>
<translation type="unfinished"/>
<translation>Inställning %1 är inte av sträng typ </translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="300"/>
@@ -2017,7 +2017,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="306"/>
<source>Unknown error</source>
<translation type="unfinished"/>
<translation>Okänt fel </translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="571"/>
@@ -2035,7 +2035,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="40"/>
<source>Product Name</source>
<translation type="unfinished"/>
<translation>Produktnamn</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="53"/>
@@ -2045,12 +2045,12 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="69"/>
<source>Long Product Description</source>
<translation type="unfinished"/>
<translation>Lång produktbeskrivning</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="34"/>
<source>Package Selection</source>
<translation type="unfinished"/>
<translation>Paketval</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="35"/>
@@ -2063,7 +2063,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/packagechooser/PackageChooserViewStep.cpp" line="70"/>
<source>Packages</source>
<translation type="unfinished"/>
<translation>Paket</translation>
</message>
</context>
<context>
@@ -2125,7 +2125,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="144"/>
<source>login</source>
<translation type="unfinished"/>
<translation>inloggning</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="243"/>
@@ -2135,19 +2135,19 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="246"/>
<source>Computer Name</source>
<translation type="unfinished"/>
<translation>Datornamn</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="351"/>
<location filename="../src/modules/users/page_usersetup.ui" line="521"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>Lösenord</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="376"/>
<location filename="../src/modules/users/page_usersetup.ui" line="546"/>
<source>Repeat Password</source>
<translation type="unfinished"/>
<translation>Repetera Lösenord</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="451"/>
@@ -2157,7 +2157,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="454"/>
<source>Require strong passwords.</source>
<translation type="unfinished"/>
<translation>Kräv starkt lösenord.</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="461"/>
@@ -2285,7 +2285,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
<source>Cre&amp;ate</source>
<translation type="unfinished"/>
<translation>Skapa</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
@@ -2300,27 +2300,27 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
<source>New Volume Group</source>
<translation type="unfinished"/>
<translation>Ny volymgrupp</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
<source>Resize Volume Group</source>
<translation type="unfinished"/>
<translation>Ändra storlek på volymgrupp</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
<source>Deactivate Volume Group</source>
<translation type="unfinished"/>
<translation>Deaktivera volymgrupp</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
<source>Remove Volume Group</source>
<translation type="unfinished"/>
<translation>Ta bort volymgrupp</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>Installera uppstartshanterare på:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="209"/>
@@ -2330,7 +2330,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="238"/>
<source>Can not create new partition</source>
<translation type="unfinished"/>
<translation>Kan inte skapa ny partition</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="239"/>
@@ -2418,7 +2418,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="429"/>
<source>EFI system partition flag not set</source>
<translation type="unfinished"/>
<translation>EFI system partitionsflagga inte satt</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="430"/>
@@ -2428,7 +2428,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="465"/>
<source>Boot partition not encrypted</source>
<translation type="unfinished"/>
<translation>Boot partition inte krypterad</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="466"/>
@@ -2491,7 +2491,7 @@ Alla ändringar kommer att gå förlorade.</translation>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="84"/>
<source>Saving files for later ...</source>
<translation type="unfinished"/>
<translation>Sparar filer tills senare ...</translation>
</message>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="122"/>
@@ -2517,17 +2517,19 @@ There was no output from the command.</source>
<source>
Output:
</source>
<translation type="unfinished"/>
<translation>
Utdata:
</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="469"/>
<source>External command crashed.</source>
<translation type="unfinished"/>
<translation>Externt kommando kraschade.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="470"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; crashed.</source>
<translation type="unfinished"/>
<translation>Kommando &lt;i&gt;%1&lt;/i&gt; kraschade.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="475"/>
@@ -2537,7 +2539,7 @@ Output:
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="476"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; failed to start.</source>
<translation type="unfinished"/>
<translation>Kommando &lt;i&gt;%1&lt;/i&gt; misslyckades med att starta. </translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="480"/>
@@ -2601,7 +2603,7 @@ Output:
<message>
<location filename="../src/modules/partition/core/KPMHelpers.cpp" line="213"/>
<source>swap</source>
<translation type="unfinished"/>
<translation>swap</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="51"/>
@@ -2611,7 +2613,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/PartitionDialogHelpers.cpp" line="47"/>
<source>(no mount point)</source>
<translation type="unfinished"/>
<translation>(ingen monteringspunkt)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/modulesystem/RequirementsChecker.cpp" line="65"/>
@@ -2627,7 +2629,7 @@ Output:
<message>
<location filename="../src/modules/packagechooser/PackageModel.cpp" line="79"/>
<source>No product</source>
<translation type="unfinished"/>
<translation>Ingen produkt</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageModel.cpp" line="87"/>
@@ -2640,7 +2642,7 @@ Output:
<location filename="../src/modules/machineid/Workers.cpp" line="85"/>
<location filename="../src/modules/machineid/Workers.cpp" line="102"/>
<source>File not found</source>
<translation type="unfinished"/>
<translation>Filen hittades inte </translation>
</message>
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="74"/>
@@ -2650,7 +2652,7 @@ Output:
<message>
<location filename="../src/modules/machineid/Workers.cpp" line="103"/>
<source>Could not create new random file &lt;pre&gt;%1&lt;/pre&gt;.</source>
<translation type="unfinished"/>
<translation>Kunde inte skapa ny slumpmässig fil &lt;pre&gt;%1&lt;/pre&gt;.</translation>
</message>
</context>
<context>
@@ -2757,7 +2759,7 @@ Output:
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="172"/>
<source>Invalid configuration</source>
<translation type="unfinished"/>
<translation>Ogiltig konfiguration</translation>
</message>
<message>
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="173"/>
@@ -2846,7 +2848,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/ResizeVolumeGroupDialog.cpp" line="39"/>
<source>Resize Volume Group</source>
<translation type="unfinished"/>
<translation>Ändra storlek på volymgrupp</translation>
</message>
</context>
<context>
@@ -2987,57 +2989,57 @@ Output:
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="53"/>
<source>Set flags on partition %1.</source>
<translation type="unfinished"/>
<translation>Sätt flaggor partition %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="57"/>
<source>Set flags on %1MiB %2 partition.</source>
<translation type="unfinished"/>
<translation>Sätt flaggor %1MiB %2 partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="61"/>
<source>Set flags on new partition.</source>
<translation type="unfinished"/>
<translation>Sätt flaggor ny partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="72"/>
<source>Clear flags on partition &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Rensa flaggor partition &lt;strong&gt;%1&lt;/strong&gt;,</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="77"/>
<source>Clear flags on %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition.</source>
<translation type="unfinished"/>
<translation>Rensa flaggor %1MiB &lt;strong&gt;%2&lt;/strong&gt;partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="92"/>
<source>Flag %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition as &lt;strong&gt;%3&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Flagga %1MiB &lt;strong&gt;%2&lt;/strong&gt;partition som &lt;strong&gt;%3&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="115"/>
<source>Clearing flags on %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition.</source>
<translation type="unfinished"/>
<translation>Rensa flaggor %1MiB &lt;strong&gt;%2&lt;/strong&gt;partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="130"/>
<source>Setting flags &lt;strong&gt;%3&lt;/strong&gt; on %1MiB &lt;strong&gt;%2&lt;/strong&gt; partition.</source>
<translation type="unfinished"/>
<translation>Sätter flaggor &lt;strong&gt;%3&lt;/strong&gt; på %11MiB &lt;strong&gt;%2&lt;/strong&gt;partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="81"/>
<source>Clear flags on new partition.</source>
<translation type="unfinished"/>
<translation>Rensa flaggor ny partition.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="85"/>
<source>Flag partition &lt;strong&gt;%1&lt;/strong&gt; as &lt;strong&gt;%2&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Flagga partition &lt;strong&gt;%1&lt;/strong&gt; som &lt;strong&gt;%2&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="98"/>
<source>Flag new partition as &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation type="unfinished"/>
<translation>Flagga ny partition som &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="110"/>
@@ -3090,7 +3092,7 @@ Output:
<message>
<location filename="../src/modules/users/SetPasswordJob.cpp" line="97"/>
<source>Cannot disable root account.</source>
<translation type="unfinished"/>
<translation>Kunde inte inaktivera root konto.</translation>
</message>
<message>
<location filename="../src/modules/users/SetPasswordJob.cpp" line="98"/>
@@ -3160,7 +3162,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>
@@ -3212,12 +3214,12 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="80"/>
<source>Machine feedback</source>
<translation type="unfinished"/>
<translation>Maskin feedback</translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="92"/>
<source>Configuring machine feedback.</source>
<translation type="unfinished"/>
<translation>Konfigurerar maskin feedback</translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="117"/>
@@ -3228,12 +3230,12 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="118"/>
<source>Could not configure machine feedback correctly, script error %1.</source>
<translation type="unfinished"/>
<translation>Kunde inte konfigurera maskin feedback korrekt, script fel %1.</translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="124"/>
<source>Could not configure machine feedback correctly, Calamares error %1.</source>
<translation type="unfinished"/>
<translation>Kunde inte konfigurera maskin feedback korrekt, Calamares fel %1.</translation>
</message>
</context>
<context>
@@ -3284,7 +3286,7 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingViewStep.cpp" line="64"/>
<source>Feedback</source>
<translation type="unfinished"/>
<translation>Feedback</translation>
</message>
</context>
<context>
@@ -3307,17 +3309,17 @@ Output:
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="392"/>
<source>Your username must start with a lowercase letter or underscore.</source>
<translation type="unfinished"/>
<translation>Ditt användarnamn måste börja med en liten bokstav eller ett understreck.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="399"/>
<source>Only lowercase letters, numbers, underscore and hyphen are allowed.</source>
<translation type="unfinished"/>
<translation>Endast små bokstäver, nummer, understreck och bindestreck är tillåtet.</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="447"/>
<source>Only letters, numbers, underscore and hyphen are allowed.</source>
<translation type="unfinished"/>
<translation>Endast bokstäver, nummer, understreck och bindestreck är tillåtet. </translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="435"/>
@@ -3366,17 +3368,17 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="20"/>
<source>List of Physical Volumes</source>
<translation type="unfinished"/>
<translation>Lista fysiska volymer</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="30"/>
<source>Volume Group Name:</source>
<translation type="unfinished"/>
<translation>Volymgrupp namn:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="43"/>
<source>Volume Group Type:</source>
<translation type="unfinished"/>
<translation>Volymgrupp typ:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
@@ -3386,22 +3388,22 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
<source> MiB</source>
<translation type="unfinished"/>
<translation>MiB</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
<source>Total Size:</source>
<translation type="unfinished"/>
<translation>Total storlek:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="102"/>
<source>Used Size:</source>
<translation type="unfinished"/>
<translation>Använd storlek:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
<source>Total Sectors:</source>
<translation type="unfinished"/>
<translation>Totala sektorer:</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
@@ -3420,7 +3422,7 @@ Output:
<location filename="../src/modules/welcome/WelcomePage.ui" line="69"/>
<location filename="../src/modules/welcome/WelcomePage.ui" line="82"/>
<source>Select application and system language</source>
<translation type="unfinished"/>
<translation>Välj program och system språk </translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="140"/>
@@ -3430,7 +3432,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="143"/>
<source>&amp;Donate</source>
<translation type="unfinished"/>
<translation>&amp;Donera</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="153"/>
@@ -3530,7 +3532,8 @@ Output:
<location filename="../src/modules/notesqml/notesqml.qml" line="60"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;These are example release notes.&lt;/p&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1&lt;/h3&gt;
&lt;p&gt;Detta är exempel versionsinformation.</translation>
</message>
</context>
<context>
@@ -3538,32 +3541,32 @@ Output:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
<source>About</source>
<translation type="unfinished"/>
<translation>Om</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="86"/>
<source>Support</source>
<translation type="unfinished"/>
<translation>Support</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation>Kända problem</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation>Versionsinformation</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>
<source>Donate</source>
<translation type="unfinished"/>
<translation>Donera</translation>
</message>
</context>
</TS>

View File

@@ -6,7 +6,7 @@
<message>
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="71"/>
<source>The &lt;strong&gt;boot environment&lt;/strong&gt; of this system.&lt;br&gt;&lt;br&gt;Older x86 systems only support &lt;strong&gt;BIOS&lt;/strong&gt;.&lt;br&gt;Modern systems usually use &lt;strong&gt;EFI&lt;/strong&gt;, but may also show up as BIOS if started in compatibility mode.</source>
<translation>&lt;strong&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt; x86 &lt;strong&gt;BIOS&lt;/strong&gt;&lt;br&gt;使 &lt;strong&gt;EFI&lt;/strong&gt;使 BIOS</translation>
<translation>&lt;strong&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt; x86 &lt;strong&gt;BIOS&lt;/strong&gt;&lt;br&gt;使 &lt;strong&gt;EFI&lt;/strong&gt;使 BIOS</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="81"/>
@@ -138,7 +138,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="40"/>
<source>Programmed job failure was explicitly requested.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
<context>
@@ -154,7 +154,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="27"/>
<source>Example job (%1)</source>
<translation type="unfinished"/>
<translation> (%1)</translation>
</message>
</context>
<context>
@@ -162,12 +162,12 @@
<message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="52"/>
<source>Run command '%1' in target system.</source>
<translation type="unfinished"/>
<translation> '%1'</translation>
</message>
<message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="52"/>
<source> Run command '%1'.</source>
<translation type="unfinished"/>
<translation> '%1'.</translation>
</message>
<message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="59"/>
@@ -213,17 +213,17 @@
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="108"/>
<source>Loading ...</source>
<translation type="unfinished"/>
<translation>...</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="129"/>
<source>QML Step &lt;i&gt;%1&lt;/i&gt;.</source>
<translation type="unfinished"/>
<translation>QML &lt;i&gt;%1&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="347"/>
<source>Loading failed.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
<context>
@@ -231,21 +231,21 @@
<message numerus="yes">
<location filename="../src/libcalamaresui/modulesystem/RequirementsChecker.cpp" line="166"/>
<source>Waiting for %n module(s).</source>
<translation type="unfinished">
<numerusform/>
<translation>
<numerusform> %n </numerusform>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libcalamaresui/modulesystem/RequirementsChecker.cpp" line="167"/>
<source>(%n second(s))</source>
<translation type="unfinished">
<numerusform/>
<translation>
<numerusform>(%n )</numerusform>
</translation>
</message>
<message>
<location filename="../src/libcalamaresui/modulesystem/RequirementsChecker.cpp" line="172"/>
<source>System-requirements checking is complete.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
<context>
@@ -271,7 +271,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="394"/>
<source>Cancel setup without changing the system.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="395"/>
@@ -281,22 +281,22 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="199"/>
<source>Setup Failed</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="200"/>
<source>Would you like to paste the install log to the web?</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="238"/>
<source>Install Log Paste URL</source>
<translation type="unfinished"/>
<translation> URL</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="241"/>
<source>The upload was unsuccessful. No web-paste was done.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="257"/>
@@ -316,22 +316,22 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
<source>Continue with installation?</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="327"/>
<source>The %1 setup program is about to make changes to your disk in order to set up %2.&lt;br/&gt;&lt;strong&gt;You will not be able to undo these changes.&lt;/strong&gt;</source>
<translation type="unfinished"/>
<translation>%2, %1 &lt;br/&gt;&lt;strong&gt;&lt;/strong&gt;</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="333"/>
<source>&amp;Set up now</source>
<translation type="unfinished"/>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="389"/>
<source>&amp;Set up</source>
<translation type="unfinished"/>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="389"/>
@@ -341,12 +341,12 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="391"/>
<source>Setup is complete. Close the setup program.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="490"/>
<source>Cancel setup?</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="490"/>
@@ -357,7 +357,8 @@
<location filename="../src/libcalamaresui/ViewManager.cpp" line="491"/>
<source>Do you really want to cancel the current setup process?
The setup program will quit and all changes will be lost.</source>
<translation type="unfinished"/>
<translation>?
退</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="493"/>
@@ -453,7 +454,8 @@ The installer will quit and all changes will be lost.</source>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="34"/>
<source>Install log posted to:
%1</source>
<translation type="unfinished"/>
<translation>
%1</translation>
</message>
</context>
<context>
@@ -461,7 +463,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/calamares/CalamaresWindow.cpp" line="72"/>
<source>%1 Setup Program</source>
<translation type="unfinished"/>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/calamares/CalamaresWindow.cpp" line="73"/>
@@ -530,7 +532,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="967"/>
<source>%1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4.</source>
<translation type="unfinished"/>
<translation>%1 %2MiB %4 %3MiB </translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1073"/>
@@ -573,27 +575,27 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1501"/>
<source>No Swap</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1506"/>
<source>Reuse Swap</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1509"/>
<source>Swap (no Hibernate)</source>
<translation type="unfinished"/>
<translation>()</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1512"/>
<source>Swap (with Hibernate)</source>
<translation type="unfinished"/>
<translation>()</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1515"/>
<source>Swap to file</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1273"/>
@@ -773,7 +775,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="49"/>
<source>Create new %2MiB partition on %4 (%3) with file system %1.</source>
<translation type="unfinished"/>
<translation>在 %4 (%3) 上创建新的 %2MiB 分区,文件系统为 %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="60"/>
@@ -885,7 +887,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/CreateVolumeGroupDialog.cpp" line="37"/>
<source>Create Volume Group</source>
<translation type="unfinished"/>
<translation>创建存储组</translation>
</message>
</context>
<context>
@@ -893,7 +895,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
<source>Create new volume group named %1.</source>
<translation type="unfinished"/>
<translation>创建新存储组 %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="45"/>
@@ -999,7 +1001,7 @@ The installer will quit and all changes will be lost.</source>
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="103"/>
<source>%1 - (%2)</source>
<extracomment>device[name] - (device-node[name])</extracomment>
<translation type="unfinished"/>
<translation>%1 - (%2)</translation>
</message>
</context>
<context>
@@ -1162,7 +1164,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
<source>&lt;Restart checkbox tooltip&gt;</source>
<translation type="unfinished"/>
<translation>&lt;Restart checkbox tooltip&gt;</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
@@ -1210,7 +1212,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="132"/>
<source>Setup Complete</source>
<translation type="unfinished"/>
<translation>安装完成</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="133"/>
@@ -1220,7 +1222,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="135"/>
<source>The setup of %1 is complete.</source>
<translation type="unfinished"/>
<translation>%1 安装完成。</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="136"/>
@@ -1500,7 +1502,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="96"/>
<source>URL: %1</source>
<translation type="unfinished"/>
<translation>URL: %1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="117"/>
@@ -1537,22 +1539,22 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="171"/>
<source>File: %1</source>
<translation type="unfinished"/>
<translation>文件:%1</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
<source>Show the license text</source>
<translation type="unfinished"/>
<translation>显示协议文本</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="198"/>
<source>Open license agreement in browser.</source>
<translation type="unfinished"/>
<translation>在浏览器中打开许可协议。</translation>
</message>
<message>
<location filename="../src/modules/license/LicenseWidget.cpp" line="194"/>
<source>Hide license text</source>
<translation type="unfinished"/>
<translation>隐藏协议文本</translation>
</message>
</context>
<context>
@@ -1602,13 +1604,13 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="39"/>
<source>Configuring LUKS key file.</source>
<translation type="unfinished"/>
<translation>配置 LUKS key 文件。</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="156"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="164"/>
<source>No partitions are defined.</source>
<translation type="unfinished"/>
<translation>未定义分区。</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="192"/>
@@ -1643,7 +1645,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="62"/>
<source>Configuration Error</source>
<translation type="unfinished"/>
<translation>配置错误</translation>
</message>
<message>
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="63"/>
@@ -1690,52 +1692,52 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
<source>Office software</source>
<translation type="unfinished"/>
<translation>办公软件</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
<source>Office package</source>
<translation type="unfinished"/>
<translation>办公软件包</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="67"/>
<source>Browser software</source>
<translation type="unfinished"/>
<translation>浏览器软件</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="68"/>
<source>Browser package</source>
<translation type="unfinished"/>
<translation>浏览器安装包</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="69"/>
<source>Web browser</source>
<translation type="unfinished"/>
<translation>网页浏览器</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="70"/>
<source>Kernel</source>
<translation type="unfinished"/>
<translation>内核</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="71"/>
<source>Services</source>
<translation type="unfinished"/>
<translation>服务</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="72"/>
<source>Login</source>
<translation type="unfinished"/>
<translation>登录</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="73"/>
<source>Desktop</source>
<translation type="unfinished"/>
<translation>桌面</translation>
</message>
<message>
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="74"/>
<source>Applications</source>
<translation type="unfinished"/>
<translation>应用程序</translation>
</message>
</context>
<context>
@@ -1743,7 +1745,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/notesqml/NotesQmlViewStep.cpp" line="34"/>
<source>Notes</source>
<translation type="unfinished"/>
<translation>备注</translation>
</message>
</context>
<context>
@@ -1751,7 +1753,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/oemid/OEMPage.ui" line="28"/>
<source>Ba&amp;tch:</source>
<translation type="unfinished"/>
<translation>批量(&amp;T)</translation>
</message>
<message>
<location filename="../src/modules/oemid/OEMPage.ui" line="38"/>
@@ -1769,7 +1771,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="121"/>
<source>OEM Configuration</source>
<translation type="unfinished"/>
<translation>OEM 配置</translation>
</message>
<message>
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="126"/>
@@ -2022,7 +2024,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="571"/>
<source>Password is empty</source>
<translation type="unfinished"/>
<translation>密码是空</translation>
</message>
</context>
<context>
@@ -2035,7 +2037,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="40"/>
<source>Product Name</source>
<translation type="unfinished"/>
<translation>产品名称</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="53"/>
@@ -2045,12 +2047,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/packagechooser/page_package.ui" line="69"/>
<source>Long Product Description</source>
<translation type="unfinished"/>
<translation>长产品描述</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="34"/>
<source>Package Selection</source>
<translation type="unfinished"/>
<translation>软件包选择</translation>
</message>
<message>
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="35"/>
@@ -2063,7 +2065,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/packagechooser/PackageChooserViewStep.cpp" line="70"/>
<source>Packages</source>
<translation type="unfinished"/>
<translation>软件包</translation>
</message>
</context>
<context>
@@ -2120,12 +2122,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="51"/>
<source>Your Full Name</source>
<translation type="unfinished"/>
<translation>全名</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="144"/>
<source>login</source>
<translation type="unfinished"/>
<translation>登录</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="243"/>
@@ -2135,19 +2137,19 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="246"/>
<source>Computer Name</source>
<translation type="unfinished"/>
<translation>计算机名称</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="351"/>
<location filename="../src/modules/users/page_usersetup.ui" line="521"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>密码</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="376"/>
<location filename="../src/modules/users/page_usersetup.ui" line="546"/>
<source>Repeat Password</source>
<translation type="unfinished"/>
<translation>重复密码</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="451"/>
@@ -3364,7 +3366,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="14"/>
<source>Create Volume Group</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="20"/>
@@ -3433,17 +3435,17 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="143"/>
<source>&amp;Donate</source>
<translation type="unfinished"/>
<translation>(&amp;D)</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="153"/>
<source>Open help and support website</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="166"/>
<source>Open issues and bug-tracking website</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="179"/>
@@ -3541,32 +3543,32 @@ Output:
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="42"/>
<source>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</source>
<translation type="unfinished"/>
<translation>&lt;h3&gt;%1 &lt;quote&gt;%2&lt;/quote&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="75"/>
<source>About</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="86"/>
<source>Support</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="97"/>
<source>Known issues</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="108"/>
<source>Release notes</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/welcomeq/welcomeq.qml" line="119"/>
<source>Donate</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
</TS>

View File

@@ -5,8 +5,8 @@
#
# Translators:
# Saverio <saverio.brancaccio@gmail.com>, 2018
# Pietro F. Fontana, 2018
# Pierfrancesco Passerini <p.passerini@gmail.com>, 2019
# Pietro F. Fontana, 2020
#
#, fuzzy
msgid ""
@@ -15,7 +15,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Pierfrancesco Passerini <p.passerini@gmail.com>, 2019\n"
"Last-Translator: Pietro F. Fontana, 2020\n"
"Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -41,7 +41,7 @@ msgstr ""
#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144
#: src/modules/networkcfg/main.py:48
msgid "Configuration Error"
msgstr ""
msgstr "Errore di Configurazione"
#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:202
#: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172

View File

@@ -4,7 +4,7 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ji-Hyeon Gim <potatogim@potatogim.net>, 2018
# 김지현 <potatogim@potatogim.net>, 2018
# MarongHappy <daemul72@gmail.com>, 2019
#
#, fuzzy

Binary file not shown.

View File

@@ -5,6 +5,7 @@
#
# Translators:
# Jan-Olof Svensson, 2019
# Luna Jernberg <bittin@cafe8bitar.se>, 2020
#
#, fuzzy
msgid ""
@@ -13,7 +14,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: Jan-Olof Svensson, 2019\n"
"Last-Translator: Luna Jernberg <bittin@cafe8bitar.se>, 2020\n"
"Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,11 +24,11 @@ msgstr ""
#: src/modules/grubcfg/main.py:37
msgid "Configure GRUB."
msgstr ""
msgstr "Konfigurera GRUB."
#: src/modules/mount/main.py:38
msgid "Mounting partitions."
msgstr ""
msgstr "Monterar partitioner."
#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:201
#: src/modules/initcpiocfg/main.py:205
@@ -39,23 +40,23 @@ msgstr ""
#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144
#: src/modules/networkcfg/main.py:48
msgid "Configuration Error"
msgstr ""
msgstr "Konfigurationsfel"
#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:202
#: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172
#: src/modules/initramfscfg/main.py:95 src/modules/openrcdmcryptcfg/main.py:79
#: src/modules/fstab/main.py:323
msgid "No partitions are defined for <pre>{!s}</pre> to use."
msgstr ""
msgstr "Inga partitioner är definerade för <pre>{!s}</pre> att använda."
#: src/modules/services-systemd/main.py:35
msgid "Configure systemd services"
msgstr ""
msgstr "Konfigurera systemd tjänster"
#: src/modules/services-systemd/main.py:68
#: src/modules/services-openrc/main.py:102
msgid "Cannot modify service"
msgstr ""
msgstr "Kunde inte modifiera tjänst"
#: src/modules/services-systemd/main.py:69
msgid ""
@@ -65,7 +66,7 @@ msgstr ""
#: src/modules/services-systemd/main.py:72
#: src/modules/services-systemd/main.py:76
msgid "Cannot enable systemd service <code>{name!s}</code>."
msgstr ""
msgstr "Kunde inte aktivera systemd tjänst <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:74
msgid "Cannot enable systemd target <code>{name!s}</code>."
@@ -87,15 +88,15 @@ msgstr ""
#: src/modules/umount/main.py:40
msgid "Unmount file systems."
msgstr ""
msgstr "Avmontera filsystem."
#: src/modules/unpackfs/main.py:41
msgid "Filling up filesystems."
msgstr ""
msgstr "Packar upp filsystem."
#: src/modules/unpackfs/main.py:184
msgid "rsync failed with error code {}."
msgstr ""
msgstr "rsync misslyckades med felkod {}."
#: src/modules/unpackfs/main.py:245 src/modules/unpackfs/main.py:268
msgid "Failed to unpack image \"{}\""
@@ -109,7 +110,7 @@ msgstr ""
#: src/modules/unpackfs/main.py:370
msgid "No mount point for root partition"
msgstr ""
msgstr "Ingen monteringspunkt för root partition"
#: src/modules/unpackfs/main.py:371
msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"
@@ -117,7 +118,7 @@ msgstr ""
#: src/modules/unpackfs/main.py:376
msgid "Bad mount point for root partition"
msgstr ""
msgstr "Dålig monteringspunkt för root partition"
#: src/modules/unpackfs/main.py:377
msgid "rootMountPoint is \"{}\", which does not exist, doing nothing"
@@ -126,11 +127,11 @@ msgstr ""
#: src/modules/unpackfs/main.py:389 src/modules/unpackfs/main.py:393
#: src/modules/unpackfs/main.py:407
msgid "Bad unsquash configuration"
msgstr ""
msgstr "Dålig unsquash konfiguration"
#: src/modules/unpackfs/main.py:390
msgid "The filesystem for \"{}\" ({}) is not supported"
msgstr ""
msgstr "Filsystemet för \"{}\" ({})  stöds inte"
#: src/modules/unpackfs/main.py:394
msgid "The source filesystem \"{}\" does not exist"
@@ -142,31 +143,31 @@ msgstr ""
#: src/modules/displaymanager/main.py:515
msgid "Cannot write KDM configuration file"
msgstr ""
msgstr "Misslyckades med att skriva KDM konfigurationsfil"
#: src/modules/displaymanager/main.py:516
msgid "KDM config file {!s} does not exist"
msgstr ""
msgstr "KDM konfigurationsfil {!s} existerar inte"
#: src/modules/displaymanager/main.py:577
msgid "Cannot write LXDM configuration file"
msgstr ""
msgstr "Misslyckades med att skriva LXDM konfigurationsfil"
#: src/modules/displaymanager/main.py:578
msgid "LXDM config file {!s} does not exist"
msgstr ""
msgstr "LXDM konfigurationsfil {!s} existerar inte"
#: src/modules/displaymanager/main.py:661
msgid "Cannot write LightDM configuration file"
msgstr ""
msgstr "Misslyckades med att skriva LightDM konfigurationsfil"
#: src/modules/displaymanager/main.py:662
msgid "LightDM config file {!s} does not exist"
msgstr ""
msgstr "LightDM konfigurationsfil {!s} existerar inte"
#: src/modules/displaymanager/main.py:736
msgid "Cannot configure LightDM"
msgstr ""
msgstr "Kunde inte konfigurera LightDM"
#: src/modules/displaymanager/main.py:737
msgid "No LightDM greeter installed."
@@ -174,11 +175,11 @@ msgstr ""
#: src/modules/displaymanager/main.py:768
msgid "Cannot write SLIM configuration file"
msgstr ""
msgstr "Misslyckades med att SLIM konfigurationsfil"
#: src/modules/displaymanager/main.py:769
msgid "SLIM config file {!s} does not exist"
msgstr ""
msgstr "SLIM konfigurationsfil {!s} existerar inte"
#: src/modules/displaymanager/main.py:895
msgid "No display managers selected for the displaymanager module."
@@ -196,7 +197,7 @@ msgstr ""
#: src/modules/initcpiocfg/main.py:37
msgid "Configuring mkinitcpio."
msgstr ""
msgstr "Konfigurerar mkinitcpio."
#: src/modules/initcpiocfg/main.py:206
#: src/modules/luksopenswaphookcfg/main.py:100
@@ -208,7 +209,7 @@ msgstr ""
#: src/modules/luksopenswaphookcfg/main.py:35
msgid "Configuring encrypted swap."
msgstr ""
msgstr "Konfigurerar krypterad swap."
#: src/modules/rawfs/main.py:35
msgid "Installing data."
@@ -216,7 +217,7 @@ msgstr "Installerar data."
#: src/modules/services-openrc/main.py:38
msgid "Configure OpenRC services"
msgstr ""
msgstr "Konfigurera OpenRC tjänster"
#: src/modules/services-openrc/main.py:66
msgid "Cannot add service {name!s} to run-level {level!s}."
@@ -259,7 +260,7 @@ msgstr ""
#: src/modules/plymouthcfg/main.py:36
msgid "Configure Plymouth theme"
msgstr ""
msgstr "Konfigurera Plymouth tema"
#: src/modules/packages/main.py:62
#, python-format
@@ -286,7 +287,7 @@ msgstr[1] "Tar bort %(num)d paket."
#: src/modules/bootloader/main.py:51
msgid "Install bootloader."
msgstr ""
msgstr "Installera starthanterare."
#: src/modules/removeuser/main.py:34
msgid "Remove live user from target system"
@@ -298,7 +299,7 @@ msgstr "Ställer hårdvaruklockan."
#: src/modules/dracut/main.py:36
msgid "Creating initramfs with dracut."
msgstr ""
msgstr "Skapar initramfs med dracut."
#: src/modules/dracut/main.py:58
msgid "Failed to run dracut on the target"
@@ -310,11 +311,11 @@ msgstr ""
#: src/modules/initramfscfg/main.py:41
msgid "Configuring initramfs."
msgstr ""
msgstr "Konfigurerar initramfs."
#: src/modules/openrcdmcryptcfg/main.py:34
msgid "Configuring OpenRC dmcrypt service."
msgstr ""
msgstr "Konfigurerar OpenRC dmcrypt tjänst."
#: src/modules/fstab/main.py:38
msgid "Writing fstab."
@@ -330,8 +331,8 @@ msgstr ""
#: src/modules/localecfg/main.py:39
msgid "Configuring locales."
msgstr ""
msgstr "Konfigurerar språkinställningar"
#: src/modules/networkcfg/main.py:37
msgid "Saving network configuration."
msgstr ""
msgstr "Sparar nätverkskonfiguration."

View File

@@ -6,7 +6,7 @@
# Translators:
# Mingcong Bai <jeffbai@aosc.xyz>, 2017
# plantman <weihanlin@live.com>, 2017
# leonfeng <chaofeng111@qq.com>, 2018
# Feng Chao <chaofeng111@qq.com>, 2020
#
#, fuzzy
msgid ""
@@ -15,7 +15,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
"Last-Translator: leonfeng <chaofeng111@qq.com>, 2018\n"
"Last-Translator: Feng Chao <chaofeng111@qq.com>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,11 +25,11 @@ msgstr ""
#: src/modules/grubcfg/main.py:37
msgid "Configure GRUB."
msgstr ""
msgstr "配置 GRUB."
#: src/modules/mount/main.py:38
msgid "Mounting partitions."
msgstr ""
msgstr "挂载分区。"
#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:201
#: src/modules/initcpiocfg/main.py:205
@@ -41,51 +41,53 @@ msgstr ""
#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144
#: src/modules/networkcfg/main.py:48
msgid "Configuration Error"
msgstr ""
msgstr "配置错误"
#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:202
#: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172
#: src/modules/initramfscfg/main.py:95 src/modules/openrcdmcryptcfg/main.py:79
#: src/modules/fstab/main.py:323
msgid "No partitions are defined for <pre>{!s}</pre> to use."
msgstr ""
msgstr "没有分配分区给 <pre>{!s}</pre>。"
#: src/modules/services-systemd/main.py:35
msgid "Configure systemd services"
msgstr ""
msgstr "配置 systemd 服务"
#: src/modules/services-systemd/main.py:68
#: src/modules/services-openrc/main.py:102
msgid "Cannot modify service"
msgstr ""
msgstr "无法修改服务"
#: src/modules/services-systemd/main.py:69
msgid ""
"<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}."
msgstr ""
msgstr "chroot 中的 <code>systemctl {arg!s}</code> 命令返回错误 {num!s}."
#: src/modules/services-systemd/main.py:72
#: src/modules/services-systemd/main.py:76
msgid "Cannot enable systemd service <code>{name!s}</code>."
msgstr ""
msgstr "无法启用 systemd 服务 <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:74
msgid "Cannot enable systemd target <code>{name!s}</code>."
msgstr ""
msgstr "无法启用 systemd 目标 <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:78
msgid "Cannot disable systemd target <code>{name!s}</code>."
msgstr ""
msgstr "无法禁用 systemd 目标 <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:80
msgid "Cannot mask systemd unit <code>{name!s}</code>."
msgstr ""
msgstr "无法屏蔽 systemd 单元 <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:82
msgid ""
"Unknown systemd commands <code>{command!s}</code> and "
"<code>{suffix!s}</code> for unit {name!s}."
msgstr ""
"未知的 systemd 命令 <code>{command!s}</code> 和 {name!s} 单元前缀 "
"<code>{suffix!s}</code>."
#: src/modules/umount/main.py:40
msgid "Unmount file systems."
@@ -93,112 +95,112 @@ msgstr "卸载文件系统。"
#: src/modules/unpackfs/main.py:41
msgid "Filling up filesystems."
msgstr ""
msgstr "写入文件系统。"
#: src/modules/unpackfs/main.py:184
msgid "rsync failed with error code {}."
msgstr ""
msgstr "rsync 报错,错误码 {}."
#: src/modules/unpackfs/main.py:245 src/modules/unpackfs/main.py:268
msgid "Failed to unpack image \"{}\""
msgstr ""
msgstr "解压镜像失败 \"{}\""
#: src/modules/unpackfs/main.py:246
msgid ""
"Failed to find unsquashfs, make sure you have the squashfs-tools package "
"installed"
msgstr ""
msgstr "未找到 unsquashfs请确保安装了 squashfs-tools 软件包"
#: src/modules/unpackfs/main.py:370
msgid "No mount point for root partition"
msgstr ""
msgstr "无 root 分区挂载点"
#: src/modules/unpackfs/main.py:371
msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"
msgstr ""
msgstr "globalstorage 未包含 \"rootMountPoint\",跳过"
#: src/modules/unpackfs/main.py:376
msgid "Bad mount point for root partition"
msgstr ""
msgstr "错误的 root 分区挂载点"
#: src/modules/unpackfs/main.py:377
msgid "rootMountPoint is \"{}\", which does not exist, doing nothing"
msgstr ""
msgstr "rootMountPoint 是 \"{}\",不存在此位置,跳过"
#: src/modules/unpackfs/main.py:389 src/modules/unpackfs/main.py:393
#: src/modules/unpackfs/main.py:407
msgid "Bad unsquash configuration"
msgstr ""
msgstr "错误的 unsquash 配置"
#: src/modules/unpackfs/main.py:390
msgid "The filesystem for \"{}\" ({}) is not supported"
msgstr ""
msgstr "不支持文件系统 \"{}\" ({})"
#: src/modules/unpackfs/main.py:394
msgid "The source filesystem \"{}\" does not exist"
msgstr ""
msgstr "源文件系统 \"{}\" 不存在"
#: src/modules/unpackfs/main.py:408
msgid "The destination \"{}\" in the target system is not a directory"
msgstr ""
msgstr "目标系统中的 \"{}\" 不是一个目录"
#: src/modules/displaymanager/main.py:515
msgid "Cannot write KDM configuration file"
msgstr ""
msgstr "无法写入 KDM 配置文件"
#: src/modules/displaymanager/main.py:516
msgid "KDM config file {!s} does not exist"
msgstr ""
msgstr "KDM 配置文件 {!s} 不存在"
#: src/modules/displaymanager/main.py:577
msgid "Cannot write LXDM configuration file"
msgstr ""
msgstr "无法写入 LXDM 配置文件"
#: src/modules/displaymanager/main.py:578
msgid "LXDM config file {!s} does not exist"
msgstr ""
msgstr "LXDM 配置文件 {!s} 不存在"
#: src/modules/displaymanager/main.py:661
msgid "Cannot write LightDM configuration file"
msgstr ""
msgstr "无法写入 LightDM 配置文件"
#: src/modules/displaymanager/main.py:662
msgid "LightDM config file {!s} does not exist"
msgstr ""
msgstr "LightDM 配置文件 {!s} 不存在"
#: src/modules/displaymanager/main.py:736
msgid "Cannot configure LightDM"
msgstr ""
msgstr "无法配置 LightDM"
#: src/modules/displaymanager/main.py:737
msgid "No LightDM greeter installed."
msgstr ""
msgstr "未安装 LightDM 欢迎程序。"
#: src/modules/displaymanager/main.py:768
msgid "Cannot write SLIM configuration file"
msgstr ""
msgstr "无法写入 SLIM 配置文件"
#: src/modules/displaymanager/main.py:769
msgid "SLIM config file {!s} does not exist"
msgstr ""
msgstr "SLIM 配置文件 {!s} 不存在"
#: src/modules/displaymanager/main.py:895
msgid "No display managers selected for the displaymanager module."
msgstr ""
msgstr "显示管理器模块中未选择显示管理器。"
#: src/modules/displaymanager/main.py:896
msgid ""
"The displaymanagers list is empty or undefined in bothglobalstorage and "
"displaymanager.conf."
msgstr ""
msgstr "globalstorage 和 displaymanager.conf 配置文件中都没有配置显示管理器。"
#: src/modules/displaymanager/main.py:978
msgid "Display manager configuration was incomplete"
msgstr ""
msgstr "显示管理器配置不完全"
#: src/modules/initcpiocfg/main.py:37
msgid "Configuring mkinitcpio."
msgstr ""
msgstr "配置 mkinitcpio."
#: src/modules/initcpiocfg/main.py:206
#: src/modules/luksopenswaphookcfg/main.py:100
@@ -206,62 +208,62 @@ msgstr ""
#: src/modules/fstab/main.py:329 src/modules/localecfg/main.py:145
#: src/modules/networkcfg/main.py:49
msgid "No root mount point is given for <pre>{!s}</pre> to use."
msgstr ""
msgstr " 未设置 <pre>{!s}</pre> 要使用的根挂载点。"
#: src/modules/luksopenswaphookcfg/main.py:35
msgid "Configuring encrypted swap."
msgstr ""
msgstr "配置加密交换分区。"
#: src/modules/rawfs/main.py:35
msgid "Installing data."
msgstr ""
msgstr "安装数据."
#: src/modules/services-openrc/main.py:38
msgid "Configure OpenRC services"
msgstr ""
msgstr "配置 OpenRC 服务。"
#: src/modules/services-openrc/main.py:66
msgid "Cannot add service {name!s} to run-level {level!s}."
msgstr ""
msgstr "无法将服务 {name!s} 加入 {level!s} 运行级别."
#: src/modules/services-openrc/main.py:68
msgid "Cannot remove service {name!s} from run-level {level!s}."
msgstr ""
msgstr "无法从 {level!s} 运行级别中删除服务 {name!s}。"
#: src/modules/services-openrc/main.py:70
msgid ""
"Unknown service-action <code>{arg!s}</code> for service {name!s} in run-"
"level {level!s}."
msgstr ""
msgstr "未知的服务动作 <code>{arg!s}</code>,服务名: {name!s},运行级别: {level!s}."
#: src/modules/services-openrc/main.py:103
msgid ""
"<code>rc-update {arg!s}</code> call in chroot returned error code {num!s}."
msgstr ""
msgstr "chroot 中运行的 <code>rc-update {arg!s}</code> 返回错误 {num!s}."
#: src/modules/services-openrc/main.py:110
msgid "Target runlevel does not exist"
msgstr ""
msgstr "目标运行级别不存在。"
#: src/modules/services-openrc/main.py:111
msgid ""
"The path for runlevel {level!s} is <code>{path!s}</code>, which does not "
"exist."
msgstr ""
msgstr "运行级别 {level!s} 所在目录 <code>{path!s}</code> 不存在。"
#: src/modules/services-openrc/main.py:119
msgid "Target service does not exist"
msgstr ""
msgstr "目标服务不存在"
#: src/modules/services-openrc/main.py:120
msgid ""
"The path for service {name!s} is <code>{path!s}</code>, which does not "
"exist."
msgstr ""
msgstr "服务 {name!s} 的路径 <code>{path!s}</code> 不存在。"
#: src/modules/plymouthcfg/main.py:36
msgid "Configure Plymouth theme"
msgstr ""
msgstr "配置 Plymouth 主题"
#: src/modules/packages/main.py:62
#, python-format
@@ -286,39 +288,39 @@ msgstr[0] "移除%(num)d软件包。"
#: src/modules/bootloader/main.py:51
msgid "Install bootloader."
msgstr ""
msgstr "安装启动加载器。"
#: src/modules/removeuser/main.py:34
msgid "Remove live user from target system"
msgstr ""
msgstr "从目标系统删除 live 用户"
#: src/modules/hwclock/main.py:35
msgid "Setting hardware clock."
msgstr ""
msgstr "设置硬件时钟。"
#: src/modules/dracut/main.py:36
msgid "Creating initramfs with dracut."
msgstr ""
msgstr "用 dracut 创建 initramfs."
#: src/modules/dracut/main.py:58
msgid "Failed to run dracut on the target"
msgstr ""
msgstr "无法在目标中运行 dracut "
#: src/modules/dracut/main.py:59
msgid "The exit code was {}"
msgstr ""
msgstr "退出码是 {}"
#: src/modules/initramfscfg/main.py:41
msgid "Configuring initramfs."
msgstr ""
msgstr "正在配置初始内存文件系统。"
#: src/modules/openrcdmcryptcfg/main.py:34
msgid "Configuring OpenRC dmcrypt service."
msgstr ""
msgstr "配置 OpenRC dmcrypt 服务。"
#: src/modules/fstab/main.py:38
msgid "Writing fstab."
msgstr ""
msgstr "正在写入 fstab。"
#: src/modules/dummypython/main.py:44
msgid "Dummy python job."
@@ -330,8 +332,8 @@ msgstr "占位 Python 步骤 {}"
#: src/modules/localecfg/main.py:39
msgid "Configuring locales."
msgstr ""
msgstr "正在进行本地化配置。"
#: src/modules/networkcfg/main.py:37
msgid "Saving network configuration."
msgstr ""
msgstr "正在保存网络配置。"

View File

@@ -99,8 +99,8 @@ CalamaresApplication::init()
CalamaresApplication::~CalamaresApplication()
{
cDebug( Logger::LOGVERBOSE ) << "Shutting down Calamares...";
cDebug( Logger::LOGVERBOSE ) << Logger::SubEntry << "Finished shutdown.";
Logger::CDebug( Logger::LOGVERBOSE ) << "Shutting down Calamares...";
Logger::CDebug( Logger::LOGVERBOSE ) << Logger::SubEntry << "Finished shutdown.";
}
@@ -266,22 +266,22 @@ CalamaresApplication::initModuleManager()
}
/** @brief centers the widget @p w on (a) screen
*
*
* This tries to duplicate the (deprecated) qApp->desktop()->availableGeometry()
* placement by iterating over screens and putting Calamares in the first
* one where it fits; this is *generally* the primary screen.
*
*
* With debugging, it would look something like this (2 screens attached,
* primary at +1080+240 because I have a very strange X setup). Before
* being mapped, the Calamares window is at +0+0 but does have a size.
* The first screen's geometry includes the offset from the origin in
* screen coordinates.
*
* Proposed window size: 1024 520
* Window QRect(0,0 1024x520)
* Screen QRect(1080,240 2560x1440)
* Moving QPoint(1848,700)
* Screen QRect(0,0 1080x1920)
*
* Proposed window size: 1024 520
* Window QRect(0,0 1024x520)
* Screen QRect(1080,240 2560x1440)
* Moving QPoint(1848,700)
* Screen QRect(0,0 1080x1920)
*
*/
static void

View File

@@ -135,7 +135,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent )
sideLayout->addWidget( tv );
tv->setFocusPolicy( Qt::NoFocus );
if ( Calamares::Settings::instance()->debugMode() )
if ( Calamares::Settings::instance()->debugMode() || ( Logger::logLevel() >= Logger::LOGVERBOSE ) )
{
QPushButton* debugWindowBtn = new QPushButton;
debugWindowBtn->setObjectName( "debugButton" );

View File

@@ -1,7 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2017-2020, Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -36,9 +36,21 @@
#include <QDebug>
#include <QDir>
/** @brief Gets debug-level from -D command-line-option
*
* If unset, use LOGERROR (corresponding to -D1), although
* effectively -D2 is the lowest level you can set for
* logging-to-the-console, and everything always gets
* logged to the session file).
*/
static unsigned int
debug_level( QCommandLineParser& parser, QCommandLineOption& levelOption )
{
if ( !parser.isSet( levelOption ) )
{
return Logger::LOGERROR;
}
bool ok = true;
int l = parser.value( levelOption ).toInt( &ok );
if ( !ok || ( l < 0 ) )

View File

@@ -36,7 +36,6 @@ public:
: QThread( queue )
, m_queue( queue )
, m_jobIndex( 0 )
, m_jobCount( 0 )
{
}
@@ -104,7 +103,6 @@ private:
QList< qreal > m_jobWeights;
JobQueue* m_queue;
int m_jobIndex;
int m_jobCount;
void emitProgress( qreal jobPercent = 0 )
{
@@ -125,9 +123,9 @@ private:
if ( m_jobIndex < jobCount )
{
cDebug( Logger::LOGVERBOSE ) << "[JOBQUEUE]: Progress for Job[" << m_jobIndex
Logger::CDebug( Logger::LOGVERBOSE ) << "[JOBQUEUE]: Progress for Job[" << m_jobIndex
<< "]: " << ( jobPercent * 100 ) << "% completed";
cDebug( Logger::LOGVERBOSE ) << "[JOBQUEUE]: Progress Overall: " << ( cumulativeProgress * 100 )
Logger::CDebug( Logger::LOGVERBOSE ) << "[JOBQUEUE]: Progress Overall: " << ( cumulativeProgress * 100 )
<< "% (accumulated) + "
<< ( ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) * 100 )
<< "% (this job) = " << ( percent * 100 ) << "% (total)";

View File

@@ -148,7 +148,7 @@ check_target_env_output( const bp::list& args, const std::string& stdin, int tim
void
debug( const std::string& s )
{
cDebug() << "[PYTHON JOB]: " << QString::fromStdString( s );
Logger::CDebug( Logger::LOGDEBUG ) << "[PYTHON JOB]: " << QString::fromStdString( s );
}
void

View File

@@ -105,8 +105,9 @@ TemporaryMount::TemporaryMount( const QString& devicePath, const QString& filesy
m_d->m_devicePath = devicePath;
m_d->m_mountDir.setAutoRemove( false );
int r = mount( devicePath, m_d->m_mountDir.path(), filesystemName, options );
if ( !r )
if ( r )
{
cWarning() << "Mount of" << devicePath << "on" << m_d->m_mountDir.path() << "failed, code" << r;
delete m_d;
m_d = nullptr;
}
@@ -116,7 +117,12 @@ TemporaryMount::~TemporaryMount()
{
if ( m_d )
{
unmount( m_d->m_devicePath, { "-R" } );
int r = unmount( m_d->m_mountDir.path(), { "-R" } );
if ( r )
{
cWarning() << "UnMount of temporary" << m_d->m_devicePath << "on" << m_d->m_mountDir.path()
<< "failed, code" << r;
}
delete m_d;
m_d = nullptr;
}

View File

@@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2019, Adriaan de Groot <groot@kde.org>
* Copyright 2019-2020, Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,7 +24,14 @@
void
CalamaresUtils::Partition::sync()
{
auto r = CalamaresUtils::System::runCommand( { "/sbin/udevadm", "settle" }, std::chrono::seconds( 10 ) );
/* I would normally use full paths here, e.g. /sbin/udevadm and /bin/sync,
* but there's enough variation / opinion on where these executables
* should live, that full paths would need to be configurable.
* Instead, just run them and assume they're found in PATH;
* either chroot(8) or env(1) is used to run the command,
* and they do suitable lookup.
*/
auto r = CalamaresUtils::System::runCommand( { "udevadm", "settle" }, std::chrono::seconds( 10 ) );
if ( r.getExitCode() != 0 )
{
@@ -32,5 +39,5 @@ CalamaresUtils::Partition::sync()
r.explainProcess( "udevadm", std::chrono::seconds( 10 ) );
}
CalamaresUtils::System::runCommand( { "/bin/sync" }, std::chrono::seconds( 10 ) );
CalamaresUtils::System::runCommand( { "sync" }, std::chrono::seconds( 10 ) );
}

View File

@@ -247,7 +247,7 @@ System::targetPath( const QString& path ) const
}
CreationResult
System::createTargetFile( const QString& path, const QByteArray& contents ) const
System::createTargetFile( const QString& path, const QByteArray& contents, WriteMode mode ) const
{
QString completePath = targetPath( path );
if ( completePath.isEmpty() )
@@ -256,7 +256,7 @@ System::createTargetFile( const QString& path, const QByteArray& contents ) cons
}
QFile f( completePath );
if ( f.exists() )
if ( ( mode == WriteMode::KeepExisting ) && f.exists() )
{
return CreationResult( CreationResult::Code::AlreadyExists );
}
@@ -264,7 +264,7 @@ System::createTargetFile( const QString& path, const QByteArray& contents ) cons
QIODevice::OpenMode m =
#if QT_VERSION >= QT_VERSION_CHECK( 5, 11, 0 )
// New flag from Qt 5.11, implies WriteOnly
QIODevice::NewOnly |
( mode == WriteMode::KeepExisting ? QIODevice::NewOnly : QIODevice::WriteOnly ) |
#endif
QIODevice::WriteOnly | QIODevice::Truncate;

View File

@@ -258,6 +258,12 @@ public:
*/
DLLEXPORT QString targetPath( const QString& path ) const;
enum class WriteMode
{
KeepExisting,
Overwrite
};
/** @brief Create a (small-ish) file in the target system.
*
* @param path Path to the file; this is interpreted
@@ -265,14 +271,18 @@ public:
* but / in the chroot, or / in OEM modes).
* @param contents Actual content of the file.
*
* Will not overwrite files. Returns an empty string if the
* target file already exists.
* If the target already exists:
* - returns AlreadyExists as a result (and does not overwrite),
* - **unless** @p mode is set to Overwrite, then it tries writing as
* usual and will not return AlreadyExists.
*
* @return The complete canonical path to the target file from the
* root of the host system, or empty on failure. (Here, it is
* possible to be canonical because the file exists).
*/
DLLEXPORT CreationResult createTargetFile( const QString& path, const QByteArray& contents ) const;
DLLEXPORT CreationResult createTargetFile( const QString& path,
const QByteArray& contents,
WriteMode mode = WriteMode::KeepExisting ) const;
/** @brief Remove a file from the target system.
*

View File

@@ -134,14 +134,32 @@ public:
* will produce a single timestamped debug line with continuations.
* Each element of the list of strings will be logged on a separate line.
*/
struct DebugList
/* TODO: Calamares 3.3, bump requirements to C++17, and rename
* this to DebugList, dropping the convenience-definition
* below. In C++17, class template argument deduction is
* added, so `DebugList( whatever )` determines the right
* type already (also for QStringList).
*/
template < typename T >
struct DebugListT
{
explicit DebugList( const QStringList& l )
using list_t = QList< T >;
explicit DebugListT( const list_t& l )
: list( l )
{
}
const QStringList& list;
const list_t& list;
};
///@brief Convenience for QStringList, needs no template parameters
struct DebugList : public DebugListT< QString >
{
explicit DebugList( const list_t& l )
: DebugListT( l )
{
}
};
/**
@@ -174,9 +192,10 @@ operator<<( QDebug& s, const DebugRow< T, U >& t )
return s;
}
/** @brief output operator for DebugList */
/** @brief output operator for DebugList, assuming operator<< for T exists */
template < typename T = QString >
inline QDebug&
operator<<( QDebug& s, const DebugList& c )
operator<<( QDebug& s, const DebugListT< T >& c )
{
for ( const auto& i : c.list )
{
@@ -200,7 +219,7 @@ operator<<( QDebug& s, const DebugMap& t )
}
} // namespace Logger
#define cDebug Logger::CDebug
#define cDebug() (Logger::CDebug( Logger::LOGDEBUG ) << Q_FUNC_INFO << Logger::Continuation)
#define cWarning() Logger::CDebug( Logger::LOGWARNING )
#define cError() Logger::CDebug( Logger::LOGERROR )

View File

@@ -49,6 +49,8 @@ private Q_SLOTS:
void testCreationResult();
void testTargetPath();
void testCreateTarget();
void testCreateTargetExists();
void testCreateTargetOverwrite();
void testCreateTargetBasedirs();
private:
@@ -96,31 +98,32 @@ TestPaths::init()
m_gs->insert( "rootMountPoint", "/tmp" );
}
void TestPaths::testCreationResult()
void
TestPaths::testCreationResult()
{
using Code = CalamaresUtils::CreationResult::Code;
for( auto c : { Code::OK, Code::AlreadyExists, Code::Failed, Code::Invalid } )
for ( auto c : { Code::OK, Code::AlreadyExists, Code::Failed, Code::Invalid } )
{
auto r = CalamaresUtils::CreationResult( c );
QVERIFY( r.path().isEmpty() );
QCOMPARE( r.path(), QString() );
// Get a warning from Clang if we're not covering everything
switch( r.code() )
switch ( r.code() )
{
case Code::OK:
QVERIFY( !r.failed() );
QVERIFY( r );
break;
case Code::AlreadyExists:
QVERIFY( !r.failed() );
QVERIFY( !r );
break;
case Code::Failed:
case Code::Invalid:
QVERIFY( r.failed() );
QVERIFY( !r );
break;
case Code::OK:
QVERIFY( !r.failed() );
QVERIFY( r );
break;
case Code::AlreadyExists:
QVERIFY( !r.failed() );
QVERIFY( !r );
break;
case Code::Failed:
case Code::Invalid:
QVERIFY( r.failed() );
QVERIFY( !r );
break;
}
}
@@ -168,6 +171,75 @@ TestPaths::testCreateTarget()
QVERIFY( !fi2.exists() );
}
struct GSRollback
{
GSRollback( const QString& key )
: m_key( key )
, m_value( Calamares::JobQueue::instance()->globalStorage()->value( key ) )
{
}
~GSRollback() { Calamares::JobQueue::instance()->globalStorage()->insert( m_key, m_value ); }
QString m_key;
QVariant m_value;
};
void
TestPaths::testCreateTargetExists()
{
static const char ltestFile[] = "cala-test-world";
GSRollback g( QStringLiteral( "rootMountPoint" ) );
QTemporaryDir d;
d.setAutoRemove( true );
Calamares::JobQueue::instance()->globalStorage()->insert( QStringLiteral( "rootMountPoint" ), d.path() );
QVERIFY( QFileInfo( d.path() ).exists() );
auto r = m_system->createTargetFile( ltestFile, "Hello" );
QVERIFY( r );
QVERIFY( r.path().endsWith( QString( ltestFile ) ) );
QCOMPARE( QFileInfo( d.filePath( QString( ltestFile ) ) ).size(), 5 );
r = m_system->createTargetFile( ltestFile, "Goodbye" );
QVERIFY( !r.failed() ); // It didn't fail!
QVERIFY( !r ); // But not unqualified success, either
QVERIFY( r.path().isEmpty() );
QCOMPARE( QFileInfo( d.filePath( QString( ltestFile ) ) ).size(), 5 ); // Unchanged!
}
void
TestPaths::testCreateTargetOverwrite()
{
static const char ltestFile[] = "cala-test-world";
GSRollback g( QStringLiteral( "rootMountPoint" ) );
QTemporaryDir d;
d.setAutoRemove( true );
Calamares::JobQueue::instance()->globalStorage()->insert( QStringLiteral( "rootMountPoint" ), d.path() );
QVERIFY( QFileInfo( d.path() ).exists() );
auto r = m_system->createTargetFile( ltestFile, "Hello" );
QVERIFY( r );
QVERIFY( r.path().endsWith( QString( ltestFile ) ) );
QCOMPARE( QFileInfo( d.filePath( QString( ltestFile ) ) ).size(), 5 );
r = m_system->createTargetFile( ltestFile, "Goodbye", CalamaresUtils::System::WriteMode::KeepExisting );
QVERIFY( !r.failed() ); // It didn't fail!
QVERIFY( !r ); // But not unqualified success, either
QVERIFY( r.path().isEmpty() );
QCOMPARE( QFileInfo( d.filePath( QString( ltestFile ) ) ).size(), 5 ); // Unchanged!
r = m_system->createTargetFile( ltestFile, "Goodbye", CalamaresUtils::System::WriteMode::Overwrite );
QVERIFY( !r.failed() ); // It didn't fail!
QVERIFY( r ); // Total success
QVERIFY( r.path().endsWith( QString( ltestFile ) ) );
QCOMPARE( QFileInfo( d.filePath( QString( ltestFile ) ) ).size(), 7 );
}
struct DirRemover
{
DirRemover( const QString& base, const QString& dir )

View File

@@ -0,0 +1,97 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2017-2020, Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
/* This file isn't public API, but is used to express the API that
* the tests for ContextualProcess can work with.
*/
#ifndef CONTEXTUALPROCESSJOB_BINDING_H
#define CONTEXTUALPROCESSJOB_BINDING_H
#include "Job.h"
#include <QList>
#include <QPair>
#include <QString>
namespace CalamaresUtils
{
class CommandList;
}
namespace Calamares
{
class GlobalStorage;
}
struct ValueCheck : public QPair< QString, CalamaresUtils::CommandList* >
{
ValueCheck( const QString& value, CalamaresUtils::CommandList* commands )
: QPair< QString, CalamaresUtils::CommandList* >( value, commands )
{
}
// ~ValueCheck()
//
// There is no destructor.
//
// We don't own the commandlist, the binding holding this valuecheck
// does, so don't delete. This is closely tied to (temporaries created
// by) pass-by-value in QList::append().
QString value() const { return first; }
CalamaresUtils::CommandList* commands() const { return second; }
};
class ContextualProcessBinding
{
public:
ContextualProcessBinding( const QString& varname )
: m_variable( varname )
{
}
~ContextualProcessBinding();
QString variable() const { return m_variable; }
int count() const { return m_checks.count(); }
/**
* @brief add commands to be executed when @p value is matched.
*
* Ownership of the CommandList passes to this binding.
*/
void append( const QString& value, CalamaresUtils::CommandList* commands );
///@brief The bound variable has @p value , run the associated commands.
Calamares::JobResult run( const QString& value ) const;
/** @brief Tries to obtain this binding's value from GS
*
* Stores the value in @p value and returns true if a value
* was found (e.g. @p storage contains the variable this binding
* is for) and false otherwise.
*/
bool fetch( Calamares::GlobalStorage* storage, QString& value ) const;
private:
QString m_variable;
QList< ValueCheck > m_checks;
CalamaresUtils::CommandList* m_wildcard = nullptr;
};
#endif

View File

@@ -1,6 +1,6 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
* Copyright 2017-2020, Adriaan de Groot <groot@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,9 +18,7 @@
#include "ContextualProcessJob.h"
#include <QDateTime>
#include <QProcess>
#include <QThread>
#include "Binding.h"
#include "CalamaresVersion.h"
#include "GlobalStorage.h"
@@ -30,81 +28,88 @@
#include "utils/Logger.h"
#include "utils/Variant.h"
struct ValueCheck : public QPair< QString, CalamaresUtils::CommandList* >
{
ValueCheck( const QString& value, CalamaresUtils::CommandList* commands )
: QPair< QString, CalamaresUtils::CommandList* >( value, commands )
{
}
// ~ValueCheck()
//
// There is no destructor.
//
// We don't own the commandlist, the binding holding this valuecheck
// does, so don't delete. This is closely tied to (temporaries created
// by) pass-by-value in QList::append().
QString value() const { return first; }
CalamaresUtils::CommandList* commands() const { return second; }
};
struct ContextualProcessBinding
{
ContextualProcessBinding( const QString& varname )
: variable( varname )
{
}
~ContextualProcessBinding();
/**
* @brief add commands to be executed when @p value is matched.
*
* Ownership of the CommandList passes to this binding.
*/
void append( const QString& value, CalamaresUtils::CommandList* commands )
{
checks.append( ValueCheck( value, commands ) );
if ( value == QString( "*" ) )
{
wildcard = commands;
}
}
Calamares::JobResult run( const QString& value ) const
{
for ( const auto& c : checks )
{
if ( value == c.value() )
{
return c.commands()->run();
}
}
if ( wildcard )
{
return wildcard->run();
}
return Calamares::JobResult::ok();
}
QString variable;
QList< ValueCheck > checks;
CalamaresUtils::CommandList* wildcard { nullptr };
};
ContextualProcessBinding::~ContextualProcessBinding()
{
wildcard = nullptr;
for ( const auto& c : checks )
m_wildcard = nullptr;
for ( const auto& c : m_checks )
{
delete c.commands();
}
}
void
ContextualProcessBinding::append( const QString& value, CalamaresUtils::CommandList* commands )
{
m_checks.append( ValueCheck( value, commands ) );
if ( value == QString( "*" ) )
{
m_wildcard = commands;
}
}
Calamares::JobResult
ContextualProcessBinding::run( const QString& value ) const
{
for ( const auto& c : m_checks )
{
if ( value == c.value() )
{
return c.commands()->run();
}
}
if ( m_wildcard )
{
return m_wildcard->run();
}
return Calamares::JobResult::ok();
}
///@brief Implementation of fetch() for recursively looking up dotted selector parts.
static bool
fetch( QString& value, QStringList& selector, int index, const QVariant& v )
{
if ( !v.canConvert( QMetaType::QVariantMap ) )
{
return false;
}
const QVariantMap map = v.toMap();
const QString& key = selector.at( index );
if ( index == selector.length() - 1)
{
value = map.value( key ).toString();
return map.contains( key );
}
else
{
return fetch( value, selector, index + 1, map.value( key ) );
}
}
bool
ContextualProcessBinding::fetch( Calamares::GlobalStorage* storage, QString& value ) const
{
value.clear();
if ( !storage )
{
return false;
}
if ( m_variable.contains( '.' ) )
{
QStringList steps = m_variable.split( '.' );
return ::fetch( value, steps, 1, storage->value( steps.first() ) );
}
else
{
value = storage->value( m_variable ).toString();
return storage->contains( m_variable );
}
}
ContextualProcessJob::ContextualProcessJob( QObject* parent )
: Calamares::CppJob( parent )
{
@@ -131,9 +136,10 @@ ContextualProcessJob::exec()
for ( const ContextualProcessBinding* binding : m_commands )
{
if ( gs->contains( binding->variable ) )
QString value;
if ( binding->fetch( gs, value ) )
{
Calamares::JobResult r = binding->run( gs->value( binding->variable ).toString() );
Calamares::JobResult r = binding->run( value );
if ( !r )
{
return r;
@@ -141,7 +147,7 @@ ContextualProcessJob::exec()
}
else
{
cWarning() << "ContextualProcess checks for unknown variable" << binding->variable;
cWarning() << "ContextualProcess checks for unknown variable" << binding->variable();
}
}
return Calamares::JobResult::ok();
@@ -203,10 +209,12 @@ int
ContextualProcessJob::count( const QString& variableName )
{
for ( const ContextualProcessBinding* binding : m_commands )
if ( binding->variable == variableName )
{
if ( binding->variable() == variableName )
{
return binding->checks.count();
return binding->count();
}
}
return -1;
}

View File

@@ -27,7 +27,7 @@
#include "utils/PluginFactory.h"
struct ContextualProcessBinding;
class ContextualProcessBinding;
class PLUGINDLLEXPORT ContextualProcessJob : public Calamares::CppJob
{

View File

@@ -17,9 +17,15 @@
*/
#include "Tests.h"
#include "Binding.h"
#include "ContextualProcessJob.h"
#include "GlobalStorage.h"
#include "JobQueue.h"
#include "utils/CalamaresUtilsSystem.h"
#include "utils/CommandList.h"
#include "utils/Logger.h"
#include "utils/Yaml.h"
#include <QtTest/QtTest>
@@ -38,6 +44,22 @@ ContextualProcessTests::~ContextualProcessTests() {}
void
ContextualProcessTests::initTestCase()
{
Logger::setupLogLevel( Logger::LOGDEBUG );
// Ensure we have a system object, expect it to be a "bogus" one
CalamaresUtils::System* system = CalamaresUtils::System::instance();
QVERIFY( system );
QVERIFY( system->doChroot() );
// Ensure we have a system-wide GlobalStorage with /tmp as root
if ( !Calamares::JobQueue::instance() )
{
cDebug() << "Creating new JobQueue";
(void)new Calamares::JobQueue();
}
Calamares::GlobalStorage* gs
= Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr;
QVERIFY( gs );
}
void
@@ -59,6 +81,111 @@ ContextualProcessTests::testProcessListSampleConfig()
ContextualProcessJob job;
job.setConfigurationMap( CalamaresUtils::yamlMapToVariant( doc ).toMap() );
QCOMPARE( job.count(), 1 ); // Only "firmwareType"
QCOMPARE( job.count(), 2 ); // Only "firmwareType" and "branding.shortVersion"
QCOMPARE( job.count( "firmwareType" ), 4 );
QCOMPARE( job.count( "branding.shortVersion" ), 2 ); // in the example config
}
void ContextualProcessTests::testFetch()
{
Logger::setupLogLevel( Logger::LOGVERBOSE );
QVariantMap m;
// Some keys without sub-map
m.insert( QStringLiteral( "carrot" ), true );
m.insert( QStringLiteral( "tomato" ), QStringLiteral( "fruit" ) );
// A key with sub-map
{
QVariantMap names;
names.insert( QStringLiteral( "blackcurrant" ), QStringLiteral( "black" ) );
names.insert( QStringLiteral( "redcurrant" ), QStringLiteral( "red" ) );
names.insert( QStringLiteral( "knoebels" ), QStringLiteral( "green" ) );
names.insert( QStringLiteral( "strawberry" ), QStringLiteral( "red" ) );
m.insert( QStringLiteral( "berries" ), names );
}
// Another key with sub-map
{
QVariantMap names;
names.insert( QStringLiteral( "ext4" ), 1 );
names.insert( QStringLiteral( "zfs" ), 2 );
names.insert( QStringLiteral( "swap" ), 2 );
m.insert( QStringLiteral( "filesystem_use" ), names );
}
QCOMPARE( m.count(), 4 );
Calamares::GlobalStorage* gs
= Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr;
QVERIFY( gs );
// Copy the built-up-map into GS
for ( auto it = m.cbegin(); it != m.cend(); ++it )
{
gs->insert( it.key(), it.value() );
}
// Testing of fetch()
{
ContextualProcessBinding b( QStringLiteral( "carrot" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QCOMPARE( s, QStringLiteral( "true" ) ); // String representation of boolean true
}
{
ContextualProcessBinding b( QStringLiteral( "tomato" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QCOMPARE( s, QStringLiteral( "fruit" ) );
}
{
// Key not found
ContextualProcessBinding b( QStringLiteral( "parsnip" ) );
QString s = QStringLiteral( "white" );
QVERIFY( !b.fetch( gs, s ) );
QCOMPARE( s, QString() );
QVERIFY( s.isEmpty() );
}
{
// Submap gets smashed
ContextualProcessBinding b( QStringLiteral( "berries" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QVERIFY( s.isEmpty() ); // No string representation
}
{
// Compound lookup
ContextualProcessBinding b( QStringLiteral( "berries.strawberry" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QCOMPARE( s, QStringLiteral( "red" ) );
}
{
ContextualProcessBinding b( QStringLiteral( "berries.knoebels" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QCOMPARE( s, QStringLiteral( "green" ) );
}
{
ContextualProcessBinding b( QStringLiteral( "filesystem_use.ext4" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QCOMPARE( s, QStringLiteral( "1" ) );
}
{
ContextualProcessBinding b( QStringLiteral( "filesystem_use.zfs" ) );
QString s;
QVERIFY( b.fetch( gs, s ) );
QCOMPARE( s, QStringLiteral( "2" ) );
}
{
// Key not found, compound
ContextualProcessBinding b( QStringLiteral( "filesystem_use.ufs" ) );
QString s = QStringLiteral( "ufs" );
QVERIFY( !b.fetch( gs, s ) );
QCOMPARE( s, QString() );
QVERIFY( s.isEmpty() );
}
}

View File

@@ -32,6 +32,9 @@ private Q_SLOTS:
void initTestCase();
// Check the sample config file is processed correctly
void testProcessListSampleConfig();
// Variable binding lookup
void testFetch();
};
#endif

View File

@@ -13,6 +13,17 @@
# to the variable's value. If the variable has that particular value, the
# corresponding value (script) is executed.
#
# The variable **may** contain dots, in which case the dot is used
# to select into maps inside global storage, e.g.
#
# - *firmwareType* is a simple global name
# - *branding.bootloader* is the *bootloader* value in the *branding* map
#
# Only a few global storage entries have well-defined sub-maps;
# branding is one of them, and *filesystem_use* is another. Note that
# variable names with dots **must** be quoted, or you will get a YAML error.
#
#
# You can check for an empty value with "".
#
# As a special case, the value-check "*" matches any value, but **only**
@@ -44,3 +55,6 @@ firmwareType:
bios: "-pkg remove bios-firmware"
"": "/bin/false no-firmware-type-set"
"*": "/bin/false some-other-firmware-value"
"branding.shortVersion":
"2020.2": "/bin/false february"
"2019.4": "/bin/true april"

View File

@@ -4,8 +4,8 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ji-Hyeon Gim <potatogim@potatogim.net>, 2018
# MarongHappy <daemul72@gmail.com>, 2019
# 김지현 <potatogim@potatogim.net>, 2020
#
#, fuzzy
msgid ""
@@ -14,7 +14,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-19 17:27+0100\n"
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
"Last-Translator: MarongHappy <daemul72@gmail.com>, 2019\n"
"Last-Translator: 김지현 <potatogim@potatogim.net>, 2020\n"
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -40,8 +40,8 @@ msgstr "더미 PythonQt 작업"
#: src/modules/dummypythonqt/main.py:186
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
msgstr "더미 PythonQt Job입니다. 이 더미 Job의 출력은 다음과 같습니다: {}"
msgstr "더미 PythonQt 작업입니다. 이 더미 작업의 출력은 다음과 같습니다: {}"
#: src/modules/dummypythonqt/main.py:190
msgid "A status message for Dummy PythonQt Job."
msgstr "더미 PythonQt Job의 상태 메시지"
msgstr "더미 PythonQt 작업의 상태 메시지"

View File

@@ -72,6 +72,12 @@ def modify_grub_default(partitions, root_mount_point, distributor):
swap_uuid = ""
swap_outer_uuid = ""
swap_outer_mappername = None
no_save_default = False
for partition in partitions:
if partition["mountPoint"] in ("/", "/boot") and partition["fs"] in ("btrfs", "f2fs"):
no_save_default = True
break
if have_plymouth:
use_splash = "splash"
@@ -191,6 +197,9 @@ def modify_grub_default(partitions, root_mount_point, distributor):
# We're not updating because of *keepDistributor*, but if
# this was a comment line, then it's still not been set.
have_distributor_line = have_distributor_line or not lines[i].startswith("#")
# If btrfs or f2fs is used, don't save default
if no_save_default and lines[i].startswith("GRUB_SAVEDEFAULT="):
lines[i] = "#GRUB_SAVEDEFAULT=\"true\""
else:
lines = []

View File

@@ -4,7 +4,7 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
#
# Copyright 2014, Rohan Garg <rohan@kde.org>
# Copyright 2015,2019, Philip Müller <philm@manjaro.org>
# Copyright 2015,2019-2020, Philip Müller <philm@manjaro.org>
# Copyright 2017, Alf Gaida <agaida@sidution.org>
# Copyright 2019, Adriaan de Groot <groot@kde.org>
#
@@ -137,6 +137,10 @@ def modify_mkinitcpio_conf(partitions, root_mount_point):
hooks.append("plymouth")
for partition in partitions:
if partition["fs"] == "linuxswap" and not partition.get("claimed", None):
# Skip foreign swap
continue
if partition["fs"] == "linuxswap":
swap_uuid = partition["uuid"]
if "luksMapperName" in partition:

View File

@@ -46,7 +46,7 @@ InitramfsTests::initTestCase()
{
Logger::setupLogLevel( Logger::LOGDEBUG );
auto* j = new Calamares::JobQueue();
(void) new Calamares::JobQueue();
(void) new CalamaresUtils::System( true );
}

View File

@@ -106,7 +106,7 @@ PackageModel::rowCount( const QModelIndex& parent ) const
}
int
PackageModel::columnCount( const QModelIndex& parent ) const
PackageModel::columnCount( const QModelIndex& ) const
{
return 2;
}

View File

@@ -364,6 +364,24 @@ class PMPisi(PackageManager):
pass
class PMApk(PackageManager):
backend = "apk"
def install(self, pkgs, from_local=False):
for pkg in pkgs:
check_target_env_call(["apk", "add", pkg])
def remove(self, pkgs):
for pkg in pkgs:
check_target_env_call(["apk", "del", pkg])
def update_db(self):
check_target_env_call(["apk", "update"])
def update_system(self):
check_target_env_call(["apk", "upgrade", "--available"])
# Collect all the subclasses of PackageManager defined above,
# and index them based on the backend property of each class.
backend_managers = [

View File

@@ -10,6 +10,7 @@
# - pacman - Pacman
# - portage - Gentoo package manager
# - entropy - Sabayon package manager
# - apk = Alpine Linux package manager
# - dummy - Dummy manager, only logs
#
backend: dummy

View File

@@ -69,7 +69,7 @@ CreatePartitionTableJob::prettyStatusMessage() const
static inline QDebug&
operator <<( QDebug&& s, PartitionIterator& it )
operator <<( QDebug& s, PartitionIterator& it )
{
s << ( ( *it ) ? ( *it )->deviceNode() : QString( "<null device>" ) );
return s;

View File

@@ -40,9 +40,9 @@
#include <QFileInfo>
#include <QProcess>
using CalamaresUtils::Partition::PartitionIterator;
using CalamaresUtils::Partition::untranslatedFS;
using CalamaresUtils::Partition::userVisibleFS;
using CalamaresUtils::Partition::PartitionIterator;
typedef QHash< QString, QString > UuidForPartitionHash;
@@ -107,10 +107,8 @@ mapForPartition( Partition* partition, const QString& uuid )
Logger::CDebug deb;
using TR = Logger::DebugRow< const char* const, const QString& >;
deb << Logger::SubEntry << "mapping for" << partition->partitionPath() << partition->deviceNode()
<< TR( "mtpoint:", PartitionInfo::mountPoint( partition ) )
<< TR( "fs:", map[ "fs" ].toString() )
<< TR( "fsName", map[ "fsName" ].toString() )
<< TR( "uuid", uuid )
<< TR( "mtpoint:", PartitionInfo::mountPoint( partition ) ) << TR( "fs:", map[ "fs" ].toString() )
<< TR( "fsName", map[ "fsName" ].toString() ) << TR( "uuid", uuid )
<< TR( "claimed", map[ "claimed" ].toString() );
if ( partition->roles().has( PartitionRole::Luks ) )
@@ -147,7 +145,7 @@ FillGlobalStorageJob::prettyDescription() const
{
QStringList lines;
const auto partitionList = createPartitionList().toList();
const auto partitionList = createPartitionList();
for ( const QVariant& partitionItem : partitionList )
{
if ( partitionItem.type() == QVariant::Map )
@@ -212,12 +210,52 @@ FillGlobalStorageJob::prettyStatusMessage() const
return tr( "Setting up mount points." );
}
/** @brief note which FS'ses are in use in GS
*
* .. mark as "1" if it's on the system, somewhere
* .. mark as "2" if it's one of the claimed / in-use FSses
*
* Stores a GS key called "filesystems_use" with this mapping.
*/
static void
storeFSUse( Calamares::GlobalStorage* storage, const QVariantList& partitions )
{
QMap< QString, int > fsUses;
for ( const auto& p : partitions )
{
const auto pmap = p.toMap();
QString fs = pmap.value( "fs" ).toString();
int thisUse = pmap.value( "claimed" ).toBool() ? 2 : 1;
if ( fs.isEmpty() )
{
continue;
}
int newUse = qMax( fsUses.value( fs ), thisUse ); // value() is 0 if not present
fsUses.insert( fs, newUse );
}
QVariantMap fsUsesVariant;
for ( auto it = fsUses.cbegin(); it != fsUses.cend(); ++it )
{
fsUsesVariant.insert( it.key(), it.value() );
}
storage->insert( "filesystems_use", fsUsesVariant );
}
Calamares::JobResult
FillGlobalStorageJob::exec()
{
Calamares::GlobalStorage* storage = Calamares::JobQueue::instance()->globalStorage();
storage->insert( "partitions", createPartitionList() );
const auto partitions = createPartitionList();
cDebug() << "Saving partition information map to GlobalStorage[\"partitions\"]";
storage->insert( "partitions", partitions );
storeFSUse( storage, partitions );
if ( !m_bootLoaderPath.isEmpty() )
{
QVariant var = createBootLoaderMap();
@@ -236,7 +274,7 @@ FillGlobalStorageJob::exec()
return Calamares::JobResult::ok();
}
QVariant
QVariantList
FillGlobalStorageJob::createPartitionList() const
{
UuidForPartitionHash hash = findPartitionUuids( m_devices );

View File

@@ -22,8 +22,8 @@
#include "Job.h"
// Qt
#include <QList>
#include <QVariantList>
class Device;
class Partition;
@@ -48,7 +48,7 @@ private:
QList< Device* > m_devices;
QString m_bootLoaderPath;
QVariant createPartitionList() const;
QVariantList createPartitionList() const;
QVariant createBootLoaderMap() const;
};

View File

@@ -31,6 +31,8 @@
#include <QtDBus/QDBusInterface>
#include <QtDBus/QDBusReply>
using WriteMode = CalamaresUtils::System::WriteMode;
SetHostNameJob::SetHostNameJob( const QString& hostname, Actions a )
: Calamares::Job()
, m_hostname( hostname )
@@ -61,9 +63,8 @@ SetHostNameJob::prettyStatusMessage() const
STATICTEST bool
setFileHostname( const QString& hostname )
{
return !( CalamaresUtils::System::instance()
->createTargetFile( QStringLiteral( "/etc/hostname" ), ( hostname + '\n' ).toUtf8() )
.failed() );
return CalamaresUtils::System::instance()->createTargetFile(
QStringLiteral( "/etc/hostname" ), ( hostname + '\n' ).toUtf8(), WriteMode::Overwrite );
}
STATICTEST bool
@@ -78,9 +79,8 @@ ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
)";
return !( CalamaresUtils::System::instance()
->createTargetFile( QStringLiteral( "/etc/hosts" ), QString( etc_hosts ).arg( hostname ).toUtf8() )
.failed() );
return CalamaresUtils::System::instance()->createTargetFile(
QStringLiteral( "/etc/hosts" ), QString( etc_hosts ).arg( hostname ).toUtf8(), WriteMode::Overwrite );
}
STATICTEST bool

View File

@@ -105,6 +105,16 @@ UsersPage::UsersPage( QWidget* parent )
checkReady( isReady() );
} );
connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, this, [this]( int checked ) {
/* When "reuse" is checked, hide the fields for explicitly
* entering the root password. However, if we're going to
* disable the root password anyway, hide them all regardless of
* the checkbox -- so when writeRoot is false, checked needs
* to be true, to hide them all.
*/
if ( !m_writeRootPassword )
{
checked = true;
}
ui->labelChooseRootPassword->setVisible( !checked );
ui->labelRootPassword->setVisible( !checked );
ui->labelRootPasswordError->setVisible( !checked );
@@ -246,8 +256,8 @@ UsersPage::onActivate()
void
UsersPage::setWriteRootPassword( bool write )
{
ui->checkBoxReusePassword->setVisible( write );
m_writeRootPassword = write;
ui->checkBoxReusePassword->setVisible( write );
}

View File

@@ -45,8 +45,11 @@ doAutologin: true
# potentially confusing users.
sudoersGroup: wheel
# Setting this to false , causes the root account to be disabled.
# Setting this to false, causes the root account to be disabled.
# When disabled, hides the "Use the same password for administrator"
# checkbox. Also hides the "Choose a password" and associated text-inputs.
setRootPassword: true
# You can control the initial state for the 'reuse password for root'
# checkbox here. Possible values are:
# - true to check or