From 5876c3fdd7618d36be0f1ae0230b2f9520f76531 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 21 Jun 2019 13:43:02 +0200 Subject: [PATCH 001/626] [partition] Warn about storage setting in partition.conf - This is really a specialised setting, not something for general use. People should be using `welcome.conf` instead. --- src/modules/partition/partition.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/partition/partition.conf b/src/modules/partition/partition.conf index 385269fc7..6fbb44cb4 100644 --- a/src/modules/partition/partition.conf +++ b/src/modules/partition/partition.conf @@ -131,4 +131,7 @@ defaultFileSystemType: "ext4" # # The value is in Gibibytes (GiB). # +# BIG FAT WARNING: except for OEM-phase-0 use, you should be using +# the welcome module, **and** configure this value in +# `welcome.conf`, not here. # requiredStorage: 3.5 From 12fa6978f0b6397c3a4d7650636f092180668bca Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 21 Jun 2019 16:43:00 +0200 Subject: [PATCH 002/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 233 ++++++++++++++-------------- lang/calamares_ast.ts | 233 ++++++++++++++-------------- lang/calamares_be.ts | 231 +++++++++++++++------------- lang/calamares_bg.ts | 233 ++++++++++++++-------------- lang/calamares_ca.ts | 233 ++++++++++++++-------------- lang/calamares_ca@valencia.ts | 231 +++++++++++++++------------- lang/calamares_cs_CZ.ts | 233 ++++++++++++++-------------- lang/calamares_da.ts | 233 ++++++++++++++-------------- lang/calamares_de.ts | 233 ++++++++++++++-------------- lang/calamares_el.ts | 233 ++++++++++++++-------------- lang/calamares_en.ts | 233 ++++++++++++++-------------- lang/calamares_en_GB.ts | 233 ++++++++++++++-------------- lang/calamares_eo.ts | 231 +++++++++++++++------------- lang/calamares_es.ts | 233 ++++++++++++++-------------- lang/calamares_es_MX.ts | 233 ++++++++++++++-------------- lang/calamares_es_PR.ts | 233 ++++++++++++++-------------- lang/calamares_et.ts | 233 ++++++++++++++-------------- lang/calamares_eu.ts | 233 ++++++++++++++-------------- lang/calamares_fa.ts | 231 +++++++++++++++------------- lang/calamares_fi_FI.ts | 233 ++++++++++++++-------------- lang/calamares_fr.ts | 233 ++++++++++++++-------------- lang/calamares_fr_CH.ts | 231 +++++++++++++++------------- lang/calamares_gl.ts | 233 ++++++++++++++-------------- lang/calamares_gu.ts | 231 +++++++++++++++------------- lang/calamares_he.ts | 233 ++++++++++++++-------------- lang/calamares_hi.ts | 233 ++++++++++++++-------------- lang/calamares_hr.ts | 233 ++++++++++++++-------------- lang/calamares_hu.ts | 233 ++++++++++++++-------------- lang/calamares_id.ts | 233 ++++++++++++++-------------- lang/calamares_is.ts | 233 ++++++++++++++-------------- lang/calamares_it_IT.ts | 233 ++++++++++++++-------------- lang/calamares_ja.ts | 273 +++++++++++++++++---------------- lang/calamares_kk.ts | 231 +++++++++++++++------------- lang/calamares_kn.ts | 231 +++++++++++++++------------- lang/calamares_ko.ts | 233 ++++++++++++++-------------- lang/calamares_lo.ts | 231 +++++++++++++++------------- lang/calamares_lt.ts | 233 ++++++++++++++-------------- lang/calamares_mk.ts | 231 +++++++++++++++------------- lang/calamares_mr.ts | 233 ++++++++++++++-------------- lang/calamares_nb.ts | 233 ++++++++++++++-------------- lang/calamares_ne_NP.ts | 231 +++++++++++++++------------- lang/calamares_nl.ts | 233 ++++++++++++++-------------- lang/calamares_pl.ts | 233 ++++++++++++++-------------- lang/calamares_pt_BR.ts | 233 ++++++++++++++-------------- lang/calamares_pt_PT.ts | 253 ++++++++++++++++--------------- lang/calamares_ro.ts | 233 ++++++++++++++-------------- lang/calamares_ru.ts | 233 ++++++++++++++-------------- lang/calamares_sk.ts | 233 ++++++++++++++-------------- lang/calamares_sl.ts | 231 +++++++++++++++------------- lang/calamares_sq.ts | 233 ++++++++++++++-------------- lang/calamares_sr.ts | 233 ++++++++++++++-------------- lang/calamares_sr@latin.ts | 231 +++++++++++++++------------- lang/calamares_sv.ts | 233 ++++++++++++++-------------- lang/calamares_th.ts | 233 ++++++++++++++-------------- lang/calamares_tr_TR.ts | 233 ++++++++++++++-------------- lang/calamares_uk.ts | 275 ++++++++++++++++++---------------- lang/calamares_ur.ts | 231 +++++++++++++++------------- lang/calamares_uz.ts | 231 +++++++++++++++------------- lang/calamares_zh_CN.ts | 233 ++++++++++++++-------------- lang/calamares_zh_TW.ts | 233 ++++++++++++++-------------- 60 files changed, 7476 insertions(+), 6576 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 3a7d77f4d..60f47f127 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 قطاع الإقلاع الرئيسي ل %1 - + Boot Partition قسم الإقلاع - + System Partition قسم النظام - + Do not install a boot loader لا تثبّت محمّل إقلاع - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ الأدوات - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information معلومات التّنقيح @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install ثبت @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - شغّل الأمر %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 يشغّل الأمر %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &التالي - + &Cancel &إلغاء - + Cancel setup without changing the system. - + Cancel installation without changing the system. الغاء الـ تثبيت من دون احداث تغيير في النظام @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &ثبت - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? إلغاء التثبيت؟ - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. أتريد إلغاء عمليّة التّثبيت الحاليّة؟ سيخرج المثبّت وتضيع كلّ التّغييرات. - + &Yes &نعم - + &No &لا @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. &اغلاق - + Continue with setup? الإستمرار في التثبيت؟ - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> مثبّت %1 على وشك بإجراء تعديلات على قرصك لتثبيت %2.<br/><strong>لن تستطيع التّراجع عن هذا.</strong> - + &Install now &ثبت الأن - + Go &back &إرجع - + &Done - + The installation is complete. Close the installer. اكتمل التثبيت , اغلق المثبِت @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 المثبت - + Show debug information أظهر معلومات التّنقيح @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>تقسيم يدويّ</strong><br/>يمكنك إنشاء أو تغيير حجم الأقسام بنفسك. - + Boot loader location: مكان محمّل الإقلاع: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: الحاليّ: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. <strong>اختر قسمًا لتقليصه، ثمّ اسحب الشّريط السّفليّ لتغيير حجمه </strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>اختر القسم حيث سيكون التّثبيت عليه</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. تعذّر إيجاد قسم النّظام EFI في أيّ مكان. فضلًا ارجع واستخدم التّقسيم اليدويّ لإعداد %1. - + The EFI system partition at %1 will be used for starting %2. قسم النّظام EFI على %1 سيُستخدم لبدء %2. - + EFI system partition: قسم نظام EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. لا يبدو أن في جهاز التّخزين أيّ نظام تشغيل. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>مسح القرص</strong><br/>هذا س<font color="red">يمسح</font> كلّ البيانات الموجودة في جهاز التّخزين المحدّد. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. على جهاز التّخزين %1. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>ثبّت جنبًا إلى جنب</strong><br/>سيقلّص المثبّت قسمًا لتفريغ مساحة لِ‍ %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>استبدل قسمًا</strong><br/>يستبدل قسمًا مع %1 . - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. على جهاز التّخزين هذا نظام تشغيل ذأصلًا. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. على جهاز التّخزين هذا عدّة أنظمة تشغيل. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script سكربت @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... جاري جمع معلومات عن النظام... - + Partitions الأقسام - + Install %1 <strong>alongside</strong> another operating system. ثبّت %1 <strong>جنبًا إلى جنب</strong> مع نظام تشغيل آخر. - + <strong>Erase</strong> disk and install %1. <strong>امسح</strong> القرص وثبّت %1. - + <strong>Replace</strong> a partition with %1. <strong>استبدل</strong> قسمًا ب‍ %1. - + <strong>Manual</strong> partitioning. تقسيم <strong>يدويّ</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>امسح</strong> القرص <strong>%2</strong> (%3) وثبّت %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>استبدل</strong> قسمًا على القرص <strong>%2</strong> (%3) ب‍ %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: الحاليّ: - + After: بعد: - + No EFI system partition configured لم يُضبط أيّ قسم نظام EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set راية قسم نظام EFI غير مضبوطة - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. معاملات نداء المهمة سيّئة. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome مرحبا بك diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index a559906a3..f3a613d35 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record de %1 - + Boot Partition Partición d'arrinque - + System Partition Partición del sistema - + Do not install a boot loader Nenyures - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Ferramientes - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Información de la depuración @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalación @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Execución del comandu %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Executando'l comandu %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Esperando por %n móduluEsperando por %n módulos - + (%n second(s)) (%n segundu)(%n segundos) - + System-requirements checking is complete. Completóse la comprobación de los requirimientos del sistema. @@ -217,25 +232,25 @@ - + &Next &Siguiente - + &Cancel &Encaboxar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Encaboxa la instalación ensin camudar el sistema. @@ -260,66 +275,66 @@ <br/>Nun pudieron cargase los módulos de darréu: - + Continue with installation? ¿Siguir cola instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa d'instalación de %1 ta a piques de facer cambeos nel discu pa configurar %2.<br/><strong>Nun vas ser a desfacer estos cambeos.<strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. Completóse la configuración. Zarra'l programa de configuración. - + Cancel setup? ¿Encaboxar la configuración? - + Cancel installation? ¿Encaboxar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual de configuración? El programa de configuración va colar y van perdese tolos cambeos. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual d'instalación? L'instalador va colar y van perdese tolos cambeos. - + &Yes &Sí - + &No &Non @@ -329,32 +344,32 @@ L'instalador va colar y van perdese tolos cambeos. &Zarrar - + Continue with setup? ¿Siguir cola instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instalador de %1 ta a piques de facer cambeos nel discu pa instalar %2.<br/><strong>Nun vas ser a desfacer esos cambeos.</strong> - + &Install now &Instalar agora - + Go &back Dir p'&atrás - + &Done &Fecho - + The installation is complete. Close the installer. Completóse la instalación. Zarra l'instalador. @@ -395,17 +410,17 @@ L'instalador va colar y van perdese tolos cambeos. CalamaresWindow - + %1 Setup Program - + %1 Installer Instalador de %1 - + Show debug information Amosar la depuración @@ -436,7 +451,7 @@ L'instalador va colar y van perdese tolos cambeos. <strong>Particionáu manual</strong><br/>Vas poder crear o redimensionar particiones. - + Boot loader location: Allugamientu del xestor d'arrinque: @@ -448,8 +463,8 @@ L'instalador va colar y van perdese tolos cambeos. - - + + Current: Anguaño: @@ -464,96 +479,96 @@ L'instalador va colar y van perdese tolos cambeos. <strong>Esbilla una partición a redimensionar, dempués arrastra la barra baxera pa facelo</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Esbilla una partición na qu'instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nun pudo alcontrase per nenyures una partición del sistema EFI. Volvi p'atrás y usa'l particionáu manual pa configurar %1, por favor. - + The EFI system partition at %1 will be used for starting %2. La partición del sistema EFI en %1 va usase p'aniciar %2. - + EFI system partition: Partición del sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu nun paez que tenga un sistema operativu nelli. ¿Qué te prestaría facer?<br/>Vas ser a revisar y confirmar lo qu'escueyas enantes de que se faiga cualesquier cambéu nel preséu d'almacenamientu. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Desaniciu d'un discu</strong><br/>Esto va <font color="red">desaniciar</font> tolos datos presentes nel preséu d'almacenamientu esbilláu. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu tien %1 nelli. ¿Qué te prestaría facer?<br/>Vas ser a revisar y confirmar lo qu'escueyas enantes de que se faiga cualesquier cambéu nel preséu d'almacenamientu. - + No Swap Ensin intercambéu - + Reuse Swap Reusar un intercambéu - + Swap (no Hibernate) Intercambéu (ensin ivernación) - + Swap (with Hibernate) Intercambéu (con ivernación) - + Swap to file Intercambéu nun ficheru - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalación anexa</strong><br/>L'instalador va redimensionar una partición pa dexar sitiu a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Troquéu d'una partición</strong><br/>Troca una parción con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu yá tien un sistema operativu nelli. ¿Qué te prestaría facer?<br/>Vas ser a revisar y confirmar lo qu'escueyas enantes de que se faiga cualesquier cambéu nel preséu d'almacenamientu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu tien varios sistemes operativos nelli. ¿Qué te prestaría facer?<br/>Vas ser a revisar y confirmar lo qu'escueyas enantes de que se faiga cualesquier cambéu nel preséu d'almacenamientu. @@ -1125,12 +1140,12 @@ L'instalador va colar y van perdese tolos cambeos. <html><head/><body><p>Cuando se conseña esti caxellu, el sistema va reaniciase nel intre cuando calques en <span style="font-style:italic;">Fecho</span> o zarres l'instalador.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Falló la configuración</h1><br/>%1 nun se configuró nel ordenador.<br/>El mensaxe de fallu foi: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Falló la instalación</h1><br/>%1 nun s'instaló nel ordenador.<br/>El mensaxe de fallu foi: %2. @@ -1296,7 +1311,7 @@ L'instalador va colar y van perdese tolos cambeos. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ L'instalador va colar y van perdese tolos cambeos. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2039,107 +2054,107 @@ L'instalador va colar y van perdese tolos cambeos. PartitionViewStep - + Gathering system information... Recoyendo la información del sistema... - + Partitions Particiones - + Install %1 <strong>alongside</strong> another operating system. Va instalase %1 <strong>xunto a</strong> otru sistema operativu. - + <strong>Erase</strong> disk and install %1. <strong>Va desaniciase</strong>'l discu y va instalase %1. - + <strong>Replace</strong> a partition with %1. <strong>Va trocase</strong> una partición con %1. - + <strong>Manual</strong> partitioning. Particionáu <strong>manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Va instalase %1 <strong>xunto a</strong> otru sistema operativu nel discu <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Va desaniciase</strong>'l discu <strong>%2</strong> (%3) y va instalase %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Va trocase</strong> una partición nel discu <strong>%2</strong> (%3) con %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particionáu <strong>manual</strong> nel discu <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Discu <strong>%1</strong> (%2) - + Current: Anguaño: - + After: Dempués: - + No EFI system partition configured Nun se configuró denguna partición del sistema EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Precísase una partición del sistema EFI p'aniciar %1. <br/><br/>Pa configurar una, volvi atrás y esbilla o crea un sistema de ficheros en FAT32 cola bandera <strong>esp</strong> activada y el puntu de montaxe <strong>%2</strong>.<br/><br/>Pues siguir ensin configurar una partición del sistema EFI pero el sistema fallaría al aniciase. - + EFI system partition flag not set Nun s'afitó la bandera del sistema EFI - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Precísase una partición del sistema EFI p'aniciar %1.<br/><br/>Configuróse una partición col puntu de montaxe <strong>%2</strong> pero nun s'afitó la bandera <strong>esp</strong>. Pa facelo, volvi p'atrás y edita la partición.<br/><br/>Pues siguir ensin afitar esa bandera pero'l sistema fallaría al aniciar. - + Boot partition not encrypted La partición d'arrinque nun ta cifrada - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Configuróse una partición d'arrinque xunto con una partición raigañu cifrada pero la partición d'arrinque nun ta cifrada.<br/><br/>Hai problemes de seguranza con esta triba de configuración porque los ficheros importantes del sistema caltiénense nuna partición ensin cifrar.<br/>Podríes siguir si quixeres pero'l desbloquéu del sistema de ficheros va asoceder más sero nel aniciu del sistema.<br/>Pa cifrar la partición raigañu, volvi p'atrás y recreala esbillando <strong>Cifrar</strong> na ventana de creación de particiones. - + has at least one disk device available. tien polo menos un preséu con espaciu disponible en discu - + There are no partitons to install on. Nun hai particiones onde instalar. @@ -2205,14 +2220,14 @@ L'instalador va colar y van perdese tolos cambeos. ProcessResult - + There was no output from the command. El comandu nun produxo denguna salida. - + Output: @@ -2221,52 +2236,52 @@ Salida: - + External command crashed. El comandu esternu cascó. - + Command <i>%1</i> crashed. El comandu <i>%1</i> cascó. - + External command failed to start. El comandu esternu falló al aniciar. - + Command <i>%1</i> failed to start. El comandu <i>%1</i> falló al aniciar. - + Internal error when starting command. Fallu internu al aniciar el comandu. - + Bad parameters for process job call. Los parámetros son incorreutos pa la llamada del trabayu de procesos. - + External command failed to finish. El comandu esternu finó al finar. - + Command <i>%1</i> failed to finish in %2 seconds. El comandu <i>%1</i> falló al finar en %2 segundos. - + External command finished with errors. El comandu esternu finó con fallos. - + Command <i>%1</i> finished with exit code %2. El comandu <i>%1</i> finó col códigu de salida %2. @@ -2320,7 +2335,7 @@ Salida: Completóse la comprobación de requirimientos del módulu <i>%1</i> - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Salida: WelcomeViewStep - + Welcome Acoyida diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 7215913ff..4fe3c6da9 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index b741be71f..b69a56a67 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Сектор за начално зареждане на %1 - + Boot Partition Дял за начално зареждане - + System Partition Системен дял - + Do not install a boot loader Не инсталирай програма за начално зареждане - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Инструменти - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Информация за отстраняване на грешки @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Инсталирай @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Изпълни команда %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Изпълняване на команда %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Напред - + &Cancel &Отказ - + Cancel setup without changing the system. - + Cancel installation without changing the system. Отказ от инсталацията без промяна на системата. @@ -260,65 +275,65 @@ <br/>Следните модули не могат да се заредят: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Инсталирай - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отмяна на инсталацията? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Наистина ли искате да отмените текущият процес на инсталиране? Инсталатора ще прекъсне и всичките промени ще бъдат загубени. - + &Yes &Да - + &No &Не @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. &Затвори - + Continue with setup? Продължаване? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Инсталатора на %1 ще направи промени по вашия диск за да инсталира %2. <br><strong>Промените ще бъдат окончателни.</strong> - + &Install now &Инсталирай сега - + Go &back В&ръщане - + &Done &Готово - + The installation is complete. Close the installer. Инсталацията е завършена. Затворете инсталаторa. @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Инсталатор - + Show debug information Покажи информация за отстраняване на грешки @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>Самостоятелно поделяне</strong><br/>Можете да създадете или преоразмерите дяловете сами. - + Boot loader location: Локация на програмата за начално зареждане: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: Сегашен: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. <strong>Изберете дял за смаляване, после влачете долната лента за преоразмеряване</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Изберете дял за инсталацията</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI системен дял не е намерен. Моля, опитайте пак като използвате ръчно поделяне за %1. - + The EFI system partition at %1 will be used for starting %2. EFI системен дял в %1 ще бъде използван за стартиране на %2. - + EFI system partition: EFI системен дял: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение няма инсталирана операционна система. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Изтриване на диска</strong><br/>Това ще <font color="red">изтрие</font> всички данни върху устройството за съхранение. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение има инсталиран %1. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Инсталирайте покрай</strong><br/>Инсталатора ще раздроби дяла за да направи място за %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Замени дял</strong><br/>Заменя този дял с %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение има инсталирана операционна система. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение има инсталирани операционни системи. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Инсталацията е неуспешна</h1><br/>%1 не е инсталиран на Вашия компютър.<br/>Съобщението с грешката е: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Скрипт @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... Събиране на системна информация... - + Partitions Дялове - + Install %1 <strong>alongside</strong> another operating system. Инсталирай %1 <strong>заедно</strong> с друга операционна система. - + <strong>Erase</strong> disk and install %1. <strong>Изтрий</strong> диска и инсталирай %1. - + <strong>Replace</strong> a partition with %1. <strong>Замени</strong> дял с %1. - + <strong>Manual</strong> partitioning. <strong>Ръчно</strong> поделяне. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Инсталирай %1 <strong>заедно</strong> с друга операционна система на диск <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Изтрий</strong> диск <strong>%2</strong> (%3) и инсталирай %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Замени</strong> дял на диск <strong>%2</strong> (%3) с %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Ръчно</strong> поделяне на диск <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Диск <strong>%1</strong> (%2) - + Current: Сегашен: - + After: След: - + No EFI system partition configured Няма конфигуриран EFI системен дял - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. EFI системен дял е нужен за стартиране на %1.<br/><br/>За настройка на EFI системен дял се върнете назад и изберете или създайте FAT32 файлова система с включен <strong>esp</strong> флаг и точка на монтиране <strong>%2</strong>.<br/><br/>Може да продължите без EFI системен дял, но системата може да не успее да стартира. - + EFI system partition flag not set Не е зададен флаг на EFI системен дял - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. EFI системен дял е нужен за стартиране на %1.<br/><br/>Дялът беше конфигуриран с точка на монтиране <strong>%2</strong>, но неговия <strong>esp</strong> флаг не е включен.<br/>За да включите флага се върнете назад и редактирайте дяла.<br/><br/>Може да продължите без флага, но системата може да не успее да стартира. - + Boot partition not encrypted Липсва криптиране на дял за начално зареждане - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,13 +2219,13 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: @@ -2219,52 +2234,52 @@ Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Невалидни параметри за извикване на задача за процес. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2318,7 +2333,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3138,7 +3153,7 @@ Output: WelcomeViewStep - + Welcome Добре дошли diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index c31cde6d6..4ec35d289 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Registre d'inici mestre (MBR) de %1 - + Boot Partition Partició d'arrencada - + System Partition Partició del sistema - + Do not install a boot loader No instal·lis cap gestor d'arrencada - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Eines - + + Reload Stylesheet + Torna a carregar el full d’estil + + + + Widget Tree + Arbre de ginys + + + Debug information Informació de depuració @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configuració - + Install Instal·la @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Executa l'ordre %1 %2 + + Run command '%1' in target system. + Executa l'ordre "%1" al sistema de destinació. - + + Run command '%1'. + Executa l'ordre "%1". + + + Running command %1 %2 S'executa l'ordre %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). S'espera %n mòdul.S'esperen %n mòduls. - + (%n second(s)) (%n segon)(%n segons) - + System-requirements checking is complete. S'ha completat la comprovació dels requeriments del sistema. @@ -217,25 +232,25 @@ - + &Next &Següent - + &Cancel &Cancel·la - + Cancel setup without changing the system. Cancel·la la configuració sense canviar el sistema. - + Cancel installation without changing the system. Cancel·leu la instal·lació sense canviar el sistema. @@ -260,66 +275,66 @@ <br/>No s'han pogut carregar els mòduls següents: - + Continue with installation? Voleu continuar la instal·lació? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa de configuració %1 està a punt de fer canvis al disc per tal de configurar %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Set up now Con&figura-ho ara - + &Set up Con&figura-ho - + &Install &Instal·la - + Setup is complete. Close the setup program. La configuració s'ha acabat. Tanqueu el programa de configuració. - + Cancel setup? Voleu cancel·lar la configuració? - + Cancel installation? Cancel·lar la instal·lació? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Realment voleu cancel·lar el procés de configuració actual? El programa de configuració es tancarà i es perdran tots els canvis. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voleu cancel·lar el procés d'instal·lació actual? L'instal·lador es tancarà i tots els canvis es perdran. - + &Yes &Sí - + &No &No @@ -329,32 +344,32 @@ L'instal·lador es tancarà i tots els canvis es perdran. Tan&ca - + Continue with setup? Voleu continuar la configuració? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instal·lador de %1 està a punt de fer canvis al disc per tal d'instal·lar-hi %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Install now &Instal·la ara - + Go &back Ves &enrere - + &Done &Fet - + The installation is complete. Close the installer. La instal·lació s'ha acabat. Tanqueu l'instal·lador. @@ -395,17 +410,17 @@ L'instal·lador es tancarà i tots els canvis es perdran. CalamaresWindow - + %1 Setup Program Programa de configuració %1 - + %1 Installer Instal·lador de %1 - + Show debug information Mostra la informació de depuració @@ -436,7 +451,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. <strong>Particions manuals</strong><br/>Podeu crear o canviar la mida de les particions vosaltres mateixos. - + Boot loader location: Ubicació del gestor d'arrencada: @@ -448,8 +463,8 @@ L'instal·lador es tancarà i tots els canvis es perdran. - - + + Current: Actual: @@ -464,96 +479,96 @@ L'instal·lador es tancarà i tots els canvis es perdran. <strong>Seleccioneu una partició per encongir i arrossegueu-la per redimensinar-la</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 s'encongirà a %2 MiB i es crearà una partició nova de %3 MB per a %4. - + <strong>Select a partition to install on</strong> <strong>Seleccioneu una partició per fer-hi la instal·lació</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. No s'ha pogut trobar enlloc una partició EFI en aquest sistema. Si us plau, torneu enrere i use les particions manuals per configurar %1. - + The EFI system partition at %1 will be used for starting %2. La partició EFI de sistema a %1 s'usarà per iniciar %2. - + EFI system partition: Partició EFI del sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge no sembla que tingui un sistema operatiu. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Esborra el disc</strong><br/>Això <font color="red">suprimirà</font> totes les dades del dispositiu seleccionat. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge té %1. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. - + No Swap Sense intercanvi - + Reuse Swap Reutilitza l'intercanvi - + Swap (no Hibernate) Intercanvi (sense hibernació) - + Swap (with Hibernate) Intercanvi (amb hibernació) - + Swap to file Intercanvi en fitxer - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instal·la al costat</strong><br/>L'instal·lador reduirà una partició per fer espai per a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Reemplaça una partició</strong><br/>Reemplaça una partició per %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge ja té un sistema operatiu. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge ja múltiples sistemes operatius. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. @@ -1125,12 +1140,12 @@ L'instal·lador es tancarà i tots els canvis es perdran. <html><head/><body><p>Quan aquesta casella està marcada, el sistema es reiniciarà immediatament quan cliqueu a <span style=" font-style:italic;">Fet</span> o tanqueu l'instal·lador.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>La configuració ha fallat</h1><br/>No s'ha configurat %1 a l'ordinador.<br/>El missatge d'error ha estat el següent: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>La instal·lació ha fallat</h1><br/>No s'ha instal·lat %1 a l'ordinador.<br/>El missatge d'error ha estat el següent: %2. @@ -1296,7 +1311,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ L'instal·lador es tancarà i tots els canvis es perdran. OEMViewStep - + OEM Configuration Configuració d'OEM - + Set the OEM Batch Identifier to <code>%1</code>. Estableix l'identificador de lots d'OEM a<code>%1</code>. @@ -2039,107 +2054,107 @@ L'instal·lador es tancarà i tots els canvis es perdran. PartitionViewStep - + Gathering system information... Es recopila informació del sistema... - + Partitions Particions - + Install %1 <strong>alongside</strong> another operating system. Instal·la %1 <strong>al costat</strong> d'un altre sistema operatiu. - + <strong>Erase</strong> disk and install %1. <strong>Esborra</strong> el disc i instal·la-hi %1. - + <strong>Replace</strong> a partition with %1. <strong>Reemplaça</strong> una partició amb %1. - + <strong>Manual</strong> partitioning. Particions <strong>manuals</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instal·la %1 <strong>al costat</strong> d'un altre sistema operatiu al disc <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Esborra</strong> el disc <strong>%2</strong> (%3) i instal·la-hi %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Reemplaça</strong> una partició del disc <strong>%2</strong> (%3) amb %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particions <strong>manuals</strong> del disc <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disc <strong>%1</strong> (%2) - + Current: Actual: - + After: Després: - + No EFI system partition configured No hi ha cap partició EFI de sistema configurada - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Cal una partició EFI de sistema per iniciar %1. <br/><br/>Per configurar una partició EFI de sistema, torneu enrere i seleccioneu o creeu un sistema de fitxers FAT32 amb la bandera <strong>esp</strong> habilitada i el punt de muntatge <strong>%2</strong>. <br/><br/>Podeu continuar sense la creació d'una partició EFI de sistema, però el sistema podria no iniciar-se. - + EFI system partition flag not set No s'ha establert la bandera de la partició EFI del sistema - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Cal una partició EFI de sistema per iniciar %1. <br/><br/> Ja s'ha configurat una partició amb el punt de muntatge <strong>%2</strong> però no se n'ha establert la bandera <strong>esp</strong>. Per establir-la-hi, torneu enrere i editeu la partició. <br/><br/>Podeu continuar sense establir la bandera, però el sistema podria no iniciar-se. - + Boot partition not encrypted Partició d'arrencada sense encriptar - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. S'ha establert una partició d'arrencada separada conjuntament amb una partició d'arrel encriptada, però la partició d'arrencada no està encriptada.<br/><br/>Hi ha assumptes de seguretat amb aquest tipus de configuració, perquè hi ha fitxers del sistema importants en una partició no encriptada.<br/>Podeu continuar, si així ho desitgeu, però el desbloqueig del sistema de fitxers succeirà després, durant l'inici del sistema.<br/>Per encriptar la partició d'arrencada, torneu enrere i torneu-la a crear seleccionant <strong>Encripta</strong> a la finestra de creació de la partició. - + has at least one disk device available. tingui com a mínim un dispositiu de disc disponible. - + There are no partitons to install on. No hi ha cap partició per fer-hi la instal·lació. @@ -2205,14 +2220,14 @@ L'instal·lador es tancarà i tots els canvis es perdran. ProcessResult - + There was no output from the command. No hi ha hagut sortida de l'ordre. - + Output: @@ -2221,52 +2236,52 @@ Sortida: - + External command crashed. L'ordre externa ha fallat. - + Command <i>%1</i> crashed. L'ordre <i>%1</i> ha fallat. - + External command failed to start. L'ordre externa no s'ha pogut iniciar. - + Command <i>%1</i> failed to start. L'ordre <i>%1</i> no s'ha pogut iniciar. - + Internal error when starting command. Error intern en iniciar l'ordre. - + Bad parameters for process job call. Paràmetres incorrectes per a la crida de la tasca del procés. - + External command failed to finish. L'ordre externa no ha acabat correctament. - + Command <i>%1</i> failed to finish in %2 seconds. L'ordre <i>%1</i> no ha pogut acabar en %2 segons. - + External command finished with errors. L'ordre externa ha acabat amb errors. - + Command <i>%1</i> finished with exit code %2. L'ordre <i>%1</i> ha acabat amb el codi de sortida %2. @@ -2320,7 +2335,7 @@ Sortida: S'ha completat la comprovació dels requeriments per al mòdul <i>%1</i>. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Sortida: WelcomeViewStep - + Welcome Benvinguda diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index e738a9628..f3a9b1166 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index cada5548e..058848a3f 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Hlavní zaváděcí záznam (MBR) na %1 - + Boot Partition Zaváděcí oddíl - + System Partition Systémový oddíl - + Do not install a boot loader Neinstalovat zavaděč systému - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Nástroje - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Ladící informace @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Nastavit - + Install Instalovat @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Spustit příkaz %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Spouštění příkazu %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čeká se na %n modulČeká se na %n modulyČeká se na %n modulůČeká se na %n moduly - + (%n second(s)) (%n sekundu)(%n sekundy)(%n sekund)(%n sekundy) - + System-requirements checking is complete. Kontrola požadavků na systém dokončena. @@ -217,25 +232,25 @@ - + &Next &Další - + &Cancel &Storno - + Cancel setup without changing the system. Zrušit nastavení bez změny v systému. - + Cancel installation without changing the system. Zrušení instalace bez provedení změn systému. @@ -260,66 +275,66 @@ <br/> Následující moduly se nepodařilo načíst: - + Continue with installation? Pokračovat v instalaci? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Set up now Na&stavit nyní - + &Set up Na&stavit - + &Install Na&instalovat - + Setup is complete. Close the setup program. Nastavení je dokončeno. Ukončete nastavovací program. - + Cancel setup? Zrušit nastavování? - + Cancel installation? Přerušit instalaci? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Opravdu chcete přerušit instalaci? Instalační program bude ukončen a všechny změny ztraceny. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Opravdu chcete instalaci přerušit? Instalační program bude ukončen a všechny změny ztraceny. - + &Yes &Ano - + &No &Ne @@ -329,32 +344,32 @@ Instalační program bude ukončen a všechny změny ztraceny. &Zavřít - + Continue with setup? Pokračovat s instalací? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Install now &Spustit instalaci - + Go &back Jít &zpět - + &Done &Hotovo - + The installation is complete. Close the installer. Instalace je dokončena. Ukončete instalátor. @@ -395,17 +410,17 @@ Instalační program bude ukončen a všechny změny ztraceny. CalamaresWindow - + %1 Setup Program Instalátor %1 - + %1 Installer %1 instalátor - + Show debug information Zobrazit ladící informace @@ -436,7 +451,7 @@ Instalační program bude ukončen a všechny změny ztraceny. <strong>Ruční rozdělení datového úložiště</strong><br/>Sami si můžete vytvořit vytvořit nebo zvětšit/zmenšit oddíly. - + Boot loader location: Umístění zavaděče: @@ -448,8 +463,8 @@ Instalační program bude ukončen a všechny změny ztraceny. - - + + Current: Stávající: @@ -464,96 +479,96 @@ Instalační program bude ukončen a všechny změny ztraceny. <strong>Vyberte oddíl, který chcete zmenšit, poté posouváním na spodní liště změňte jeho velikost.</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 bude zmenšen na %2MiB a nový %3MiB oddíl pro %4 bude vytvořen. - + <strong>Select a partition to install on</strong> <strong>Vyberte oddíl na který nainstalovat</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nebyl nalezen žádný EFI systémový oddíl. Vraťte se zpět a nastavte %1 pomocí ručního rozdělení. - + The EFI system partition at %1 will be used for starting %2. Pro zavedení %2 se využije EFI systémový oddíl %1. - + EFI system partition: EFI systémový oddíl: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Zdá se, že na tomto úložném zařízení není žádný operační systém. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled a budete požádáni o jejich potvrzení. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Vymazat datové úložiště</strong><br/>Touto volbou budou <font color="red">smazána</font> všechna data, která se na něm nyní nacházejí. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Na tomto úložném zařízení bylo nalezeno %1. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled a budete požádáni o jejich potvrzení. - + No Swap Žádný odkládací prostor (swap) - + Reuse Swap Použít existující odkládací prostor - + Swap (no Hibernate) Odkládací prostor (bez uspávání na disk) - + Swap (with Hibernate) Odkládací prostor (s uspáváním na disk) - + Swap to file Odkládat do souboru - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Nainstalovat vedle</strong><br/>Instalátor zmenší oddíl a vytvoří místo pro %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Nahradit oddíl</strong><br/>Původní oddíl bude nahrazen %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Na tomto úložném zařízení se už nachází operační systém. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled a budete požádáni o jejich potvrzení. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Na tomto úložném zařízení se už nachází několik operačních systémů. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled změn a budete požádáni o jejich potvrzení. @@ -1125,12 +1140,12 @@ Instalační program bude ukončen a všechny změny ztraceny. <html><head/><body><p>Když je tato kolonka zaškrtnutá, systém se restartuje jakmile kliknete na <span style="font-style:italic;">Hotovo</span> nebo zavřete instalátor.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Instalace se nezdařila</h1><br/>%1 nebyl instalován na váš počítač.<br/>Hlášení o chybě: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalace se nezdařila</h1><br/>%1 nebylo nainstalováno na váš počítač.<br/>Hlášení o chybě: %2. @@ -1296,7 +1311,7 @@ Instalační program bude ukončen a všechny změny ztraceny. InteractiveTerminalViewStep - + Script Skript @@ -1550,12 +1565,12 @@ Instalační program bude ukončen a všechny změny ztraceny. OEMViewStep - + OEM Configuration Nastavení pro OEM - + Set the OEM Batch Identifier to <code>%1</code>. Nastavit identifikátor OEM série na <code>%1</code>. @@ -2039,107 +2054,107 @@ Instalační program bude ukončen a všechny změny ztraceny. PartitionViewStep - + Gathering system information... Shromažďování informací o systému… - + Partitions Oddíly - + Install %1 <strong>alongside</strong> another operating system. Nainstalovat %1 <strong>vedle</strong> dalšího operačního systému. - + <strong>Erase</strong> disk and install %1. <strong>Smazat</strong> obsah jednotky a nainstalovat %1. - + <strong>Replace</strong> a partition with %1. <strong>Nahradit</strong> oddíl %1. - + <strong>Manual</strong> partitioning. <strong>Ruční</strong> dělení úložiště. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Nainstalovat %1 <strong>vedle</strong> dalšího operačního systému na disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Vymazat</strong> obsah jednotky <strong>%2</strong> (%3) a nainstalovat %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Nahradit</strong> oddíl na jednotce <strong>%2</strong> (%3) %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Ruční</strong> dělení jednotky <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Jednotka <strong>%1</strong> (%2) - + Current: Stávající: - + After: Potom: - + No EFI system partition configured Není nastavený žádný EFI systémový oddíl - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Pro spuštění %1 je potřeba EFI systémový oddíl.<br/><br/>Pro nastavení EFI systémového oddílu se vraťte zpět a vyberte nebo vytvořte oddíl typu FAT32 s příznakem <strong>esp</strong> a přípojným bodem <strong>%2</strong>.<br/><br/>Je možné pokračovat bez nastavení EFI systémového oddílu, ale systém nemusí jít spustit. - + EFI system partition flag not set Příznak EFI systémového oddílu není nastavený - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Pro spuštění %1 je potřeba EFI systémový oddíl.<br/><br/>Byl nastaven oddíl s přípojným bodem <strong>%2</strong> ale nemá nastaven příznak <strong>esp</strong>.<br/>Pro nastavení příznaku se vraťte zpět a upravte oddíl.<br/><br/>Je možné pokračovat bez nastavení příznaku, ale systém nemusí jít spustit. - + Boot partition not encrypted Zaváděcí oddíl není šifrován - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Kromě šifrovaného kořenového oddílu byl vytvořen i nešifrovaný oddíl zavaděče.<br/><br/>To by mohl být bezpečnostní problém, protože na nešifrovaném oddílu jsou důležité soubory systému.<br/>Pokud chcete, můžete pokračovat, ale odemykání souborového systému bude probíhat později při startu systému.<br/>Pro zašifrování oddílu zavaděče se vraťte a vytvořte ho vybráním možnosti <strong>Šifrovat</strong> v okně při vytváření oddílu. - + has at least one disk device available. má k dispozici alespoň jedno zařízení pro ukládání dat. - + There are no partitons to install on. Nejsou zde žádné oddíly na které by se dalo nainstalovat. @@ -2205,14 +2220,14 @@ Instalační program bude ukončen a všechny změny ztraceny. ProcessResult - + There was no output from the command. Příkaz neposkytl žádný výstup. - + Output: @@ -2221,52 +2236,52 @@ Výstup: - + External command crashed. Vnější příkaz byl neočekávaně ukončen. - + Command <i>%1</i> crashed. Příkaz <i>%1</i> byl neočekávaně ukončen. - + External command failed to start. Vnější příkaz se nepodařilo spustit. - + Command <i>%1</i> failed to start. Příkaz <i>%1</i> se nepodařilo spustit. - + Internal error when starting command. Vnitřní chyba při spouštění příkazu. - + Bad parameters for process job call. Chybné parametry volání úlohy procesu. - + External command failed to finish. Vnější příkaz se nepodařilo dokončit. - + Command <i>%1</i> failed to finish in %2 seconds. Příkaz <i>%1</i> se nepodařilo dokončit do %2 sekund. - + External command finished with errors. Vnější příkaz skončil s chybami. - + Command <i>%1</i> finished with exit code %2. Příkaz <i>%1</i> skončil s návratovým kódem %2. @@ -2320,7 +2335,7 @@ Výstup: Kontrola požadavků pro modul <i>%1</i> dokončena. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Výstup: WelcomeViewStep - + Welcome Vítejte diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index ad5f7cf6b..b302208c3 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record af %1 - + Boot Partition Bootpartition - + System Partition Systempartition - + Do not install a boot loader Installér ikke en bootloader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Værktøjer - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Fejlretningsinformation @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Sæt op - + Install Installation @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Kør kommando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Kører kommando %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Venter på %n modul.Venter på %n moduler. - + (%n second(s)) (%n sekund)(%n sekunder) - + System-requirements checking is complete. Tjek af systemkrav er fuldført. @@ -217,25 +232,25 @@ - + &Next &Næste - + &Cancel &Annullér - + Cancel setup without changing the system. Annullér opsætningen uden at ændre systemet. - + Cancel installation without changing the system. Annullér installation uden at ændre systemet. @@ -260,66 +275,66 @@ <br/>Følgende moduler kunne ikke indlæses: - + Continue with installation? Fortsæt installationen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1-opsætningsprogrammet er ved at foretage ændringer til din disk for at opsætte %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Set up now &Sæt op nu - + &Set up &Sæt op - + &Install &Installér - + Setup is complete. Close the setup program. Opsætningen er fuldført. Luk opsætningsprogrammet. - + Cancel setup? Annullér opsætningen? - + Cancel installation? Annullér installationen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Vil du virkelig annullere den igangværende opsætningsproces? Opsætningsprogrammet vil stoppe og alle ændringer vil gå tabt. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig annullere den igangværende installationsproces? Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - + &Yes &Ja - + &No &Nej @@ -329,32 +344,32 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.&Luk - + Continue with setup? Fortsæt med opsætningen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Install now &Installér nu - + Go &back Gå &tilbage - + &Done &Færdig - + The installation is complete. Close the installer. Installationen er fuldført. Luk installationsprogrammet. @@ -395,17 +410,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. CalamaresWindow - + %1 Setup Program %1-opsætningsprogram - + %1 Installer %1-installationsprogram - + Show debug information Vis fejlretningsinformation @@ -436,7 +451,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.<strong>Manuel partitionering</strong><br/>Du kan selv oprette og ændre størrelse på partitioner. - + Boot loader location: Placering af bootloader: @@ -448,8 +463,8 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - - + + Current: Nuværende: @@ -464,96 +479,96 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.<strong>Vælg en partition der skal mindskes, træk herefter den nederste bjælke for at ændre størrelsen</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 vil blive skrumpet til %2 MiB og en ny %3 MiB partition vil blive oprettet for %4. - + <strong>Select a partition to install on</strong> <strong>Vælg en partition at installere på</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. En EFI-partition blev ikke fundet på systemet. Gå venligst tilbage og brug manuel partitionering til at opsætte %1. - + The EFI system partition at %1 will be used for starting %2. EFI-systempartitionen ved %1 vil blive brugt til at starte %2. - + EFI system partition: EFI-systempartition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Lagerenheden ser ikke ud til at indeholde et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Slet disk</strong><br/>Det vil <font color="red">slette</font> alt data på den valgte lagerenhed. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Lagerenheden har %1 på sig. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før det sker ændringer til lagerenheden. - + No Swap Ingen swap - + Reuse Swap Genbrug swap - + Swap (no Hibernate) Swap (ingen dvale) - + Swap (with Hibernate) Swap (med dvale) - + Swap to file Swap til fil - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installér ved siden af</strong><br/>Installationsprogrammet vil mindske en partition for at gøre plads til %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Erstat en partition</strong><br/>Erstatter en partition med %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Lagerenheden indeholder allerede et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Lagerenheden indeholder flere styresystemer. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. @@ -1125,12 +1140,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.<html><head/><body><p>Når boksen er tilvalgt, vil dit system genstarte med det samme når du klikker på <span style="font-style:italic;">Færdig</span> eller lukker installationsprogrammet.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Opsætningen mislykkede</h1><br/>%1 er ikke blevet sat op på din computer.<br/>Fejlmeddelelsen var: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installation mislykkede</h1><br/>%1 er ikke blevet installeret på din computer.<br/>Fejlmeddelelsen var: %2. @@ -1296,7 +1311,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. InteractiveTerminalViewStep - + Script Skript @@ -1550,12 +1565,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. OEMViewStep - + OEM Configuration OEM-konfiguration - + Set the OEM Batch Identifier to <code>%1</code>. Indstil OEM-batchidentifikatoren til <code>%1</code>. @@ -2039,107 +2054,107 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. PartitionViewStep - + Gathering system information... Indsamler systeminformation ... - + Partitions Partitioner - + Install %1 <strong>alongside</strong> another operating system. Installér %1 <strong>ved siden af</strong> et andet styresystem. - + <strong>Erase</strong> disk and install %1. <strong>Slet</strong> disk og installér %1. - + <strong>Replace</strong> a partition with %1. <strong>Erstat</strong> en partition med %1. - + <strong>Manual</strong> partitioning. <strong>Manuel</strong> partitionering. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Installér %1 <strong>ved siden af</strong> et andet styresystem på disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Slet</strong> disk <strong>%2</strong> (%3) og installér %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Erstat</strong> en partition på disk <strong>%2</strong> (%3) med %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Manuel</strong> partitionering på disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Nuværende: - + After: Efter: - + No EFI system partition configured Der er ikke konfigureret nogen EFI-systempartition - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. En EFI-systempartition er nødvendig for at starte %1.<br/><br/>For at konfigurere en EFI-systempartition skal du gå tilbage og vælge eller oprette et FAT32-filsystem med <strong>esp</strong>-flaget aktiveret og monteringspunkt <strong>%2</strong>.<br/><br/>Du kan fortsætte uden at opsætte en EFI-systempartition, men dit system vil muligvis ikke kunne starte. - + EFI system partition flag not set EFI-systempartitionsflag ikke sat - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. En EFI-systempartition er nødvendig for at starte %1.<br/><br/>En partition var konfigureret med monteringspunkt <strong>%2</strong>, men dens <strong>esp</strong>-flag var ikke sat.<br/>For at sætte flaget skal du gå tilbage og redigere partitionen.<br/><br/>Du kan fortsætte uden at konfigurere flaget, men dit system vil muligvis ikke kunne starte. - + Boot partition not encrypted Bootpartition ikke krypteret - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. En separat bootpartition blev opsat sammen med en krypteret rodpartition, men bootpartitionen er ikke krypteret.<br/><br/>Der er sikkerhedsmæssige bekymringer med denne slags opsætning, da vigtige systemfiler er gemt på en ikke-krypteret partition.<br/>Du kan fortsætte hvis du vil, men oplåsning af filsystemet sker senere under systemets opstart.<br/>For at kryptere bootpartitionen skal du gå tilbage og oprette den igen, vælge <strong>Kryptér</strong> i partitionsoprettelsesvinduet. - + has at least one disk device available. har mindst én tilgængelig diskenhed. - + There are no partitons to install on. Der er ikke installeret nogen partitioner på den. @@ -2205,14 +2220,14 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. ProcessResult - + There was no output from the command. Der var ikke nogen output fra kommandoen. - + Output: @@ -2221,52 +2236,52 @@ Output: - + External command crashed. Ekstern kommando holdt op med at virke. - + Command <i>%1</i> crashed. Kommandoen <i>%1</i> holdte op med at virke. - + External command failed to start. Ekstern kommando kunne ikke starte. - + Command <i>%1</i> failed to start. Kommandoen <i>%1</i> kunne ikke starte. - + Internal error when starting command. Intern fejl ved start af kommando. - + Bad parameters for process job call. Ugyldige parametre til kald af procesjob. - + External command failed to finish. Ekstern kommando blev ikke færdig. - + Command <i>%1</i> failed to finish in %2 seconds. Kommandoen <i>%1</i> blev ikke færdig på %2 sekunder. - + External command finished with errors. Ekstern kommando blev færdig med fejl. - + Command <i>%1</i> finished with exit code %2. Kommandoen <i>%1</i> blev færdig med afslutningskoden %2. @@ -2320,7 +2335,7 @@ Output: Tjek at krav for modulet <i>%1</i> er fuldført. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Output: WelcomeViewStep - + Welcome Velkommen diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 919a4d03e..ce0435f95 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record von %1 - + Boot Partition Boot Partition - + System Partition Systempartition - + Do not install a boot loader Installiere keinen Bootloader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Werkzeuge - + + Reload Stylesheet + Stylesheet neu laden + + + + Widget Tree + Widget-Baum + + + Debug information Debug-Information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Einrichten - + Install Installieren @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Führe Befehl %1%2 aus + + Run command '%1' in target system. + Führen Sie den Befehl '%1' im Zielsystem aus. - + + Run command '%1'. + Führen Sie Befehl '%1' aus. + + + Running command %1 %2 Befehl %1 %2 wird ausgeführt @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Warten auf %n Modul.Warten auf %n Modul(e). - + (%n second(s)) (%n Sekunde)(%n Sekunde(n)) - + System-requirements checking is complete. Die Überprüfung der Systemvoraussetzungen ist abgeschlossen. @@ -217,25 +232,25 @@ - + &Next &Weiter - + &Cancel &Abbrechen - + Cancel setup without changing the system. Brechen Sie die Installation ab, ohne das System zu verändern. - + Cancel installation without changing the system. Installation abbrechen, ohne das System zu verändern. @@ -260,66 +275,66 @@ <br/>Die folgenden Module konnten nicht geladen werden: - + Continue with installation? Installation fortsetzen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm ist dabei, Änderungen an Ihrer Festplatte vorzunehmen, um %2 einzurichten.<br/><strong> Sie werden diese Änderungen nicht rückgängig machen können.</strong> - + &Set up now &Jetzt einrichten - + &Set up &Einrichten - + &Install &Installieren - + Setup is complete. Close the setup program. Setup ist abgeschlossen. Schließe das Installationsprogramm. - + Cancel setup? Installation abbrechen? - + Cancel installation? Installation abbrechen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + &Yes &Ja - + &No &Nein @@ -329,32 +344,32 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. &Schließen - + Continue with setup? Setup fortsetzen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm wird Änderungen an Ihrer Festplatte vornehmen, um %2 zu installieren.<br/><strong>Diese Änderungen können nicht rückgängig gemacht werden.</strong> - + &Install now Jetzt &installieren - + Go &back Gehe &zurück - + &Done &Erledigt - + The installation is complete. Close the installer. Die Installation ist abgeschlossen. Schließe das Installationsprogramm. @@ -395,17 +410,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. CalamaresWindow - + %1 Setup Program %1 Installationsprogramm - + %1 Installer %1 Installationsprogramm - + Show debug information Debug-Information anzeigen @@ -436,7 +451,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. <strong>Manuelle Partitionierung</strong><br/>Sie können Partitionen eigenhändig erstellen oder in der Grösse verändern. - + Boot loader location: Installationsziel des Bootloaders: @@ -448,8 +463,8 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - - + + Current: Aktuell: @@ -464,96 +479,96 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. <strong>Wählen Sie die zu verkleinernde Partition, dann ziehen Sie den Regler, um die Größe zu ändern</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 wird auf %2MiB verkleinert und eine neue Partition mit einer Größe von %3MiB wird für %4 erstellt werden. - + <strong>Select a partition to install on</strong> <strong>Wählen Sie eine Partition für die Installation</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Es wurde keine EFI-Systempartition auf diesem System gefunden. Bitte gehen Sie zurück und nutzen Sie die manuelle Partitionierung für das Einrichten von %1. - + The EFI system partition at %1 will be used for starting %2. Die EFI-Systempartition %1 wird benutzt, um %2 zu starten. - + EFI system partition: EFI-Systempartition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Auf diesem Speichermedium scheint kein Betriebssystem installiert zu sein. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen auf diesem Speichermedium vorgenommen werden. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Festplatte löschen</strong><br/>Dies wird alle vorhandenen Daten auf dem gewählten Speichermedium <font color="red">löschen</font>. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Auf diesem Speichermedium ist %1 installiert. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen an dem Speichermedium vorgenommen werden. - + No Swap Kein Swap - + Reuse Swap Swap wiederverwenden - + Swap (no Hibernate) Swap (ohne Ruhezustand) - + Swap (with Hibernate) Swap (mit Ruhezustand) - + Swap to file Swap in Datei - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Parallel dazu installieren</strong><br/>Das Installationsprogramm wird eine Partition verkleinern, um Platz für %1 zu schaffen. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ersetze eine Partition</strong><br/>Ersetzt eine Partition durch %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dieses Speichermedium enthält bereits ein Betriebssystem. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen an dem Speichermedium vorgenommen wird. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Auf diesem Speichermedium sind mehrere Betriebssysteme installiert. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen an dem Speichermedium vorgenommen werden. @@ -1125,12 +1140,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. <html><head/><body><p>Wenn diese Option aktiviert ist, genügt zum Neustart des Systems ein Klick auf <span style="font-style:italic;">Fertig</span> oder das Schließen des Installationsprogramms.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Installation fehlgeschlagen</h1><br/>%1 wurde nicht auf Ihrem Computer eingerichtet.<br/>Die Fehlermeldung war: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installation fehlgeschlagen</h1><br/>%1 wurde nicht auf deinem Computer installiert.<br/>Die Fehlermeldung lautet: %2. @@ -1296,7 +1311,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. InteractiveTerminalViewStep - + Script Skript @@ -1550,12 +1565,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. OEMViewStep - + OEM Configuration OEM-Konfiguration - + Set the OEM Batch Identifier to <code>%1</code>. Stellen Sie die OEM-Batch-Identifikation auf <code>%1</code>. @@ -2039,107 +2054,107 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. PartitionViewStep - + Gathering system information... Sammle Systeminformationen... - + Partitions Partitionen - + Install %1 <strong>alongside</strong> another operating system. Installiere %1 <strong>neben</strong> einem anderen Betriebssystem. - + <strong>Erase</strong> disk and install %1. <strong>Lösche</strong> Festplatte und installiere %1. - + <strong>Replace</strong> a partition with %1. <strong>Ersetze</strong> eine Partition durch %1. - + <strong>Manual</strong> partitioning. <strong>Manuelle</strong> Partitionierung. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). %1 <strong>parallel</strong> zu einem anderen Betriebssystem auf der Festplatte <strong>%2</strong> (%3) installieren. - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. Festplatte <strong>%2</strong> <strong>löschen</strong> (%3) und %1 installieren. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. Eine Partition auf Festplatte <strong>%2</strong> (%3) durch %1 <strong>ersetzen</strong>. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Manuelle</strong> Partitionierung auf Festplatte <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Festplatte <strong>%1</strong> (%2) - + Current: Aktuell: - + After: Nachher: - + No EFI system partition configured Keine EFI-Systempartition konfiguriert - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Eine EFI Systempartition wird benötigt, um %1 zu starten.<br/><br/>Um eine EFI Systempartition einzurichten, gehen Sie zurück und wählen oder erstellen Sie ein FAT32-Dateisystem mit einer aktivierten <strong>esp</strong> Markierung sowie <strong>%2</strong> als Einhängepunkt .<br/><br/>Sie können ohne die Einrichtung einer EFI-Systempartition fortfahren, aber ihr System wird unter Umständen nicht starten können. - + EFI system partition flag not set Die Markierung als EFI-Systempartition wurde nicht gesetzt - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Eine EFI Systempartition wird benötigt, um %1 zu starten.<br/><br/>Eine Partition mit dem Einhängepunkt <strong>%2</strong> wurd eingerichtet, jedoch wurde dort keine <strong>esp</strong> Markierung gesetzt.<br/>Um diese Markierung zu setzen, gehen Sie zurück und bearbeiten Sie die Partition.<br/><br/>Sie können ohne diese Markierung fortfahren, aber ihr System wird unter Umständen nicht starten können. - + Boot partition not encrypted Bootpartition nicht verschlüsselt - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Eine separate Bootpartition wurde zusammen mit einer verschlüsselten Rootpartition erstellt, die Bootpartition ist aber unverschlüsselt.<br/><br/> Dies ist sicherheitstechnisch nicht optimal, da wichtige Systemdateien auf der unverschlüsselten Bootpartition gespeichert werden.<br/>Wenn Sie wollen, können Sie fortfahren, aber das Entschlüsseln des Dateisystems wird erst später während des Systemstarts erfolgen.<br/>Um die Bootpartition zu verschlüsseln, gehen Sie zurück und erstellen Sie diese neu, indem Sie bei der Partitionierung <strong>Verschlüsseln</strong> wählen. - + has at least one disk device available. hat mindestens ein Festplattengerät zur Verfügung. - + There are no partitons to install on. Es gibt keine Partitonen, auf denen man installieren könnte. @@ -2205,14 +2220,14 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. ProcessResult - + There was no output from the command. Dieser Befehl hat keine Ausgabe erzeugt. - + Output: @@ -2221,52 +2236,52 @@ Ausgabe: - + External command crashed. Externes Programm abgestürzt. - + Command <i>%1</i> crashed. Programm <i>%1</i> abgestürzt. - + External command failed to start. Externes Programm konnte nicht gestartet werden. - + Command <i>%1</i> failed to start. Das Programm <i>%1</i> konnte nicht gestartet werden. - + Internal error when starting command. Interner Fehler beim Starten des Programms. - + Bad parameters for process job call. Ungültige Parameter für Prozessaufruf. - + External command failed to finish. Externes Programm konnte nicht abgeschlossen werden. - + Command <i>%1</i> failed to finish in %2 seconds. Programm <i>%1</i> konnte nicht innerhalb von %2 Sekunden abgeschlossen werden. - + External command finished with errors. Externes Programm mit Fehlern beendet. - + Command <i>%1</i> finished with exit code %2. Befehl <i>%1</i> beendet mit Exit-Code %2. @@ -2320,7 +2335,7 @@ Ausgabe: Die Anforderungsprüfung für das Modul <i>%1</i> ist abgeschlossen. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Ausgabe: WelcomeViewStep - + Welcome Willkommen diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index f6076390d..e7b4d8131 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record του %1 - + Boot Partition Κατάτμηση εκκίνησης - + System Partition Κατάτμηση συστήματος - + Do not install a boot loader Να μην εγκατασταθεί το πρόγραμμα εκκίνησης - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Εργαλεία - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Πληροφορίες αποσφαλμάτωσης @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Εγκατάσταση @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Εκτέλεση εντολής %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Εκτελείται η εντολή %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Επόμενο - + &Cancel &Ακύρωση - + Cancel setup without changing the system. - + Cancel installation without changing the system. Ακύρωση της εγκατάστασης χωρίς αλλαγές στο σύστημα. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Εγκατάσταση - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Ακύρωση της εγκατάστασης; - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Θέλετε πραγματικά να ακυρώσετε τη διαδικασία εγκατάστασης; Το πρόγραμμα εγκατάστασης θα τερματιστεί και όλες οι αλλαγές θα χαθούν. - + &Yes &Ναι - + &No &Όχι @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. &Κλείσιμο - + Continue with setup? Συνέχεια με την εγκατάσταση; - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Το πρόγραμμα εγκατάστασης %1 θα κάνει αλλαγές στον δίσκο για να εγκαταστήσετε το %2.<br/><strong>Δεν θα είστε σε θέση να αναιρέσετε τις αλλαγές.</strong> - + &Install now &Εγκατάσταση τώρα - + Go &back Μετάβαση &πίσω - + &Done &Ολοκληρώθηκε - + The installation is complete. Close the installer. Η εγκτάσταση ολοκληρώθηκε. Κλείστε το πρόγραμμα εγκατάστασης. @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer Εφαρμογή εγκατάστασης του %1 - + Show debug information Εμφάνιση πληροφοριών απασφαλμάτωσης @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>Χειροκίνητη τμηματοποίηση</strong><br/>Μπορείτε να δημιουργήσετε κατατμήσεις ή να αλλάξετε το μέγεθός τους μόνοι σας. - + Boot loader location: Τοποθεσία προγράμματος εκκίνησης: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: Τρέχον: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. <strong>Επιλέξτε ένα διαμέρισμα για σμίκρυνση, και μετά σύρετε το κάτω τμήμα της μπάρας για αλλαγή του μεγέθους</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Επιλέξτε διαμέρισμα για την εγκατάσταση</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Πουθενά στο σύστημα δεν μπορεί να ανιχθευθεί μία κατάτμηση EFI. Παρακαλώ επιστρέψτε πίσω και χρησιμοποιήστε τη χειροκίνητη τμηματοποίηση για την εγκατάσταση του %1. - + The EFI system partition at %1 will be used for starting %2. Η κατάτμηση συστήματος EFI στο %1 θα χρησιμοποιηθεί για την εκκίνηση του %2. - + EFI system partition: Κατάτμηση συστήματος EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Η συσκευή αποθήκευσης δεν φαίνεται να διαθέτει κάποιο λειτουργικό σύστημα. Τί θα ήθελες να κάνεις;<br/>Θα έχεις την δυνατότητα να επιβεβαιώσεις και αναθεωρήσεις τις αλλαγές πριν γίνει οποιαδήποτε αλλαγή στην συσκευή αποθήκευσης. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Διαγραφή του δίσκου</strong><br/>Αυτό θα <font color="red">διαγράψει</font> όλα τα αρχεία στην επιλεγμένη συσκευή αποθήκευσης. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Εγκατάσταση σε επαλληλία</strong><br/>Η εγκατάσταση θα συρρικνώσει μία κατάτμηση για να κάνει χώρο για το %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Αντικατάσταση μίας κατάτμησης</strong><br/>Αντικαθιστά μία κατάτμηση με το %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Σενάριο @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... Συλλογή πληροφοριών συστήματος... - + Partitions Κατατμήσεις - + Install %1 <strong>alongside</strong> another operating system. Εγκατάσταση του %1 <strong>παράλληλα με</strong> ένα άλλο λειτουργικό σύστημα στον δίσκο. - + <strong>Erase</strong> disk and install %1. <strong>Διαγραφή</strong> του δίσκου και εγκατάσταση του %1. - + <strong>Replace</strong> a partition with %1. <strong>Αντικατάσταση</strong> μιας κατάτμησης με το %1. - + <strong>Manual</strong> partitioning. <strong>Χειροκίνητη</strong> τμηματοποίηση. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Εγκατάσταση του %1 <strong>παράλληλα με</strong> ένα άλλο λειτουργικό σύστημα στον δίσκο<strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Διαγραφή</strong> του δίσκου <strong>%2</strong> (%3) και εγκατάσταση του %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Αντικατάσταση</strong> μιας κατάτμησης στον δίσκο <strong>%2</strong> (%3) με το %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Χειροκίνητη</strong> τμηματοποίηση του δίσκου <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Δίσκος <strong>%1</strong> (%2) - + Current: Τρέχον: - + After: Μετά: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Λανθασμένοι παράμετροι για την κλήση διεργασίας. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Καλώς ήλθατε diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 3d18cf210..66d90f109 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record of %1 - + Boot Partition Boot Partition - + System Partition System Partition - + Do not install a boot loader Do not install a boot loader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Tools - + + Reload Stylesheet + Reload Stylesheet + + + + Widget Tree + Widget Tree + + + Debug information Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Set up - + Install Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Run command %1 %2 + + Run command '%1' in target system. + Run command '%1' in target system. - + + Run command '%1'. + Run command '%1'. + + + Running command %1 %2 Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Waiting for %n module(s).Waiting for %n module(s). - + (%n second(s)) (%n second(s))(%n second(s)) - + System-requirements checking is complete. System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Next - + &Cancel &Cancel - + Cancel setup without changing the system. Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. @@ -260,66 +275,66 @@ <br/>The following modules could not be loaded: - + Continue with installation? Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Set up now - + &Set up &Set up - + &Install &Install - + Setup is complete. Close the setup program. Setup is complete. Close the setup program. - + Cancel setup? Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Yes - + &No &No @@ -329,32 +344,32 @@ The installer will quit and all changes will be lost. &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. @@ -395,17 +410,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program %1 Setup Program - + %1 Installer %1 Installer - + Show debug information Show debug information @@ -436,7 +451,7 @@ The installer will quit and all changes will be lost. <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. - + Boot loader location: Boot loader location: @@ -448,8 +463,8 @@ The installer will quit and all changes will be lost. - - + + Current: Current: @@ -464,96 +479,96 @@ The installer will quit and all changes will be lost. <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. The EFI system partition at %1 will be used for starting %2. - + EFI system partition: EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap No Swap - + Reuse Swap Reuse Swap - + Swap (no Hibernate) Swap (no Hibernate) - + Swap (with Hibernate) Swap (with Hibernate) - + Swap to file Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1125,12 +1140,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the installer.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1296,7 +1311,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. Set the OEM Batch Identifier to <code>%1</code>. @@ -2039,107 +2054,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... Gathering system information... - + Partitions Partitions - + Install %1 <strong>alongside</strong> another operating system. Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Current: - + After: After: - + No EFI system partition configured No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. has at least one disk device available. - + There are no partitons to install on. There are no partitons to install on. @@ -2205,14 +2220,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. There was no output from the command. - + Output: @@ -2221,52 +2236,52 @@ Output: - + External command crashed. External command crashed. - + Command <i>%1</i> crashed. Command <i>%1</i> crashed. - + External command failed to start. External command failed to start. - + Command <i>%1</i> failed to start. Command <i>%1</i> failed to start. - + Internal error when starting command. Internal error when starting command. - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish. External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. External command finished with errors. - + Command <i>%1</i> finished with exit code %2. Command <i>%1</i> finished with exit code %2. @@ -2320,7 +2335,7 @@ Output: Requirements checking for module <i>%1</i> is complete. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Output: WelcomeViewStep - + Welcome Welcome diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index bc3053321..366b778b9 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record of %1 - + Boot Partition Boot Partition - + System Partition System Partition - + Do not install a boot loader Do not install a boot loader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Tools - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Run command %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Next - + &Cancel &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. @@ -260,65 +275,65 @@ <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Yes - + &No &No @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Installer - + Show debug information Show debug information @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. - + Boot loader location: Boot loader location: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: Current: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. The EFI system partition at %1 will be used for starting %2. - + EFI system partition: EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Script @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... Gathering system information... - + Partitions Partitions - + Install %1 <strong>alongside</strong> another operating system. Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Current: - + After: After: - + No EFI system partition configured No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,14 +2219,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. There was no output from the command. - + Output: @@ -2220,52 +2235,52 @@ Output: - + External command crashed. External command crashed. - + Command <i>%1</i> crashed. Command <i>%1</i> crashed. - + External command failed to start. External command failed to start. - + Command <i>%1</i> failed to start. Command <i>%1</i> failed to start. - + Internal error when starting command. Internal error when starting command. - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish. External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. External command finished with errors. - + Command <i>%1</i> finished with exit code %2. Command <i>%1</i> finished with exit code %2. @@ -2319,7 +2334,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3138,7 +3153,7 @@ Output: WelcomeViewStep - + Welcome Welcome diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index df38c5e88..86685fe8f 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) %1(%2) @@ -97,7 +97,17 @@ Iloj - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instali @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel &Nuligi - + Cancel setup without changing the system. - + Cancel installation without changing the system. Nuligi instalado sen ŝanĝante la sistemo. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instali - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Nuligi instalado? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ĉu vi vere volas nuligi la instalan procedon? La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + &Yes &Jes - + &No &Ne @@ -328,32 +343,32 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. &Fermi - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Instali nun - + Go &back - + &Done &Finita - + The installation is complete. Close the installer. @@ -394,17 +409,17 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Instalilo - + Show debug information @@ -435,7 +450,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + Boot loader location: @@ -447,8 +462,8 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - - + + Current: @@ -463,96 +478,96 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. InteractiveTerminalViewStep - + Script @@ -1549,12 +1564,12 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1(%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 74128ccde..dcdbcc839 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -21,27 +21,27 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar BootLoaderModel - + Master Boot Record of %1 Master Boot Record de %1 - + Boot Partition Partición de Arranque - + System Partition Partición del Sistema - + Do not install a boot loader No instalar el gestor de arranque - + %1 (%2) %1 (%2) @@ -98,7 +98,17 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Herramientas - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Información de depuración. @@ -106,12 +116,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ExecutionViewStep - + Set up - + Install Instalar @@ -148,12 +158,17 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ProcessJob - - Run command %1 %2 - Ejecutar comando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Ejecutando comando %1 %2 @@ -194,17 +209,17 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -218,25 +233,25 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar - + &Next &Siguiente - + &Cancel &Cancelar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. @@ -261,65 +276,65 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Los siguientes módulos no se pudieron cargar: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente quiere cancelar el proceso de instalación? Saldrá del instalador y se perderán todos los cambios. - + &Yes &Sí - + &No &No @@ -329,32 +344,32 @@ Saldrá del instalador y se perderán todos los cambios. &Cerrar - + Continue with setup? ¿Continuar con la configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back Regresar - + &Done &Hecho - + The installation is complete. Close the installer. La instalación se ha completado. Cierre el instalador. @@ -395,17 +410,17 @@ Saldrá del instalador y se perderán todos los cambios. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Instalador - + Show debug information Mostrar información de depuración. @@ -436,7 +451,7 @@ Saldrá del instalador y se perderán todos los cambios. <strong>Particionado manual </strong><br/> Usted puede crear o cambiar el tamaño de las particiones usted mismo. - + Boot loader location: Ubicación del cargador de arranque: @@ -448,8 +463,8 @@ Saldrá del instalador y se perderán todos los cambios. - - + + Current: Corriente @@ -464,96 +479,96 @@ Saldrá del instalador y se perderán todos los cambios. <strong>Seleccione una partición para reducir el tamaño, a continuación, arrastre la barra inferior para cambiar el tamaño</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Seleccione una partición para instalar en</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. No se puede encontrar una partición de sistema EFI en ningún lugar de este sistema. Por favor, vuelva y use el particionamiento manual para establecer %1. - + The EFI system partition at %1 will be used for starting %2. La partición de sistema EFI en %1 se usará para iniciar %2. - + EFI system partition: Partición del sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento no parece tener un sistema operativo en él. ¿Qué quiere hacer?<br/>Podrá revisar y confirmar sus elecciones antes de que se haga cualquier cambio en el dispositivo de almacenamiento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Borrar disco</strong><br/>Esto <font color="red">borrará</font> todos los datos presentes actualmente en el dispositivo de almacenamiento. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. %1 se encuentra instalado en este dispositivo de almacenamiento. ¿Qué desea hacer?<br/>Podrá revisar y confirmar su elección antes de que cualquier cambio se haga efectivo en el dispositivo de almacenamiento. - + No Swap Sin Swap - + Reuse Swap Reusar Swap - + Swap (no Hibernate) Swap (sin hibernación) - + Swap (with Hibernate) Swap (con hibernación) - + Swap to file Swap a archivo - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar junto al otro SO</strong><br/>El instalador reducirá la partición del SO existente para tener espacio para instalar %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Reemplazar una partición</strong><br/>Reemplazar una partición con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento parece que ya tiene un sistema operativo instalado en él. ¿Qué desea hacer?<br/>Podrá revisar y confirmar su elección antes de que cualquier cambio se haga efectivo en el dispositivo de almacenamiento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento contiene múltiples sistemas operativos instalados en él. ¿Qué desea hacer?<br/>Podrá revisar y confirmar su elección antes de que cualquier cambio se haga efectivo en el dispositivo de almacenamiento. @@ -1125,12 +1140,12 @@ Saldrá del instalador y se perderán todos los cambios. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>La instalación falló</h1><br/>%1 no se ha instalado en su equipo.<br/>El mensaje de error fue: %2. @@ -1296,7 +1311,7 @@ Saldrá del instalador y se perderán todos los cambios. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ Saldrá del instalador y se perderán todos los cambios. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2039,107 +2054,107 @@ Saldrá del instalador y se perderán todos los cambios. PartitionViewStep - + Gathering system information... Obteniendo información del sistema... - + Partitions Particiones - + Install %1 <strong>alongside</strong> another operating system. Instalar %1 <strong>junto a</strong> otro sistema operativo. - + <strong>Erase</strong> disk and install %1. <strong>Borrar</strong> disco e instalar %1. - + <strong>Replace</strong> a partition with %1. <strong>Reemplazar</strong> una partición con %1. - + <strong>Manual</strong> partitioning. Particionamiento <strong>manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instalar %1 <strong>junto a</strong> otro sistema operativo en disco <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Borrar</strong> disco <strong>%2</strong> (%3) e instalar %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Reemplazar</strong> una partición en disco <strong>%2</strong> (%3) con %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particionamiento <strong>manual</strong> en disco <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disco <strong>%1<strong> (%2) - + Current: Corriente - + After: Despúes: - + No EFI system partition configured No hay una partición del sistema EFI configurada - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Una partición EFI del sistema es necesaria para empezar %1.<br/><br/>Para configurar una partición EFI, vuelva atrás y seleccione crear un sistema de archivos FAT32 con el argumento <strong>esp</strong> activado y montada en <strong>%2</strong>.<br/><br/>Puede continuar sin configurar una partición EFI pero su sistema puede fallar al arrancar. - + EFI system partition flag not set Bandera EFI no establecida en la partición del sistema - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Una partición EFI del sistema es necesaria para empezar %1.<br/><br/>Una partición EFI fue configurada para ser montada en <strong>%2</strong> pero su argumento <strong>esp</strong> no fue seleccionado.<br/>Para activar el argumento, vuelva atrás y edite la partición.<br/><br/>Puede continuar sin configurar el argumento pero su sistema puede fallar al arrancar. - + Boot partition not encrypted Partición de arranque no cifrada - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Se estableció una partición de arranque aparte junto con una partición raíz cifrada, pero la partición de arranque no está cifrada.<br/><br/>Hay consideraciones de seguridad con esta clase de instalación, porque los ficheros de sistema importantes se mantienen en una partición no cifrada.<br/>Puede continuar si lo desea, pero el desbloqueo del sistema de ficheros ocurrirá más tarde durante el arranque del sistema.<br/>Para cifrar la partición de arranque, retroceda y vuelva a crearla, seleccionando <strong>Cifrar</strong> en la ventana de creación de la partición. - + has at least one disk device available. - + There are no partitons to install on. @@ -2205,14 +2220,14 @@ Saldrá del instalador y se perderán todos los cambios. ProcessResult - + There was no output from the command. No hubo salida del comando. - + Output: @@ -2221,52 +2236,52 @@ Salida: - + External command crashed. El comando externo falló. - + Command <i>%1</i> crashed. El comando <i>%1</i> falló. - + External command failed to start. El comando externo no se pudo iniciar. - + Command <i>%1</i> failed to start. El comando <i>%1</i> no se pudo iniciar. - + Internal error when starting command. Error interno al iniciar el comando. - + Bad parameters for process job call. Parámetros erróneos para la llamada de la tarea del procreso. - + External command failed to finish. El comando externo no se pudo finalizar. - + Command <i>%1</i> failed to finish in %2 seconds. El comando <i>%1</i> no se pudo finalizar en %2 segundos. - + External command finished with errors. El comando externo finalizó con errores. - + Command <i>%1</i> finished with exit code %2. El comando <i>%1</i> finalizó con un código de salida %2. @@ -2320,7 +2335,7 @@ Salida: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Salida: WelcomeViewStep - + Welcome Bienvenido diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index f3411597f..4a698bd18 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record de %1 - + Boot Partition Partición de arranque - + System Partition Partición del Sistema - + Do not install a boot loader No instalar el gestor de arranque - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Herramientas - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Información de depuración @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Preparar - + Install Instalar @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Ejecutar comando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Ejecutando comando %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Chequeo de requerimientos del sistema completado. @@ -217,25 +232,25 @@ - + &Next &Siguiente - + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar la configuración sin cambiar el sistema. - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. @@ -260,66 +275,66 @@ <br/>Los siguientes módulos no pudieron ser cargados: - + Continue with installation? ¿Continuar con la instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El %1 programa de instalación esta a punto de realizar cambios a su disco con el fin de establecer %2.<br/><strong>Usted no podrá deshacer estos cambios.</strong> - + &Set up now &Configurar ahora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. Configuración completa. Cierre el programa de instalación. - + Cancel setup? ¿Cancelar la configuración? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿Realmente desea cancelar el actual proceso de configuración? El programa de instalación se cerrará y todos los cambios se perderán. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente desea cancelar el proceso de instalación actual? El instalador terminará y se perderán todos los cambios. - + &Yes &Si - + &No &No @@ -329,32 +344,32 @@ El instalador terminará y se perderán todos los cambios. &Cerrar - + Continue with setup? ¿Continuar con la instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back &Regresar - + &Done &Hecho - + The installation is complete. Close the installer. Instalación completa. Cierre el instalador. @@ -395,17 +410,17 @@ El instalador terminará y se perderán todos los cambios. CalamaresWindow - + %1 Setup Program %1 Programa de instalación - + %1 Installer %1 Instalador - + Show debug information Mostrar información de depuración @@ -436,7 +451,7 @@ El instalador terminará y se perderán todos los cambios. <strong>Particionado manual </strong><br/> Puede crear o cambiar el tamaño de las particiones usted mismo. - + Boot loader location: Ubicación del cargador de arranque: @@ -448,8 +463,8 @@ El instalador terminará y se perderán todos los cambios. - - + + Current: Actual: @@ -464,97 +479,97 @@ El instalador terminará y se perderán todos los cambios. <strong>Seleccione una partición para reducir el tamaño, a continuación, arrastre la barra inferior para redimencinar</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 será reducido a %2MiB y una nueva %3MiB partición se creará para %4. - + <strong>Select a partition to install on</strong> <strong>Seleccione una partición para instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. No se puede encontrar en el sistema una partición EFI. Por favor vuelva atrás y use el particionamiento manual para configurar %1. - + The EFI system partition at %1 will be used for starting %2. La partición EFI en %1 será usada para iniciar %2. - + EFI system partition: Partición de sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento parece no tener un sistema operativo en el. ¿que le gustaría hacer?<br/> Usted podrá revisar y confirmar sus elecciones antes que cualquier cambio se realice al dispositivo de almacenamiento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Borrar disco</strong> <br/>Esto <font color="red">borrará</font> todos los datos presentes actualmente en el dispositivo de almacenamiento seleccionado. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento tiene %1 en el. ¿Que le gustaría hacer? <br/>Usted podrá revisar y confirmar sus elecciones antes de que cualquier cambio se realice al dispositivo de almacenamiento. - + No Swap Sin Swap - + Reuse Swap Reutilizar Swap - + Swap (no Hibernate) Swap (sin hibernación) - + Swap (with Hibernate) Swap (con hibernación) - + Swap to file Swap a archivo - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar junto a</strong> <br/>El instalador reducirá una partición con el fin de hacer espacio para %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Reemplazar una partición</strong> <br/>Reemplaza una partición con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento ya tiene un sistema operativo en el. ¿Que le gustaría hacer?<br/> Usted podrá revisar y confirmar sus elecciones antes que cualquier cambio se realice al dispositivo de almacenamiento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento tiene múltiples sistemas operativos en el. ¿Que le gustaria hacer?<br/> Usted podrá revisar y confirmar sus elecciones antes que cualquier cambio se realice al dispositivo de almacenamiento. @@ -1126,12 +1141,12 @@ El instalador terminará y se perderán todos los cambios. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalación fallida</h1> <br/>%1 no ha sido instalado en su computador. <br/>El mensaje de error es: %2. @@ -1297,7 +1312,7 @@ El instalador terminará y se perderán todos los cambios. InteractiveTerminalViewStep - + Script Script @@ -1551,12 +1566,12 @@ El instalador terminará y se perderán todos los cambios. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2040,107 +2055,107 @@ El instalador terminará y se perderán todos los cambios. PartitionViewStep - + Gathering system information... Obteniendo información del sistema... - + Partitions Particiones - + Install %1 <strong>alongside</strong> another operating system. Instalar %1 <strong>junto con</strong> otro sistema operativo. - + <strong>Erase</strong> disk and install %1. <strong>Borrar</strong> el disco e instalar %1. - + <strong>Replace</strong> a partition with %1. <strong>Reemplazar</strong> una parición con %1. - + <strong>Manual</strong> partitioning. Particionamiento <strong>manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instalar %1 <strong>junto con</strong> otro sistema operativo en el disco <strong>%2</strong>(%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Borrar</strong> el disco <strong>%2<strong> (%3) e instalar %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Reemplazar</strong> una parición en el disco <strong>%2</strong> (%3) con %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particionar <strong>manualmente</strong> el disco <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disco <strong>%1</strong> (%2) - + Current: Actual: - + After: Después: - + No EFI system partition configured Sistema de partición EFI no configurada - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Un sistema de partición EFI es necesario para iniciar %1. <br/><br/>Para configurar un sistema de partición EFI, Regrese y seleccione o cree un sistema de archivos FAT32 con la bandera <strong>esp</strong> activada y el punto de montaje <strong>%2</strong>. <br/><br/>Puede continuar sin configurar una partición de sistema EFI, pero su sistema podría fallar al iniciar. - + EFI system partition flag not set Indicador de partición del sistema EFI no configurado - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Una partición del sistema EFI es necesaria para iniciar% 1. <br/><br/>Una partición se configuró con el punto de montaje <strong>% 2</strong>, pero su bandera <strong>esp</strong> no está configurada. <br/>Para establecer el indicador, retroceda y edite la partición.<br/><br/> Puede continuar sin configurar el indicador, pero su sistema puede fallar al iniciar. - + Boot partition not encrypted Partición de arranque no encriptada - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Se creó una partición de arranque separada junto con una partición raíz cifrada, pero la partición de arranque no está encriptada.<br/><br/> Existen problemas de seguridad con este tipo de configuración, ya que los archivos importantes del sistema se guardan en una partición no encriptada. <br/>Puede continuar si lo desea, pero el desbloqueo del sistema de archivos ocurrirá más tarde durante el inicio del sistema. <br/>Para encriptar la partición de arranque, retroceda y vuelva a crearla, seleccionando <strong>Encriptar</strong> en la ventana de creación de la partición. - + has at least one disk device available. - + There are no partitons to install on. @@ -2206,14 +2221,14 @@ El instalador terminará y se perderán todos los cambios. ProcessResult - + There was no output from the command. No hubo salida desde el comando. - + Output: @@ -2222,52 +2237,52 @@ Salida - + External command crashed. El comando externo ha fallado. - + Command <i>%1</i> crashed. El comando <i>%1</i> ha fallado. - + External command failed to start. El comando externo falló al iniciar. - + Command <i>%1</i> failed to start. El comando <i>%1</i> Falló al iniciar. - + Internal error when starting command. Error interno al iniciar el comando. - + Bad parameters for process job call. Parámetros erróneos en la llamada al proceso. - + External command failed to finish. Comando externo falla al finalizar - + Command <i>%1</i> failed to finish in %2 seconds. Comando <i>%1</i> falló al finalizar en %2 segundos. - + External command finished with errors. Comando externo finalizado con errores - + Command <i>%1</i> finished with exit code %2. Comando <i>%1</i> finalizó con código de salida %2. @@ -2321,7 +2336,7 @@ Salida - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3141,7 +3156,7 @@ Salida WelcomeViewStep - + Welcome Bienvenido diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index d86113636..29df800cc 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Registro de arranque maestro de %1 - + Boot Partition Partición de arranque - + System Partition Partición del sistema - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Información de depuración @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalar @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Ejecutar comando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Próximo - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Parámetros erróneos para el trabajo en proceso. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index c5e83f825..ccff140ab 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 Master Boot Record - + Boot Partition Käivituspartitsioon - + System Partition Süsteemipartitsioon - + Do not install a boot loader Ära paigalda käivituslaadurit - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Tööriistad - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Silumisteave @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Paigalda @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Käivita käsklus %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Käivitan käsklust %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Edasi - + &Cancel &Tühista - + Cancel setup without changing the system. - + Cancel installation without changing the system. Tühista paigaldamine ilma süsteemi muutmata. @@ -260,65 +275,65 @@ <br/>Järgnevaid mooduleid ei saanud laadida: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Paigalda - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Tühista paigaldamine? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Kas sa tõesti soovid tühistada praeguse paigaldusprotsessi? Paigaldaja sulgub ning kõik muutused kaovad. - + &Yes &Jah - + &No &Ei @@ -328,32 +343,32 @@ Paigaldaja sulgub ning kõik muutused kaovad. &Sulge - + Continue with setup? Jätka seadistusega? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 paigaldaja on tegemas muudatusi sinu kettale, et paigaldada %2.<br/><strong>Sa ei saa neid muudatusi tagasi võtta.</strong> - + &Install now &Paigalda kohe - + Go &back Mine &tagasi - + &Done &Valmis - + The installation is complete. Close the installer. Paigaldamine on lõpetatud. Sulge paigaldaja. @@ -394,17 +409,17 @@ Paigaldaja sulgub ning kõik muutused kaovad. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 paigaldaja - + Show debug information Kuva silumisteavet @@ -435,7 +450,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. <strong>Käsitsi partitsioneerimine</strong><br/>Sa võid ise partitsioone luua või nende suurust muuta. - + Boot loader location: Käivituslaaduri asukoht: @@ -447,8 +462,8 @@ Paigaldaja sulgub ning kõik muutused kaovad. - - + + Current: Hetkel: @@ -463,96 +478,96 @@ Paigaldaja sulgub ning kõik muutused kaovad. <strong>Vali vähendatav partitsioon, seejärel sikuta alumist riba suuruse muutmiseks</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Vali partitsioon, kuhu paigaldada</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI süsteemipartitsiooni ei leitud sellest süsteemist. Palun mine tagasi ja kasuta käsitsi partitsioonimist, et seadistada %1. - + The EFI system partition at %1 will be used for starting %2. EFI süsteemipartitsioon asukohas %1 kasutatakse %2 käivitamiseks. - + EFI system partition: EFI süsteemipartitsioon: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Sellel mäluseadmel ei paista olevat operatsioonisüsteemi peal. Mida soovid teha?<br/>Sa saad oma valikud üle vaadata ja kinnitada enne kui mistahes muudatus saab mäluseadmele teostatud. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Tühjenda ketas</strong><br/>See <font color="red">kustutab</font> kõik valitud mäluseadmel olevad andmed. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Sellel mäluseadmel on peal %1. Mida soovid teha?<br/>Sa saad oma valikud üle vaadata ja kinnitada enne kui mistahes muudatus saab mäluseadmele teostatud. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Paigalda kõrvale</strong><br/>Paigaldaja vähendab partitsiooni, et teha ruumi operatsioonisüsteemile %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Asenda partitsioon</strong><br/>Asendab partitsiooni operatsioonisüsteemiga %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Sellel mäluseadmel on juba operatsioonisüsteem peal. Mida soovid teha?<br/>Sa saad oma valikud üle vaadata ja kinnitada enne kui mistahes muudatus saab mäluseadmele teostatud. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Sellel mäluseadmel on mitu operatsioonisüsteemi peal. Mida soovid teha?<br/>Sa saad oma valikud üle vaadata ja kinnitada enne kui mistahes muudatus saab mäluseadmele teostatud. @@ -1124,12 +1139,12 @@ Paigaldaja sulgub ning kõik muutused kaovad. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Paigaldamine ebaõnnestus</h1><br/>%1 ei paigaldatud sinu arvutisse.<br/>Veateade oli: %2. @@ -1295,7 +1310,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. InteractiveTerminalViewStep - + Script Skript @@ -1549,12 +1564,12 @@ Paigaldaja sulgub ning kõik muutused kaovad. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Paigaldaja sulgub ning kõik muutused kaovad. PartitionViewStep - + Gathering system information... Hangin süsteemiteavet... - + Partitions Partitsioonid - + Install %1 <strong>alongside</strong> another operating system. Paigalda %1 praeguse operatsioonisüsteemi <strong>kõrvale</strong> - + <strong>Erase</strong> disk and install %1. <strong>Tühjenda</strong> ketas ja paigalda %1. - + <strong>Replace</strong> a partition with %1. <strong>Asenda</strong> partitsioon operatsioonisüsteemiga %1. - + <strong>Manual</strong> partitioning. <strong>Käsitsi</strong> partitsioneerimine. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Paigalda %1 teise operatsioonisüsteemi <strong>kõrvale</strong> kettal <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Tühjenda</strong> ketas <strong>%2</strong> (%3) ja paigalda %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Asenda</strong> partitsioon kettal <strong>%2</strong> (%3) operatsioonisüsteemiga %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Käsitsi</strong> partitsioneerimine kettal <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Ketas <strong>%1</strong> (%2). - + Current: Hetkel: - + After: Pärast: - + No EFI system partition configured EFI süsteemipartitsiooni pole seadistatud - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. %1 käivitamiseks on vajalik EFI süsteemipartitsioon.<br/><br/>Et seadistada EFI süsteemipartitsiooni, mine tagasi ja vali või loo FAT32 failisüsteem sildiga <strong>esp</strong> ja monteerimispunktiga <strong>%2</strong>.<br/><br/>Sa võid jätkata ilma EFI süsteemipartitsiooni seadistamata aga su süsteem ei pruugi käivituda. - + EFI system partition flag not set EFI süsteemipartitsiooni silt pole määratud - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. %1 käivitamiseks on vajalik EFI süsteemipartitsioon.<br/><br/>Partitsioon seadistati monteerimispunktiga <strong>%2</strong> aga sellel ei määratud <strong>esp</strong> silti.<br/>Sildi määramiseks mine tagasi ja muuda partitsiooni.<br/><br/>Sa võid jätkata ilma silti seadistamata aga su süsteem ei pruugi käivituda. - + Boot partition not encrypted Käivituspartitsioon pole krüptitud - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Eraldi käivituspartitsioon seadistati koos krüptitud juurpartitsiooniga, aga käivituspartitsioon ise ei ole krüptitud.<br/><br/>Selle seadistusega kaasnevad turvaprobleemid, sest tähtsad süsteemifailid hoitakse krüptimata partitsioonil.<br/>Sa võid soovi korral jätkata, aga failisüsteemi lukust lahti tegemine toimub hiljem süsteemi käivitusel.<br/>Et krüpteerida käivituspartisiooni, mine tagasi ja taasloo see, valides <strong>Krüpteeri</strong> partitsiooni loomise aknas. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,14 +2219,14 @@ Paigaldaja sulgub ning kõik muutused kaovad. ProcessResult - + There was no output from the command. Käsul polnud väljundit. - + Output: @@ -2220,52 +2235,52 @@ Väljund: - + External command crashed. Väline käsk jooksis kokku. - + Command <i>%1</i> crashed. Käsk <i>%1</i> jooksis kokku. - + External command failed to start. Välise käsu käivitamine ebaõnnestus. - + Command <i>%1</i> failed to start. Käsu <i>%1</i> käivitamine ebaõnnestus. - + Internal error when starting command. Käsu käivitamisel esines sisemine viga. - + Bad parameters for process job call. Protsessi töö kutsel olid halvad parameetrid. - + External command failed to finish. Väline käsk ei suutnud lõpetada. - + Command <i>%1</i> failed to finish in %2 seconds. Käsk <i>%1</i> ei suutnud lõpetada %2 sekundi jooksul. - + External command finished with errors. Väline käsk lõpetas vigadega. - + Command <i>%1</i> finished with exit code %2. Käsk <i>%1</i> lõpetas sulgemiskoodiga %2. @@ -2319,7 +2334,7 @@ Väljund: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3138,7 +3153,7 @@ Väljund: WelcomeViewStep - + Welcome Tervist diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 29824da9e..7365976a6 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1-(e)n Master Boot Record - + Boot Partition Abio partizioa - + System Partition Sistema-partizioa - + Do not install a boot loader Ez instalatu abio kargatzailerik - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Tresnak - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Arazte informazioa @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalatu @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - %1 %2 komandoa abiarazi + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 %1 %2 komandoa exekutatzen @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Hurrengoa - + &Cancel &Utzi - + Cancel setup without changing the system. - + Cancel installation without changing the system. Instalazioa bertan behera utsi da sisteman aldaketarik gabe. @@ -260,65 +275,65 @@ <br/> Ondorengo moduluak ezin izan dira kargatu: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalatu - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Bertan behera utzi instalazioa? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ziur uneko instalazio prozesua bertan behera utzi nahi duzula? Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - + &Yes &Bai - + &No &Ez @@ -328,32 +343,32 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. &Itxi - + Continue with setup? Ezarpenarekin jarraitu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalatzailea zure diskoan aldaketak egitera doa %2 instalatzeko.<br/><strong>Ezingo dituzu desegin aldaketa hauek.</strong> - + &Install now &Instalatu orain - + Go &back &Atzera - + &Done E&ginda - + The installation is complete. Close the installer. Instalazioa burutu da. Itxi instalatzailea. @@ -394,17 +409,17 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Instalatzailea - + Show debug information Erakutsi arazte informazioa @@ -435,7 +450,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. <strong>Eskuz partizioak landu</strong><br/>Zure kasa sortu edo tamainaz alda dezakezu partizioak. - + Boot loader location: Abio kargatzaile kokapena: @@ -447,8 +462,8 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - - + + Current: Unekoa: @@ -463,96 +478,96 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. <strong>Aukeratu partizioa txikitzeko eta gero arrastatu azpiko-barra tamaina aldatzeko</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>aukeratu partizioa instalatzeko</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Ezin da inon aurkitu EFI sistemako partiziorik sistema honetan. Mesedez joan atzera eta erabili eskuz partizioak lantzea %1 ezartzeko. - + The EFI system partition at %1 will be used for starting %2. %1eko EFI partizio sistema erabiliko da abiarazteko %2. - + EFI system partition: EFI sistema-partizioa: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Biltegiratze-gailuak badirudi ez duela sistema eragilerik. Zer egin nahiko zenuke? <br/>Zure aukerak berrikusteko eta berresteko aukera izango duzu aldaketak gauzatu aurretik biltegiratze-gailuan - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Diskoa ezabatu</strong><br/>Honek orain dauden datu guztiak <font color="red">ezbatuko</font> ditu biltegiratze-gailutik. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Biltegiratze-gailuak %1 dauka. Zer egin nahiko zenuke? <br/>Zure aukerak berrikusteko eta berresteko aukera izango duzu aldaketak gauzatu aurretik biltegiratze-gailuan - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalatu alboan</strong><br/>Instalatzaileak partizioa txikituko du lekua egiteko %1-(r)i. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ordeztu partizioa</strong><br/>ordezkatu partizioa %1-(e)kin. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Biltegiragailu honetan badaude jadanik eragile sistema bat. Zer gustatuko litzaizuke egin?<br/>Biltegiragailuan aldaketarik egin baino lehen zure aukerak aztertu eta konfirmatu ahal izango duzu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Biltegiragailu honetan badaude jadanik eragile sistema batzuk. Zer gustatuko litzaizuke egin?<br/>Biltegiragailuan aldaketarik egin baino lehen zure aukerak aztertu eta konfirmatu ahal izango duzu. @@ -1124,12 +1139,12 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. InteractiveTerminalViewStep - + Script Script @@ -1549,12 +1564,12 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. PartitionViewStep - + Gathering system information... Sistemaren informazioa eskuratzen... - + Partitions Partizioak - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: Unekoa: - + After: Ondoren: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,13 +2219,13 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. ProcessResult - + There was no output from the command. - + Output: @@ -2219,52 +2234,52 @@ Irteera: - + External command crashed. Kanpo-komandoak huts egin du. - + Command <i>%1</i> crashed. <i>%1</i> komandoak huts egin du. - + External command failed to start. Ezin izan da %1 kanpo-komandoa abiarazi. - + Command <i>%1</i> failed to start. Ezin izan da <i>%1</i> komandoa abiarazi. - + Internal error when starting command. Barne-akatsa komandoa abiarazterakoan. - + Bad parameters for process job call. - + External command failed to finish. Kanpo-komandoa ez da bukatu. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. Kanpo-komandoak akatsekin bukatu da. - + Command <i>%1</i> finished with exit code %2. @@ -2318,7 +2333,7 @@ Irteera: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3137,7 +3152,7 @@ Irteera: WelcomeViewStep - + Welcome Ongi etorri diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 74e4a08d7..1b2cbf823 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index ee397d052..22a7a81f6 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1:n MBR - + Boot Partition Käynnistysosio - + System Partition Järjestelmäosio - + Do not install a boot loader Älä asenna käynnistyksenlataajaa - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Työkalut - + + Reload Stylesheet + Virkistä tyylisivu + + + + Widget Tree + Widget puu + + + Debug information Virheenkorjaustiedot @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Määritä - + Install Asenna @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Suorita komento %1 %2 + + Run command '%1' in target system. + Suorita komento '%1' kohdejärjestelmässä. - + + Run command '%1'. + Suorita komento '%1'. + + + Running command %1 %2 Suoritetaan komentoa %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Järjestelmävaatimusten tarkistus on valmis. @@ -217,25 +232,25 @@ - + &Next &Seuraava - + &Cancel &Peruuta - + Cancel setup without changing the system. Peruuta asennus muuttamatta järjestelmää. - + Cancel installation without changing the system. Peruuta asennus tekemättä muutoksia järjestelmään. @@ -260,66 +275,66 @@ <br/>Seuraavia moduuleja ei voitu ladata: - + Continue with installation? Jatka asennusta? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 asennusohjelma on aikeissa tehdä muutoksia levylle, jotta voit määrittää kohteen %2.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Set up now &Määritä nyt - + &Set up &Määritä - + &Install &Asenna - + Setup is complete. Close the setup program. Asennus on valmis. Sulje asennusohjelma. - + Cancel setup? Peruuta asennus? - + Cancel installation? Peruuta asennus? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Haluatko todella peruuttaa nykyisen asennuksen? Asennusohjelma lopetetaan ja kaikki muutokset menetetään. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Oletko varma että haluat peruuttaa käynnissä olevan asennusprosessin? Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + &Yes &Kyllä - + &No &Ei @@ -329,32 +344,32 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. &Sulje - + Continue with setup? Jatka asennusta? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Install now &Asenna nyt - + Go &back Mene &takaisin - + &Done &Valmis - + The installation is complete. Close the installer. Asennus on valmis. Sulje asennusohjelma. @@ -395,17 +410,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. CalamaresWindow - + %1 Setup Program %1 Asennusohjelma - + %1 Installer %1 Asennusohjelma - + Show debug information Näytä virheenkorjaustiedot @@ -436,7 +451,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. <strong>Manuaalinen osiointi </strong><br/>Voit luoda tai muuttaa osioita itse. - + Boot loader location: Käynnistyksen lataajan sijainti: @@ -448,8 +463,8 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - - + + Current: Nykyinen: @@ -464,96 +479,96 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. <strong>Valitse supistettava osio ja säädä alarivillä kokoa vetämällä</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 supistetaan %2Mib:iin ja uusi %3MiB-osio luodaan kohteelle %4. - + <strong>Select a partition to install on</strong> <strong>Valitse asennettava osio</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI-osiota ei löydy mistään tässä järjestelmässä. Siirry takaisin ja käytä manuaalista osiointia, kun haluat määrittää %1 - + The EFI system partition at %1 will be used for starting %2. EFI-järjestelmän osiota %1 käytetään käynnistettäessä %2. - + EFI system partition: EFI järjestelmäosio - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Tällä tallennuslaitteella ei näytä olevan käyttöjärjestelmää. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin tallennuslaitteeseen tehdään muutoksia. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Tyhjennä levy</strong><br/>Tämä <font color="red">poistaa</font> kaikki tiedot valitussa tallennuslaitteessa. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Tässä tallennuslaitteessa on %1 dataa. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin tallennuslaitteeseen tehdään muutoksia. - + No Swap Ei välimuistia - + Reuse Swap Kierrätä välimuistia - + Swap (no Hibernate) Välimuisti (ei lepotilaa) - + Swap (with Hibernate) Välimuisti (lepotilan kanssa) - + Swap to file Välimuisti tiedostona - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Asenna nykyisen rinnalle</strong><br/>Asennus ohjelma supistaa osion tehdäkseen tilaa kohteelle %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Osion korvaaminen</strong><br/>korvaa osion %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Tämä tallennuslaite sisältää jo käyttöjärjestelmän. Mitä haluaisit tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi, ennen kuin tallennuslaitteeseen tehdään muutoksia. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Tämä tallennuslaite sisältää jo useita käyttöjärjestelmiä. Mitä haluaisit tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi, ennen kuin tallennuslaitteeseen tehdään muutoksia. @@ -1125,12 +1140,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. <html><head/><body><p>Kun tämä valintaruutu on valittuna, järjestelmä käynnistyy heti, kun napsautat <span style="font-style:italic;">Valmis</span> tai suljet asentimen.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Asennus epäonnistui</h1><br/>%1 ei ole määritetty tietokoneellesi.<br/> Virhesanoma oli: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Asennus epäonnistui </h1><br/>%1 ei ole asennettu tietokoneeseesi.<br/>Virhesanoma oli: %2. @@ -1296,7 +1311,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. InteractiveTerminalViewStep - + Script Skripti @@ -1550,12 +1565,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. OEMViewStep - + OEM Configuration OEM-kokoonpano - + Set the OEM Batch Identifier to <code>%1</code>. Aseta OEM valmistajan erän tunnus <code>%1</code>. @@ -2039,107 +2054,107 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. PartitionViewStep - + Gathering system information... Kerätään järjestelmän tietoja... - + Partitions Osiot - + Install %1 <strong>alongside</strong> another operating system. Asenna toisen käyttöjärjestelmän %1 <strong>rinnalle</strong>. - + <strong>Erase</strong> disk and install %1. <strong>Tyhjennä</strong> levy ja asenna %1. - + <strong>Replace</strong> a partition with %1. <strong>Vaihda</strong> osio jolla on %1. - + <strong>Manual</strong> partitioning. <strong>Manuaalinen</strong> osointi. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Asenna toisen käyttöjärjestelmän %1 <strong>rinnalle</strong> levylle <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Tyhjennä</strong> levy <strong>%2</strong> (%3) ja asenna %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Korvaa</strong> levyn osio <strong>%2</strong> (%3) jolla on %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Manuaalinen</strong> osiointi levyllä <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Levy <strong>%1</strong> (%2) - + Current: Nykyinen: - + After: Jälkeen: - + No EFI system partition configured EFI-järjestelmäosiota ei ole määritetty - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. EFI-järjestelmäosio on välttämätön käynnistystä varten %1.<br/><br/>Jos haluat tehdä EFI-järjestelmäosion, mene takaisin ja luo FAT32-tiedostojärjestelmä, jossa on<strong>esp</strong> lippu yhdistettynä asennuspisteen liitokseen <strong>%2</strong>.<br/><br/>Voit jatkaa ilman EFI-järjestelmäosiota, mutta järjestelmä ei ehkä käynnisty. - + EFI system partition flag not set EFI-järjestelmäosion lippua ei ole asetettu - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. EFI-järjestelmäosio on välttämätön käynnistystä varten %1.<br/><br/>Osio määritettiin liittymäpisteellä, <strong>%2</strong> mutta sen <strong>esp</strong> lippua ei ole asetettu.<br/>Jos haluat asettaa lipun, palaa takaisin ja muokkaa osiota.<br/><br/>Voit jatkaa lippua asettamatta, mutta järjestelmä ei ehkä käynnisty. - + Boot partition not encrypted Käynnistysosiota ei ole salattu - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Erillinen käynnistysosio perustettiin yhdessä salatun juuriosion kanssa, mutta käynnistysosio ei ole salattu.<br/><br/>Tällaisissa asetuksissa on tietoturvaongelmia, koska tärkeät järjestelmätiedostot pidetään salaamattomassa osiossa.<br/>Voit jatkaa, jos haluat, mutta tiedostojärjestelmän lukituksen avaaminen tapahtuu myöhemmin järjestelmän käynnistyksen aikana.<br/>Käynnistysosion salaamiseksi siirry takaisin ja luo se uudelleen valitsemalla <strong>Salaa</strong> osion luominen -ikkunassa. - + has at least one disk device available. on vähintään yksi levy käytettävissä. - + There are no partitons to install on. Asennettavia osioita ei ole. @@ -2205,14 +2220,14 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. ProcessResult - + There was no output from the command. Komentoa ei voitu ajaa. - + Output: @@ -2221,52 +2236,52 @@ Ulostulo: - + External command crashed. Ulkoinen komento kaatui. - + Command <i>%1</i> crashed. Komento <i>%1</i> kaatui. - + External command failed to start. Ulkoisen komennon käynnistäminen epäonnistui. - + Command <i>%1</i> failed to start. Komennon <i>%1</i> käynnistäminen epäonnistui. - + Internal error when starting command. Sisäinen virhe käynnistettäessä komentoa. - + Bad parameters for process job call. Huonot parametrit prosessin kutsuun. - + External command failed to finish. Ulkoinen komento ei onnistunut. - + Command <i>%1</i> failed to finish in %2 seconds. Komento <i>%1</i> epäonnistui %2 sekunnissa. - + External command finished with errors. Ulkoinen komento päättyi virheisiin. - + Command <i>%1</i> finished with exit code %2. Komento <i>%1</i> päättyi koodiin %2. @@ -2320,7 +2335,7 @@ Ulostulo: Moduulin vaatimusten tarkistaminen <i>%1</i> on valmis. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3140,7 +3155,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. WelcomeViewStep - + Welcome Tervetuloa diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index c5a74bbe5..d6d2f0017 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record de %1 - + Boot Partition Partition de démarrage - + System Partition Partition Système - + Do not install a boot loader Ne pas installer de chargeur de démarrage - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Outils - + + Reload Stylesheet + Recharger la feuille de style + + + + Widget Tree + Arbre de Widget + + + Debug information Informations de dépannage @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configurer - + Install Installer @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Exécution de la commande %1 %2 + + Run command '%1' in target system. + Exécuter la commande '%1' dans le système cible. - + + Run command '%1'. + Exécuter la commande '%1'. + + + Running command %1 %2 Exécution de la commande %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). En attente de %n module(s).En attente de %n module(s). - + (%n second(s)) (%n seconde(s))(%n seconde(s)) - + System-requirements checking is complete. La vérification des prérequis système est terminée. @@ -217,25 +232,25 @@ - + &Next &Suivant - + &Cancel &Annuler - + Cancel setup without changing the system. Annuler la configuration sans toucher au système. - + Cancel installation without changing the system. Annuler l'installation sans modifier votre système. @@ -260,66 +275,66 @@ Les modules suivants n'ont pas pu être chargés : - + Continue with installation? Continuer avec l'installation ? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Le programme de configuration de %1 est sur le point de procéder aux changements sur le disque afin de configurer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.</strong> - + &Set up now &Configurer maintenant - + &Set up &Configurer - + &Install &Installer - + Setup is complete. Close the setup program. La configuration est terminée. Fermer le programme de configuration. - + Cancel setup? Annuler la configuration ? - + Cancel installation? Abandonner l'installation ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Voulez-vous réellement abandonner le processus de configuration ? Le programme de configuration se fermera et les changements seront perdus. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voulez-vous réellement abandonner le processus d'installation ? L'installateur se fermera et les changements seront perdus. - + &Yes &Oui - + &No &Non @@ -329,32 +344,32 @@ L'installateur se fermera et les changements seront perdus. &Fermer - + Continue with setup? Poursuivre la configuration ? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'installateur %1 est sur le point de procéder aux changements sur le disque afin d'installer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.<strong> - + &Install now &Installer maintenant - + Go &back &Retour - + &Done &Terminé - + The installation is complete. Close the installer. L'installation est terminée. Fermer l'installateur. @@ -395,17 +410,17 @@ L'installateur se fermera et les changements seront perdus. CalamaresWindow - + %1 Setup Program Programme de configuration de %1 - + %1 Installer Installateur %1 - + Show debug information Afficher les informations de dépannage @@ -436,7 +451,7 @@ L'installateur se fermera et les changements seront perdus. <strong>Partitionnement manuel</strong><br/>Vous pouvez créer ou redimensionner vous-même des partitions. - + Boot loader location: Emplacement du chargeur de démarrage: @@ -448,8 +463,8 @@ L'installateur se fermera et les changements seront perdus. - - + + Current: Actuel : @@ -464,96 +479,96 @@ L'installateur se fermera et les changements seront perdus. <strong>Sélectionnez une partition à réduire, puis faites glisser la barre du bas pour redimensionner</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 va être réduit à %2Mio et une nouvelle partition de %3Mio va être créée pour %4. - + <strong>Select a partition to install on</strong> <strong>Sélectionner une partition pour l'installation</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Une partition système EFI n'a pas pu être trouvée sur ce système. Veuillez retourner à l'étape précédente et sélectionner le partitionnement manuel pour configurer %1. - + The EFI system partition at %1 will be used for starting %2. La partition système EFI sur %1 va être utilisée pour démarrer %2. - + EFI system partition: Partition système EFI : - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce périphérique de stockage ne semble pas contenir de système d'exploitation. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Effacer le disque</strong><br/>Ceci va <font color="red">effacer</font> toutes les données actuellement présentes sur le périphérique de stockage sélectionné. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce périphérique de stockage contient %1. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. - + No Swap Aucun Swap - + Reuse Swap Réutiliser le Swap - + Swap (no Hibernate) Swap (sans hibernation) - + Swap (with Hibernate) Swap (avec hibernation) - + Swap to file Swap dans un fichier - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installer à côté</strong><br/>L'installateur va réduire une partition pour faire de la place pour %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Remplacer une partition</strong><br>Remplace une partition par %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce périphérique de stockage contient déjà un système d'exploitation. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce péiphérique de stockage contient déjà plusieurs systèmes d'exploitation. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. @@ -1125,12 +1140,12 @@ L'installateur se fermera et les changements seront perdus. <html><head/><body><p>En sélectionnant cette option, votre système redémarrera immédiatement quand vous cliquerez sur <span style=" font-style:italic;">Terminé</span> ou fermerez l'installateur.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Échec de la configuration</h1><br/>%1 n'a pas été configuré sur cet ordinateur.<br/>Le message d'erreur était : %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installation échouée</h1><br/>%1 n'a pas été installée sur cet ordinateur.<br/>Le message d'erreur était : %2. @@ -1296,7 +1311,7 @@ L'installateur se fermera et les changements seront perdus. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ L'installateur se fermera et les changements seront perdus. OEMViewStep - + OEM Configuration Configuration OEM - + Set the OEM Batch Identifier to <code>%1</code>. Utiliser <code>%1</code> comme Identifiant de Lot OEM. @@ -2039,107 +2054,107 @@ L'installateur se fermera et les changements seront perdus. PartitionViewStep - + Gathering system information... Récupération des informations système… - + Partitions Partitions - + Install %1 <strong>alongside</strong> another operating system. Installer %1 <strong>à côté</strong>d'un autre système d'exploitation. - + <strong>Erase</strong> disk and install %1. <strong>Effacer</strong> le disque et installer %1. - + <strong>Replace</strong> a partition with %1. <strong>Remplacer</strong> une partition avec %1. - + <strong>Manual</strong> partitioning. Partitionnement <strong>manuel</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Installer %1 <strong>à côté</strong> d'un autre système d'exploitation sur le disque <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Effacer</strong> le disque <strong>%2</strong> (%3) et installer %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Remplacer</strong> une partition sur le disque <strong>%2</strong> (%3) avec %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Partitionnement <strong>manuel</strong> sur le disque <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disque <strong>%1</strong> (%2) - + Current: Actuel : - + After: Après : - + No EFI system partition configured Aucune partition système EFI configurée - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Une partition système EFI est nécessaire pour démarrer %1.<br/><br/>Pour configurer une partition système EFI, revenez en arrière et sélectionnez ou créez une partition FAT32 avec le drapeau <strong>esp</strong> activé et le point de montage <strong>%2</strong>.<br/><br/>Vous pouvez continuer sans configurer de partition système EFI mais votre système pourrait refuser de démarrer. - + EFI system partition flag not set Drapeau de partition système EFI non configuré - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Une partition système EFI est nécessaire pour démarrer %1.<br/><br/>Une partition a été configurée avec le point de montage <strong>%2</strong> mais son drapeau <strong>esp</strong> n'est pas activé.<br/>Pour activer le drapeau, revenez en arrière et éditez la partition.<br/><br/>Vous pouvez continuer sans activer le drapeau mais votre système pourrait refuser de démarrer. - + Boot partition not encrypted Partition d'amorçage non chiffrée. - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Une partition d'amorçage distincte a été configurée avec une partition racine chiffrée, mais la partition d'amorçage n'est pas chiffrée. <br/> <br/> Il y a des problèmes de sécurité avec ce type d'installation, car des fichiers système importants sont conservés sur une partition non chiffrée <br/> Vous pouvez continuer si vous le souhaitez, mais le déverrouillage du système de fichiers se produira plus tard au démarrage du système. <br/> Pour chiffrer la partition d'amorçage, revenez en arrière et recréez-la, en sélectionnant <strong> Chiffrer </ strong> dans la partition Fenêtre de création. - + has at least one disk device available. a au moins un disque disponible. - + There are no partitons to install on. Il n'y a aucune partition pour l'installation. @@ -2206,14 +2221,14 @@ Vous pouvez obtenir un aperçu des différentes apparences en cliquant sur celle ProcessResult - + There was no output from the command. Il y a eu aucune sortie de la commande - + Output: @@ -2222,52 +2237,52 @@ Sortie - + External command crashed. La commande externe s'est mal terminée. - + Command <i>%1</i> crashed. La commande <i>%1</i> s'est arrêtée inopinément. - + External command failed to start. La commande externe n'a pas pu être lancée. - + Command <i>%1</i> failed to start. La commande <i>%1</i> n'a pas pu être lancée. - + Internal error when starting command. Erreur interne au lancement de la commande - + Bad parameters for process job call. Mauvais paramètres pour l'appel au processus de job. - + External command failed to finish. La commande externe ne s'est pas terminée. - + Command <i>%1</i> failed to finish in %2 seconds. La commande <i>%1</i> ne s'est pas terminée en %2 secondes. - + External command finished with errors. La commande externe s'est terminée avec des erreurs. - + Command <i>%1</i> finished with exit code %2. La commande <i>%1</i> s'est terminée avec le code de sortie %2. @@ -2321,7 +2336,7 @@ Sortie La vérification des prérequis pour le module <i>%1</i> est terminée. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3140,7 +3155,7 @@ Sortie WelcomeViewStep - + Welcome Bienvenue diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index e46ce5ecb..7d8969f66 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index e7f7b9c95..befb59012 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -21,27 +21,27 @@ BootLoaderModel - + Master Boot Record of %1 Rexistro de arranque maestro de %1 - + Boot Partition Partición de arranque - + System Partition Partición do sistema - + Do not install a boot loader Non instalar un cargador de arranque - + %1 (%2) %1 (%2) @@ -98,7 +98,17 @@ Ferramentas - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Informe de depuración de erros. @@ -106,12 +116,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalar @@ -148,12 +158,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Executar a orde %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Executando a orde %1 %2 @@ -194,17 +209,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -218,25 +233,25 @@ - + &Next &Seguinte - + &Cancel &Cancelar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancelar a instalación sen cambiar o sistema @@ -261,65 +276,65 @@ <br/> Non foi posíbel cargar os módulos seguintes: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancelar a instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Desexa realmente cancelar o proceso actual de instalación? O instalador pecharase e perderanse todos os cambios. - + &Yes &Si - + &No &Non @@ -329,32 +344,32 @@ O instalador pecharase e perderanse todos os cambios. &Pechar - + Continue with setup? Continuar coa posta en marcha? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está a piques de realizar cambios no seu disco para instalar %2.<br/><strong>Estes cambios non poderán desfacerse.</strong> - + &Install now &Instalar agora - + Go &back Ir &atrás - + &Done &Feito - + The installation is complete. Close the installer. Completouse a instalacion. Peche o instalador @@ -395,17 +410,17 @@ O instalador pecharase e perderanse todos os cambios. CalamaresWindow - + %1 Setup Program - + %1 Installer Instalador de %1 - + Show debug information Mostrar informes de depuración @@ -436,7 +451,7 @@ O instalador pecharase e perderanse todos os cambios. <strong>Particionado manual</strong><br/> Pode crear o redimensionar particións pola súa conta. - + Boot loader location: Localización do cargador de arranque: @@ -448,8 +463,8 @@ O instalador pecharase e perderanse todos os cambios. - - + + Current: Actual: @@ -464,96 +479,96 @@ O instalador pecharase e perderanse todos os cambios. <strong>Seleccione unha partición para acurtar, logo empregue a barra para redimensionala</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Seleccione unha partición para instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Non foi posible atopar unha partición de sistema de tipo EFI. Por favor, volva atrás e empregue a opción de particionado manual para crear unha en %1. - + The EFI system partition at %1 will be used for starting %2. A partición EFI do sistema en %1 será usada para iniciar %2. - + EFI system partition: Partición EFI do sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esta unidade de almacenamento non semella ter un sistema operativo instalado nela. Que desexa facer?<br/>Poderá revisar e confirmar as súas eleccións antes de que calquera cambio sexa feito na unidade de almacenamento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Borrar disco</strong><br/>Esto <font color="red">eliminará</font> todos os datos gardados na unidade de almacenamento seleccionada. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. A unidade de almacenamento ten %1 nela. Que desexa facer?<br/>Poderá revisar e confirmar a súa elección antes de que se aplique algún cambio á unidade. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar a carón</strong><br/>O instalador encollerá a partición para facerlle sitio a %1 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Substituír a partición</strong><br/>Substitúe a partición con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esta unidade de almacenamento xa ten un sistema operativo instalado nel. Que desexa facer?<br/>Poderá revisar e confirmar as súas eleccións antes de que calquera cambio sexa feito na unidade de almacenamento - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esta unidade de almacenamento ten múltiples sistemas operativos instalados nela. Que desexa facer?<br/>Poderá revisar e confirmar as súas eleccións antes de que calquera cambio sexa feito na unidade de almacenamento. @@ -1125,12 +1140,12 @@ O instalador pecharase e perderanse todos os cambios. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Fallou a instalación</h1><br/>%1 non se pudo instalar na sua computadora. <br/>A mensaxe de erro foi: %2. @@ -1296,7 +1311,7 @@ O instalador pecharase e perderanse todos os cambios. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ O instalador pecharase e perderanse todos os cambios. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2039,107 +2054,107 @@ O instalador pecharase e perderanse todos os cambios. PartitionViewStep - + Gathering system information... A reunir a información do sistema... - + Partitions Particións - + Install %1 <strong>alongside</strong> another operating system. Instalar %1 <strong>a carón</strong> doutro sistema operativo. - + <strong>Erase</strong> disk and install %1. <strong>Limpar</strong> o disco e instalar %1. - + <strong>Replace</strong> a partition with %1. <strong>Substituír</strong> unha partición por %1. - + <strong>Manual</strong> partitioning. Particionamento <strong>manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instalar %1 <strong>a carón</strong> doutro sistema operativo no disco <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Limpar</strong> o disco <strong>%2</strong> (%3) e instalar %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Substituír</strong> unha partición do disco <strong>%2</strong> (%3) por %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particionamento <strong>manual</strong> do disco <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disco <strong>%1</strong> (%2) - + Current: Actual: - + After: Despois: - + No EFI system partition configured Non hai ningunha partición de sistema EFI configurada - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. É necesaria unha partición de sistema EFI para iniciar %1.<br/><br/>Para configurar unha partición de sistema EFI volva atrás e seleccione ou cree un sistema de ficheiros FAT32 coa bandeira <strong>esp</strong> activada e co punto de montaxe <strong>%2.<br/><br/>Pode continuar sen configurar unha partición de sistema EFI mais pode que o sistema non dea arrancado. - + EFI system partition flag not set A bandeira da partición de sistema EFI non está configurada - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. É necesaria unha partición de sistema EFI para iniciar %1.<br/><br/>Configurouse unha partición co punto de montaxe <strong>%2</strong> mais a súa bandeira <strong>esp</strong> non está conrfigurada.<br/>Para configurar a bandeira volva atrás e edite a partición.<br/><br/>Pode continuar sen configurar unha partición de sistema EFI mais pode que o sistema non dea arrancado. - + Boot partition not encrypted A partición de arranque non está cifrada - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Configurouse unha partición de arranque separada xunto cunha partición raíz cifrada, mais a partición raíz non está cifrada.<br/><br/>Con este tipo de configuración preocupa a seguranza porque nunha partición sen cifrar grávanse ficheiros de sistema importantes.<br/>Pode continuar, se así o desexa, mais o desbloqueo do sistema de ficheiros producirase máis tarde durante o arranque do sistema.<br/>Para cifrar unha partición raíz volva atrás e créea de novo, seleccionando <strong>Cifrar</strong> na xanela de creación de particións. - + has at least one disk device available. - + There are no partitons to install on. @@ -2205,14 +2220,14 @@ O instalador pecharase e perderanse todos os cambios. ProcessResult - + There was no output from the command. A saída non produciu ningunha saída. - + Output: @@ -2221,52 +2236,52 @@ Saída: - + External command crashed. A orde externa fallou - + Command <i>%1</i> crashed. A orde <i>%1</i> fallou. - + External command failed to start. Non foi posíbel iniciar a orde externa. - + Command <i>%1</i> failed to start. Non foi posíbel iniciar a orde <i>%1</i>. - + Internal error when starting command. Produciuse un erro interno ao iniciar a orde. - + Bad parameters for process job call. Erro nos parámetros ao chamar o traballo - + External command failed to finish. A orde externa non se puido rematar. - + Command <i>%1</i> failed to finish in %2 seconds. A orde <i>%1</i> non se puido rematar en %2s segundos. - + External command finished with errors. A orde externa rematou con erros. - + Command <i>%1</i> finished with exit code %2. A orde <i>%1</i> rematou co código de erro %2. @@ -2320,7 +2335,7 @@ Saída: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Saída: WelcomeViewStep - + Welcome Benvido diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index e5d043daf..1e9c71185 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 57dd7fae0..3dc37fd5f 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record של %1 - + Boot Partition מחיצת טעינת המערכת Boot - + System Partition מחיצת מערכת - + Do not install a boot loader לא להתקין מנהל אתחול מערכת - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ כלים - + + Reload Stylesheet + טעינת גיליון הסגנון מחדש + + + + Widget Tree + עץ וידג׳טים + + + Debug information מידע על ניפוי שגיאות @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up הקמה - + Install התקנה @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - הרצת הפקודה %1 %2 + + Run command '%1' in target system. + להפעיל את הפקודה ‚%1’ במערכת היעד. - + + Run command '%1'. + להפעיל את הפקודה ‚%1’. + + + Running command %1 %2 הפקודה %1 %2 רצה @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). בהמתנה למודול אחד.בהמתנה לשני מודולים.בהמתנה ל־%n מודולים.בהמתנה ל־%n מודולים. - + (%n second(s)) ((שנייה אחת)(שתי שניות)(%n שניות)(%n שניות) - + System-requirements checking is complete. בדיקת דרישות המערכת הושלמה. @@ -217,25 +232,25 @@ - + &Next הב&א - + &Cancel &ביטול - + Cancel setup without changing the system. ביטול ההתקנה ללא שינוי המערכת. - + Cancel installation without changing the system. ביטול התקנה ללא ביצוע שינוי במערכת. @@ -260,66 +275,66 @@ <br/>לא ניתן לטעון את המודולים הבאים: - + Continue with installation? להמשיך בהתקנה? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> תכנית ההתקנה של %1 עומדת לבצע שינויים בכונן הקשיח שלך לטובת התקנת %2.<br/><strong>לא תהיה לך אפשרות לבטל את השינויים האלה.</strong> - + &Set up now להת&קין כעת - + &Set up להת&קין - + &Install הת&קנה - + Setup is complete. Close the setup program. ההתקנה הושלמה. נא לסגור את תכנית ההתקנה. - + Cancel setup? לבטל את ההתקנה? - + Cancel installation? לבטל את ההתקנה? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. לבטל את תהליך ההתקנה הנוכחי? תכנית ההתקנה תצא וכל השינויים יאבדו. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. לבטל את תהליך ההתקנה? אשף ההתקנה ייסגר וכל השינויים יאבדו. - + &Yes &כן - + &No &לא @@ -329,32 +344,32 @@ The installer will quit and all changes will be lost. &סגירה - + Continue with setup? להמשיך בהתקנה? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> אשף ההתקנה של %1 הולך לבצע שינויים בכונן שלך לטובת התקנת %2.<br/><strong>לא תוכל לבטל את השינויים הללו.</strong> - + &Install now להת&קין כעת - + Go &back ח&זרה - + &Done &סיום - + The installation is complete. Close the installer. תהליך ההתקנה הושלם. נא לסגור את אשף ההתקנה. @@ -395,17 +410,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program תכנית התקנת %1 - + %1 Installer אשף התקנה של %1 - + Show debug information הצגת מידע ניפוי שגיאות @@ -436,7 +451,7 @@ The installer will quit and all changes will be lost. <strong>הגדרת מחיצות באופן ידני</strong><br/>ניתן ליצור או לשנות את גודל המחיצות בעצמך. - + Boot loader location: מיקום מנהל אתחול המערכת: @@ -448,8 +463,8 @@ The installer will quit and all changes will be lost. - - + + Current: נוכחי: @@ -464,96 +479,96 @@ The installer will quit and all changes will be lost. <strong>ראשית יש לבחור מחיצה לכיווץ, לאחר מכן לגרור את הסרגל התחתון כדי לשנות את גודלה</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 תכווץ לכדי %2MiB ותיווצר מחיצה חדשה בגודל %3MiB עבור %4. - + <strong>Select a partition to install on</strong> <strong>נא לבחור מחיצה כדי להתקין עליה</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. במערכת זו לא נמצאה מחיצת מערכת EFI. נא לחזור ולהשתמש ביצירת מחיצות באופן ידני כדי להגדיר את %1. - + The EFI system partition at %1 will be used for starting %2. מחיצת מערכת ה־EFI שב־%1 תשמש עבור טעינת %2. - + EFI system partition: מחיצת מערכת EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. לא נמצאה מערכת הפעלה על התקן אחסון זה. מה ברצונך לעשות?<br/> ניתן לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>מחיקת כונן</strong><br/> פעולה זו <font color="red">תמחק</font> את כל המידע השמור על התקן האחסון הנבחר. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. בהתקן אחסון זה נמצאה %1. מה ברצונך לעשות?<br/> ניתן לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. - + No Swap בלי החלפה - + Reuse Swap שימוש מחדש בהחלפה - + Swap (no Hibernate) החלפה (ללא תרדמת) - + Swap (with Hibernate) החלפה (עם תרדמת) - + Swap to file החלפה לקובץ - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>התקנה לצד</strong><br/> אשף ההתקנה יכווץ מחיצה כדי לפנות מקום לטובת %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>החלפת מחיצה</strong><br/> ביצוע החלפה של המחיצה ב־%1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. כבר קיימת מערכת הפעלה על התקן האחסון הזה. כיצד להמשיך?<br/> ניתן לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. ישנן מגוון מערכות הפעלה על התקן אחסון זה. איך להמשיך? <br/>ניתן לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. @@ -1125,12 +1140,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>אם תיבה זו מסומנת, המערכת שלך תופעל מחדש מיידית עם הלחיצה על <span style="font-style:italic;">סיום</span> או עם סגירת תכנית ההתקנה.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>ההתקנה נכשלה</h1><br/>ההתקנה של %1 במחשבך לא הושלמה.<br/>הודעת השגיאה הייתה: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>ההתקנה נכשלה</h1><br/>%1 לא הותקן על מחשבך.<br/> הודעת השגיאה: %2. @@ -1296,7 +1311,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script סקריפט @@ -1550,12 +1565,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration הגדרות משווק - + Set the OEM Batch Identifier to <code>%1</code>. הגדרת מזהה מחזור למשווק לערך <code>%1</code>. @@ -2039,107 +2054,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... נאסף מידע על המערכת… - + Partitions מחיצות - + Install %1 <strong>alongside</strong> another operating system. להתקין את %1 <strong>לצד</strong> מערכת הפעלה אחרת. - + <strong>Erase</strong> disk and install %1. <strong>למחוק</strong> את הכונן ולהתקין את %1. - + <strong>Replace</strong> a partition with %1. <strong>החלפת</strong> מחיצה עם %1. - + <strong>Manual</strong> partitioning. להגדיר מחיצות באופן <strong>ידני</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). להתקין את %1 <strong>לצד</strong> מערכת הפעלה אחרת על כונן <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>למחוק</strong> את הכונן <strong>%2</strong> (%3) ולהתקין את %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>החלפת</strong> מחיצה על כונן <strong>%2</strong> (%3) ב־%1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). חלוקה למחיצות באופן <strong>ידני</strong> על כונן <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) כונן <strong>%1</strong> (%2) - + Current: נוכחי: - + After: לאחר: - + No EFI system partition configured לא הוגדרה מחיצת מערכת EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. מחיצת מערכת EFI נדרשת כדי להפעיל את %1.<br/><br/> כדי להגדיר מחיצת מערכת EFI, עליך לחזור ולבחור או ליצור מערכת קבצים מסוג FAT32 עם סימון <strong>esp</strong> פעיל ועם נקודת עיגון <strong>%2</strong>.<br/><br/> ניתן להמשיך ללא הגדרת מחיצת מערכת EFI אך טעינת המערכת עשויה להיכשל. - + EFI system partition flag not set לא מוגדר סימון מחיצת מערכת EFI - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. לצורך הפעלת %1 נדרשת מחיצת מערכת EFI.<br/><br/> הוגדרה מחיצה עם נקודת עיגון <strong>%2</strong> אך לא הוגדר סימון <strong>esp</strong>.<br/> כדי לסמן את המחיצה, עליך לחזור ולערוך את המחיצה.<br/><br/> ניתן להמשיך ללא הוספת הסימון אך טעינת המערכת עשויה להיכשל. - + Boot partition not encrypted מחיצת טעינת המערכת (Boot) אינה מוצפנת. - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. מחיצת טעינה, boot, נפרדת הוגדרה יחד עם מחיצת מערכת ההפעלה, root, מוצפנת, אך מחיצת הטעינה לא הוצפנה.<br/><br/> ישנן השלכות בטיחותיות עם התצורה שהוגדרה, מכיוון שקבצי מערכת חשובים נשמרים על מחיצה לא מוצפנת.<br/>תוכל להמשיך אם תרצה, אך שחרור מערכת הקבצים יתרחש מאוחר יותר כחלק מטעינת המערכת.<br/>בכדי להצפין את מחיצת הטעינה, חזור וצור אותה מחדש, על ידי בחירה ב <strong>הצפן</strong> בחלונית יצירת המחיצה. - + has at least one disk device available. יש לפחות התקן כונן אחד זמין. - + There are no partitons to install on. אין מחיצות להתקין עליהן. @@ -2205,14 +2220,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. לא היה פלט מהפקודה. - + Output: @@ -2221,52 +2236,52 @@ Output: - + External command crashed. הפקודה החיצונית נכשלה. - + Command <i>%1</i> crashed. הפקודה <i>%1</i> קרסה. - + External command failed to start. הפעלת הפעולה החיצונית נכשלה. - + Command <i>%1</i> failed to start. הפעלת הפקודה <i>%1</i> נכשלה. - + Internal error when starting command. שגיאה פנימית בעת הפעלת פקודה. - + Bad parameters for process job call. פרמטרים לא תקינים עבור קריאת עיבוד פעולה. - + External command failed to finish. סיום הפקודה החיצונית נכשל. - + Command <i>%1</i> failed to finish in %2 seconds. הפקודה <i>%1</i> לא הסתיימה תוך %2 שניות. - + External command finished with errors. הפקודה החיצונית הסתיימה עם שגיאות. - + Command <i>%1</i> finished with exit code %2. הפקודה <i>%1</i> הסתיימה עם קוד היציאה %2. @@ -2320,7 +2335,7 @@ Output: בדיקת הדרישות למודול <i>%1</i> הושלמה. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Output: WelcomeViewStep - + Welcome ברוך בואך diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index b6b1d0172..8fcd48dcb 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 का Master Boot Record - + Boot Partition बूट विभाजन - + System Partition सिस्टम विभाजन - + Do not install a boot loader बूट लोडर इंस्टॉल न करें - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ साधन - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information डीबग संबंधी जानकारी @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install इंस्टॉल करें @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - कमांड %1%2 चलाएँ + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 कमांड %1%2 चल रही हैं @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next आगे (&N) - + &Cancel रद्द करें (&C) - + Cancel setup without changing the system. - + Cancel installation without changing the system. सिस्टम में बदलाव किये बिना इंस्टॉल रद्द करें। @@ -260,65 +275,65 @@ <br/>निम्नलिखित मापांक लोड नहीं हो सकें : - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install इंस्टॉल करें (&I) - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? इंस्टॉल रद्द करें? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. क्या आप वाकई वर्तमान इंस्टॉल प्रक्रिया रद्द करना चाहते हैं? इंस्टॉलर बंद हो जाएगा व सभी बदलाव नष्ट। - + &Yes हाँ (&Y) - + &No नहीं (&N) @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. बंद करें (&C) - + Continue with setup? सेटअप करना जारी रखें? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %2 इंस्टॉल करने के लिए %1 इंस्टॉलर आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Install now अभी इंस्टॉल करें (&I) - + Go &back वापस जाएँ (&b) - + &Done पूर्ण हुआ (&D) - + The installation is complete. Close the installer. इंस्टॉल पूर्ण हुआ। अब इंस्टॉलर को बंद करें। @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 इंस्टॉलर - + Show debug information डीबग संबंधी जानकारी दिखाएँ @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>मैनुअल विभाजन</strong><br/> आप स्वयं भी विभाजन बना व उनका आकार बदल सकते है। - + Boot loader location: बूट लोडर का स्थान: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: मौजूदा : @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. <strong>छोटा करने के लिए विभाजन चुनें, फिर नीचे bar से उसका आकर सेट करें</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>इंस्टॉल के लिए विभाजन चुनें</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. इस सिस्टम पर कहीं भी कोई EFI सिस्टम विभाजन नहीं मिला। कृपया वापस जाएँ व %1 को सेट करने के लिए मैनुअल रूप से विभाजन करें। - + The EFI system partition at %1 will be used for starting %2. %1 वाले EFI सिस्टम विभाजन का उपयोग %2 को शुरू करने के लिए किया जाएगा। - + EFI system partition: EFI सिस्टम विभाजन: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. इस डिवाइस पर लगता है कि कोई ऑपरेटिंग सिस्टम नहीं है। आप क्या करना चाहेंगे?<br/>आप डिवाइस में किसी भी बदलाव से पहले उसकी समीक्षा व पुष्टि कर सकेंगे। - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>डिस्क का सारा डाटा हटाएँ</strong><br/>इससे चयनित डिवाइस पर मौजूद सारा डाटा <font color="red">हटा</font>हो जाएगा। - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. इस डिवाइस पर %1 है। आप क्या करना चाहेंगे?<br/>आप डिवाइस में किसी भी बदलाव से पहले उसकी समीक्षा व पुष्टि कर सकेंगे। - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>साथ में इंस्टॉल करें</strong><br/>इंस्टॉलर %1 के लिए स्थान बनाने हेतु एक विभाजन को छोटा कर देगा। - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>विभाजन को बदलें</strong><br/>एक विभाजन को %1 से बदलें। - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. इस डिवाइस पर पहले से एक ऑपरेटिंग सिस्टम है। आप क्या करना चाहेंगे?<br/>आप डिवाइस में किसी भी बदलाव से पहले उसकी समीक्षा व पुष्टि कर सकेंगे। - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. इस डिवाइस पर एक से अधिक ऑपरेटिंग सिस्टम है। आप क्या करना चाहेंगे?<br/>आप डिवाइस में किसी भी बदलाव से पहले उसकी समीक्षा व पुष्टि कर सकेंगे। @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>इंस्टॉल विफल रहा</h1><br/>%1 आपके कंप्यूटर पर इंस्टॉल नहीं हुआ।<br/>त्रुटि संदेश : %2। @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Script @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... सिस्टम की जानकारी प्राप्त की जा रही है... - + Partitions विभाजन - + Install %1 <strong>alongside</strong> another operating system. %1 को दूसरे ऑपरेटिंग सिस्टम <strong>के साथ</strong> इंस्टॉल करें। - + <strong>Erase</strong> disk and install %1. डिस्क का सारा डाटा<strong>हटाकर</strong> कर %1 इंस्टॉल करें। - + <strong>Replace</strong> a partition with %1. विभाजन को %1 से <strong>बदलें</strong>। - + <strong>Manual</strong> partitioning. <strong>मैनुअल</strong> विभाजन। - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). डिस्क <strong>%2</strong> (%3) पर %1 को दूसरे ऑपरेटिंग सिस्टम <strong>के साथ</strong> इंस्टॉल करें। - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. डिस्क <strong>%2</strong> (%3) <strong>erase</strong> कर %1 इंस्टॉल करें। - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. डिस्क <strong>%2</strong> (%3) के विभाजन को %1 से <strong>बदलें</strong>। - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). डिस्क <strong>%1</strong> (%2) पर <strong>मैनुअल</strong> विभाजन। - + Disk <strong>%1</strong> (%2) डिस्क <strong>%1</strong> (%2) - + Current: मौजूदा : - + After: बाद में: - + No EFI system partition configured कोई EFI सिस्टम विभाजन विन्यस्त नहीं है - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. %1 को शुरू करने हेतु EFI सिस्टम विभाजन ज़रूरी है।<br/><br/>EFI सिस्टम विभाजन को विन्यस्त करने के लिए, वापस जाएँ और चुनें या बनाएँ एक FAT32 फ़ाइल सिस्टम जिस पर <strong>esp</strong> flag चालू हो व माउंट पॉइंट <strong>%2</strong>हो।<br/><br/>आप बिना सेट भी आगे बढ़ सकते है पर सिस्टम चालू नहीं होगा। - + EFI system partition flag not set EFI सिस्टम विभाजन flag सेट नहीं है - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. %1 को शुरू करने हेतु EFI सिस्टम विभाजन ज़रूरी है।<br/><br/>विभाजन को माउंट पॉइंट <strong>%2</strong> के साथ विन्यस्त किया गया परंतु उसका <strong>esp</strong> flag सेट नहीं था।<br/> Flag सेट करने के लिए, वापस जाएँ और विभाजन को edit करें।<br/><br/>आप बिना सेट भी आगे बढ़ सकते है पर सिस्टम चालू नहीं होगा। - + Boot partition not encrypted बूट विभाजन एन्क्रिप्टेड नहीं है - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. एन्क्रिप्टेड रुट विभाजन के साथ एक अलग बूट विभाजन भी सेट किया गया था, पर बूट विभाजन एन्क्रिप्टेड नहीं था।<br/><br/> इस तरह का सेटअप सुरक्षित नहीं होता क्योंकि सिस्टम फ़ाइल एन्क्रिप्टेड विभाजन पर होती हैं।<br/>आप चाहे तो जारी रख सकते है, पर फिर फ़ाइल सिस्टम बाद में सिस्टम स्टार्टअप के दौरान अनलॉक होगा।<br/> विभाजन को एन्क्रिप्ट करने के लिए वापस जाकर उसे दोबारा बनाएँ व विभाजन निर्माण विंडो में<strong>एन्क्रिप्ट</strong> चुनें। - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,14 +2219,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. कमांड से कोई आउटपुट नहीं मिला। - + Output: @@ -2220,52 +2235,52 @@ Output: - + External command crashed. बाह्य कमांड क्रैश हो गई। - + Command <i>%1</i> crashed. कमांड <i>%1</i> क्रैश हो गई। - + External command failed to start. बाह्य​ कमांड शुरू होने में विफल। - + Command <i>%1</i> failed to start. कमांड <i>%1</i> शुरू होने में विफल। - + Internal error when starting command. कमांड शुरू करते समय आंतरिक त्रुटि। - + Bad parameters for process job call. प्रक्रिया कार्य कॉल के लिए गलत मापदंड। - + External command failed to finish. बाहरी कमांड समाप्त करने में विफल। - + Command <i>%1</i> failed to finish in %2 seconds. कमांड <i>%1</i> %2 सेकंड में समाप्त होने में विफल। - + External command finished with errors. बाहरी कमांड त्रुटि के साथ समाप्त। - + Command <i>%1</i> finished with exit code %2. कमांड <i>%1</i> exit कोड %2 के साथ समाप्त। @@ -2319,7 +2334,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3138,7 +3153,7 @@ Output: WelcomeViewStep - + Welcome स्वागतं diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index f758dcf09..89862d76e 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record od %1 - + Boot Partition Boot particija - + System Partition Particija sustava - + Do not install a boot loader Nemoj instalirati boot učitavač - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Alati - + + Reload Stylesheet + Ponovno učitaj stilsku tablicu + + + + Widget Tree + Stablo widgeta + + + Debug information Debug informacija @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Postaviti - + Install Instaliraj @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Izvrši naredbu %1 %2 + + Run command '%1' in target system. + Izvrši naredbu '%1' u ciljnom sustavu. - + + Run command '%1'. + Izvrši naredbu '%1'. + + + Running command %1 %2 Izvršavam naredbu %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čekam %1 modul(a).Čekam %1 modul(a).Čekam %1 modul(a). - + (%n second(s)) (%n sekunda(e))(%n sekunda(e))(%n sekunda(e)) - + System-requirements checking is complete. Provjera zahtjeva za instalaciju sustava je dovršena. @@ -217,25 +232,25 @@ - + &Next &Sljedeće - + &Cancel &Odustani - + Cancel setup without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Cancel installation without changing the system. Odustanite od instalacije bez promjena na sustavu. @@ -260,66 +275,66 @@ <br/>Sljedeći moduli se nisu mogli učitati: - + Continue with installation? Nastaviti sa instalacijom? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalacijski program %1 će izvršiti promjene na vašem disku kako bi postavio %2. <br/><strong>Ne možete poništiti te promjene.</strong> - + &Set up now &Postaviti odmah - + &Set up &Postaviti - + &Install &Instaliraj - + Setup is complete. Close the setup program. Instalacija je završena. Zatvorite instalacijski program. - + Cancel setup? Prekinuti instalaciju? - + Cancel installation? Prekinuti instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + &Yes &Da - + &No &Ne @@ -329,32 +344,32 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.&Zatvori - + Continue with setup? Nastaviti s postavljanjem? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalacijski program će napraviti promjene na disku kako bi instalirao %2.<br/><strong>Nećete moći vratiti te promjene.</strong> - + &Install now &Instaliraj sada - + Go &back Idi &natrag - + &Done &Gotovo - + The installation is complete. Close the installer. Instalacija je završena. Zatvorite instalacijski program. @@ -395,17 +410,17 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. CalamaresWindow - + %1 Setup Program %1 instalacijski program - + %1 Installer %1 Instalacijski program - + Show debug information Prikaži debug informaciju @@ -436,7 +451,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.<strong>Ručno particioniranje</strong><br/>Možete sami stvoriti ili promijeniti veličine particija. - + Boot loader location: Lokacija boot učitavača: @@ -448,8 +463,8 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. - - + + Current: Trenutni: @@ -464,96 +479,96 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.<strong>Odaberite particiju za smanjivanje, te povlačenjem donjeg pokazivača odaberite promjenu veličine</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 će se smanjiti na %2MB i stvorit će se nova %3MB particija za %4. - + <strong>Select a partition to install on</strong> <strong>Odaberite particiju za instalaciju</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI particija ne postoji na ovom sustavu. Vratite se natrag i koristite ručno particioniranje da bi ste postavili %1. - + The EFI system partition at %1 will be used for starting %2. EFI particija na %1 će se koristiti za pokretanje %2. - + EFI system partition: EFI particija: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Izgleda da na ovom disku nema operacijskog sustava. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Obriši disk</strong><br/>To će <font color="red">obrisati</font> sve podatke na odabranom disku. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ovaj disk ima %1. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. - + No Swap Bez swap-a - + Reuse Swap Iskoristi postojeći swap - + Swap (no Hibernate) Swap (bez hibernacije) - + Swap (with Hibernate) Swap (sa hibernacijom) - + Swap to file Swap datoteka - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instaliraj uz postojeće</strong><br/>Instalacijski program će smanjiti particiju da bi napravio mjesto za %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Zamijeni particiju</strong><br/>Zamijenjuje particiju sa %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ovaj disk već ima operacijski sustav. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ovaj disk ima više operacijskih sustava. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. @@ -1125,12 +1140,12 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.<html><head/><body><p>Kada je odabrana ova opcija, vaš sustav će se ponovno pokrenuti kada kliknete na <span style="font-style:italic;">Gotovo</span> ili zatvorite instalacijski program.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Instalacija nije uspijela</h1><br/>%1 nije instaliran na vaše računalo.<br/>Greška: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalacija nije uspijela</h1><br/>%1 nije instaliran na vaše računalo.<br/>Greška: %2. @@ -1296,7 +1311,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. InteractiveTerminalViewStep - + Script Skripta @@ -1550,12 +1565,12 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. OEMViewStep - + OEM Configuration OEM konfiguracija - + Set the OEM Batch Identifier to <code>%1</code>. Postavite OEM identifikator serije na <code>%1</code>. @@ -2039,107 +2054,107 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. PartitionViewStep - + Gathering system information... Skupljanje informacija o sustavu... - + Partitions Particije - + Install %1 <strong>alongside</strong> another operating system. Instaliraj %1 <strong>uz postojeći</strong> operacijski sustav. - + <strong>Erase</strong> disk and install %1. <strong>Obriši</strong> disk i instaliraj %1. - + <strong>Replace</strong> a partition with %1. <strong>Zamijeni</strong> particiju s %1. - + <strong>Manual</strong> partitioning. <strong>Ručno</strong> particioniranje. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instaliraj %1 <strong>uz postojeći</strong> operacijski sustav na disku <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Obriši</strong> disk <strong>%2</strong> (%3) i instaliraj %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Zamijeni</strong> particiju na disku <strong>%2</strong> (%3) s %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Ručno</strong> particioniram disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Trenutni: - + After: Poslije: - + No EFI system partition configured EFI particija nije konfigurirana - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. EFI particija je potrebna za pokretanje %1.<br/><br/>Da bi ste konfigurirali EFI particiju, idite natrag i odaberite ili stvorite FAT32 datotečni sustav s omogućenom <strong>esp</strong> oznakom i točkom montiranja <strong>%2</strong>.<br/><br/>Možete nastaviti bez postavljanja EFI particije, ali vaš sustav se možda neće moći pokrenuti. - + EFI system partition flag not set Oznaka EFI particije nije postavljena - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. EFI particija je potrebna za pokretanje %1.<br><br/>Particija je konfigurirana s točkom montiranja <strong>%2</strong> ali njezina <strong>esp</strong> oznaka nije postavljena.<br/>Za postavljanje oznake, vratite se i uredite postavke particije.<br/><br/>Možete nastaviti bez postavljanja oznake, ali vaš sustav se možda neće moći pokrenuti. - + Boot partition not encrypted Boot particija nije kriptirana - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Odvojena boot particija je postavljena zajedno s kriptiranom root particijom, ali boot particija nije kriptirana.<br/><br/>Zabrinuti smo za vašu sigurnost jer su važne datoteke sustava na nekriptiranoj particiji.<br/>Možete nastaviti ako želite, ali datotečni sustav će se otključati kasnije tijekom pokretanja sustava.<br/>Da bi ste kriptirali boot particiju, vratite se natrag i napravite ju, odabirom opcije <strong>Kriptiraj</strong> u prozoru za stvaranje prarticije. - + has at least one disk device available. ima barem jedan disk dostupan. - + There are no partitons to install on. Nema particija na koje bi se izvršila instalacija. @@ -2205,14 +2220,14 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. ProcessResult - + There was no output from the command. Nema izlazne informacije od naredbe. - + Output: @@ -2221,52 +2236,52 @@ Izlaz: - + External command crashed. Vanjska naredba je prekinula s radom. - + Command <i>%1</i> crashed. Naredba <i>%1</i> je prekinula s radom. - + External command failed to start. Vanjska naredba nije uspješno pokrenuta. - + Command <i>%1</i> failed to start. Naredba <i>%1</i> nije uspješno pokrenuta. - + Internal error when starting command. Unutrašnja greška pri pokretanju naredbe. - + Bad parameters for process job call. Krivi parametri za proces poziva posla. - + External command failed to finish. Vanjska naredba se nije uspjela izvršiti. - + Command <i>%1</i> failed to finish in %2 seconds. Naredba <i>%1</i> nije uspjela završiti za %2 sekundi. - + External command finished with errors. Vanjska naredba je završila sa pogreškama. - + Command <i>%1</i> finished with exit code %2. Naredba <i>%1</i> je završila sa izlaznim kodom %2. @@ -2320,7 +2335,7 @@ Izlaz: Provjera zahtjeva za modul <i>%1</i> je dovršena. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Izlaz: WelcomeViewStep - + Welcome Dobrodošli diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 09a0f4d51..cf8e907f7 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Mester Boot Record - %1 - + Boot Partition Indító partíció - + System Partition Rendszer Partíció - + Do not install a boot loader Ne telepítsen rendszerbetöltőt - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Eszközök - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Hibakeresési információk @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Összeállítás - + Install Telepít @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Parancs futtatása %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Parancs futtatása %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Várakozás a %n modulokra.Várakozás %n modulokra. - + (%n second(s)) (%n másodperc)(%n másodperc) - + System-requirements checking is complete. Rendszerkövetelmények ellenőrzése kész. @@ -217,25 +232,25 @@ - + &Next &Következő - + &Cancel &Mégse - + Cancel setup without changing the system. Telepítés megszakítása a rendszer módosítása nélkül. - + Cancel installation without changing the system. Kilépés a telepítőből a rendszer megváltoztatása nélkül. @@ -260,66 +275,66 @@ <br/>A következő modulok nem tölthetőek be: - + Continue with installation? Folytatja a telepítést? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog végrehajtani a lemezen a %2 telepítéséhez. <br/><strong>Ezután már nem tudja visszavonni a változtatásokat.</strong> - + &Set up now &Telepítés most - + &Set up &Telepítés - + &Install &Telepítés - + Setup is complete. Close the setup program. Telepítés sikerült. Zárja be a telepítőt. - + Cancel setup? Megszakítja a telepítést? - + Cancel installation? Abbahagyod a telepítést? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Valóban megszakítod a telepítési eljárást? A telepítő ki fog lépni és minden változtatás elveszik. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Biztos abba szeretnéd hagyni a telepítést? Minden változtatás elveszik, ha kilépsz a telepítőből. - + &Yes &Igen - + &No &Nem @@ -329,32 +344,32 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. &Bezár - + Continue with setup? Folytatod a telepítéssel? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog elvégezni, hogy telepítse a következőt: %2.<br/><strong>A változtatások visszavonhatatlanok lesznek.</strong> - + &Install now &Telepítés most - + Go &back Menj &vissza - + &Done &Befejez - + The installation is complete. Close the installer. A telepítés befejeződött, Bezárhatod a telepítőt. @@ -395,17 +410,17 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. CalamaresWindow - + %1 Setup Program %1 Program telepítése - + %1 Installer %1 Telepítő - + Show debug information Hibakeresési információk mutatása @@ -436,7 +451,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. <strong>Manuális partícionálás</strong><br/>Létrehozhat vagy átméretezhet partíciókat. - + Boot loader location: Rendszerbetöltő helye: @@ -448,8 +463,8 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. - - + + Current: Aktuális: @@ -464,96 +479,96 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. <strong>Válaszd ki a partíciót amit zsugorítani akarsz és egérrel méretezd át.</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 zsugorítva lesz %2MiB -re és új %3MiB partíció lesz létrehozva itt %4. - + <strong>Select a partition to install on</strong> <strong>Válaszd ki a telepítésre szánt partíciót </strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nem található EFI partíció a rendszeren. Menj vissza a manuális partícionáláshoz és állíts be %1. - + The EFI system partition at %1 will be used for starting %2. A %1 EFI rendszer partíció lesz használva %2 indításához. - + EFI system partition: EFI rendszerpartíció: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Úgy tűnik ezen a tárolóeszközön nincs operációs rendszer. Mit szeretnél csinálni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Lemez törlése</strong><br/>Ez <font color="red">törölni</font> fogja a lemezen levő összes adatot. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ezen a tárolóeszközön %1 található. Mit szeretnél tenni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. - + No Swap Swap nélkül - + Reuse Swap Swap újrahasználata - + Swap (no Hibernate) Swap (nincs hibernálás) - + Swap (with Hibernate) Swap (hibernálással) - + Swap to file Swap fájlba - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Meglévő mellé telepíteni</strong><br/>A telepítő zsugorítani fogja a partíciót, hogy elférjen a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>A partíció lecserélése</strong> a következővel: %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ez a tárolóeszköz már tartalmaz egy operációs rendszert. Mit szeretnél tenni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. A tárolóeszközön több operációs rendszer található. Mit szeretnél tenni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. @@ -1125,12 +1140,12 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. <html><head/><body><p>Ezt bejelölve a rendszer újra fog indulni amikor a <span style="font-style:italic;">Kész</span>gombra kattint vagy bezárja a telepítőt.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Telepítés nem sikerült</h1><br/>%1 nem lett telepítve a számítógépére. <br/>A hibaüzenet: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>A telepítés hibába ütközött.</h1><br/>%1 nem lett telepítve a számítógépre.<br/>A hibaüzenet: %2. @@ -1296,7 +1311,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. InteractiveTerminalViewStep - + Script Szkript @@ -1550,12 +1565,12 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. OEMViewStep - + OEM Configuration OEM konfiguráció - + Set the OEM Batch Identifier to <code>%1</code>. Állítsa az OEM Batch azonosítót erre: <code>%1</code>. @@ -2039,107 +2054,107 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. PartitionViewStep - + Gathering system information... Rendszerinformációk gyűjtése... - + Partitions Partíciók - + Install %1 <strong>alongside</strong> another operating system. %1 telepítése más operációs rendszer <strong>mellé</strong> . - + <strong>Erase</strong> disk and install %1. <strong>Lemez törlés</strong>és %1 telepítés. - + <strong>Replace</strong> a partition with %1. <strong>A partíció lecserélése</strong> a következővel: %1. - + <strong>Manual</strong> partitioning. <strong>Kézi</strong> partícionálás. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). %1 telepítése más operációs rendszer <strong>mellé</strong> a <strong>%2</strong> (%3) lemezen. - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>%2 lemez törlése</strong> (%3) és %1 telepítés. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>A partíció lecserélése</strong> a <strong>%2</strong> lemezen(%3) a következővel: %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Kézi</strong> telepítés a <strong>%1</strong> (%2) lemezen. - + Disk <strong>%1</strong> (%2) Lemez <strong>%1</strong> (%2) - + Current: Aktuális: - + After: Utána: - + No EFI system partition configured Nincs EFI rendszer partíció beállítva - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. EFI rendszerpartíciónak léteznie kell %1 indításához.<br/><br/> Az EFI rendszer beállításához lépj vissza és hozz létre FAT32 fájlrendszert <strong>esp</strong> zászlóval és <strong>%2</strong> csatolási ponttal beállítva.<br/><br/> Folytathatod a telepítést EFI rendszerpartíció létrehozása nélkül is, de lehet, hogy a rendszer nem indul majd. - + EFI system partition flag not set EFI partíciós zászló nincs beállítva - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. EFI rendszerpartíciónak léteznie kell %1 indításához.<br/><br/> A csatolási pont <strong>%2</strong> beállítása sikerült a partíción de a zászló nincs beállítva. A beálíltásához lépj vissza szerkeszteni a partíciót..<br/><br/> Folytathatod a telepítést zászló beállítása nélkül is, de lehet, hogy a rendszer nem indul el majd. - + Boot partition not encrypted Indító partíció nincs titkosítva - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Egy külön indító partíció lett beállítva egy titkosított root partícióval, de az indító partíció nincs titkosítva.br/><br/>Biztonsági aggályok merülnek fel ilyen beállítás mellet, mert fontos fájlok nem titkosított partíción vannak tárolva. <br/>Ha szeretnéd, folytathatod így, de a fájlrendszer zárolása meg fog történni az indítás után. <br/> Az indító partíció titkosításához lépj vissza és az újra létrehozáskor válaszd a <strong>Titkosít</strong> opciót. - + has at least one disk device available. legalább egy lemez eszköz elérhető. - + There are no partitons to install on. Nincsenek partíciók a telepítéshez. @@ -2205,14 +2220,14 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. ProcessResult - + There was no output from the command. A parancsnak nem volt kimenete. - + Output: @@ -2221,52 +2236,52 @@ Kimenet: - + External command crashed. Külső parancs összeomlott. - + Command <i>%1</i> crashed. Parancs <i>%1</i> összeomlott. - + External command failed to start. A külső parancsot nem sikerült elindítani. - + Command <i>%1</i> failed to start. A(z) <i>%1</i> parancsot nem sikerült elindítani. - + Internal error when starting command. Belső hiba a parancs végrehajtásakor. - + Bad parameters for process job call. Hibás paraméterek a folyamat hívásához. - + External command failed to finish. Külső parancs nem fejeződött be. - + Command <i>%1</i> failed to finish in %2 seconds. A(z) <i>%1</i> parancsot nem sikerült befejezni %2 másodperc alatt. - + External command finished with errors. A külső parancs hibával fejeződött be. - + Command <i>%1</i> finished with exit code %2. A(z) <i>%1</i> parancs hibakóddal lépett ki: %2. @@ -2320,7 +2335,7 @@ Kimenet: Követelmények ellenőrzése a <i>%1</i>modulhoz kész. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3141,7 +3156,7 @@ Calamares hiba %1. WelcomeViewStep - + Welcome Üdvözlet diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index e55cdfb36..5557114ef 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record %1 - + Boot Partition Partisi Boot - + System Partition Partisi Sistem - + Do not install a boot loader Jangan instal boot loader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Alat - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Informasi debug @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instal @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Jalankan perintah %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Menjalankan perintah %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Berikutnya - + &Cancel &Batal - + Cancel setup without changing the system. - + Cancel installation without changing the system. Batalkan instalasi tanpa mengubah sistem yang ada. @@ -260,65 +275,65 @@ <br/>Modul berikut tidak dapat dimuat. - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instal - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Batalkan instalasi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Apakah Anda benar-benar ingin membatalkan proses instalasi ini? Instalasi akan ditutup dan semua perubahan akan hilang. - + &Yes &Ya - + &No &Tidak @@ -328,32 +343,32 @@ Instalasi akan ditutup dan semua perubahan akan hilang. &Tutup - + Continue with setup? Lanjutkan dengan setelan ini? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Installer %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong> - + &Install now &Instal sekarang - + Go &back &Kembali - + &Done &Kelar - + The installation is complete. Close the installer. Instalasi sudah lengkap. Tutup installer. @@ -394,17 +409,17 @@ Instalasi akan ditutup dan semua perubahan akan hilang. CalamaresWindow - + %1 Setup Program - + %1 Installer Installer %1 - + Show debug information Tampilkan informasi debug @@ -435,7 +450,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. <strong>Pemartisian manual</strong><br/>Anda bisa membuat atau mengubah ukuran partisi. - + Boot loader location: Lokasi Boot loader: @@ -447,8 +462,8 @@ Instalasi akan ditutup dan semua perubahan akan hilang. - - + + Current: Saat ini: @@ -463,96 +478,96 @@ Instalasi akan ditutup dan semua perubahan akan hilang. <strong>Pilih sebuah partisi untuk diiris, kemudian seret bilah di bawah untuk mengubah ukuran</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Pilih sebuah partisi untuk memasang</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Sebuah partisi sistem EFI tidak ditemukan pada sistem ini. Silakan kembali dan gunakan pemartisian manual untuk mengeset %1. - + The EFI system partition at %1 will be used for starting %2. Partisi sistem EFI di %1 akan digunakan untuk memulai %2. - + EFI system partition: Partisi sistem EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Tampaknya media penyimpanan ini tidak mengandung sistem operasi. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Hapus disk</strong><br/>Aksi ini akan <font color="red">menghapus</font> semua berkas yang ada pada media penyimpanan terpilih. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Media penyimpanan ini mengandung %1. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instal berdampingan dengan</strong><br/>Installer akan mengiris sebuah partisi untuk memberi ruang bagi %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ganti sebuah partisi</strong><br/> Ganti partisi dengan %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Media penyimpanan ini telah mengandung sistem operasi. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Media penyimpanan ini telah mengandung beberapa sistem operasi. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. @@ -1124,12 +1139,12 @@ Instalasi akan ditutup dan semua perubahan akan hilang. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalasi Gagal</h1><br/>%1 tidak bisa diinstal pada komputermu.<br/>Pesan galatnya adalah: %2. @@ -1295,7 +1310,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. InteractiveTerminalViewStep - + Script Skrip @@ -1549,12 +1564,12 @@ Instalasi akan ditutup dan semua perubahan akan hilang. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Instalasi akan ditutup dan semua perubahan akan hilang. PartitionViewStep - + Gathering system information... Mengumpulkan informasi sistem... - + Partitions Paritsi - + Install %1 <strong>alongside</strong> another operating system. Instal %1 <strong>berdampingan</strong> dengan sistem operasi lain. - + <strong>Erase</strong> disk and install %1. <strong>Hapus</strong> diska dan instal %1. - + <strong>Replace</strong> a partition with %1. <strong>Ganti</strong> partisi dengan %1. - + <strong>Manual</strong> partitioning. Partisi <strong>manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instal %1 <strong>berdampingan</strong> dengan sistem operasi lain di disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Hapus</strong> diska <strong>%2</strong> (%3) dan instal %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Ganti</strong> partisi pada diska <strong>%2</strong> (%3) dengan %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Partisi Manual</strong> pada diska <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Saat ini: - + After: Sesudah: - + No EFI system partition configured Tiada partisi sistem EFI terkonfigurasi - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Sebuah partisi sistem EFI perlu memulai %1.<br/><br/>Untuk mengkonfigurasi sebuah partisi sistem EFI, pergi mundur dan pilih atau ciptakan sebuah filesystem FAT32 dengan bendera <strong>esp</strong> yang difungsikan dan titik kait <strong>%2</strong>.<br/><br/>Kamu bisa melanjutkan tanpa menyetel sebuah partisi sistem EFI tapi sistemmu mungkin gagal memulai. - + EFI system partition flag not set Bendera partisi sistem EFI tidak disetel - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Sebuah partisi sistem EFI perlu memulai %1.<br/><br/>Sebuah partisi telah dikonfigurasi dengan titik kait <strong>%2</strong> tapi bendera <strong>esp</strong> tersebut tidak disetel.<br/>Untuk mengeset bendera, pergi mundur dan editlah partisi.<br/><br/>Kamu bisa melanjutkan tanpa menyetel bendera tapi sistemmu mungkin gagal memulai. - + Boot partition not encrypted Partisi boot tidak dienkripsi - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Sebuah partisi tersendiri telah terset bersama dengan sebuah partisi root terenkripsi, tapi partisi boot tidak terenkripsi.<br/><br/>Ada kekhawatiran keamanan dengan jenis setup ini, karena file sistem penting tetap pada partisi tak terenkripsi.<br/>Kamu bisa melanjutkan jika kamu menghendaki, tapi filesystem unlocking akan terjadi nanti selama memulai sistem.<br/>Untuk mengenkripsi partisi boot, pergi mundur dan menciptakannya ulang, memilih <strong>Encrypt</strong> di jendela penciptaan partisi. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,14 +2219,14 @@ Instalasi akan ditutup dan semua perubahan akan hilang. ProcessResult - + There was no output from the command. Tidak ada keluaran dari perintah. - + Output: @@ -2220,52 +2235,52 @@ Keluaran: - + External command crashed. Perintah eksternal rusak. - + Command <i>%1</i> crashed. Perintah <i>%1</i> mogok. - + External command failed to start. Perintah eksternal gagal dimulai - + Command <i>%1</i> failed to start. Perintah <i>%1</i> gagal dimulai. - + Internal error when starting command. Terjadi kesalahan internal saat menjalankan perintah. - + Bad parameters for process job call. Parameter buruk untuk memproses panggilan tugas, - + External command failed to finish. Perintah eksternal gagal diselesaikan . - + Command <i>%1</i> failed to finish in %2 seconds. Perintah <i>%1</i> gagal untuk diselesaikan dalam %2 detik. - + External command finished with errors. Perintah eksternal diselesaikan dengan kesalahan . - + Command <i>%1</i> finished with exit code %2. Perintah <i>%1</i> diselesaikan dengan kode keluar %2. @@ -2319,7 +2334,7 @@ Keluaran: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3140,7 +3155,7 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. WelcomeViewStep - + Welcome Selamat Datang diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 5133e0205..921ce91cd 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Aðalræsifærsla (MBR) %1 - + Boot Partition Ræsidisksneið - + System Partition Kerfisdisksneið - + Do not install a boot loader Ekki setja upp ræsistjóra - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Verkfæri - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Villuleitarupplýsingar @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Setja upp @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Keyra skipun %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Keyri skipun %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Næst - + &Cancel &Hætta við - + Cancel setup without changing the system. - + Cancel installation without changing the system. Hætta við uppsetningu ánþess að breyta kerfinu. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Setja upp - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Hætta við uppsetningu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Viltu virkilega að hætta við núverandi uppsetningarferli? Uppsetningarforritið mun hætta og allar breytingar tapast. - + &Yes &Já - + &No &Nei @@ -328,32 +343,32 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. &Loka - + Continue with setup? Halda áfram með uppsetningu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 uppsetningarforritið er um það bil að gera breytingar á diskinum til að setja upp %2.<br/><strong>Þú munt ekki geta afturkallað þessar breytingar.</strong> - + &Install now Setja &inn núna - + Go &back Fara til &baka - + &Done &Búið - + The installation is complete. Close the installer. Uppsetning er lokið. Lokaðu uppsetningarforritinu. @@ -394,17 +409,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 uppsetningarforrit - + Show debug information Birta villuleitarupplýsingar @@ -435,7 +450,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. <strong>Handvirk disksneiðing</strong><br/>Þú getur búið til eða breytt stærð disksneiða sjálft. - + Boot loader location: Staðsetning ræsistjóra @@ -447,8 +462,8 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - - + + Current: Núverandi: @@ -463,96 +478,96 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. <strong>Veldu disksneið til að minnka, dragðu síðan botnstikuna til að breyta stærðinni</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Veldu disksneið til að setja upp á </strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI kerfisdisksneið er hvergi að finna á þessu kerfi. Farðu til baka og notaðu handvirka skiptingu til að setja upp %1. - + The EFI system partition at %1 will be used for starting %2. EFI kerfisdisksneið á %1 mun verða notuð til að ræsa %2. - + EFI system partition: EFI kerfisdisksneið: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur mörg stýrikerfi á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Eyða disk</strong><br/>Þetta mun <font color="red">eyða</font> öllum gögnum á þessu valdna geymslu tæki. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur %1 á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Setja upp samhliða</strong><br/>Uppsetningarforritið mun minnka disksneið til að búa til pláss fyrir %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Skipta út disksneið</strong><br/>Skiptir disksneið út með %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur stýrikerfi á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur mörg stýrikerfi á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. @@ -1124,12 +1139,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. InteractiveTerminalViewStep - + Script Skrifta @@ -1549,12 +1564,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. PartitionViewStep - + Gathering system information... Söfnun kerfis upplýsingar... - + Partitions Disksneiðar - + Install %1 <strong>alongside</strong> another operating system. Setja upp %1 <strong>ásamt</strong> ásamt öðru stýrikerfi. - + <strong>Erase</strong> disk and install %1. <strong>Eyða</strong> disk og setja upp %1. - + <strong>Replace</strong> a partition with %1. <strong>Skipta út</strong> disksneið með %1. - + <strong>Manual</strong> partitioning. <strong>Handvirk</strong> disksneiðaskipting. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Uppsetning %1 <strong>með</strong> öðru stýrikerfi á disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Eyða</strong> disk <strong>%2</strong> (%3) og setja upp %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Skipta út</strong> disksneið á diski <strong>%2</strong> (%3) með %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Handvirk</strong> disksneiðaskipting á diski <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Diskur <strong>%1</strong> (%2) - + Current: Núverandi: - + After: Eftir: - + No EFI system partition configured Ekkert EFI kerfisdisksneið stillt - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Velkomin(n) diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 35bec08ab..5d075f1ac 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record di %1 - + Boot Partition Partizione di avvio - + System Partition Partizione di sistema - + Do not install a boot loader Non installare un boot loader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Strumenti - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Informazioni di debug @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installa @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Esegui il comando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Comando in esecuzione %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Il controllo dei requisiti di sistema è completo. @@ -217,25 +232,25 @@ - + &Next &Avanti - + &Cancel &Annulla - + Cancel setup without changing the system. - + Cancel installation without changing the system. Annullare l'installazione senza modificare il sistema. @@ -260,65 +275,65 @@ <br/>Non è stato possibile caricare il seguente modulo: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Installa - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Annullare l'installazione? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Si vuole davvero annullare l'installazione in corso? Il programma d'installazione sarà terminato e tutte le modifiche andranno perse. - + &Yes &Si - + &No &No @@ -328,32 +343,32 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno &Chiudi - + Continue with setup? Procedere con la configurazione? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Il programma d'nstallazione %1 sta per eseguire delle modifiche al tuo disco per poter installare %2.<br/><strong> Non sarà possibile annullare tali modifiche.</strong> - + &Install now &Installa adesso - + Go &back &Indietro - + &Done &Fatto - + The installation is complete. Close the installer. L'installazione è terminata. Chiudere il programma d'installazione. @@ -394,17 +409,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Programma di installazione - + Show debug information Mostra le informazioni di debug @@ -435,7 +450,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno <strong>Partizionamento manuale</strong><br/>Si possono creare o ridimensionare le partizioni manualmente. - + Boot loader location: Posizionamento del boot loader: @@ -447,8 +462,8 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno - - + + Current: Corrente: @@ -463,96 +478,96 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno <strong>Selezionare una partizione da ridurre, trascina la barra inferiore per ridimensionare</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Selezionare la partizione sulla quale si vuole installare</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Impossibile trovare una partizione EFI di sistema. Si prega di tornare indietro ed effettuare un partizionamento manuale per configurare %1. - + The EFI system partition at %1 will be used for starting %2. La partizione EFI di sistema su %1 sarà usata per avviare %2. - + EFI system partition: Partizione EFI di sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria non sembra contenere alcun sistema operativo. Come si vuole procedere?<br/>Si potranno comunque rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Cancellare disco</strong><br/>Questo <font color="red">cancellerà</font> tutti i dati attualmente presenti sul dispositivo di memoria. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria ha %1. Come si vuole procedere?<br/>Si potranno comunque rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. - + No Swap No Swap - + Reuse Swap Riutilizza Swap - + Swap (no Hibernate) Swap (senza ibernazione) - + Swap (with Hibernate) Swap (con ibernazione) - + Swap to file Swap su file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installare a fianco</strong><br/>Il programma di installazione ridurrà una partizione per dare spazio a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Sostituire una partizione</strong><br/>Sostituisce una partizione con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria contenere già un sistema operativo. Come si vuole procedere?<br/>Si potranno comunque rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria contenere diversi sistemi operativi. Come si vuole procedere?<br/>Comunque si potranno rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. @@ -1124,12 +1139,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installazione Fallita</h1><br/>%1 non è stato installato sul tuo computer.<br/>Il messaggio di errore è: %2 @@ -1295,7 +1310,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno InteractiveTerminalViewStep - + Script Script @@ -1549,12 +1564,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno PartitionViewStep - + Gathering system information... Raccolta delle informazioni di sistema... - + Partitions Partizioni - + Install %1 <strong>alongside</strong> another operating system. Installare %1 <strong>a fianco</strong> di un altro sistema operativo. - + <strong>Erase</strong> disk and install %1. <strong>Cancellare</strong> il disco e installare %1. - + <strong>Replace</strong> a partition with %1. <strong>Sostituire</strong> una partizione con %1. - + <strong>Manual</strong> partitioning. Partizionamento <strong>manuale</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Installare %1 <strong>a fianco</strong> di un altro sistema operativo sul disco<strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Cancellare</strong> il disco <strong>%2</strong> (%3) e installa %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Sostituire</strong> una partizione sul disco <strong>%2</strong> (%3) con %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Partizionamento <strong>manuale</strong> sul disco <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disco <strong>%1</strong> (%2) - + Current: Corrente: - + After: Dopo: - + No EFI system partition configured Nessuna partizione EFI di sistema è configurata - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Una partizione EFI di sistema è necessaria per avviare %1.<br/><br/>Per configurare una partizione EFI di sistema, tornare indietro e selezionare o creare un filesystem FAT32 con il flag <strong>esp</strong> abilitato e un punto di mount <strong>%2</strong>.<br/><br/>Si può continuare senza configurare una partizione EFI ma il sistema rischia di non avviarsi. - + EFI system partition flag not set Il flag della partizione EFI di sistema non è impostato. - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Una partizione EFI di sistema è necessaria per avviare %1.<br/><br/>Una partizione è stata configurata con punto di mount <strong>%2</strong> ma il relativo flag <strong>esp</strong> non è impostato.<br/>Per impostare il flag, tornare indietro e modificare la partizione.<br/><br/>Si può continuare senza impostare il flag ma il sistema rischia di non avviarsi. - + Boot partition not encrypted Partizione di avvio non criptata - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. E' stata configurata una partizione di avvio non criptata assieme ad una partizione root criptata. <br/><br/>Ci sono problemi di sicurezza con questo tipo di configurazione perchè dei file di sistema importanti sono tenuti su una partizione non criptata.<br/>Si può continuare se lo si desidera ma dopo ci sarà lo sblocco del file system, durante l'avvio del sistema.<br/>Per criptare la partizione di avvio, tornare indietro e ricrearla, selezionando <strong>Criptare</strong> nella finestra di creazione della partizione. - + has at least one disk device available. ha almeno un'unità disco disponibile. - + There are no partitons to install on. Non ci sono partizioni su cui installare @@ -2204,13 +2219,13 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno ProcessResult - + There was no output from the command. Non c'era output dal comando. - + Output: @@ -2219,53 +2234,53 @@ Output: - + External command crashed. Il comando esterno si è arrestato. - + Command <i>%1</i> crashed. Il comando <i>%1</i> si è arrestato. - + External command failed to start. Il comando esterno non si è avviato. - + Command <i>%1</i> failed to start. Il comando %1 non si è avviato. - + Internal error when starting command. Errore interno all'avvio del comando. - + Bad parameters for process job call. Parametri errati per elaborare la chiamata al job. - + External command failed to finish. Il comando esterno non è stato portato a termine. - + Command <i>%1</i> failed to finish in %2 seconds. Il comando <i>%1</i> non è stato portato a termine in %2 secondi. - + External command finished with errors. Il comando esterno è terminato con errori. - + Command <i>%1</i> finished with exit code %2. Il comando <i>%1</i> è terminato con codice di uscita %2. @@ -2319,7 +2334,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3138,7 +3153,7 @@ Output: WelcomeViewStep - + Welcome Benvenuti diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index cc379bc46..aee65d857 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 のマスターブートレコード - + Boot Partition ブートパーティション - + System Partition システムパーティション - + Do not install a boot loader ブートローダーをインストールしません - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ ツール - + + Reload Stylesheet + スタイルシートを再読み込む + + + + Widget Tree + ウィジェットツリー + + + Debug information デバッグ情報 @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up セットアップ - + Install インストール @@ -125,7 +135,7 @@ Programmed job failure was explicitly requested. - + 要求されたジョブは失敗しました。 @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - コマンド %1 %2 を実行 + + Run command '%1' in target system. + ターゲットシステムでコマンド '%1' を実行。 - + + Run command '%1'. + コマンド '%1' を実行。 + + + Running command %1 %2 コマンド %1 %2 を実行中 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n モジュールを待機中。 - + (%n second(s)) (%n 秒(s)) - + System-requirements checking is complete. 要求されるシステムの確認を終了しました。 @@ -217,25 +232,25 @@ - + &Next 次へ (&N) - + &Cancel 中止 (&C) - + Cancel setup without changing the system. システムを変更することなくセットアップを中断します。 - + Cancel installation without changing the system. システムを変更しないでインストールを中止します。 @@ -260,66 +275,66 @@ <br/>以下のモジュールがロードできませんでした。: - + Continue with installation? インストールを続行しますか? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 のセットアッププログラムは %2 のセットアップのためディスクの内容を変更します。<br/><strong>これらの変更は取り消しできません。</strong> - + &Set up now セットアップ中(&S) - + &Set up セットアップ (&S) - + &Install インストール (&I) - + Setup is complete. Close the setup program. セットアップが完了しました。プログラムを閉じます。 - + Cancel setup? セットアップを中止しますか? - + Cancel installation? インストールを中止しますか? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 本当に現在のセットアップのプロセルを中止しますか? すべての変更が取り消されます。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 本当に現在の作業を中止しますか? すべての変更が取り消されます。 - + &Yes はい (&Y) - + &No いいえ (&N) @@ -329,32 +344,32 @@ The installer will quit and all changes will be lost. 閉じる (&C) - + Continue with setup? セットアップを続行しますか? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 インストーラーは %2 をインストールするためにディスクの内容を変更しようとします。<br/><strong>これらの変更は取り消しできなくなります。</strong> - + &Install now 今すぐインストール (&I) - + Go &back 戻る (&B) - + &Done 実行 (&D) - + The installation is complete. Close the installer. インストールが完了しました。インストーラーを閉じます。 @@ -395,17 +410,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program %1 セットアッププログラム - + %1 Installer %1 インストーラー - + Show debug information デバッグ情報を表示 @@ -436,7 +451,7 @@ The installer will quit and all changes will be lost. <strong>手動パーティション</strong><br/>パーティションの作成、あるいはサイズ変更を行うことができます。 - + Boot loader location: ブートローダーの場所: @@ -448,8 +463,8 @@ The installer will quit and all changes will be lost. - - + + Current: 現在: @@ -464,96 +479,96 @@ The installer will quit and all changes will be lost. <strong>縮小するパーティションを選択し、下のバーをドラッグしてサイズを変更して下さい</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 は %2MiB に縮小され新たに %4 に %3MiB のパーティションが作成されます。 - + <strong>Select a partition to install on</strong> <strong>インストールするパーティションの選択</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. システムにEFIシステムパーティションが存在しません。%1 のセットアップのため、元に戻り、手動パーティショニングを使用してください。 - + The EFI system partition at %1 will be used for starting %2. %1 上のEFIシステムパーテイションは %2 のスタートに使用されます。 - + EFI system partition: EFI システムパーティション: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. このストレージデバイスは、オペレーティングシステムを持っていないようです。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>ディスクの消去</strong><br/>選択したストレージデバイス上のデータがすべて <font color="red">削除</font>されます。 - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. このストレージデバイスは %1 を有しています。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 - + No Swap スワップを使用しない - + Reuse Swap スワップを再利用 - + Swap (no Hibernate) スワップ(ハイバーネートなし) - + Swap (with Hibernate) スワップ(ハイバーネート) - + Swap to file ファイルにスワップ - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>共存してインストール</strong><br/>インストーラは %1 用の空きスペースを確保するため、パーティションを縮小します。 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>パーティションの置換</strong><br/>パーティションを %1 に置き換えます。 - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. この記憶装置は、すでにオペレーティングシステムが存在します。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. このストレージデバイスには、複数のオペレーティングシステムが存在します。どうしますか?<br />ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 @@ -1125,12 +1140,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>このボックスをチェックすると、 <span style="font-style:italic;">実行</span>をクリックするかインストーラーを閉じると直ちにシステムが再起動します。</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>セットアップに失敗しました。</h1><br/>%1 はコンピュータにセットアップされていません。<br/>エラーメッセージは次のとおりです: %2 - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>インストールに失敗しました</h1><br/>%1 はコンピュータにインストールされませんでした。<br/>エラーメッセージ: %2. @@ -1169,12 +1184,12 @@ The installer will quit and all changes will be lost. Format partition %1 (file system: %2, size: %3 MiB) on %4. - + %4 上のパーティション %1 (ファイルシステム: %2、サイズ: %3 MiB) をフォーマット。 Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + <strong>%3MiB</strong> のパーティション <strong>%1</strong> をファイルシステム <strong>%2</strong> でフォーマット。 @@ -1192,22 +1207,22 @@ The installer will quit and all changes will be lost. has at least %1 GiB available drive space - + 利用可能な容量が少なくとも %1 GiB There is not enough drive space. At least %1 GiB is required. - + 空き容量が十分ではありません。少なくとも %1 GiB 必要です。 has at least %1 GiB working memory - + %1 GiB以降のメモリーがあります The system does not have enough working memory. At least %1 GiB is required. - + 十分なメモリがありません。少なくとも %1 GiB 必要です。 @@ -1242,7 +1257,7 @@ The installer will quit and all changes will be lost. The screen is too small to display the setup program. - + セットアップを表示のは画面が小さすぎます。 @@ -1263,17 +1278,17 @@ The installer will quit and all changes will be lost. Could not create directories <code>%1</code>. - + <code>%1</code>のフォルダを作成されませんでした。 Could not open file <code>%1</code>. - + <code>%1</code>のファイルを開くられませんでした。 Could not write to file <code>%1</code>. - + ファイル <code>%1</code>に書き込めません。 @@ -1297,7 +1312,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script スクリプト @@ -1424,32 +1439,32 @@ The installer will quit and all changes will be lost. Shows the complete license text - + ライセンステキストを表示 Hide license text - + ライセンステキストを非表示 Show license agreement - + 使用許諾の表示 Hide license agreement - + 使用許諾を隠す Opens the license agreement in a browser window. - + 使用許諾をブラウザで開く。 <a href="%1">View license agreement</a> - + <a href="%1">使用許諾を見る</a> @@ -1551,12 +1566,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + OEM設定 - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2040,107 +2055,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... システム情報を取得中... - + Partitions パーティション - + Install %1 <strong>alongside</strong> another operating system. 他のオペレーティングシステムに<strong>共存して</strong> %1 をインストール。 - + <strong>Erase</strong> disk and install %1. ディスクを<strong>消去</strong>し %1 をインストール。 - + <strong>Replace</strong> a partition with %1. パーティションを %1 に<strong>置き換える。</strong> - + <strong>Manual</strong> partitioning. <strong>手動</strong>でパーティションを設定する。 - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). ディスク <strong>%2</strong> (%3) 上ののオペレーティングシステムと<strong>共存</strong>して %1 をインストール。 - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. ディスク <strong>%2</strong> (%3) を<strong>消去して</strong> %1 をインストール。 - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. ディスク <strong>%2</strong> (%3) 上のパーティションを %1 に<strong>置き換える。</strong> - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). ディスク <strong>%1</strong> (%2) 上で <strong>手動で</strong>パーティショニングする。 - + Disk <strong>%1</strong> (%2) ディスク <strong>%1</strong> (%2) - + Current: 現在: - + After: 変更後: - + No EFI system partition configured EFI システムパーティションが設定されていません - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. %1 を起動するためにはEFI システムパ ーティションが必要です。<br/><br/> EFI システムパーティションを設定するためには、元に戻って、マウントポイント<strong>%2</strong>で<strong>esp</strong>フラグを設定したFAT32ファイルシステムを選択するか作成します。<br/><br/>EFI システムパ ーティションの設定をせずに続行することはできますが、その場合はシステムの起動に失敗することになるかもしれません。 - + EFI system partition flag not set EFI システムパーティションのフラグが設定されていません - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. %1 を起動するためにはEFI システムパ ーティションが必要です。<br/><br/>パーティションはマウントポイント<strong>%2</strong>に設定されていますが、<strong>esp</strong> フラグが設定されていません。<br/>フラグを設定するには、元に戻ってパーティションを編集してください。<br/><br/>フラグの設定をせずに続けることはできますが、その場合、システムの起動に失敗することになるかもしれません。 - + Boot partition not encrypted ブートパーティションが暗号化されていません - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. ブートパーティションは暗号化されたルートパーティションとともにセットアップされましたが、ブートパーティションは暗号化されていません。<br/><br/>重要なシステムファイルが暗号化されていないパーティションに残されているため、このようなセットアップは安全上の懸念があります。<br/>セットアップを続行することはできますが、後でシステムの起動中にファイルシステムが解除されるおそれがあります。<br/>ブートパーティションを暗号化させるには、前の画面に戻って、再度パーティションを作成し、パーティション作成ウィンドウ内で<strong>Encrypt</strong> (暗号化) を選択してください。 - + has at least one disk device available. - + There are no partitons to install on. @@ -2206,14 +2221,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. コマンドから出力するものがありませんでした。 - + Output: @@ -2222,52 +2237,52 @@ Output: - + External command crashed. 外部コマンドがクラッシュしました。 - + Command <i>%1</i> crashed. コマンド <i>%1</i> がクラッシュしました。 - + External command failed to start. 外部コマンドの起動に失敗しました。 - + Command <i>%1</i> failed to start. コマンド <i>%1</i> の起動に失敗しました。 - + Internal error when starting command. コマンドが起動する際に内部エラーが発生しました。 - + Bad parameters for process job call. ジョブ呼び出しにおける不正なパラメータ - + External command failed to finish. 外部コマンドの終了に失敗しました。 - + Command <i>%1</i> failed to finish in %2 seconds. コマンド<i>%1</i> %2 秒以内に終了することに失敗しました。 - + External command finished with errors. 外部のコマンドがエラーで停止しました。 - + Command <i>%1</i> finished with exit code %2. コマンド <i>%1</i> が終了コード %2 で終了しました。. @@ -2321,7 +2336,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3084,7 +3099,7 @@ Output: Select language - + 言語を選択 @@ -3114,7 +3129,7 @@ Output: <h1>Welcome to %1 setup.</h1> - + <h1>%1 セットアップへようこそ</h1> @@ -3140,7 +3155,7 @@ Output: WelcomeViewStep - + Welcome ようこそ diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index d813d970b..214321ce4 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Саймандар - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Жөндеу ақпараты @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Орнату @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Алға - + &Cancel Ба&с тарту - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Орнатудан бас тарту керек пе? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: EFI жүйелік бөлімі: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome Қош келдіңіз diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index cabf3ff17..199db8626 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ ಉಪಕರಣಗಳು - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install ಸ್ಥಾಪಿಸು @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next ಮುಂದಿನ - + &Cancel ರದ್ದುಗೊಳಿಸು - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ಅನುಸ್ಥಾಪನೆಯನ್ನು ರದ್ದುಮಾಡುವುದೇ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes ಹೌದು - + &No ಇಲ್ಲ @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. ಮುಚ್ಚಿರಿ - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: ಪ್ರಸಕ್ತ: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: ಪ್ರಸಕ್ತ: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 7c7d78de1..235f3070d 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1의 마스터 부트 레코드 - + Boot Partition 부트 파티션 - + System Partition 시스템 파티션 - + Do not install a boot loader 부트로더를 설치하지 않습니다 - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ 도구 - + + Reload Stylesheet + 스타일시트 새로고침 + + + + Widget Tree + 위젯 트리 + + + Debug information 디버그 정보 @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up 설정 - + Install 설치 @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - 명령 %1 %2 실행 + + Run command '%1' in target system. + 대상 시스템에서 '%1' 명령을 실행합니다. - + + Run command '%1'. + '%1' 명령을 실행합니다. + + + Running command %1 %2 명령 %1 %2 실행중 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n 모듈(들)을 기다리는 중. - + (%n second(s)) (%n 초) - + System-requirements checking is complete. 시스템 요구사항 검사가 완료 되었습니다. @@ -217,25 +232,25 @@ - + &Next 다음 (&N) - + &Cancel 취소 (&C) - + Cancel setup without changing the system. 시스템을 변경 하지 않고 설치를 취소합니다. - + Cancel installation without changing the system. 시스템 변경 없이 설치를 취소합니다. @@ -260,66 +275,66 @@ 다음 모듈 불러오기 실패: - + Continue with installation? 설치를 계속하시겠습니까? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 설치 프로그램이 %2을(를) 설정하기 위해 디스크를 변경하려고 하는 중입니다.<br/><strong>이러한 변경은 취소할 수 없습니다.</strong> - + &Set up now 지금 설치 (&S) - + &Set up 설치 (&S) - + &Install 설치(&I) - + Setup is complete. Close the setup program. 설치가 완료 되었습니다. 설치 프로그램을 닫습니다. - + Cancel setup? 설치를 취소 하시겠습니까? - + Cancel installation? 설치를 취소하시겠습니까? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 현재 설정 프로세스를 취소하시겠습니까? 설치 프로그램이 종료되고 모든 변경 내용이 손실됩니다. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 정말로 현재 설치 프로세스를 취소하시겠습니까? 설치 관리자가 종료되며 모든 변경은 반영되지 않습니다. - + &Yes 예(&Y) - + &No 아니오(&N) @@ -329,32 +344,32 @@ The installer will quit and all changes will be lost. 닫기(&C) - + Continue with setup? 설치를 계속하시겠습니까? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 인스톨러가 %2를 설치하기 위해 사용자의 디스크의 내용을 변경하려고 합니다. <br/> <strong>이 변경 작업은 되돌릴 수 없습니다.</strong> - + &Install now 지금 설치 (&I) - + Go &back 뒤로 이동 (&b) - + &Done 완료 (&D) - + The installation is complete. Close the installer. 설치가 완료되었습니다. 설치 관리자를 닫습니다. @@ -395,17 +410,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program %1 설치 프로그램 - + %1 Installer %1 설치 관리자 - + Show debug information 디버그 정보 보기 @@ -436,7 +451,7 @@ The installer will quit and all changes will be lost. <strong>수동 파티션 작업</strong><br/>직접 파티션을 만들거나 크기를 조정할 수 있습니다. - + Boot loader location: 부트 로더 위치 : @@ -448,8 +463,8 @@ The installer will quit and all changes will be lost. - - + + Current: 현재: @@ -464,96 +479,96 @@ The installer will quit and all changes will be lost. <strong>축소할 파티션을 선택한 다음 하단 막대를 끌어 크기를 조정합니다.</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1이 %2MiB로 축소되고 %4에 대해 새 %3MiB 파티션이 생성됩니다. - + <strong>Select a partition to install on</strong> <strong>설치할 파티션을 선택합니다.</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. 이 시스템에서는 EFI 시스템 파티션을 찾을 수 없습니다. 돌아가서 수동 파티션 작업을 사용하여 %1을 설정하세요. - + The EFI system partition at %1 will be used for starting %2. %1의 EFI 시스템 파티션은 %2의 시작으로 사용될 것입니다. - + EFI system partition: EFI 시스템 파티션: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 이 저장 장치에는 운영 체제가없는 것 같습니다. 무엇을하고 싶으십니까?<br/>저장 장치를 변경하기 전에 선택 사항을 검토하고 확인할 수 있습니다. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>디스크 지우기</strong><br/>그러면 선택한 저장 장치에 현재 있는 모든 데이터가 <font color="red">삭제</font>됩니다. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 이 저장 장치에 %1이 있습니다. 무엇을하고 싶으십니까?<br/>저장 장치를 변경하기 전에 선택 사항을 검토하고 확인할 수 있습니다. - + No Swap 스왑 없음 - + Reuse Swap 스왑 재사용 - + Swap (no Hibernate) 스왑 (최대 절전모드 아님) - + Swap (with Hibernate) 스왑 (최대 절전모드 사용) - + Swap to file 파일로 스왑 - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>함께 설치</strong><br/>설치 관리자가 파티션을 축소하여 %1 공간을 확보합니다. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>파티션 바꾸기</strong><br/>파티션을 %1로 바꿉니다. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 이 저장 장치에는 이미 운영 체제가 있습니다. 무엇을하고 싶으십니까?<br/>저장 장치를 변경하기 전에 선택 사항을 검토하고 확인할 수 있습니다. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 이 저장 장치에는 여러 개의 운영 체제가 있습니다. 무엇을하고 싶으십니까?<br/>저장 장치를 변경하기 전에 선택 사항을 검토하고 확인할 수 있습니다. @@ -1125,12 +1140,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>이 확인란을 선택하면 <span style="font-style:italic;">완료</span>를 클릭하거나 설치 관리자를 닫으면 시스템이 즉시 다시 시작됩니다.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>설치 실패</h1><br/>%1이 컴퓨터에 설정되지 않았습니다.<br/>오류 메시지 : %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>설치에 실패했습니다.</h1><br/>%1이 컴퓨터에 설치되지 않았습니다.<br/>오류 메시지는 %2입니다. @@ -1296,7 +1311,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script 스크립트 @@ -1550,12 +1565,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration OEM 구성 - + Set the OEM Batch Identifier to <code>%1</code>. OEM 배치 식별자를 <code>%1</code>로 설정합니다. @@ -2039,107 +2054,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... 시스템 정보 수집 중... - + Partitions 파티션 - + Install %1 <strong>alongside</strong> another operating system. %1을 다른 운영 체제와 <strong>함께</strong> 설치합니다. - + <strong>Erase</strong> disk and install %1. 디스크를 <strong>지우고</strong> %1을 설치합니다. - + <strong>Replace</strong> a partition with %1. 파티션을 %1로 <strong>바꿉니다</strong>. - + <strong>Manual</strong> partitioning. <strong>수동</strong> 파티션 작업 - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). 디스크 <strong>%2</strong> (%3)에 다른 운영 체제와 <strong>함께</strong> %1을 설치합니다. - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. 디스크 <strong>%2</strong> (%3)를 <strong>지우고</strong> %1을 설치합니다. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. 디스크 <strong>%2</strong> (%3)의 파티션을 %1로 <strong>바꿉니다</strong>. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). 디스크 <strong>%1</strong> (%2) 의 <strong>수동</strong> 파티션 작업입니다. - + Disk <strong>%1</strong> (%2) 디스크 <strong>%1</strong> (%2) - + Current: 현재: - + After: 이후: - + No EFI system partition configured EFI 시스템 파티션이 설정되지 않았습니다 - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. %1를 시작하려면 EFI 시스템 파티션이 필요합니다.<br/><br/>EFI 시스템 파티션을 구성하려면 돌아가서 <strong>esp</strong> 플래그를 사용하도록 설정한 FAT32 파일 시스템을 선택하거나 생성하여 <strong>%2</strong> 위치를 마운트합니다.<br/><br/>EFI 시스템 파티션을 설정하지 않고 계속할 수 있지만 시스템이 시작되지 않을 수 있습니다. - + EFI system partition flag not set EFI 시스템 파티션 플래그가 설정되지 않았습니다 - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. %1를 시작하려면 EFI 시스템 파티션이 필요합니다.<br/><br/><strong>%2</strong> 마운트 위치로 파티션이 구성되었지만 해당 <strong>esp</strong> 플래그가 설정되지 않았습니다.<br/>플래그를 설정하려면 돌아가서 파티션을 편집합니다.<br/><br/>플래그를 설정하지 않고 계속할 수 있지만 시스템이 시작되지 않을 수 있습니다. - + Boot partition not encrypted 부트 파티션이 암호화되지 않았습니다 - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. 암호화된 루트 파티션과 함께 별도의 부팅 파티션이 설정되었지만 부팅 파티션은 암호화되지 않았습니다.<br/><br/>중요한 시스템 파일은 암호화되지 않은 파티션에 보관되기 때문에 이러한 설정과 관련하여 보안 문제가 있습니다.<br/>원하는 경우 계속할 수 있지만 나중에 시스템을 시작하는 동안 파일 시스템 잠금이 해제됩니다.<br/>부팅 파티션을 암호화하려면 돌아가서 다시 생성하여 파티션 생성 창에서 <strong>암호화</strong>를 선택합니다. - + has at least one disk device available. 하나 이상의 디스크 장치를 사용할 수 있습니다. - + There are no partitons to install on. 설치할 파티션이 없습니다. @@ -2205,14 +2220,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 명령으로부터 아무런 출력이 없습니다. - + Output: @@ -2221,52 +2236,52 @@ Output: - + External command crashed. 외부 명령이 실패했습니다. - + Command <i>%1</i> crashed. <i>%1</i> 명령이 실패했습니다. - + External command failed to start. 외부 명령을 시작하지 못했습니다. - + Command <i>%1</i> failed to start. <i>%1</i> 명령을 시작하지 못했습니다. - + Internal error when starting command. 명령을 시작하는 중에 내부 오류가 발생했습니다. - + Bad parameters for process job call. 프로세스 작업 호출에 대한 잘못된 매개 변수입니다. - + External command failed to finish. 외부 명령을 완료하지 못했습니다. - + Command <i>%1</i> failed to finish in %2 seconds. <i>%1</i> 명령을 %2초 안에 완료하지 못했습니다. - + External command finished with errors. 외부 명령이 오류와 함께 완료되었습니다. - + Command <i>%1</i> finished with exit code %2. <i>%1</i> 명령이 종료 코드 %2와 함께 완료되었습니다. @@ -2320,7 +2335,7 @@ Output: <i>%1</i> 모듈에 대한 요구사항 검사가 완료되었습니다. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Output: WelcomeViewStep - + Welcome 환영합니다 diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index b235fe6e5..d5a333062 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 580dc2831..2bd6a6621 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 paleidimo įrašas (MBR) - + Boot Partition Paleidimo skaidinys - + System Partition Sistemos skaidinys - + Do not install a boot loader Nediegti paleidyklės - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Įrankiai - + + Reload Stylesheet + Iš naujo įkelti stilių aprašą + + + + Widget Tree + Valdiklių medis + + + Debug information Derinimo informacija @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Sąranka - + Install Diegimas @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Vykdyti komandą %1 %2 + + Run command '%1' in target system. + Paleisti paskirties sistemoje komandą "%1". - + + Run command '%1'. + Paleisti komandą "%1". + + + Running command %1 %2 Vykdoma komanda %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Laukiama %n modulio.Laukiama %n modulių.Laukiama %n modulių.Laukiama %n modulio. - + (%n second(s)) (%n sekundė)(%n sekundės)(%n sekundžių)(%n sekundė) - + System-requirements checking is complete. Sistemos reikalavimų tikrinimas yra užbaigtas. @@ -217,25 +232,25 @@ - + &Next &Toliau - + &Cancel A&tsisakyti - + Cancel setup without changing the system. Atsisakyti sąrankos, nieko sistemoje nekeičiant. - + Cancel installation without changing the system. Atsisakyti diegimo, nieko sistemoje nekeičiant. @@ -260,66 +275,66 @@ <br/>Nepavyko įkelti šių modulių: - + Continue with installation? Tęsti diegimą? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sąrankos programa, siekdama nustatyti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Set up now Nu&statyti dabar - + &Set up Nu&statyti - + &Install Į&diegti - + Setup is complete. Close the setup program. Sąranka užbaigta. Užverkite sąrankos programą. - + Cancel setup? Atsisakyti sąrankos? - + Cancel installation? Atsisakyti diegimo? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio sąrankos proceso? Sąrankos programa užbaigs darbą ir visi pakeitimai bus prarasti. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio diegimo proceso? Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - + &Yes &Taip - + &No &Ne @@ -329,32 +344,32 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. &Užverti - + Continue with setup? Tęsti sąranką? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Install now Į&diegti dabar - + Go &back &Grįžti - + &Done A&tlikta - + The installation is complete. Close the installer. Diegimas užbaigtas. Užverkite diegimo programą. @@ -395,17 +410,17 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. CalamaresWindow - + %1 Setup Program %1 sąrankos programa - + %1 Installer %1 diegimo programa - + Show debug information Rodyti derinimo informaciją @@ -436,7 +451,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. <strong>Rankinis skaidymas</strong><br/>Galite patys kurti ar keisti skaidinių dydžius. - + Boot loader location: Paleidyklės vieta: @@ -448,8 +463,8 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - - + + Current: Dabartinis: @@ -464,96 +479,96 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. <strong>Pasirinkite, kurį skaidinį sumažinti, o tuomet vilkite juostą, kad pakeistumėte skaidinio dydį</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 bus sumažintas iki %2MiB ir naujas %3MiB skaidinys bus sukurtas sistemai %4. - + <strong>Select a partition to install on</strong> <strong>Pasirinkite kuriame skaidinyje įdiegti</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Šioje sistemoje niekur nepavyko rasti EFI skaidinio. Prašome grįžti ir naudoti rankinį skaidymą, kad nustatytumėte %1. - + The EFI system partition at %1 will be used for starting %2. %2 paleidimui bus naudojamas EFI sistemos skaidinys, esantis ties %1. - + EFI system partition: EFI sistemos skaidinys: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Atrodo, kad šiame įrenginyje nėra operacinės sistemos. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Ištrinti diską</strong><br/>Tai <font color="red">ištrins</font> visus, pasirinktame atminties įrenginyje, esančius duomenis. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Šiame atminties įrenginyje jau yra %1. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. - + No Swap Be sukeitimų skaidinio - + Reuse Swap Iš naujo naudoti sukeitimų skaidinį - + Swap (no Hibernate) Sukeitimų skaidinys (be užmigdymo) - + Swap (with Hibernate) Sukeitimų skaidinys (su užmigdymu) - + Swap to file Sukeitimų failas - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Įdiegti šalia</strong><br/>Diegimo programa sumažins skaidinį, kad atlaisvintų vietą sistemai %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Pakeisti skaidinį</strong><br/>Pakeičia skaidinį ir įrašo %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Šiame atminties įrenginyje jau yra operacinė sistema. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Šiame atminties įrenginyje jau yra kelios operacinės sistemos. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. @@ -1125,12 +1140,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. <html><head/><body><p>Pažymėjus šį langelį, jūsų sistema nedelsiant pasileis iš naujo, kai spustelėsite <span style="font-style:italic;">Atlikta</span> ar užversite diegimo programą.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Sąranka nepavyko</h1><br/>%1 nebuvo nustatyta jūsų kompiuteryje.<br/>Klaidos pranešimas buvo: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Diegimas nepavyko</h1><br/>%1 nebuvo įdiegta jūsų kompiuteryje.<br/>Klaidos pranešimas buvo: %2. @@ -1296,7 +1311,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. InteractiveTerminalViewStep - + Script Scenarijus @@ -1550,12 +1565,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. OEMViewStep - + OEM Configuration OEM konfigūracija - + Set the OEM Batch Identifier to <code>%1</code>. Nustatyti OEM partijos identifikatorių į <code>%1</code>. @@ -2039,107 +2054,107 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. PartitionViewStep - + Gathering system information... Renkama sistemos informacija... - + Partitions Skaidiniai - + Install %1 <strong>alongside</strong> another operating system. Diegti %1 <strong>šalia</strong> kitos operacinės sistemos. - + <strong>Erase</strong> disk and install %1. <strong>Ištrinti</strong> diską ir diegti %1. - + <strong>Replace</strong> a partition with %1. <strong>Pakeisti</strong> skaidinį, įrašant %1. - + <strong>Manual</strong> partitioning. <strong>Rankinis</strong> skaidymas. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Įdiegti %1 <strong>šalia</strong> kitos operacinės sistemos diske <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Ištrinti</strong> diską <strong>%2</strong> (%3) ir diegti %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Pakeisti</strong> skaidinį diske <strong>%2</strong> (%3), įrašant %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Rankinis</strong> skaidymas diske <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Diskas <strong>%1</strong> (%2) - + Current: Dabartinis: - + After: Po: - + No EFI system partition configured Nėra sukonfigūruoto EFI sistemos skaidinio - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. EFI sistemos skaidinys yra būtinas, norint paleisti %1.<br/><br/>Tam, kad sukonfigūruotumėte EFI sistemos skaidinį, grįžkite atgal ir pasirinkite arba sukurkite FAT32 failų sistemą su įjungta <strong>esp</strong> vėliavėle ir <strong>%2</strong> prijungimo tašku.<br/><br/>Jūs galite tęsti ir nenustatę EFI sistemos skaidinio, tačiau tokiu atveju, gali nepavykti paleisti jūsų sistemos. - + EFI system partition flag not set Nenustatyta EFI sistemos skaidinio vėliavėlė - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. EFI sistemos skaidinys yra būtinas, norint paleisti %1.<br/><br/>Skaidinys buvo sukonfigūruotas su prijungimo tašku <strong>%2</strong>, tačiau jo <strong>esp</strong> vėliavėlė yra nenustatyta.<br/>Tam, kad nustatytumėte vėliavėlę, grįžkite atgal ir redaguokite skaidinį.<br/><br/>Jūs galite tęsti ir nenustatę vėliavėlės, tačiau tokiu atveju, gali nepavykti paleisti jūsų sistemos. - + Boot partition not encrypted Paleidimo skaidinys nėra užšifruotas - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Kartu su užšifruotu šaknies skaidiniu, buvo nustatytas atskiras paleidimo skaidinys, tačiau paleidimo skaidinys nėra užšifruotas.<br/><br/>Dėl tokios sąrankos iškyla tam tikrų saugumo klausimų, kadangi svarbūs sisteminiai failai yra laikomi neužšifruotame skaidinyje.<br/>Jeigu norite, galite tęsti, tačiau failų sistemos atrakinimas įvyks vėliau, sistemos paleidimo metu.<br/>Norėdami užšifruoti paleidimo skaidinį, grįžkite atgal ir sukurkite jį iš naujo bei skaidinių kūrimo lange pažymėkite parinktį <strong>Užšifruoti</strong>. - + has at least one disk device available. turi bent vieną prieinamą disko įrenginį. - + There are no partitons to install on. Nėra skaidinių į kuriuos diegti. @@ -2205,14 +2220,14 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. ProcessResult - + There was no output from the command. Nebuvo jokios išvesties iš komandos. - + Output: @@ -2221,52 +2236,52 @@ Išvestis: - + External command crashed. Išorinė komanda užstrigo. - + Command <i>%1</i> crashed. Komanda <i>%1</i> užstrigo. - + External command failed to start. Nepavyko paleisti išorinės komandos. - + Command <i>%1</i> failed to start. Nepavyko paleisti komandos <i>%1</i>. - + Internal error when starting command. Paleidžiant komandą, įvyko vidinė klaida. - + Bad parameters for process job call. Blogi parametrai proceso užduoties iškvietai. - + External command failed to finish. Nepavyko pabaigti išorinės komandos. - + Command <i>%1</i> failed to finish in %2 seconds. Nepavyko per %2 sek. pabaigti komandos <i>%1</i>. - + External command finished with errors. Išorinė komanda pabaigta su klaidomis. - + Command <i>%1</i> finished with exit code %2. Komanda <i>%1</i> pabaigta su išėjimo kodu %2. @@ -2320,7 +2335,7 @@ Išvestis: Reikalavimų tikrinimas <i>%1</i> moduliui yra užbaigtas. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Išvestis: WelcomeViewStep - + Welcome Pasisveikinimas diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index 05cf84668..f591f3d63 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ Алатки - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Инсталирај @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. Инсталацијата е готова. Исклучете го инсталерот. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index e21e2d337..887d2b0b5 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 च्या मुख्य आरंभ अभिलेखामधे - + Boot Partition आरंभक विभाजन - + System Partition प्रणाली विभाजन - + Do not install a boot loader आरंभ सूचक अधिष्ठापित करु नका - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ साधने - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information दोषमार्जन माहिती @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install अधिष्ठापना @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - %1 %2 आज्ञा चालवा + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 %1 %2 आज्ञा चालवला जातोय @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &पुढे - + &Cancel &रद्द करा - + Cancel setup without changing the system. - + Cancel installation without changing the system. प्रणालीत बदल न करता अधिष्टापना रद्द करा. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? अधिष्ठापना रद्द करायचे? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &होय - + &No &नाही @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. &बंद करा - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &आता अधिष्ठापित करा - + Go &back &मागे जा - + &Done &पूर्ण झाली - + The installation is complete. Close the installer. अधिष्ठापना संपूर्ण झाली. अधिष्ठापक बंद करा. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 अधिष्ठापक - + Show debug information दोषमार्जन माहिती दर्शवा @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: सद्या : @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: सद्या : - + After: नंतर : - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome स्वागत diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 9e0f3f6b8..e6c0bb3cf 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record til %1 - + Boot Partition Bootpartisjon - + System Partition Systempartisjon - + Do not install a boot loader Ikke installer en oppstartslaster - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Verktøy - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Debug informasjon @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installer @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Kjør kommando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Kjører kommando %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Neste - + &Cancel &Avbryt - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryte installasjon? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig avbryte installasjonen? Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + &Yes &Ja - + &No &Nei @@ -328,32 +343,32 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.&Lukk - + Continue with setup? Fortsette å sette opp? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 vil nå gjøre endringer på harddisken, for å installere %2. <br/><strong>Du vil ikke kunne omgjøre disse endringene.</strong> - + &Install now &Installer nå - + Go &back Gå &tilbake - + &Done &Ferdig - + The installation is complete. Close the installer. Installasjonen er fullført. Lukk installeringsprogrammet. @@ -394,17 +409,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Installasjonsprogram - + Show debug information Vis feilrettingsinformasjon @@ -435,7 +450,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.<strong>Manuell partisjonering</strong><br/>Du kan opprette eller endre størrelse på partisjoner selv. - + Boot loader location: @@ -447,8 +462,8 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - - + + Current: @@ -463,96 +478,96 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Innnstallasjonen mislyktes</h1><br/>%1 har ikke blitt installert på datamaskinen din.<br/>Feilmeldingen var: %2. @@ -1295,7 +1310,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. InteractiveTerminalViewStep - + Script @@ -1549,12 +1564,12 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Ugyldige parametere for prosessens oppgavekall - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Velkommen diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index 41f30c140..069c082a9 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index fe283920c..ce02fcd02 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record van %1 - + Boot Partition Bootpartitie - + System Partition Systeempartitie - + Do not install a boot loader Geen bootloader installeren - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Hulpmiddelen - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Debug informatie @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installeer @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Voer opdracht %1 %2 uit + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Uitvoeren van opdracht %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Volgende - + &Cancel &Afbreken - + Cancel setup without changing the system. - + Cancel installation without changing the system. Installatie afbreken zonder aanpassingen aan het systeem. @@ -260,65 +275,65 @@ <br/>The volgende modules konden niet worden geladen: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Installeer - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Installatie afbreken? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wil je het huidige installatieproces echt afbreken? Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + &Yes &ja - + &No &Nee @@ -328,32 +343,32 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. &Sluiten - + Continue with setup? Doorgaan met installatie? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Het %1 installatieprogramma zal nu aanpassingen maken aan je schijf om %2 te installeren.<br/><strong>Deze veranderingen kunnen niet ongedaan gemaakt worden.</strong> - + &Install now Nu &installeren - + Go &back Ga &terug - + &Done Voltooi&d - + The installation is complete. Close the installer. De installatie is voltooid. Sluit het installatie-programma. @@ -394,17 +409,17 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Installatieprogramma - + Show debug information Toon debug informatie @@ -435,7 +450,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. <strong>Handmatig partitioneren</strong><br/>Je maakt of wijzigt zelf de partities. - + Boot loader location: Bootloader locatie: @@ -447,8 +462,8 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - - + + Current: Huidig: @@ -463,96 +478,96 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. <strong>Selecteer een partitie om te verkleinen, en sleep vervolgens de onderste balk om het formaat te wijzigen</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Selecteer een partitie om op te installeren</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Er werd geen EFI systeempartitie gevonden op dit systeem. Gelieve terug te gaan en manueel te partitioneren om %1 in te stellen. - + The EFI system partition at %1 will be used for starting %2. De EFI systeempartitie op %1 zal gebruikt worden om %2 te starten. - + EFI system partition: EFI systeempartitie: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium lijkt geen besturingssysteem te bevatten. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Wis schijf</strong><br/>Dit zal alle huidige gegevens op de geselecteerd opslagmedium <font color="red">verwijderen</font>. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium bevat %1. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. - + No Swap Geen wisselgeheugen - + Reuse Swap Wisselgeheugen hergebruiken - + Swap (no Hibernate) Wisselgeheugen (geen Sluimerstand) - + Swap (with Hibernate) Wisselgeheugen ( met Sluimerstand) - + Swap to file Wisselgeheugen naar bestand - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installeer ernaast</strong><br/>Het installatieprogramma zal een partitie verkleinen om plaats te maken voor %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Vervang een partitie</strong><br/>Vervangt een partitie met %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium bevat reeds een besturingssysteem. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium bevat meerdere besturingssystemen. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. @@ -1124,12 +1139,12 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Installatie Mislukt</h1><br/>%1 werd niet op de computer geïnstalleerd. <br/>De foutboodschap was: %2 @@ -1295,7 +1310,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. InteractiveTerminalViewStep - + Script Script @@ -1549,12 +1564,12 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. PartitionViewStep - + Gathering system information... Systeeminformatie verzamelen... - + Partitions Partities - + Install %1 <strong>alongside</strong> another operating system. Installeer %1 <strong>naast</strong> een ander besturingssysteem. - + <strong>Erase</strong> disk and install %1. <strong>Wis</strong> schijf en installeer %1. - + <strong>Replace</strong> a partition with %1. <strong>Vervang</strong> een partitie met %1. - + <strong>Manual</strong> partitioning. <strong>Handmatig</strong> partitioneren. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Installeer %1 <strong>naast</strong> een ander besturingssysteem op schijf <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Wis</strong> schijf <strong>%2</strong> (%3) en installeer %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Vervang</strong> een partitie op schijf <strong>%2</strong> (%3) met %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Handmatig</strong> partitioneren van schijf <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Schijf <strong>%1</strong> (%2) - + Current: Huidig: - + After: Na: - + No EFI system partition configured Geen EFI systeempartitie geconfigureerd - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Een EFI systeempartitie is vereist om %1 te starten.<br/><br/>Om een EFI systeempartitie in te stellen, ga terug en selecteer of maak een FAT32 bestandssysteem met de <strong>esp</strong>-vlag aangevinkt en aankoppelpunt <strong>%2</strong>.<br/><br/>Je kan verdergaan zonder een EFI systeempartitie, maar mogelijk start je systeem dan niet op. - + EFI system partition flag not set EFI-systeem partitievlag niet ingesteld. - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Een EFI systeempartitie is vereist om %1 op te starten.<br/><br/>Een partitie is ingesteld met aankoppelpunt <strong>%2</strong>, maar de de <strong>esp</strong>-vlag is niet aangevinkt.<br/>Om deze vlag aan te vinken, ga terug en pas de partitie aan.<br/><br/>Je kan verdergaan zonder deze vlag, maar mogelijk start je systeem dan niet op. - + Boot partition not encrypted Bootpartitie niet versleuteld - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Een aparte bootpartitie was ingesteld samen met een versleutelde rootpartitie, maar de bootpartitie zelf is niet versleuteld.<br/><br/>Dit is niet volledig veilig, aangezien belangrijke systeembestanden bewaard worden op een niet-versleutelde partitie.<br/>Je kan doorgaan als je wil, maar het ontgrendelen van bestandssystemen zal tijdens het opstarten later plaatsvinden.<br/>Om de bootpartitie toch te versleutelen: keer terug en maak de bootpartitie opnieuw, waarbij je <strong>Versleutelen</strong> aanvinkt in het venster partitie aanmaken. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,14 +2219,14 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. ProcessResult - + There was no output from the command. Er was geen uitvoer van de opdracht. - + Output: @@ -2220,52 +2235,52 @@ Uitvoer: - + External command crashed. Externe opdracht is vastgelopen. - + Command <i>%1</i> crashed. Opdracht <i>%1</i> is vastgelopen. - + External command failed to start. Externe opdracht kon niet worden gestart. - + Command <i>%1</i> failed to start. Opdracht <i>%1</i> kon niet worden gestart. - + Internal error when starting command. Interne fout bij het starten van de opdracht. - + Bad parameters for process job call. Onjuiste parameters voor procestaak - + External command failed to finish. Externe opdracht is niet correct beëindigd. - + Command <i>%1</i> failed to finish in %2 seconds. Opdracht <i>%1</i> is niet beëindigd in %2 seconden. - + External command finished with errors. Externe opdracht beëindigd met fouten. - + Command <i>%1</i> finished with exit code %2. Opdracht <i>%1</i> beëindigd met foutcode %2. @@ -2319,7 +2334,7 @@ Uitvoer: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3138,7 +3153,7 @@ Uitvoer: WelcomeViewStep - + Welcome Welkom diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 4cd49e159..c3beb76f3 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record %1 - + Boot Partition Partycja rozruchowa - + System Partition Partycja systemowa - + Do not install a boot loader Nie instaluj programu rozruchowego - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Narzędzia - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Informacje debugowania @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Zainstaluj @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Uruchom polecenie %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Wykonywanie polecenia %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Dalej - + &Cancel &Anuluj - + Cancel setup without changing the system. - + Cancel installation without changing the system. Anuluj instalację bez dokonywania zmian w systemie. @@ -260,65 +275,65 @@ <br/>Następujące moduły nie mogły zostać wczytane: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Za&instaluj - + Setup is complete. Close the setup program. - + Cancel setup? Anulować ustawianie? - + Cancel installation? Anulować instalację? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Czy na pewno chcesz anulować obecny proces instalacji? Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - + &Yes &Tak - + &No &Nie @@ -328,32 +343,32 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Zam&knij - + Continue with setup? Kontynuować z programem instalacyjnym? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalator %1 zamierza przeprowadzić zmiany na Twoim dysku, aby zainstalować %2.<br/><strong>Nie będziesz mógł cofnąć tych zmian.</strong> - + &Install now &Zainstaluj teraz - + Go &back &Cofnij się - + &Done &Ukończono - + The installation is complete. Close the installer. Instalacja ukończona pomyślnie. Możesz zamknąć instalator. @@ -394,17 +409,17 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. CalamaresWindow - + %1 Setup Program - + %1 Installer Instalator %1 - + Show debug information Pokaż informacje debugowania @@ -435,7 +450,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.<strong>Ręczne partycjonowanie</strong><br/>Możesz samodzielnie utworzyć lub zmienić rozmiar istniejących partycji. - + Boot loader location: Położenie programu rozruchowego: @@ -447,8 +462,8 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - - + + Current: Bieżący: @@ -463,96 +478,96 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.<strong>Wybierz partycję do zmniejszenia, a następnie przeciągnij dolny pasek, aby zmienić jej rozmiar</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Wybierz partycję, na której przeprowadzona będzie instalacja</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nigdzie w tym systemie nie można odnaleźć partycji systemowej EFI. Prosimy się cofnąć i użyć ręcznego partycjonowania dysku do ustawienia %1. - + The EFI system partition at %1 will be used for starting %2. Partycja systemowa EFI na %1 będzie użyta do uruchamiania %2. - + EFI system partition: Partycja systemowa EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej prawdopodobnie nie posiada żadnego systemu operacyjnego. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Wyczyść dysk</strong><br/>Ta operacja <font color="red">usunie</font> wszystkie dane obecnie znajdujące się na wybranym urządzeniu przechowywania. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej posiada %1. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. - + No Swap Brak przestrzeni wymiany - + Reuse Swap Użyj ponownie przestrzeni wymiany - + Swap (no Hibernate) Przestrzeń wymiany (bez hibernacji) - + Swap (with Hibernate) Przestrzeń wymiany (z hibernacją) - + Swap to file Przestrzeń wymiany do pliku - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Zainstaluj obok siebie</strong><br/>Instalator zmniejszy partycję, aby zrobić miejsce dla %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Zastąp partycję</strong><br/>Zastępowanie partycji poprzez %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej posiada już system operacyjny. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej posiada kilka systemów operacyjnych. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. @@ -1124,12 +1139,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalacja nie powiodła się</h1><br/>Nie udało się zainstalować %1 na Twoim komputerze.<br/>Komunikat o błędzie: %2. @@ -1295,7 +1310,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. InteractiveTerminalViewStep - + Script Skrypt @@ -1549,12 +1564,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. OEMViewStep - + OEM Configuration Konfiguracja OEM - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. PartitionViewStep - + Gathering system information... Zbieranie informacji o systemie... - + Partitions Partycje - + Install %1 <strong>alongside</strong> another operating system. Zainstaluj %1 <strong>obok</strong> innego systemu operacyjnego. - + <strong>Erase</strong> disk and install %1. <strong>Wyczyść</strong> dysk i zainstaluj %1. - + <strong>Replace</strong> a partition with %1. <strong>Zastąp</strong> partycję poprzez %1. - + <strong>Manual</strong> partitioning. <strong>Ręczne</strong> partycjonowanie. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Zainstaluj %1 <strong>obok</strong> innego systemu operacyjnego na dysku <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Wyczyść</strong> dysk <strong>%2</strong> (%3) i zainstaluj %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Zastąp</strong> partycję na dysku <strong>%2</strong> (%3) poprzez %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Ręczne</strong> partycjonowanie na dysku <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Dysk <strong>%1</strong> (%2) - + Current: Bieżący: - + After: Po: - + No EFI system partition configured Nie skonfigurowano partycji systemowej EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Partycja systemu EFI jest zalecana aby rozpocząć %1.<br/><br/>Aby ją skonfigurować, wróć i wybierz lub utwórz partycję z systemem plików FAT32 i flagą <strong>esp</strong> o punkcie montowania <strong>%2</strong>.<br/><br/>Możesz kontynuować bez ustawiania partycji systemu EFI, ale twój system może nie uruchomić się. - + EFI system partition flag not set Flaga partycji systemowej EFI nie została ustawiona - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Partycja systemu EFI jest konieczna, aby rozpocząć %1.<br/><br/>Partycja została skonfigurowana w punkcie montowania <strong>%2</strong>, ale nie została ustawiona flaga <strong>esp</strong>. Aby ustawić tę flagę, wróć i zmodyfikuj tę partycję.<br/><br/>Możesz kontynuować bez ustawienia tej flagi, ale Twój system może się nie uruchomić. - + Boot partition not encrypted Niezaszyfrowana partycja rozruchowa - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Oddzielna partycja rozruchowa została skonfigurowana razem z zaszyfrowaną partycją roota, ale partycja rozruchowa nie jest szyfrowana.<br/><br/>Nie jest to najbezpieczniejsze rozwiązanie, ponieważ ważne pliki systemowe znajdują się na niezaszyfrowanej partycji.<br/>Możesz kontynuować, ale odblokowywanie systemu nastąpi później, w trakcie uruchamiania.<br/>Aby zaszyfrować partycję rozruchową, wróć i utwórz ją ponownie zaznaczając opcję <strong>Szyfruj</strong> w oknie tworzenia partycji. - + has at least one disk device available. - + There are no partitons to install on. Brak partycji, na których można zainstalować. @@ -2204,14 +2219,14 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. ProcessResult - + There was no output from the command. W wyniku polecenia nie ma żadnego rezultatu. - + Output: @@ -2220,52 +2235,52 @@ Wyjście: - + External command crashed. Zewnętrzne polecenie zakończone niepowodzeniem. - + Command <i>%1</i> crashed. Wykonanie polecenia <i>%1</i> nie powiodło się. - + External command failed to start. Nie udało się uruchomić zewnętrznego polecenia. - + Command <i>%1</i> failed to start. Polecenie <i>%1</i> nie zostało uruchomione. - + Internal error when starting command. Wystąpił wewnętrzny błąd podczas uruchamiania polecenia. - + Bad parameters for process job call. Błędne parametry wywołania zadania. - + External command failed to finish. Nie udało się ukończyć zewnętrznego polecenia. - + Command <i>%1</i> failed to finish in %2 seconds. Nie udało się ukończyć polecenia <i>%1</i> w ciągu %2 sekund. - + External command finished with errors. Ukończono zewnętrzne polecenie z błędami. - + Command <i>%1</i> finished with exit code %2. Polecenie <i>%1</i> zostało ukończone z błędem o kodzie %2. @@ -2319,7 +2334,7 @@ Wyjście: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ i nie uruchomi się WelcomeViewStep - + Welcome Witamy diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index 93e5a0ffb..2e0809b87 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record de %1 - + Boot Partition Partição de Boot - + System Partition Partição de Sistema - + Do not install a boot loader Não instalar um gerenciador de inicialização - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Ferramentas - + + Reload Stylesheet + Recarregar folha de estilo + + + + Widget Tree + Árvore de widgets + + + Debug information Informações de depuração @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configurar - + Install Instalar @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Executar comando %1 %2 + + Run command '%1' in target system. + Executar o comando '%1' no sistema de destino. - + + Run command '%1'. + Executar comando '%1'. + + + Running command %1 %2 Executando comando %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Esperando por %n módulo.Esperando por %n módulos. - + (%n second(s)) (%n segundo)(%n segundos) - + System-requirements checking is complete. Verificação de requerimentos do sistema completa. @@ -217,25 +232,25 @@ - + &Next &Próximo - + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar configuração sem alterar o sistema. - + Cancel installation without changing the system. Cancelar instalação sem modificar o sistema. @@ -260,66 +275,66 @@ <br/>Os seguintes módulos não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> O programa de configuração %1 está prestes a fazer mudanças no seu disco de modo a configurar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Set up now &Configurar agora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. A configuração está completa. Feche o programa de configuração. - + Cancel setup? Cancelar a configuração? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Você realmente quer cancelar o processo atual de configuração? O programa de configuração será fechado e todas as mudanças serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Você deseja realmente cancelar a instalação atual? O instalador será fechado e todas as alterações serão perdidas. - + &Yes &Sim - + &No &Não @@ -329,32 +344,32 @@ O instalador será fechado e todas as alterações serão perdidas.Fe&char - + Continue with setup? Continuar com configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O instalador %1 está prestes a fazer alterações no disco a fim de instalar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Install now &Instalar agora - + Go &back &Voltar - + &Done Concluí&do - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. @@ -395,17 +410,17 @@ O instalador será fechado e todas as alterações serão perdidas. CalamaresWindow - + %1 Setup Program Programa de configuração %1 - + %1 Installer Instalador %1 - + Show debug information Exibir informações de depuração @@ -436,7 +451,7 @@ O instalador será fechado e todas as alterações serão perdidas.<strong>Particionamento manual</strong><br/>Você pode criar ou redimensionar partições. - + Boot loader location: Local do gerenciador de inicialização: @@ -448,8 +463,8 @@ O instalador será fechado e todas as alterações serão perdidas. - - + + Current: Atual: @@ -464,96 +479,96 @@ O instalador será fechado e todas as alterações serão perdidas.<strong>Selecione uma partição para reduzir, então arraste a barra de baixo para redimensionar</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 será reduzida para %2MiB e uma nova partição de %3MiB será criada para %4. - + <strong>Select a partition to install on</strong> <strong>Selecione uma partição para instalação</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Uma partição de sistema EFI não pôde ser encontrada neste dispositivo. Por favor, volte e use o particionamento manual para gerenciar %1. - + The EFI system partition at %1 will be used for starting %2. A partição de sistema EFI em %1 será utilizada para iniciar %2. - + EFI system partition: Partição de sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Parece que não há um sistema operacional neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Apagar disco</strong><br/>Isto <font color="red">excluirá</font> todos os dados no dispositivo de armazenamento selecionado. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento possui %1 nele. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. - + No Swap Sem swap - + Reuse Swap Reutilizar swap - + Swap (no Hibernate) Swap (sem hibernação) - + Swap (with Hibernate) Swap (com hibernação) - + Swap to file Swap em arquivo - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar lado a lado</strong><br/>O instalador reduzirá uma partição para liberar espaço para %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Substituir uma partição</strong><br/>Substitui uma partição com %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Já há um sistema operacional neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Há diversos sistemas operacionais neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. @@ -1125,12 +1140,12 @@ O instalador será fechado e todas as alterações serão perdidas.<html><head/><body><p>Quando essa caixa for marcada, seu sistema irá reiniciar imediatamente quando você clicar em <span style="font-style:italic;">Concluído</span> ou fechar o instalador.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>A configuração falhou</h1><br/>%1 não foi configurado no seu computador.<br/>A mensagem de erro foi: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>A instalação falhou</h1><br/>%1 não foi instalado em seu computador.<br/>A mensagem de erro foi: %2. @@ -1296,7 +1311,7 @@ O instalador será fechado e todas as alterações serão perdidas. InteractiveTerminalViewStep - + Script Script @@ -1550,12 +1565,12 @@ O instalador será fechado e todas as alterações serão perdidas. OEMViewStep - + OEM Configuration Configuração OEM - + Set the OEM Batch Identifier to <code>%1</code>. Definir o identificador de Lote OEM em <code>%1</code>. @@ -2039,107 +2054,107 @@ O instalador será fechado e todas as alterações serão perdidas. PartitionViewStep - + Gathering system information... Coletando informações do sistema... - + Partitions Partições - + Install %1 <strong>alongside</strong> another operating system. Instalar %1 <strong>ao lado de</strong> outro sistema operacional. - + <strong>Erase</strong> disk and install %1. <strong>Apagar</strong> disco e instalar %1. - + <strong>Replace</strong> a partition with %1. <strong>Substituir</strong> uma partição com %1. - + <strong>Manual</strong> partitioning. Particionamento <strong>manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instalar %1 <strong>ao lado de</strong> outro sistema operacional no disco <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Apagar</strong> disco <strong>%2</strong> (%3) e instalar %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Substituir</strong> uma partição no disco <strong>%2</strong> (%3) com %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particionamento <strong>manual</strong> no disco <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disco <strong>%1</strong> (%2) - + Current: Atualmente: - + After: Depois: - + No EFI system partition configured Nenhuma partição de sistema EFI configurada - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Uma partição de sistema EFI é necessária para iniciar %1.<br/><br/>Para configurar uma partição de sistema EFI, volte, selecione ou crie um sistema de arquivos FAT32 com o marcador <strong>esp</strong> ativado e ponto de montagem <strong>%2</strong>.<br/><br/>Você pode continuar sem definir uma partição de sistema EFI, mas seu sistema pode não iniciar. - + EFI system partition flag not set Marcador da partição do sistema EFI não definida - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Uma partição de sistema EFI é necessária para iniciar %1.<br/><br/>Uma partição foi configurada com o ponto de montagem <strong>%2</strong>, mas seu marcador <strong>esp</strong> não foi definido.<br/>Para definir o marcador, volte e edite a partição.<br/><br/>Você pode continuar sem definir um marcador, mas seu sistema pode não iniciar. - + Boot partition not encrypted Partição de boot não criptografada - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Uma partição de inicialização separada foi configurada juntamente com uma partição raiz criptografada, mas a partição de inicialização não é criptografada.<br/><br/>Há preocupações de segurança quanto a esse tipo de configuração, porque arquivos de sistema importantes são mantidos em uma partição não criptografada.<br/>Você pode continuar se quiser, mas o desbloqueio do sistema de arquivos acontecerá mais tarde durante a inicialização do sistema.<br/>Para criptografar a partição de inicialização, volte e recrie-a, selecionando <strong>Criptografar</strong> na janela de criação da partição. - + has at least one disk device available. tem pelo menos um dispositivo de disco disponível. - + There are no partitons to install on. Não existem partições para a instalação. @@ -2205,14 +2220,14 @@ O instalador será fechado e todas as alterações serão perdidas. ProcessResult - + There was no output from the command. Não houve saída do comando. - + Output: @@ -2221,52 +2236,52 @@ Saída: - + External command crashed. O comando externo falhou. - + Command <i>%1</i> crashed. O comando <i>%1</i> falhou. - + External command failed to start. O comando externo falhou ao iniciar. - + Command <i>%1</i> failed to start. O comando <i>%1</i> falhou ao iniciar. - + Internal error when starting command. Erro interno ao iniciar o comando. - + Bad parameters for process job call. Parâmetros ruins para a chamada da tarefa do processo. - + External command failed to finish. O comando externo falhou ao finalizar. - + Command <i>%1</i> failed to finish in %2 seconds. O comando <i>%1</i> falhou ao finalizar em %2 segundos. - + External command finished with errors. O comando externo foi concluído com erros. - + Command <i>%1</i> finished with exit code %2. O comando <i>%1</i> foi concluído com o código %2. @@ -2320,7 +2335,7 @@ Saída: A verificação de requerimentos para o módulo <i>%1</i> está completa. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Saída: WelcomeViewStep - + Welcome Bem-vindo diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 2897a8d31..e1d49f242 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record de %1 - + Boot Partition Partição de arranque - + System Partition Partição do Sistema - + Do not install a boot loader Não instalar um carregador de arranque - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Ferramentas - + + Reload Stylesheet + Recarregar Folha de estilo + + + + Widget Tree + Árvore de Widgets + + + Debug information Informação de depuração @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configuração - + Install Instalar @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Correr comando %1 %2 + + Run command '%1' in target system. + Execute o comando '%1' no sistema alvo. - + + Run command '%1'. + Execute o comando '%1'. + + + Running command %1 %2 A executar comando %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). A aguardar por %n módulo(s).A aguardar por %n módulo(s). - + (%n second(s)) (%n segundo(s))(%n segundo(s)) - + System-requirements checking is complete. A verificação de requisitos de sistema está completa. @@ -217,25 +232,25 @@ - + &Next &Próximo - + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar instalação sem alterar o sistema. - + Cancel installation without changing the system. Cancelar instalar instalação sem modificar o sistema. @@ -260,66 +275,66 @@ <br/>Os módulos seguintes não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Instalar agora - + &Set up &Instalar - + &Install &Instalar - + Setup is complete. Close the setup program. Instalação completa. Feche o programa de instalação. - + Cancel setup? Cancelar instalação? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Quer mesmo cancelar o processo de instalação atual? O programa de instalação irá fechar todas as alterações serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Tem a certeza que pretende cancelar o atual processo de instalação? O instalador será encerrado e todas as alterações serão perdidas. - + &Yes &Sim - + &No &Não @@ -329,32 +344,32 @@ O instalador será encerrado e todas as alterações serão perdidas.&Fechar - + Continue with setup? Continuar com a configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está prestes a fazer alterações ao seu disco em ordem para instalar %2.<br/><strong>Não será capaz de desfazer estas alterações.</strong> - + &Install now &Instalar agora - + Go &back Voltar &atrás - + &Done &Feito - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. @@ -395,17 +410,17 @@ O instalador será encerrado e todas as alterações serão perdidas. CalamaresWindow - + %1 Setup Program %1 Programa de Instalação - + %1 Installer %1 Instalador - + Show debug information Mostrar informação de depuração @@ -436,7 +451,7 @@ O instalador será encerrado e todas as alterações serão perdidas.<strong>Particionamento manual</strong><br/>Pode criar ou redimensionar partições manualmente. - + Boot loader location: Localização do carregador de arranque: @@ -448,8 +463,8 @@ O instalador será encerrado e todas as alterações serão perdidas. - - + + Current: Atual: @@ -464,96 +479,96 @@ O instalador será encerrado e todas as alterações serão perdidas.<strong>Selecione uma partição para encolher, depois arraste a barra de fundo para redimensionar</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Selecione uma partição para instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nenhuma partição de sistema EFI foi encontrada neste sistema. Por favor volte atrás e use o particionamento manual para configurar %1. - + The EFI system partition at %1 will be used for starting %2. A partição de sistema EFI em %1 será usada para iniciar %2. - + EFI system partition: Partição de sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento aparenta não ter um sistema operativo. O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Apagar disco</strong><br/>Isto irá <font color="red">apagar</font> todos os dados atualmente apresentados no dispositivo de armazenamento selecionado. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento tem %1 nele. O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. - + No Swap Sem Swap - + Reuse Swap Reutilizar Swap - + Swap (no Hibernate) Swap (sem Hibernação) - + Swap (with Hibernate) Swap (com Hibernação) - + Swap to file Swap para ficheiro - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar paralelamente</strong><br/>O instalador irá encolher a partição para arranjar espaço para %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Substituir a partição</strong><br/>Substitui a partição com %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento já tem um sistema operativo nele. O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento tem múltiplos sistemas operativos nele, O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. @@ -1125,12 +1140,12 @@ O instalador será encerrado e todas as alterações serão perdidas. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalação Falhada</h1><br/>%1 não foi instalado no seu computador.<br/>A mensagem de erro foi: %2. @@ -1257,22 +1272,22 @@ O instalador será encerrado e todas as alterações serão perdidas. OEM Batch Identifier - + Identificador OEM em Lote Could not create directories <code>%1</code>. - + Não foi possível criar diretorias <code>%1</code>. Could not open file <code>%1</code>. - + Não foi possível abrir ficheiro <code>%1</code>. Could not write to file <code>%1</code>. - + Não foi possível escrever para o ficheiro <code>%1</code>. @@ -1296,7 +1311,7 @@ O instalador será encerrado e todas as alterações serão perdidas. InteractiveTerminalViewStep - + Script Script @@ -1534,7 +1549,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Ba&tch: - + Ba&tch: @@ -1550,14 +1565,14 @@ O instalador será encerrado e todas as alterações serão perdidas. OEMViewStep - + OEM Configuration - + Configuração OEM - + Set the OEM Batch Identifier to <code>%1</code>. - + Definir o Identificar OEM em Lote para <code>%1</code>. @@ -2039,107 +2054,107 @@ O instalador será encerrado e todas as alterações serão perdidas. PartitionViewStep - + Gathering system information... A recolher informações do sistema... - + Partitions Partições - + Install %1 <strong>alongside</strong> another operating system. Instalar %1 <strong>paralelamente</strong> a outro sistema operativo. - + <strong>Erase</strong> disk and install %1. <strong>Apagar</strong> disco e instalar %1. - + <strong>Replace</strong> a partition with %1. <strong>Substituir</strong> a partição com %1. - + <strong>Manual</strong> partitioning. Particionamento <strong>Manual</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instalar %1 <strong>paralelamente</strong> a outro sistema operativo no disco <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Apagar</strong> disco <strong>%2</strong> (%3) e instalar %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Substituir</strong> a partição no disco <strong>%2</strong> (%3) com %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Particionamento <strong>Manual</strong> no disco <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disco <strong>%1</strong> (%2) - + Current: Atual: - + After: Depois: - + No EFI system partition configured Nenhuma partição de sistema EFI configurada - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. É necessária uma partição de sistema EFI para iniciar %1.<br/><br/>Para configurar uma partição de sistema EFI, volte atrás e selecione ou crie um sistema de ficheiros FAT32 com a flag <strong>esp</strong> ativada e ponto de montagem <strong>%2</strong>.<br/><br/>Pode continuar sem configurar uma partição de sistema EFI mas o seu sistema pode falhar o arranque. - + EFI system partition flag not set flag não definida da partição de sistema EFI - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. É necessária uma partição de sistema EFI para iniciar %1.<br/><br/>A partitição foi configurada com o ponto de montagem <strong>%2</strong> mas a sua flag <strong>esp</strong> não está definida.<br/>Para definir a flag, volte atrás e edite a partição.<br/><br/>Pode continuar sem definir a flag mas o seu sistema pode falhar o arranque. - + Boot partition not encrypted Partição de arranque não encriptada - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Foi preparada uma partição de arranque separada juntamente com uma partição root encriptada, mas a partição de arranque não está encriptada.<br/><br/>Existem preocupações de segurança com este tipo de configuração, por causa de importantes ficheiros de sistema serem guardados numa partição não encriptada.<br/>Se desejar pode continuar, mas o destrancar do sistema de ficheiros irá ocorrer mais tarde durante o arranque do sistema.<br/>Para encriptar a partição de arranque, volte atrás e recrie-a, e selecione <strong>Encriptar</strong> na janela de criação de partições. - + has at least one disk device available. tem pelo menos um dispositivo de disco disponível. - + There are no partitons to install on. Não há partições para onde instalar. @@ -2205,14 +2220,14 @@ O instalador será encerrado e todas as alterações serão perdidas. ProcessResult - + There was no output from the command. O comando não produziu saída de dados. - + Output: @@ -2221,52 +2236,52 @@ Saída de Dados: - + External command crashed. O comando externo "crashou". - + Command <i>%1</i> crashed. Comando <i>%1</i> "crashou". - + External command failed to start. Comando externo falhou ao iniciar. - + Command <i>%1</i> failed to start. Comando <i>%1</i> falhou a inicialização. - + Internal error when starting command. Erro interno ao iniciar comando. - + Bad parameters for process job call. Maus parâmetros para chamada de processamento de tarefa. - + External command failed to finish. Comando externo falhou a finalização. - + Command <i>%1</i> failed to finish in %2 seconds. Comando <i>%1</i> falhou ao finalizar em %2 segundos. - + External command finished with errors. Comando externo finalizou com erros. - + Command <i>%1</i> finished with exit code %2. Comando <i>%1</i> finalizou com código de saída %2. @@ -2320,7 +2335,7 @@ Saída de Dados: A verificação de requisitos para módulo <i>%1</i> está completa. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -2501,12 +2516,12 @@ Saída de Dados: Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + Redimensionar <strong>%2MiB</strong> partição <strong>%1</strong> para <strong>%3MiB</strong>. Resizing %2MiB partition %1 to %3MiB. - + A redimensionar %2MiB partição %1 para %3MiB. @@ -2662,7 +2677,7 @@ Saída de Dados: Set flags on %1MiB %2 partition. - + Definir flags na partição %1MiB %2. @@ -3139,7 +3154,7 @@ Saída de Dados: WelcomeViewStep - + Welcome Bem-vindo diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 9819aa880..fbc795e6a 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master boot record (MBR) al %1 - + Boot Partition Partiție de boot - + System Partition Partiție de sistem - + Do not install a boot loader Nu instala un bootloader - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Unelte - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Informație pentru depanare @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalează @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Rulează comanda %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Se rulează comanda %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Următorul - + &Cancel &Anulează - + Cancel setup without changing the system. - + Cancel installation without changing the system. Anulează instalarea fără schimbarea sistemului. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Instalează - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Anulez instalarea? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doriți să anulați procesul curent de instalare? Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + &Yes &Da - + &No &Nu @@ -328,32 +343,32 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.În&chide - + Continue with setup? Continuați configurarea? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Programul de instalare %1 este pregătit să facă schimbări pe discul dumneavoastră pentru a instala %2.<br/><strong>Nu veți putea anula aceste schimbări.</strong> - + &Install now &Instalează acum - + Go &back Î&napoi - + &Done &Gata - + The installation is complete. Close the installer. Instalarea este completă. Închide instalatorul. @@ -394,17 +409,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. CalamaresWindow - + %1 Setup Program - + %1 Installer Program de instalare %1 - + Show debug information Arată informația de depanare @@ -435,7 +450,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.<strong>Partiționare manuală</strong><br/>Puteți crea sau redimensiona partițiile. - + Boot loader location: Locație boot loader: @@ -447,8 +462,8 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - - + + Current: Actual: @@ -463,96 +478,96 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.<strong>Selectează o partiție de micșorat, apoi trageți bara din jos pentru a redimensiona</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Selectează o partiție pe care să se instaleze</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. O partiție de sistem EFI nu poate fi găsită nicăieri în acest sistem. Vă rugăm să reveniți și să partiționați manual pentru a seta %1. - + The EFI system partition at %1 will be used for starting %2. Partiția de sistem EFI de la %1 va fi folosită pentru a porni %2. - + EFI system partition: Partiție de sistem EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare nu pare să aibă un sistem de operare instalat. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte să fie realizate schimbări pe dispozitivul de stocare. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Șterge discul</strong><br/>Aceasta va <font color="red">șterge</font> toate datele prezente pe dispozitivul de stocare selectat. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare are %1. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte să fie realizate schimbări pe dispozitivul de stocare. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalează laolaltă</strong><br/>Instalatorul va micșora o partiție pentru a face loc pentru %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Înlocuiește o partiție</strong><br/>Înlocuiește o partiție cu %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare are deja un sistem de operare instalat. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte de se realiza schimbări pe dispozitivul de stocare. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare are mai multe sisteme de operare instalate. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte de a se realiza schimbări pe dispozitivul de stocare. @@ -1124,12 +1139,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalarea a eșuat</h1><br/>%1 nu a mai fost instalat pe acest calculator.<br/>Mesajul de eroare era: %2. @@ -1295,7 +1310,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. InteractiveTerminalViewStep - + Script Script @@ -1549,12 +1564,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2041,107 +2056,107 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. PartitionViewStep - + Gathering system information... Se adună informații despre sistem... - + Partitions Partiții - + Install %1 <strong>alongside</strong> another operating system. Instalează %1 <strong>laolaltă</strong> cu un alt sistem de operare. - + <strong>Erase</strong> disk and install %1. <strong>Șterge</strong> discul și instalează %1. - + <strong>Replace</strong> a partition with %1. <strong>Înlocuiește</strong> o partiție cu %1. - + <strong>Manual</strong> partitioning. Partiționare <strong>manuală</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instalează %1 <strong>laolaltă</strong> cu un alt sistem de operare pe discul <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Șterge</strong> discul <strong>%2</strong> (%3) și instalează %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Înlocuiește</strong> o partiție pe discul <strong>%2</strong> (%3) cu %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Partiționare <strong>manuală</strong> a discului <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Discul <strong>%1</strong> (%2) - + Current: Actual: - + After: După: - + No EFI system partition configured Nicio partiție de sistem EFI nu a fost configurată - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Este necesară o partiție de sistem EFI pentru a porni %1.<br/><br/>Pentru a configura o partiție de sistem EFI, reveniți și selectați sau creați o partiție FAT32 cu flag-ul <strong>esp</strong> activat și montată la <strong>%2</strong>.<br/><br/>Puteți continua și fără configurarea unei partiții de sistem EFI, dar este posibil ca sistemul să nu pornească. - + EFI system partition flag not set Flag-ul de partiție de sistem pentru EFI nu a fost setat - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. O partiție de sistem EFI este necesară pentru a porni %1.<br/><br/>A fost configurată o partiție cu punct de montare la <strong>%2</strong> dar flag-ul <strong>esp</strong> al acesteia nu a fost setat.<br/>Pentru a seta flag-ul, reveniți și editați partiția.<br/><br/>Puteți continua și fără setarea flag-ului, dar este posibil ca sistemul să nu pornească. - + Boot partition not encrypted Partiția de boot nu este criptată - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. A fost creată o partiție de boot împreună cu o partiție root criptată, dar partiția de boot nu este criptată.<br/><br/>Sunt potențiale probleme de securitate cu un astfel de aranjament deoarece importante fișiere de sistem sunt păstrate pe o partiție necriptată.<br/>Puteți continua dacă doriți, dar descuierea sistemului se va petrece mai târziu în timpul pornirii.<br/>Pentru a cripta partiția de boot, reveniți și recreați-o, alegând opțiunea <strong>Criptează</strong> din fereastra de creare de partiții. - + has at least one disk device available. - + There are no partitons to install on. @@ -2207,14 +2222,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. ProcessResult - + There was no output from the command. Nu a existat nici o iesire din comanda - + Output: @@ -2223,52 +2238,52 @@ Output - + External command crashed. Comanda externă a eșuat. - + Command <i>%1</i> crashed. Comanda <i>%1</i> a eșuat. - + External command failed to start. Comanda externă nu a putut fi pornită. - + Command <i>%1</i> failed to start. Comanda <i>%1</i> nu a putut fi pornită. - + Internal error when starting command. Eroare internă la pornirea comenzii. - + Bad parameters for process job call. Parametri proști pentru apelul sarcinii de proces. - + External command failed to finish. Finalizarea comenzii externe a eșuat. - + Command <i>%1</i> failed to finish in %2 seconds. Comanda <i>%1</i> nu a putut fi finalizată în %2 secunde. - + External command finished with errors. Comanda externă finalizată cu erori. - + Command <i>%1</i> finished with exit code %2. Comanda <i>%1</i> finalizată cu codul de ieșire %2. @@ -2322,7 +2337,7 @@ Output - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3141,7 +3156,7 @@ Output WelcomeViewStep - + Welcome Bine ați venit diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index eab111987..aaf4c34a5 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Главная загрузочная запись %1 - + Boot Partition Загрузочный раздел - + System Partition Системный раздел - + Do not install a boot loader Не устанавливать загрузчик - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Инструменты - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Отладочная информация @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Установить @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Выполнить команду %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Выполняется команда %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Далее - + &Cancel О&тмена - + Cancel setup without changing the system. - + Cancel installation without changing the system. Отменить установку без изменения системы. @@ -260,64 +275,64 @@ <br/>Не удалось загрузить следующие модули: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Установить - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отменить установку? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Действительно прервать процесс установки? Программа установки сразу прекратит работу, все изменения будут потеряны. - + &Yes &Да - + &No &Нет @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. &Закрыть - + Continue with setup? Продолжить установку? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Install now Приступить к &установке - + Go &back &Назад - + &Done &Готово - + The installation is complete. Close the installer. Установка завершена. Закройте установщик. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer Программа установки %1 - + Show debug information Показать отладочную информацию @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. <strong>Ручная разметка</strong><br/>Вы можете самостоятельно создавать разделы или изменять их размеры. - + Boot loader location: Расположение загрузчика: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: Текущий: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. <strong>Выберите раздел для уменьшения, затем двигайте ползунок, изменяя размер</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Выберите раздел для установки</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Не найдено системного раздела EFI. Пожалуйста, вернитесь назад и выполните ручную разметку %1. - + The EFI system partition at %1 will be used for starting %2. Системный раздел EFI на %1 будет использован для запуска %2. - + EFI system partition: Системный раздел EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Видимо, на этом устройстве нет операционной системы. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Стереть диск</strong><br/>Это <font color="red">удалит</font> все данные, которые сейчас находятся на выбранном устройстве. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На этом устройстве есть %1. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Установить рядом</strong><br/>Программа установки уменьшит раздел, чтобы освободить место для %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Заменить раздел</strong><br/>Меняет раздел на %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На этом устройстве уже есть операционная система. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На этом устройстве есть несколько операционных систем. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Сбой установки</h1><br/>Не удалось установить %1 на ваш компьютер.<br/>Сообщение об ошибке: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Скрипт @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... Сбор информации о системе... - + Partitions Разделы - + Install %1 <strong>alongside</strong> another operating system. Установить %1 <strong>параллельно</strong> к другой операционной системе. - + <strong>Erase</strong> disk and install %1. <strong>Очистить</strong> диск и установить %1. - + <strong>Replace</strong> a partition with %1. <strong>Заменить</strong> раздел на %1. - + <strong>Manual</strong> partitioning. <strong>Ручная</strong> разметка. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Установить %1 <strong>параллельно</strong> к другой операционной системе на диске <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Очистить</strong> диск <strong>%2</strong> (%3) и установить %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Заменить</strong> раздел на диске <strong>%2</strong> (%3) на %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Ручная</strong> разметка диска <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Диск <strong>%1</strong> (%2) - + Current: Текущий: - + After: После: - + No EFI system partition configured Нет настроенного системного раздела EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Чтобы начать, необходим системный раздел EFI %1.<br/><br/>Для настройки системного раздела EFI, вернитесь, выберите или создайте файловую систему FAT32 с установленным флагом <strong>esp</strong> и точкой монтирования <strong>%2</strong>.<br/><br/>Вы можете продолжить и без настройки системного раздела EFI, но Ваша система может не загрузиться. - + EFI system partition flag not set Не установлен флаг системного раздела EFI - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Чтобы начать, необходим системный раздел EFI %1.<br/><br/>Был настроен раздел с точкой монтирования <strong>%2</strong>, но его флаг <strong>esp</strong> не установлен.<br/>Для установки флага вернитесь и отредактируйте раздел.<br/><br/>Вы можете продолжить и без установки флага, но Ваша система может не загрузиться. - + Boot partition not encrypted Загрузочный раздел не зашифрован - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Включено шифрование корневого раздела, но использован отдельный загрузочный раздел без шифрования.<br/><br/>При такой конфигурации возникают проблемы с безопасностью, потому что важные системные файлы хранятся на разделе без шифрования.<br/>Если хотите, можете продолжить, но файловая система будет разблокирована позднее во время загрузки системы.<br/>Чтобы включить шифрование загрузочного раздела, вернитесь назад и снова создайте его, отметив <strong>Шифровать</strong> в окне создания раздела. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,14 +2218,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. Вывода из команды не последовало. - + Output: @@ -2219,52 +2234,52 @@ Output: - + External command crashed. Сбой внешней команды. - + Command <i>%1</i> crashed. Сбой команды <i>%1</i>. - + External command failed to start. Не удалось запустить внешнюю команду. - + Command <i>%1</i> failed to start. Не удалось запустить команду <i>%1</i>. - + Internal error when starting command. Внутренняя ошибка при запуске команды. - + Bad parameters for process job call. Неверные параметры для вызова процесса. - + External command failed to finish. Не удалось завершить внешнюю команду. - + Command <i>%1</i> failed to finish in %2 seconds. Команда <i>%1</i> не завершилась за %2 с. - + External command finished with errors. Внешняя команда завершилась с ошибками - + Command <i>%1</i> finished with exit code %2. Команда <i>%1</i> завершилась с кодом %2. @@ -2318,7 +2333,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3137,7 +3152,7 @@ Output: WelcomeViewStep - + Welcome Добро пожаловать diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 847d935fe..00a03251c 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Hlavný zavádzací záznam (MBR) zariadenia %1 - + Boot Partition Zavádzací oddiel - + System Partition Systémový oddiel - + Do not install a boot loader Neinštalovať zavádzač - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Nástroje - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Ladiace informácie @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Inštalácia @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Spustenie príkazu %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Spúšťa sa príkaz %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čaká sa na %n modul.Čaká sa na %n moduly.Čaká sa na %n modulov.Čaká sa na %n modulov. - + (%n second(s)) (%n sekunda)(%n sekundy)(%n sekúnd)(%n sekúnd) - + System-requirements checking is complete. Kontrola systémových požiadaviek je dokončená. @@ -217,25 +232,25 @@ - + &Next Ď&alej - + &Cancel &Zrušiť - + Cancel setup without changing the system. Zrušenie inštalácie bez zmien v systéme. - + Cancel installation without changing the system. Zruší inštaláciu bez zmeny systému. @@ -260,66 +275,66 @@ <br/>Nebolo možné načítať nasledujúce moduly - + Continue with installation? Pokračovať v inštalácii? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install _Inštalovať - + Setup is complete. Close the setup program. - + Cancel setup? Zrušiť inštaláciu? - + Cancel installation? Zrušiť inštaláciu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Naozaj chcete zrušiť aktuálny priebeh inštalácie? Inštalačný program bude ukončený a zmeny budú stratené. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Skutočne chcete zrušiť aktuálny priebeh inštalácie? Inštalátor sa ukončí a všetky zmeny budú stratené. - + &Yes _Áno - + &No _Nie @@ -329,32 +344,32 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. _Zavrieť - + Continue with setup? Pokračovať v inštalácii? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Inštalátor distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> - + &Install now &Inštalovať teraz - + Go &back Prejsť s&päť - + &Done _Dokončiť - + The installation is complete. Close the installer. Inštalácia je dokončená. Zatvorí inštalátor. @@ -395,17 +410,17 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. CalamaresWindow - + %1 Setup Program - + %1 Installer Inštalátor distribúcie %1 - + Show debug information Zobraziť ladiace informácie @@ -436,7 +451,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <strong>Ručné rozdelenie oddielov</strong><br/>Môžete vytvoriť alebo zmeniť veľkosť oddielov podľa seba. - + Boot loader location: Umiestnenie zavádzača: @@ -448,8 +463,8 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. - - + + Current: Teraz: @@ -464,96 +479,96 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <strong>Vyberte oddiel na zmenšenie a potom potiahnutím spodného pruhu zmeňte veľkosť</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Vyberte oddiel, na ktorý sa má inštalovať</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Oddiel systému EFI sa nedá v tomto počítači nájsť. Prosím, prejdite späť a použite ručné rozdelenie oddielov na inštaláciu distribúcie %1. - + The EFI system partition at %1 will be used for starting %2. Oddie lsystému EFI na %1 bude použitý na spustenie distribúcie %2. - + EFI system partition: Oddiel systému EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Zdá sa, že toto úložné zariadenie neobsahuje operačný systém. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Vymazanie disku</strong><br/>Týmto sa <font color="red">odstránia</font> všetky údaje momentálne sa nachádzajúce na vybranom úložnom zariadení. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Toto úložné zariadenie obsahuje operačný systém %1. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. - + No Swap Bez odkladacieho priestoru - + Reuse Swap Znovu použiť odkladací priestor - + Swap (no Hibernate) Odkladací priestor (bez hibernácie) - + Swap (with Hibernate) Odkladací priestor (s hibernáciou) - + Swap to file Odkladací priestor v súbore - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Inštalácia popri súčasnom systéme</strong><br/>Inštalátor zmenší oddiel a uvoľní miesto pre distribúciu %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Nahradenie oddielu</strong><br/>Nahradí oddiel distribúciou %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Toto úložné zariadenie už obsahuje operačný systém. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Toto úložné zariadenie obsahuje viacero operačných systémov. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. @@ -1125,12 +1140,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Inštalácia zlyhala</h1><br/>Distribúcia %1 nebola nainštalovaná do vášho počítača.<br/>Chybová hláška: %2. @@ -1296,7 +1311,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. InteractiveTerminalViewStep - + Script Skript @@ -1550,12 +1565,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2039,107 +2054,107 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. PartitionViewStep - + Gathering system information... Zbierajú sa informácie o počítači... - + Partitions Oddiely - + Install %1 <strong>alongside</strong> another operating system. Inštalácia distribúcie %1 <strong>popri</strong> inom operačnom systéme. - + <strong>Erase</strong> disk and install %1. <strong>Vymazanie</strong> disku a inštalácia distribúcie %1. - + <strong>Replace</strong> a partition with %1. <strong>Nahradenie</strong> oddielu distribúciou %1. - + <strong>Manual</strong> partitioning. <strong>Ručné</strong> rozdelenie oddielov. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Inštalácia distribúcie %1 <strong>popri</strong> inom operačnom systéme na disku <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Vymazanie</strong> disku <strong>%2</strong> (%3) a inštalácia distribúcie %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Nahradenie</strong> oddielu na disku <strong>%2</strong> (%3) distribúciou %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Ručné</strong> rozdelenie oddielov na disku <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Teraz: - + After: Potom: - + No EFI system partition configured Nie je nastavený žiadny oddiel systému EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Oddiel systému EFI je potrebný pre spustenie distribúcie %1.<br/><br/>Na nastavenie oddielu systému EFI prejdite späť a vyberte alebo vytvorte systém súborov FAT32 s povolenou značkou <strong>esp</strong> a bod pripojenia <strong>%2</strong>.<br/><br/>Môžete pokračovať bez nastavenia oddielu systému EFI, ale váš systém môže pri spustení zlyhať. - + EFI system partition flag not set Značka oddielu systému EFI nie je nastavená - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Oddiel systému EFI je potrebný pre spustenie distribúcie %1.<br/><br/>Oddiel bol nastavený s bodom pripojenia <strong>%2</strong>, ale nemá nastavenú značku <strong>esp</strong>.<br/>Na nastavenie značky prejdite späť a upravte oddiel.<br/><br/>Môžete pokračovať bez nastavenia značky, ale váš systém môže pri spustení zlyhať. - + Boot partition not encrypted Zavádzací oddiel nie je zašifrovaný - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Spolu so zašifrovaným koreňovým oddielom bol nainštalovaný oddelený zavádzací oddiel, ktorý ale nie je zašifrovaný.<br/><br/>S týmto typom inštalácie je ohrozená bezpečnosť, pretože dôležité systémové súbory sú uchovávané na nezašifrovanom oddieli.<br/>Ak si to želáte, môžete pokračovať, ale neskôr, počas spúšťania systému sa vykoná odomknutie systému súborov.<br/>Na zašifrovanie zavádzacieho oddielu prejdite späť a vytvorte ju znovu vybraním voľby <strong>Zašifrovať</strong> v okne vytvárania oddielu. - + has at least one disk device available. má dostupné aspoň jedno diskové zariadenie. - + There are no partitons to install on. Neexistujú žiadne oddiely, na ktoré je možné vykonať inštaláciu. @@ -2205,14 +2220,14 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. ProcessResult - + There was no output from the command. Žiadny výstup z príkazu. - + Output: @@ -2221,52 +2236,52 @@ Výstup: - + External command crashed. Externý príkaz nečakane skončil. - + Command <i>%1</i> crashed. Príkaz <i>%1</i> nečakane skončil. - + External command failed to start. Zlyhalo spustenie externého príkazu. - + Command <i>%1</i> failed to start. Zlyhalo spustenie príkazu <i>%1</i> . - + Internal error when starting command. Počas spúšťania príkazu sa vyskytla interná chyba. - + Bad parameters for process job call. Nesprávne parametre pre volanie úlohy procesu. - + External command failed to finish. Zlyhalo dokončenie externého príkazu. - + Command <i>%1</i> failed to finish in %2 seconds. Zlyhalo dokončenie príkazu <i>%1</i> počas doby %2 sekúnd. - + External command finished with errors. Externý príkaz bol dokončený s chybami. - + Command <i>%1</i> finished with exit code %2. Príkaz <i>%1</i> skončil s ukončovacím kódom %2. @@ -2320,7 +2335,7 @@ Výstup: Kontrola požiadaviek modulu <i>%1</i> je dokončená. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Výstup: WelcomeViewStep - + Welcome Uvítanie diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 1ea9375e5..ce6069495 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition Zagonski razdelek - + System Partition Sistemski razdelek - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Namesti @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Naprej - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Preklic namestitve? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ali res želite preklicati trenutni namestitveni proces? Namestilni program se bo končal in vse spremembe bodo izgubljene. - + &Yes - + &No @@ -328,32 +343,32 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -394,17 +409,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Namestilnik - + Show debug information @@ -435,7 +450,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Boot loader location: @@ -447,8 +462,8 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - - + + Current: @@ -463,96 +478,96 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. InteractiveTerminalViewStep - + Script @@ -1549,12 +1564,12 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. PartitionViewStep - + Gathering system information... Zbiranje informacij o sistemu ... - + Partitions Razdelki - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: Potem: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Nepravilni parametri za klic procesa opravila. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Dobrodošli diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index 6d3bb2016..e41229a34 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record për %1 - + Boot Partition Pjesë Nisjesh - + System Partition Pjesëzim Sistemi - + Do not install a boot loader Mos instalo ngarkues nisjesh - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Mjete - + + Reload Stylesheet + Ringarko Fletëstilin + + + + Widget Tree + Pemë Widget-sh + + + Debug information Të dhëna diagnostikimi @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Ujdise - + Install Instaloje @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Xhiro urdhrin %1 %2 + + Run command '%1' in target system. + Xhiroje urdhrin '%1' te sistemi i synuar. - + + Run command '%1'. + Xhiro urdhrin '%1'. + + + Running command %1 %2 Po xhirohet urdhri %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Po pritet për %n modul(e).Po pritet për %n modul(e). - + (%n second(s)) (%n sekondë(a))(%n sekondë(a)) - + System-requirements checking is complete. Kontrolli i domosdoshmërive të sistemit u plotësua. @@ -217,25 +232,25 @@ - + &Next &Pasuesi - + &Cancel &Anuloje - + Cancel setup without changing the system. Anuloje rregullimin pa ndryshuar sistemin. - + Cancel installation without changing the system. Anuloje instalimin pa ndryshuar sistemin. @@ -260,66 +275,66 @@ <br/>S’u ngarkuan dot modulet vijues: - + Continue with installation? Të vazhdohet me instalimin? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Programi i rregullimit %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të rregullojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Set up now &Rregulloje tani - + &Set up &Rregulloje - + &Install &Instaloje - + Setup is complete. Close the setup program. Rregullimi është i plotë. Mbylleni programin e rregullimit. - + Cancel setup? Të anulohet rregullimi? - + Cancel installation? Të anulohet instalimi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i rregullimit? Programi i rregullimit do të mbyllet dhe krejt ndryshimet do të humbin. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i instalimit? Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - + &Yes &Po - + &No &Jo @@ -329,32 +344,32 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. &Mbylle - + Continue with setup? Të vazhdohet me rregullimin? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instaluesi %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të instalojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Install now &Instaloje tani - + Go &back Kthehu &mbrapsht - + &Done &U bë - + The installation is complete. Close the installer. Instalimi u plotësua. Mbylle instaluesin. @@ -395,17 +410,17 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. CalamaresWindow - + %1 Setup Program Programi i Rregullimit të %1 - + %1 Installer Instalues %1 - + Show debug information Shfaq të dhëna diagnostikimi @@ -436,7 +451,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. <strong>Pjesëzim dorazi</strong><br/>Pjesët mund t’i krijoni dhe ripërmasoni ju vetë. - + Boot loader location: Vendndodhje ngarkuesi nisjesh: @@ -448,8 +463,8 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - - + + Current: E tanishmja: @@ -464,96 +479,96 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. <strong>Përzgjidhni një pjesë që të zvogëlohet, mandej tërhiqni shtyllën e poshtme që ta ripërmasoni</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 do të zvogëlohet në %2MiB dhe për %4 do të krijohet një pjesë e re %3MiB. - + <strong>Select a partition to install on</strong> <strong>Përzgjidhni një pjesë ku të instalohet</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Në këtë sistem s’gjendet gjëkundi një pjesë EFI sistemi. Ju lutemi, kthehuni mbrapsht dhe përdorni pjesëzimin dorazi që të rregulloni %1. - + The EFI system partition at %1 will be used for starting %2. Për nisjen e %2 do të përdoret pjesa EFI e sistemit te %1. - + EFI system partition: Pjesë Sistemi EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi përmban %1 në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Fshije diskun</strong><br/>Kështu do të <font color=\"red\">fshihen</font> krejt të dhënat të pranishme tani në pajisjen e përzgjedhur. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi përmban %1 në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. - + No Swap Pa Swap - + Reuse Swap Ripërdor Swap-in - + Swap (no Hibernate) Swap (pa Letargji) - + Swap (with Hibernate) Swap (me Letargji) - + Swap to file Swap në kartelë - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instaloje në krah të tij</strong><br/>Instaluesi do të zvogëlojë një pjesë për të bërë vend për %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Zëvendëso një pjesë</strong><br/>Zëvendëson një pjesë me %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi ka tashmë një sistem operativ në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi ka disa sisteme operativë në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. @@ -1125,12 +1140,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. <html><head/><body><p>Kur i vihet shenjë kësaj kutie, sistemi juaj do të riniset menjëherë, kur klikoni mbi <span style=" font-style:italic;">U bë</span> ose mbyllni instaluesin.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Rregullimi Dështoi</h1><br/>%1 s’u rregullua në kompjuterin tuaj.<br/>Mesazhi i gabimit qe: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Instalimi Dështoi</h1><br/>%1 s’u instalua në kompjuterin tuaj.<br/>Mesazhi i gabimit qe: %2. @@ -1296,7 +1311,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. InteractiveTerminalViewStep - + Script Programth @@ -1550,12 +1565,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. OEMViewStep - + OEM Configuration Formësim OEM-i - + Set the OEM Batch Identifier to <code>%1</code>. Caktoni Identifikues partie OEM si <code>%1</code>. @@ -2039,107 +2054,107 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. PartitionViewStep - + Gathering system information... Po grumbullohen të dhëna mbi sistemin… - + Partitions Pjesë - + Install %1 <strong>alongside</strong> another operating system. Instalojeni %1 <strong>në krah</strong> të një tjetër sistemi operativ. - + <strong>Erase</strong> disk and install %1. <strong>Fshije</strong> diskun dhe instalo %1. - + <strong>Replace</strong> a partition with %1. <strong>Zëvendësojeni</strong> një pjesë me %1. - + <strong>Manual</strong> partitioning. Pjesëzim <strong>dorazi</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Instaloje %1 <strong>në krah</strong> të një tjetri sistemi operativ në diskun <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Fshije</strong> diskun <strong>%2</strong> (%3) dhe instalo %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Zëvendëso</strong> një pjesë te disku <strong>%2</strong> (%3) me %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Pjesëzim <strong>dorazi</strong> në diskun <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disku <strong>%1</strong> (%2) - + Current: E tanishmja: - + After: Më Pas: - + No EFI system partition configured S’ka të formësuar pjesë sistemi EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Që të niset %1, është e domosdoshme një pjesë sistemi EFI.<br/><br/>Që të formësoni një pjesë sistemi EFI, kthehuni mbrapsht dhe përzgjidhni ose krijoni një sistem kartelash FAT32 me flamurkën <strong>esp</strong> të aktivizuar dhe me pikë montimi <strong>%2</strong>.<br/><br/>Mund të vazhdoni pa rregulluar një pjesë sistemi EFI, por mundet që sistemi të mos arrijë dot të niset. - + EFI system partition flag not set S’është vënë flamurkë EFI pjese sistemi - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Që të niset %1, është e domosdoshme një pjesë sistemi EFI.<br/><br/>Është formësuar një pjesë me pikë montimi <strong>%2</strong>, por pa i vënë flamurkën <strong>esp</strong>.<br/>Që t’ia vini, kthehuni mbrapsht dhe përpunoni pjesë.<br/><br/>Mund të vazhdoni pa i vënë flamurkën, por mundet që sistemi të mos arrijë dot të niset. - + Boot partition not encrypted Pjesë nisjesh e pafshehtëzuar - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Tok me pjesën e fshehtëzuar <em>root</em> qe rregulluar edhe një pjesë <em>boot</em> veçmas, por pjesa <em>boot</em> s’është e fshehtëzuar.<br/><br/>Ka preokupime mbi sigurinë e këtij lloj rregullimi, ngaqë kartela të rëndësishme sistemi mbahen në një pjesë të pafshehtëzuar.<br/>Mund të vazhdoni, nëse doni, por shkyçja e sistemit të kartelave do të ndodhë më vonë, gjatë nisjes së sistemit.<br/>Që të fshehtëzoni pjesën <em>boot</em>, kthehuni mbrapsht dhe rikrijojeni, duke përzgjedhur te skena e krijimit të pjesës <strong>Fshehtëzoje</strong>. - + has at least one disk device available. ka të paktën një pajisje disku për përdorim. - + There are no partitons to install on. S’ka pjesë ku të instalohet. @@ -2205,14 +2220,14 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. ProcessResult - + There was no output from the command. S’pati përfundim nga urdhri. - + Output: @@ -2221,52 +2236,52 @@ Përfundim: - + External command crashed. Urdhri i jashtëm u vithis. - + Command <i>%1</i> crashed. Urdhri <i>%1</i> u vithis. - + External command failed to start. Dështoi nisja e urdhrit të jashtëm. - + Command <i>%1</i> failed to start. Dështoi nisja e urdhrit <i>%1</i>. - + Internal error when starting command. Gabim i brendshëm kur niset urdhri. - + Bad parameters for process job call. Parametra të gabuar për thirrje akti procesi. - + External command failed to finish. S’u arrit të përfundohej urdhër i jashtëm. - + Command <i>%1</i> failed to finish in %2 seconds. Urdhri <i>%1</i> s’arriti të përfundohej në %2 sekonda. - + External command finished with errors. Urdhri i jashtë përfundoi me gabime. - + Command <i>%1</i> finished with exit code %2. Urdhri <i>%1</i> përfundoi me kod daljeje %2. @@ -2320,7 +2335,7 @@ Përfundim: Kontrolli i domosdoshmërive për modulin <i>%1</i> u plotësua. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Përfundim: WelcomeViewStep - + Welcome Mirë se vini diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index a63b56a94..d9265925b 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition Подизна партиција - + System Partition Системска партиција - + Do not install a boot loader Не инсталирај подизни учитавач - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Алатке - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Инсталирај @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Покрени команду %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Извршавам команду %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Следеће - + &Cancel &Откажи - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отказати инсталацију? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Да ли стварно желите да прекинете текући процес инсталације? Инсталер ће бити затворен и све промене ће бити изгубљене. - + &Yes - + &No @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? Наставити са подешавањем? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Инсталирај сада - + Go &back Иди &назад - + &Done - + The installation is complete. Close the installer. @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 инсталер - + Show debug information @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>Ручно партиционисање</strong><br/>Сами можете креирати или мењати партције. - + Boot loader location: Подизни учитавач на: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: Тренутно: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Скрипта @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: Тренутно: - + After: После: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Лоши параметри при позиву посла процеса. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Добродошли diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 0d2e2bf6f..1d383195f 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record na %1 - + Boot Partition Particija za pokretanje sistema - + System Partition Sistemska particija - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instaliraj @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Dalje - + &Cancel &Prekini - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Prekini instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Da li stvarno želite prekinuti trenutni proces instalacije? Instaler će se zatvoriti i sve promjene će biti izgubljene. - + &Yes - + &No @@ -328,32 +343,32 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -394,17 +409,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 Instaler - + Show debug information @@ -435,7 +450,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Boot loader location: @@ -447,8 +462,8 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - - + + Current: @@ -463,96 +478,96 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. InteractiveTerminalViewStep - + Script @@ -1549,12 +1564,12 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. PartitionViewStep - + Gathering system information... - + Partitions Particije - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: Poslije: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Pogrešni parametri kod poziva funkcije u procesu. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Dobrodošli diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 76f8b360c..610ac5cda 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record på %1 - + Boot Partition Uppstartspartition - + System Partition Systempartition - + Do not install a boot loader Installera inte en uppstartsladdare - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Verktyg - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Avlusningsinformation @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installera @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - Kör kommando %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Kör kommando %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &Nästa - + &Cancel Avbryt - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryt installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Är du säker på att du vill avsluta installationen i förtid? Alla ändringar kommer att gå förlorade. - + &Yes - + &No @@ -328,32 +343,32 @@ Alla ändringar kommer att gå förlorade. - + Continue with setup? Fortsätt med installation? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar!strong> - + &Install now &Installera nu - + Go &back Gå &bakåt - + &Done - + The installation is complete. Close the installer. @@ -394,17 +409,17 @@ Alla ändringar kommer att gå förlorade. CalamaresWindow - + %1 Setup Program - + %1 Installer %1-installationsprogram - + Show debug information Visa avlusningsinformation @@ -435,7 +450,7 @@ Alla ändringar kommer att gå förlorade. <strong>Manuell partitionering</strong><br/>Du kan själv skapa och ändra storlek på partitionerna. - + Boot loader location: Sökväg till uppstartshanterare: @@ -447,8 +462,8 @@ Alla ändringar kommer att gå förlorade. - - + + Current: Nuvarande: @@ -463,96 +478,96 @@ Alla ändringar kommer att gå förlorade. <strong>Välj en partition att minska, sen dra i nedre fältet för att ändra storlek</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Välj en partition att installera på</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Ingen EFI-partition kunde inte hittas på systemet. Gå tillbaka och partitionera din lagringsenhet manuellt för att ställa in %1. - + The EFI system partition at %1 will be used for starting %2. EFI-partitionen %1 kommer att användas för att starta %2. - + EFI system partition: EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet ser inte ut att ha ett operativsystem installerat. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring görs på lagringseneheten. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Rensa lagringsenhet</strong><br/>Detta kommer <font color="red">radera</font> all existerande data på den valda lagringsenheten. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet har %1 på sig. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring görs på lagringsenheten. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installera på sidan om</strong><br/>Installationshanteraren kommer krympa en partition för att göra utrymme för %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ersätt en partition</strong><br/>Ersätter en partition med %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet har redan ett operativsystem på sig. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring sker på lagringsenheten. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet har flera operativsystem på sig. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring sker på lagringsenheten. @@ -1124,12 +1139,12 @@ Alla ändringar kommer att gå förlorade. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ Alla ändringar kommer att gå förlorade. InteractiveTerminalViewStep - + Script Skript @@ -1549,12 +1564,12 @@ Alla ändringar kommer att gå förlorade. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ Alla ändringar kommer att gå förlorade. PartitionViewStep - + Gathering system information... Samlar systeminformation... - + Partitions Partitioner - + Install %1 <strong>alongside</strong> another operating system. Installera %1 <strong>bredvid</strong> ett annat operativsystem. - + <strong>Erase</strong> disk and install %1. <strong>Rensa</strong> disken och installera %1. - + <strong>Replace</strong> a partition with %1. <strong>Ersätt</strong> en partition med %1. - + <strong>Manual</strong> partitioning. <strong>Manuell</strong> partitionering. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Installera %1 <strong>bredvid</strong> ett annat operativsystem på disken <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Rensa</strong> disken <strong>%2</strong> (%3) och installera %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Ersätt</strong> en partition på disken <strong>%2</strong> (%3) med %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>Manuell</strong> partitionering på disken <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Nuvarande: - + After: Efter: - + No EFI system partition configured Ingen EFI system partition konfigurerad - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ Alla ändringar kommer att gå förlorade. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Ogiltiga parametrar för processens uppgiftsanrop. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome Välkommen diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index dffcb5622..52b50460d 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Master Boot Record ของ %1 - + Boot Partition พาร์ทิชัน Boot - + System Partition พาร์ทิชันระบบ - + Do not install a boot loader ไม่ต้องติดตั้งบูตโหลดเดอร์ - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information ข้อมูลดีบั๊ก @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install ติดตั้ง @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - ทำคำสั่ง %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 กำลังเรียกใช้คำสั่ง %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next &N ถัดไป - + &Cancel &C ยกเลิก - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,65 +275,65 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ยกเลิกการติดตั้ง? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. คุณต้องการยกเลิกกระบวนการติดตั้งที่กำลังดำเนินการอยู่หรือไม่? ตัวติดตั้งจะสิ้นสุดการทำงานและไม่บันทึกการเปลี่ยนแปลงที่ได้ดำเนินการก่อนหน้านี้ - + &Yes - + &No @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? ดำเนินการติดตั้งต่อหรือไม่? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> ตัวติดตั้ง %1 กำลังพยายามที่จะทำการเปลี่ยนแปลงในดิสก์ของคุณเพื่อติดตั้ง %2<br/><strong>คุณจะไม่สามารถยกเลิกการเปลี่ยนแปลงเหล่านี้ได้</strong> - + &Install now &ติดตั้งตอนนี้ - + Go &back กลั&บไป - + &Done - + The installation is complete. Close the installer. @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer ตัวติดตั้ง %1 - + Show debug information แสดงข้อมูลการดีบั๊ก @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. ไม่พบพาร์ทิชันสำหรับระบบ EFI อยู่ที่ไหนเลยในระบบนี้ กรุณากลับไปเลือกใช้การแบ่งพาร์ทิชันด้วยตนเอง เพื่อติดตั้ง %1 - + The EFI system partition at %1 will be used for starting %2. พาร์ทิชันสำหรับระบบ EFI ที่ %1 จะถูกใช้เพื่อเริ่มต้น %2 - + EFI system partition: พาร์ทิชันสำหรับระบบ EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2038,107 +2053,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... กำลังรวบรวมข้อมูลของระบบ... - + Partitions พาร์ทิชัน - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: หลัง: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2204,65 +2219,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. พารามิเตอร์ไม่ถูกต้องสำหรับการเรียกการทำงาน - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2316,7 +2331,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3135,7 +3150,7 @@ Output: WelcomeViewStep - + Welcome ยินดีต้อนรับ diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 469a247a3..15a17eefd 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 Üzerine Önyükleyici Kur - + Boot Partition Önyükleyici Disk Bölümü - + System Partition Sistem Disk Bölümü - + Do not install a boot loader Bir önyükleyici kurmayın - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ Araçlar - + + Reload Stylesheet + Stil Sayfasını Yeniden Yükle + + + + Widget Tree + Gereç Ağacı + + + Debug information Hata ayıklama bilgisi @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Kur - + Install Sistem Kuruluyor @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - %1 Komutu çalışıyor %2 + + Run command '%1' in target system. + Hedef sistemde '%1' komutunu çalıştırın. - + + Run command '%1'. + '%1' komutunu çalıştırın. + + + Running command %1 %2 %1 Komutu çalışıyor %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n modülü bekleniyor.%n modül(leri) bekleniyor. - + (%n second(s)) (%n saniye(ler))(%n saniye) - + System-requirements checking is complete. Sistem gereksinimleri kontrolü tamamlandı. @@ -217,25 +232,25 @@ - + &Next &Sonraki - + &Cancel &Vazgeç - + Cancel setup without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Cancel installation without changing the system. Sistemi değiştirmeden kurulumu iptal edin. @@ -260,66 +275,66 @@ <br/>Aşağıdaki modüller yüklenemedi: - + Continue with installation? Kuruluma devam edilsin mi? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem kurulum uygulaması,%2 ayarlamak için diskinizde değişiklik yapmak üzere. <br/><strong>Bu değişiklikleri geri alamayacaksınız.</strong> - + &Set up now &Şimdi kur - + &Set up &Kur - + &Install &Yükle - + Setup is complete. Close the setup program. Kurulum tamamlandı. Kurulum programını kapatın. - + Cancel setup? Kurulum iptal edilsin mi? - + Cancel installation? Yüklemeyi iptal et? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Mevcut kurulum işlemini gerçekten iptal etmek istiyor musunuz? Kurulum uygulaması sonlandırılacak ve tüm değişiklikler kaybedilecek. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Yükleme işlemini gerçekten iptal etmek istiyor musunuz? Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. - + &Yes &Evet - + &No &Hayır @@ -329,32 +344,32 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. &Kapat - + Continue with setup? Kuruluma devam et? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem yükleyici %2 yüklemek için diskinizde değişiklik yapacak.<br/><strong>Bu değişiklikleri geri almak mümkün olmayacak.</strong> - + &Install now &Şimdi yükle - + Go &back Geri &git - + &Done &Tamam - + The installation is complete. Close the installer. Yükleme işi tamamlandı. Sistem yükleyiciyi kapatın. @@ -395,17 +410,17 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. CalamaresWindow - + %1 Setup Program %1 Kurulum Uygulaması - + %1 Installer %1 Yükleniyor - + Show debug information Hata ayıklama bilgisini göster @@ -436,7 +451,7 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. <strong>Elle bölümleme</strong><br/>Bölümler oluşturabilir ve boyutlandırabilirsiniz. - + Boot loader location: Önyükleyici konumu: @@ -448,8 +463,8 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. - - + + Current: Geçerli: @@ -465,96 +480,96 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. <strong>Küçültmek için bir bölüm seçip alttaki çubuğu sürükleyerek boyutlandır</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1, %2MB'a küçülecek ve %4 için yeni bir %3MB disk bölümü oluşturulacak. - + <strong>Select a partition to install on</strong> <strong>Yükleyeceğin disk bölümünü seç</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Bu sistemde EFI disk bölümü bulunamadı. Lütfen geri dönün ve %1 kurmak için gelişmiş kurulum seçeneğini kullanın. - + The EFI system partition at %1 will be used for starting %2. %1 EFI sistem bölümü %2 başlatmak için kullanılacaktır. - + EFI system partition: EFI sistem bölümü: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde yüklü herhangi bir işletim sistemi tespit etmedik. Ne yapmak istersiniz?<br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Diski sil</strong><br/>Seçili depolama bölümündeki mevcut veriler şu anda <font color="red">silinecektir.</font> - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde %1 vardır. Ne yapmak istersiniz?<br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. - + No Swap Takas alanı yok - + Reuse Swap Yeniden takas alanı - + Swap (no Hibernate) Takas Alanı (uyku modu yok) - + Swap (with Hibernate) Takas Alanı (uyku moduyla) - + Swap to file Takas alanı dosyası - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Yanına yükleyin</strong><br/>Sistem yükleyici disk bölümünü küçülterek %1 için yer açacak. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Varolan bir disk bölümüne kur</strong><br/>Varolan bir disk bölümü üzerine %1 kur. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde bir işletim sistemi yüklü. Ne yapmak istersiniz? <br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde birden fazla işletim sistemi var. Ne yapmak istersiniz? <br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. @@ -1126,12 +1141,12 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. <html><head/><body><p>Bu kutucuk işaretlenerek <span style="font-style:italic;">Tamam</span> butonu tıklandığında ya da sistem yükleyici kapatıldığında bilgisayarınız yeniden başlatılacaktır.</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>Kurulum Başarısız</h1><br/>%1 bilgisayarınıza kurulamadı.<br/>Hata mesajı: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Yükleme Başarısız</h1><br/>%1 bilgisayarınıza yüklenemedi.<br/>Hata mesajı çıktısı: %2. @@ -1298,7 +1313,7 @@ Sistem güç kaynağına bağlı değil. InteractiveTerminalViewStep - + Script Betik @@ -1552,12 +1567,12 @@ Sistem güç kaynağına bağlı değil. OEMViewStep - + OEM Configuration OEM Yapılandırma - + Set the OEM Batch Identifier to <code>%1</code>. OEM Toplu Tanımlayıcıyı <code>%1</code>'e Ayarlayın. @@ -2041,108 +2056,108 @@ Sistem güç kaynağına bağlı değil. PartitionViewStep - + Gathering system information... Sistem bilgileri toplanıyor... - + Partitions Disk Bölümleme - + Install %1 <strong>alongside</strong> another operating system. Diğer işletim sisteminin <strong>yanına</strong> %1 yükle. - + <strong>Erase</strong> disk and install %1. Diski <strong>sil</strong> ve %1 yükle. - + <strong>Replace</strong> a partition with %1. %1 ile disk bölümünün üzerine <strong>yaz</strong>. - + <strong>Manual</strong> partitioning. <strong>Manuel</strong> bölümleme. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). <strong>%2</strong> (%3) diskindeki diğer işletim sisteminin <strong>yanına</strong> %1 yükle. - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>%2</strong> (%3) diski <strong>sil</strong> ve %1 yükle. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>%2</strong> (%3) disk bölümünün %1 ile <strong>üzerine yaz</strong>. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). <strong>%1</strong> (%2) disk bölümünü <strong>manuel</strong> bölümle. - + Disk <strong>%1</strong> (%2) Disk <strong>%1</strong> (%2) - + Current: Geçerli: - + After: Sonra: - + No EFI system partition configured EFI sistem bölümü yapılandırılmamış - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. %1 başlatmak için bir EFI sistem bölümü gereklidir.<br/><br/>EFI sistem bölümünü yapılandırmak için geri dönün ve seçim yapın veya FAT32 dosya sistemi ile <strong>esp</strong> etiketiyle <strong>%2</strong> noktasına bağlayın.<br/><br/>Bir EFI sistem bölümü kurmadan devam edebilirsiniz fakat işletim sistemi başlatılamayabilir. - + EFI system partition flag not set EFI sistem bölümü bayrağı ayarlanmadı - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. %1 başlatmak için bir EFI sistem bölümü gereklidir.<br/><br/>Bir bağlama noktası <strong>%2</strong> olarak yapılandırıldı fakat <strong>esp</strong>bayrağı ayarlanmadı.<br/>Bayrağı ayarlamak için, geri dönün ve bölümü düzenleyin.<br/><br/>Sen bayrağı ayarlamadan devam edebilirsin fakat işletim sistemi başlatılamayabilir. - + Boot partition not encrypted Önyükleme yani boot diski şifrelenmedi - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Ayrı bir önyükleme yani boot disk bölümü, şifrenmiş bir kök bölüm ile birlikte ayarlandı, fakat önyükleme bölümü şifrelenmedi.<br/><br/>Bu tip kurulumun güvenlik endişeleri vardır, çünkü önemli sistem dosyaları şifrelenmemiş bir bölümde saklanır.<br/>İsterseniz kuruluma devam edebilirsiniz, fakat dosya sistemi kilidi daha sonra sistem başlatılırken açılacak.<br/> Önyükleme bölümünü şifrelemek için geri dönün ve bölüm oluşturma penceresinde <strong>Şifreleme</strong>seçeneği ile yeniden oluşturun. - + has at least one disk device available. Mevcut en az bir disk aygıtı var. - + There are no partitons to install on. Yüklenecek disk bölümü yok. @@ -2208,14 +2223,14 @@ Sistem güç kaynağına bağlı değil. ProcessResult - + There was no output from the command. Komut çıktısı yok. - + Output: @@ -2224,52 +2239,52 @@ Output: - + External command crashed. Harici komut çöktü. - + Command <i>%1</i> crashed. Komut <i>%1</i> çöktü. - + External command failed to start. Harici komut başlatılamadı. - + Command <i>%1</i> failed to start. Komut <i>%1</i> başlatılamadı. - + Internal error when starting command. Komut başlatılırken dahili hata. - + Bad parameters for process job call. Çalışma adımları başarısız oldu. - + External command failed to finish. Harici komut başarısız oldu. - + Command <i>%1</i> failed to finish in %2 seconds. Komut <i>%1</i> %2 saniyede başarısız oldu. - + External command finished with errors. Harici komut hatalarla bitti. - + Command <i>%1</i> finished with exit code %2. Komut <i>%1</i> %2 çıkış kodu ile tamamlandı @@ -2323,7 +2338,7 @@ Output: <i>%1</i> modülü için gerekenler tamamlandı. - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3144,7 +3159,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. WelcomeViewStep - + Welcome Hoşgeldiniz diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 58ca795fc..0c97745d8 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 Головний Завантажувальний Запис (Master Boot Record) %1 - + Boot Partition Розділ Boot - + System Partition Системний розділ - + Do not install a boot loader Не встановлювати завантажувач - + %1 (%2) %1 (%2) @@ -50,7 +50,7 @@ Blank Page - + Пуста сторінка @@ -97,7 +97,17 @@ Інструменти - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information Відлагоджувальна інформація @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Налаштувати - + Install Встановити @@ -120,12 +130,12 @@ Job failed (%1) - + Невдало виконане завдання (%1) Programmed job failure was explicitly requested. - + Невдача в запрограмованому завданні була чітко задана. @@ -141,18 +151,23 @@ Example job (%1) - + Приклад завдання (%1) Calamares::ProcessJob - - Run command %1 %2 - Запустити команду %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 Запуск команди %1 %2 @@ -193,19 +208,19 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + Очікування %n модулю.Очікування %n модулів.Очікування %n модулів.Очікування %n модулів. - + (%n second(s)) - + (%n секунда)(%n секунди)(%n секунд(и))(%n секунд(и)) - + System-requirements checking is complete. - + Перевірка системних вимог завершена. @@ -217,108 +232,108 @@ - + &Next &Вперед - + &Cancel &Скасувати - + Cancel setup without changing the system. - + Скасувати налаштування без зміни системи. - + Cancel installation without changing the system. - Скасувати встановлення без змінення системи. + Скасувати встановлення без зміни системи. Setup Failed - + Помилка встановлення Calamares Initialization Failed - + Помилка ініціалізації Calamares %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + %1 неможливо встановити. Calamares не зміг завантажити всі налаштовані модулі. Ця проблема зв'язана з тим, як Calamares використовується дистрибутивом. <br/>The following modules could not be loaded: - + <br/>Не вдалося завантажити наступні модулі: - + Continue with installation? - + Продовжити встановлення? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + Програма налаштування %1 збирається внести зміни до вашого диска, щоб налаштувати %2. <br/><strong> Ви не зможете скасувати ці зміни.</strong> - + &Set up now - + &Налаштувати зараз - + &Set up - + &Налаштувати - + &Install - + &Встановити - + Setup is complete. Close the setup program. - + Встановлення виконано. Закрити програму встановлення. - + Cancel setup? - + Скасувати налаштування? - + Cancel installation? Скасувати встановлення? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Чи ви насправді бажаєте скасувати процес встановлення? Установник закриється і всі зміни буде втрачено. - + &Yes &Так - + &No &Ні @@ -328,32 +343,32 @@ The installer will quit and all changes will be lost. &Закрити - + Continue with setup? Продовжити встановлення? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Установник %1 збирається зробити зміни на вашому диску, щоб встановити %2.<br/><strong>Ці зміни неможливо буде повернути.</strong> - + &Install now &Встановити зараз - + Go &back Перейти &назад - + &Done &Закінчити - + The installation is complete. Close the installer. Встановлення виконано. Закрити установник. @@ -394,17 +409,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer Установник %1 - + Show debug information Показати відлагоджувальну інформацію @@ -435,7 +450,7 @@ The installer will quit and all changes will be lost. <strong>Розподілення вручну</strong><br/>Ви можете створити або змінити розмір розділів власноруч. - + Boot loader location: Місцезнаходження завантажувача: @@ -447,8 +462,8 @@ The installer will quit and all changes will be lost. - - + + Current: Зараз: @@ -463,96 +478,96 @@ The installer will quit and all changes will be lost. <strong>Оберіть розділ для зменьшення, потім тягніть повзунок, щоб змінити розмір</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>Оберіть розділ, на який встановити</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. В цій системі не знайдено жодного системного розділу EFI. Щоб встановити %1, будь ласка, поверніться та оберіть розподілення вручну. - + The EFI system partition at %1 will be used for starting %2. Системний розділ EFI %1 буде використано для встановлення %2. - + EFI system partition: Системний розділ EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Цей пристрій зберігання, схоже, не має жодної операційної системи. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Очистити диск</strong><br/>Це <font color="red">знищить</font> всі данні, присутні на обраному пристрої зберігання. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На цьому пристрої зберігання є %1. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Встановити поруч</strong><br/>Установник зменьшить розмір розділу, щоб вивільнити простір для %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Замінити розділ</strong><br/>Замінити розділу на %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На цьому пристрої зберігання вже є операційна система. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На цьому пристрої зберігання вже є декілька операційних систем. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. @@ -1124,12 +1139,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>Встановлення зазнало невдачі</h1><br/>%1 не було встановлено на Ваш комп'ютер.<br/>Повідомлення про помилку: %2. @@ -1295,7 +1310,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script Скрипт @@ -1549,12 +1564,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2039,107 +2054,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... Збір інформації про систему... - + Partitions Розділи - + Install %1 <strong>alongside</strong> another operating system. Встановити %1 <strong>поруч</strong> з іншою операційною системою. - + <strong>Erase</strong> disk and install %1. <strong>Очистити</strong> диск та встановити %1. - + <strong>Replace</strong> a partition with %1. <strong>Замінити</strong> розділ на %1. - + <strong>Manual</strong> partitioning. Розподілення диску <strong>власноруч</strong>. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). Встановити %1 <strong>поруч</strong> з іншою операційною системою на диск <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>Очистити</strong> диск <strong>%2</strong> (%3) та встановити %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. <strong>Замінити</strong> розділ на диску <strong>%2</strong> (%3) на %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). Розподілення диску <strong>%1</strong> (%2) <strong>власноруч</strong>. - + Disk <strong>%1</strong> (%2) Диск <strong>%1</strong> (%2) - + Current: Зараз: - + After: Після: - + No EFI system partition configured Не налаштовано жодного системного розділу EFI - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. Щоб запустити %1, потрібен системний розділ EFI.<br/><br/>Щоб налаштувати системний розділ EFI, поверніться та оберіть або створіть файлову систему FAT32 з увімкненною опцією <strong>esp</strong> та точкою підключення <strong>%2</strong>.<br/><br/>Ви можете продовжити не налаштовуючи системний розділ EFI, але ваша система може не запускатись. - + EFI system partition flag not set Опцію системного розділу EFI не встановлено - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. Для запуску %1 потрібен системний розділ EFI.<br/><br/>Розділ налаштовано з точкою підключення <strong>%2</strong>, але опція <strong>esp</strong> не встановлено.<br/>Щоб встановити опцію, поверніться та відредагуйте розділ.<br/><br/>Ви можете продовжити не налаштовуючи цю опцію, але ваша система може не запускатись. - + Boot partition not encrypted Завантажувальний розділ незашифрований - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. Було налаштовано окремий завантажувальний розділ поряд із зашифрованим кореневим розділом, але завантажувальний розділ незашифрований.<br/><br/>Існують проблеми з безпекою такого типу, оскільки важливі системні файли зберігаються на незашифрованому розділі.<br/>Ви можете продовжувати, якщо бажаєте, але розблокування файлової системи відбудеться пізніше під час запуску системи.<br/>Щоб зашифрувати завантажувальний розділ, поверніться і створіть його знов, обравши <strong>Зашифрувати</strong> у вікні створення розділів. - + has at least one disk device available. - + There are no partitons to install on. @@ -2205,65 +2220,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Неправильні параметри визову завдання обробки. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2317,7 +2332,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3136,7 +3151,7 @@ Output: WelcomeViewStep - + Welcome Вітаємо diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index ce6ab4deb..3d6e51b22 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index 8911bc80c..b7b12e55a 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 - + Boot Partition - + System Partition - + Do not install a boot loader - + %1 (%2) @@ -97,7 +97,17 @@ - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 + + Run command '%1' in target system. - + + Run command '%1'. + + + + Running command %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -217,25 +232,25 @@ - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. @@ -260,64 +275,64 @@ - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No @@ -327,32 +342,32 @@ The installer will quit and all changes will be lost. - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. @@ -393,17 +408,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer - + Show debug information @@ -434,7 +449,7 @@ The installer will quit and all changes will be lost. - + Boot loader location: @@ -446,8 +461,8 @@ The installer will quit and all changes will be lost. - - + + Current: @@ -462,96 +477,96 @@ The installer will quit and all changes will be lost. - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -1123,12 +1138,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. @@ -1294,7 +1309,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script @@ -1548,12 +1563,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2037,107 +2052,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... - + Partitions - + Install %1 <strong>alongside</strong> another operating system. - + <strong>Erase</strong> disk and install %1. - + <strong>Replace</strong> a partition with %1. - + <strong>Manual</strong> partitioning. - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + Disk <strong>%1</strong> (%2) - + Current: - + After: - + No EFI system partition configured - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + EFI system partition flag not set - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + Boot partition not encrypted - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + has at least one disk device available. - + There are no partitons to install on. @@ -2203,65 +2218,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2315,7 +2330,7 @@ Output: - + %1 (%2) language[name] (country[name]) @@ -3134,7 +3149,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 20f4af48e..192c8c380 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -21,27 +21,27 @@ BootLoaderModel - + Master Boot Record of %1 主引导记录 %1 - + Boot Partition 引导分区 - + System Partition 系统分区 - + Do not install a boot loader 不要安装引导程序 - + %1 (%2) %1 (%2) @@ -98,7 +98,17 @@ 工具 - + + Reload Stylesheet + + + + + Widget Tree + + + + Debug information 调试信息 @@ -106,12 +116,12 @@ Calamares::ExecutionViewStep - + Set up - + Install 安装 @@ -148,12 +158,17 @@ Calamares::ProcessJob - - Run command %1 %2 - 运行命令 %1 %2 + + Run command '%1' in target system. + - + + Run command '%1'. + + + + Running command %1 %2 正在运行命令 %1 %2 @@ -194,17 +209,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -218,25 +233,25 @@ - + &Next 下一步(&N) - + &Cancel 取消(&C) - + Cancel setup without changing the system. - + Cancel installation without changing the system. 取消安装,并不做任何更改。 @@ -261,65 +276,65 @@ <br/>无法加载以下模块: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install 安装(&I) - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? 取消安装? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 确定要取消当前的安装吗? 安装程序将退出,所有修改都会丢失。 - + &Yes &是 - + &No &否 @@ -329,32 +344,32 @@ The installer will quit and all changes will be lost. &关闭 - + Continue with setup? 要继续安装吗? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安装程序将在您的磁盘上做出变更以安装 %2。<br/><strong>您将无法复原这些变更。</strong> - + &Install now 现在安装 (&I) - + Go &back 返回 (&B) - + &Done &完成 - + The installation is complete. Close the installer. 安装已完成。请关闭安装程序。 @@ -395,17 +410,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program - + %1 Installer %1 安装程序 - + Show debug information 显示调试信息 @@ -436,7 +451,7 @@ The installer will quit and all changes will be lost. <strong>手动分区</strong><br/>您可以自行创建或重新调整分区大小。 - + Boot loader location: 引导程序位置: @@ -448,8 +463,8 @@ The installer will quit and all changes will be lost. - - + + Current: 当前: @@ -464,96 +479,96 @@ The installer will quit and all changes will be lost. <strong>选择要缩小的分区,然后拖动底栏改变大小</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + <strong>Select a partition to install on</strong> <strong>选择要安装到的分区</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. 在此系统上找不到任何 EFI 系统分区。请后退到上一步并使用手动分区配置 %1。 - + The EFI system partition at %1 will be used for starting %2. %1 处的 EFI 系统分区将被用来启动 %2。 - + EFI system partition: EFI 系统分区: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上似乎还没有操作系统。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>抹除磁盘</strong><br/>这将会<font color="red">删除</font>目前选定的存储器上所有的数据。 - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上已经有 %1 了。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 - + No Swap - + Reuse Swap - + Swap (no Hibernate) - + Swap (with Hibernate) - + Swap to file - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>并存安装</strong><br/>安装程序将会缩小一个分区,为 %1 腾出空间。 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>取代一个分区</strong><br/>以 %1 <strong>替代</strong>一个分区。 - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上已经有一个操作系统了。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上已经有多个操作系统了。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 @@ -1126,12 +1141,12 @@ The installer will quit and all changes will be lost. - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>安装失败</h1><br/>%1 未在你的电脑上安装。<br/>错误信息:%2。 @@ -1297,7 +1312,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script 脚本 @@ -1551,12 +1566,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration - + Set the OEM Batch Identifier to <code>%1</code>. @@ -2040,107 +2055,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... 正在收集系统信息... - + Partitions 分区 - + Install %1 <strong>alongside</strong> another operating system. 将 %1 安装在其他操作系统<strong>旁边</strong>。 - + <strong>Erase</strong> disk and install %1. <strong>抹除</strong>磁盘并安装 %1。 - + <strong>Replace</strong> a partition with %1. 以 %1 <strong>替代</strong>一个分区。 - + <strong>Manual</strong> partitioning. <strong>手动</strong>分区 - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). 将 %1 安装在磁盘 <strong>%2</strong> (%3) 上的另一个操作系统<strong>旁边</strong>。 - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>抹除</strong> 磁盘 <strong>%2</strong> (%3) 并且安装 %1。 - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. 以 %1 <strong>替代</strong> 一个在磁盘 <strong>%2</strong> (%3) 上的分区。 - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). 在磁盘 <strong>%1</strong> (%2) 上<strong>手动</strong>分区。 - + Disk <strong>%1</strong> (%2) 磁盘 <strong>%1</strong> (%2) - + Current: 当前: - + After: 之后: - + No EFI system partition configured 未配置 EFI 系统分区 - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. 必须有 EFI 系统分区才能启动 %1 。<br/><br/>要配置 EFI 系统分区,后退一步,然后创建或选中一个 FAT32 分区并为之设置 <strong>esp</strong> 标记及挂载点 <strong>%2</strong>。<br/><br/>你可以不创建 EFI 系统分区并继续安装,但是你的系统可能无法启动。 - + EFI system partition flag not set 未设置 EFI 系统分区标记 - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. 必须有 EFI 系统分区才能启动 %1 。<br/><br/>已有挂载点为 <strong>%2</strong> 的分区,但是未设置 <strong>esp</strong> 标记。<br/>要设置此标记,后退并编辑分区。<br/><br/>你可以不创建 EFI 系统分区并继续安装,但是你的系统可能无法启动。 - + Boot partition not encrypted 引导分区未加密 - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. 您尝试用单独的引导分区配合已加密的根分区使用,但引导分区未加密。<br/><br/>这种配置方式可能存在安全隐患,因为重要的系统文件存储在了未加密的分区上。<br/>您可以继续保持此配置,但是系统解密将在系统启动时而不是引导时进行。<br/>要加密引导分区,请返回上一步并重新创建此分区,并在分区创建窗口选中 <strong>加密</strong> 选项。 - + has at least one disk device available. - + There are no partitons to install on. @@ -2206,14 +2221,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 命令没有输出。 - + Output: @@ -2222,52 +2237,52 @@ Output: - + External command crashed. 外部命令已崩溃。 - + Command <i>%1</i> crashed. 命令 <i>%1</i> 已崩溃。 - + External command failed to start. 无法启动外部命令。 - + Command <i>%1</i> failed to start. 无法启动命令 <i>%1</i>。 - + Internal error when starting command. 启动命令时出现内部错误。 - + Bad parameters for process job call. 呼叫进程任务出现错误参数 - + External command failed to finish. 外部命令未成功完成。 - + Command <i>%1</i> failed to finish in %2 seconds. 命令 <i>%1</i> 未能在 %2 秒内完成。 - + External command finished with errors. 外部命令已完成,但出现了错误。 - + Command <i>%1</i> finished with exit code %2. 命令 <i>%1</i> 以退出代码 %2 完成。 @@ -2321,7 +2336,7 @@ Output: - + %1 (%2) language[name] (country[name]) %1(%2) @@ -3140,7 +3155,7 @@ Output: WelcomeViewStep - + Welcome 欢迎 diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index 804df05fb..d69d780d9 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -20,27 +20,27 @@ BootLoaderModel - + Master Boot Record of %1 %1 的主要開機紀錄 (MBR) - + Boot Partition 開機磁區 - + System Partition 系統磁區 - + Do not install a boot loader 無法安裝開機載入器 - + %1 (%2) %1 (%2) @@ -97,7 +97,17 @@ 工具 - + + Reload Stylesheet + 重新載入樣式表 + + + + Widget Tree + 小工具樹 + + + Debug information 除錯資訊 @@ -105,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up 設定 - + Install 安裝 @@ -147,12 +157,17 @@ Calamares::ProcessJob - - Run command %1 %2 - 執行命令 %1 %2 + + Run command '%1' in target system. + 在目標系統中執行指令「%1」。 - + + Run command '%1'. + 執行指令「%1」。 + + + Running command %1 %2 正在執行命令 %1 %2 @@ -193,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). 正在等待 %n 個模組。 - + (%n second(s)) (%n 秒) - + System-requirements checking is complete. 系統需求檢查完成。 @@ -217,25 +232,25 @@ - + &Next 下一步 (&N) - + &Cancel 取消(&C) - + Cancel setup without changing the system. 取消安裝,不更改系統。 - + Cancel installation without changing the system. 不變更系統並取消安裝。 @@ -260,66 +275,66 @@ <br/>以下的模組無法載入: - + Continue with installation? 繼續安裝? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 設定程式將在您的磁碟上做出變更以設定 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Set up now 現在進行設定 (&S) - + &Set up 設定 (&S) - + &Install 安裝(&I) - + Setup is complete. Close the setup program. 設定完成。關閉設定程式。 - + Cancel setup? 取消設定? - + Cancel installation? 取消安裝? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 您真的想要取消目前的設定程序嗎? 設定程式將會結束,所有變更都將會遺失。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 您真的想要取消目前的安裝程序嗎? 安裝程式將會退出且所有變動將會遺失。 - + &Yes 是(&Y) - + &No 否(&N) @@ -329,32 +344,32 @@ The installer will quit and all changes will be lost. 關閉(&C) - + Continue with setup? 繼續安裝? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安裝程式將在您的磁碟上做出變更以安裝 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Install now 現在安裝 (&I) - + Go &back 上一步 (&B) - + &Done 完成(&D) - + The installation is complete. Close the installer. 安裝完成。關閉安裝程式。 @@ -395,17 +410,17 @@ The installer will quit and all changes will be lost. CalamaresWindow - + %1 Setup Program %1 設定程式 - + %1 Installer %1 安裝程式 - + Show debug information 顯示除錯資訊 @@ -436,7 +451,7 @@ The installer will quit and all changes will be lost. <strong>手動分割</strong><br/>您可以自行建立或重新調整分割區大小。 - + Boot loader location: 開機載入器位置: @@ -448,8 +463,8 @@ The installer will quit and all changes will be lost. - - + + Current: 目前: @@ -464,96 +479,96 @@ The installer will quit and all changes will be lost. <strong>選取要縮減的分割區,然後拖曳底部條狀物來調整大小</strong> - + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. %1 將會縮減到 %2MiB 且新的 %3MiB 分割區將會被建立為 %4。 - + <strong>Select a partition to install on</strong> <strong>選取分割區以安裝在其上</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. 在這個系統上找不到任何的 EFI 系統分割區。請回到上一步並使用手動分割以設定 %1。 - + The EFI system partition at %1 will be used for starting %2. 在 %1 的 EFI 系統分割區將會在開始 %2 時使用。 - + EFI system partition: EFI 系統分割區: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上似乎還沒有作業系統。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>抹除磁碟</strong><br/>這將會<font color="red">刪除</font>目前選取的儲存裝置上所有的資料。 - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上已經有 %1 了。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 - + No Swap 沒有 Swap - + Reuse Swap 重用 Swap - + Swap (no Hibernate) Swap(沒有冬眠) - + Swap (with Hibernate) Swap(有冬眠) - + Swap to file Swap 到檔案 - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>並存安裝</strong><br/>安裝程式將會縮減一個分割區以讓出空間給 %1。 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>取代一個分割區</strong><br/>用 %1 取代一個分割區。 - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上已經有一個作業系統了。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上已經有多個作業系統了。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 @@ -1125,12 +1140,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>當這個勾選框被選取時,您的系統將會在按下<span style="font-style:italic;">完成</span>或關閉安裝程式時立刻重新啟動。</p></body></html> - + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. <h1>設定失敗</h1><br/>%1 並未在您的電腦設定好。<br/>錯誤訊息為:%2。 - + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. <h1>安裝失敗</h1><br/>%1 並未安裝到您的電腦上。<br/>錯誤訊息為:%2。 @@ -1296,7 +1311,7 @@ The installer will quit and all changes will be lost. InteractiveTerminalViewStep - + Script 指令稿 @@ -1550,12 +1565,12 @@ The installer will quit and all changes will be lost. OEMViewStep - + OEM Configuration OEM 設定 - + Set the OEM Batch Identifier to <code>%1</code>. 設定 OEM 批次識別符號為 <code>%1</code>。 @@ -2039,107 +2054,107 @@ The installer will quit and all changes will be lost. PartitionViewStep - + Gathering system information... 蒐集系統資訊中... - + Partitions 分割區 - + Install %1 <strong>alongside</strong> another operating system. 將 %1 安裝在其他作業系統<strong>旁邊</strong>。 - + <strong>Erase</strong> disk and install %1. <strong>抹除</strong>磁碟並安裝 %1。 - + <strong>Replace</strong> a partition with %1. 以 %1 <strong>取代</strong>一個分割區。 - + <strong>Manual</strong> partitioning. <strong>手動</strong>分割 - + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). 將 %1 安裝在磁碟 <strong>%2</strong> (%3) 上的另一個作業系統<strong>旁邊</strong>。 - + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. <strong>抹除</strong> 磁碟 <strong>%2</strong> (%3) 並且安裝 %1。 - + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. 以 %1 <strong>取代</strong> 一個在磁碟 <strong>%2</strong> (%3) 上的分割區。 - + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). 在磁碟 <strong>%1</strong> (%2) 上<strong>手動</strong>分割。 - + Disk <strong>%1</strong> (%2) 磁碟 <strong>%1</strong> (%2) - + Current: 目前: - + After: 之後: - + No EFI system partition configured 未設定 EFI 系統分割區 - + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. 需要一個 EFI 系統分割區以啟動 %1。<br/><br/>要設定 EFI 系統分割區,回到上一步並選取或建立一個包含啟用的 <strong>esp</strong> 旗標以及掛載點 <strong>%2</strong> 的 FAT32 檔案系統。<br/><br/>您也可以不設定 EFI 系統分割區並繼續,但是您的系統可能會啟動失敗。 - + EFI system partition flag not set EFI 系統分割區旗標未設定 - + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. 需要一個 EFI 系統分割區以啟動 %1。<br/><br/>有一個掛載點設定為 <strong>%2</strong> 但未設定 <strong>esp</strong> 旗標的分割區。<br/>要設定此旗標,回到上一步並編輯分割區。<br/><br/>您也可以不設定旗標而繼續,但您的系統可能會啟動失敗。 - + Boot partition not encrypted 開機分割區未加密 - + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. 單獨的開機分割區會與加密的根分割區一起設定,但是開機分割區並不會被加密。<br/><br/>這種設定可能會造成安全性問題,因為系統檔案放在未加密的分割區中。<br/>若您想要,您可以繼續,但是檔案系統的解鎖會在系統啟動後才發生。<br/>要加密開機分割區,回到上一頁並重新建立它,在分割區建立視窗中選取<strong>加密</strong>。 - + has at least one disk device available. 有至少一個可用的磁碟裝置。 - + There are no partitons to install on. 沒有要安裝的分割區。 @@ -2205,14 +2220,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 指令沒有輸出。 - + Output: @@ -2221,52 +2236,52 @@ Output: - + External command crashed. 外部指令當機。 - + Command <i>%1</i> crashed. 指令 <i>%1</i> 已當機。 - + External command failed to start. 外部指令啟動失敗。 - + Command <i>%1</i> failed to start. 指令 <i>%1</i> 啟動失敗。 - + Internal error when starting command. 當啟動指令時發生內部錯誤。 - + Bad parameters for process job call. 呼叫程序的參數無效。 - + External command failed to finish. 外部指令結束失敗。 - + Command <i>%1</i> failed to finish in %2 seconds. 指令 <i>%1</i> 在結束 %2 秒內失敗。 - + External command finished with errors. 外部指令結束時發生錯誤。 - + Command <i>%1</i> finished with exit code %2. 指令 <i>%1</i> 結束時有錯誤碼 %2。 @@ -2320,7 +2335,7 @@ Output: 模組 <i>%1</i> 需求檢查完成。 - + %1 (%2) language[name] (country[name]) %1 (%2) @@ -3139,7 +3154,7 @@ Output: WelcomeViewStep - + Welcome 歡迎 From 9b1712d68857d2e473318008cf6baf8977049800 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 21 Jun 2019 16:43:01 +0200 Subject: [PATCH 003/626] i18n: [desktop] Automatic merge of Transifex translations --- calamares.desktop | 3 +++ 1 file changed, 3 insertions(+) diff --git a/calamares.desktop b/calamares.desktop index 88ce39b27..954c77123 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -153,6 +153,9 @@ GenericName[fi_FI]=Järjestelmän Asennusohjelma Comment[fi_FI]=Calamares — Järjestelmän Asentaja Name[sr@latin]=Instaliraj sistem Name[sr]=Инсталирај систем +Icon[sr]=calamares +GenericName[sr]=Инсталатер система +Comment[sr]=Каламарес — инсталатер система Name[sv]=Installera system Icon[sv]=calamares GenericName[sv]=Systeminstallerare From 42bd638667d4daf48ab321fc6ef091a826b3b6ab Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 21 Jun 2019 16:43:01 +0200 Subject: [PATCH 004/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- .../lang/sr/LC_MESSAGES/dummypythonqt.mo | Bin 1021 -> 1127 bytes .../lang/sr/LC_MESSAGES/dummypythonqt.po | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo index 225f823efc4aa85175df88530f87e4fd65b40637..5c8099cd45786b22eb6659fb293da37e0c29520b 100644 GIT binary patch delta 225 zcmey%{+y%!o)F7a1|VPuVi_O~0b*_-?g3&D*a5`6K)e%(HGudy5OV_Y2Ot&);$J{4 z2E;;)3=C#KS`$bg2jT=EmIU%Om>C%SfV2~k76Q@}fwUu#UIL^IKvq2iGW>x8;w%%Z zlsMUdERa)JCoXjrcPY)ytyBo8EXl~v3oKCx%Ssr5=NP4SUD$WA d;lhRsyA&?$2Qs!^*nD9(klb=%!{ln_CIDmzG%WxC delta 163 zcmaFP@t3{+o)F7a1|VPqVi_Rz0b*_-t^r~YSOLVmK)e!&HGp_K5OV_Y10WUy;#WXy z2E>ev3=GGC*aC, YEAR. # # Translators: -# Slobodan Simić , 2017 +# Slobodan Simić , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 11:34-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" -"Last-Translator: Slobodan Simić , 2017\n" +"Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +31,7 @@ msgstr "Нова КуОзнака" #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Провизорни ПитонКуТ корак прегледа" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" From c57e914a231faec7e43dc05e1e26164a1a80e6db Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 21 Jun 2019 16:43:01 +0200 Subject: [PATCH 005/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 2 +- lang/python/ar/LC_MESSAGES/python.mo | Bin 1974 -> 3255 bytes lang/python/ar/LC_MESSAGES/python.po | 35 +++++++-------- lang/python/ast/LC_MESSAGES/python.po | 2 +- lang/python/be/LC_MESSAGES/python.po | 2 +- lang/python/bg/LC_MESSAGES/python.po | 2 +- lang/python/ca/LC_MESSAGES/python.po | 2 +- lang/python/ca@valencia/LC_MESSAGES/python.po | 2 +- lang/python/cs_CZ/LC_MESSAGES/python.po | 2 +- lang/python/da/LC_MESSAGES/python.po | 2 +- lang/python/de/LC_MESSAGES/python.po | 2 +- lang/python/el/LC_MESSAGES/python.po | 2 +- lang/python/en_GB/LC_MESSAGES/python.po | 2 +- lang/python/eo/LC_MESSAGES/python.po | 2 +- lang/python/es/LC_MESSAGES/python.po | 2 +- lang/python/es_MX/LC_MESSAGES/python.po | 2 +- lang/python/es_PR/LC_MESSAGES/python.po | 2 +- lang/python/et/LC_MESSAGES/python.po | 2 +- lang/python/eu/LC_MESSAGES/python.po | 2 +- lang/python/fa/LC_MESSAGES/python.po | 2 +- lang/python/fi_FI/LC_MESSAGES/python.po | 2 +- lang/python/fr/LC_MESSAGES/python.po | 2 +- lang/python/fr_CH/LC_MESSAGES/python.po | 2 +- lang/python/gl/LC_MESSAGES/python.po | 2 +- lang/python/gu/LC_MESSAGES/python.po | 2 +- lang/python/he/LC_MESSAGES/python.po | 2 +- lang/python/hi/LC_MESSAGES/python.po | 2 +- lang/python/hr/LC_MESSAGES/python.po | 2 +- lang/python/hu/LC_MESSAGES/python.po | 2 +- lang/python/id/LC_MESSAGES/python.po | 2 +- lang/python/is/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.mo | Bin 5717 -> 7057 bytes lang/python/ja/LC_MESSAGES/python.po | 40 +++++++++--------- lang/python/kk/LC_MESSAGES/python.po | 2 +- lang/python/kn/LC_MESSAGES/python.po | 2 +- lang/python/ko/LC_MESSAGES/python.po | 2 +- lang/python/lo/LC_MESSAGES/python.po | 2 +- lang/python/lt/LC_MESSAGES/python.po | 2 +- lang/python/mk/LC_MESSAGES/python.po | 2 +- lang/python/mr/LC_MESSAGES/python.po | 2 +- lang/python/nb/LC_MESSAGES/python.po | 2 +- lang/python/ne_NP/LC_MESSAGES/python.po | 2 +- lang/python/nl/LC_MESSAGES/python.po | 2 +- lang/python/pl/LC_MESSAGES/python.po | 2 +- lang/python/pt_BR/LC_MESSAGES/python.po | 2 +- lang/python/pt_PT/LC_MESSAGES/python.po | 2 +- lang/python/ro/LC_MESSAGES/python.po | 2 +- lang/python/ru/LC_MESSAGES/python.po | 2 +- lang/python/sk/LC_MESSAGES/python.po | 2 +- lang/python/sl/LC_MESSAGES/python.po | 2 +- lang/python/sq/LC_MESSAGES/python.po | 2 +- lang/python/sr/LC_MESSAGES/python.mo | Bin 454 -> 1553 bytes lang/python/sr/LC_MESSAGES/python.po | 30 +++++++------ lang/python/sr@latin/LC_MESSAGES/python.po | 2 +- lang/python/sv/LC_MESSAGES/python.po | 2 +- lang/python/th/LC_MESSAGES/python.po | 2 +- lang/python/tr_TR/LC_MESSAGES/python.po | 2 +- lang/python/uk/LC_MESSAGES/python.po | 2 +- lang/python/ur/LC_MESSAGES/python.po | 2 +- lang/python/uz/LC_MESSAGES/python.po | 2 +- lang/python/zh_CN/LC_MESSAGES/python.po | 2 +- lang/python/zh_TW/LC_MESSAGES/python.po | 2 +- 63 files changed, 112 insertions(+), 107 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 45c97bca8..f159d4752 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/lang/python/ar/LC_MESSAGES/python.mo b/lang/python/ar/LC_MESSAGES/python.mo index f7ec2b95c7d500380d4ec6afe7b9c31f0f096ca5..d44bd3613bed68a8dfc1f9fad955dfcbbab6b5c5 100644 GIT binary patch literal 3255 zcma)--)|IE6vwZMfa^~XMfssuq1XbmKMEpUTukk+G_=sPh4?z%x!q1XJG0K*?a~ku z3oUILqlt-$3BD-7LZOgW1d2fup7akenMsU^8ee$u$p;@u^n2#+Y_~-M8(at81vh~Az>VO#Rcc%Z(!7Hp*>!{4Km*(kPJ-lT7Nq$w}^gj%;9)G!_d>%h;-@9%)GWBfZv{#M5rs|B}! zWY+>x9vzVEJ_o5@--D#^FadrC(mH>FyTHv)sW{s}@*_af z^)U$f;k5?8lry?e_D~jhnPm zy`zhI;MMYggX_!B1gbN_VlUGG7fR2NE{0Y@L3G=8B+oi_znLq#f_Ip?0omLceaJh8 z*+0TP;SQTw5xp(BrWE{8b7y6uE=|Yg{ie0drsKVp7%86*U96|0{l7hyqgO$+xUS=} zrivnO#FHX#L>fHSYvW2?BoPJOl_nJwQ5<%n zmf$&8AR{ia6NWFKq|0@(!t;2mj>;R+P_3bK@YpG%!i(!-IXw7J{G_Oyl-qMo$wPXWNCDVKM?n>f{b?BbddR^W2EL}Qon(OF1 z!?bjJh@Rwbn%4j`J6A;SX}vj2`q!c#d7%3o7DUQnocA;q>;91nh6EbtO zw^iG}Xh*L4g{!q-Ga9IHn(yy3WhF|eaARFo(bX-j)p7G)n%jkN=w`>2dXHqm{&*HaKs_J7y13vD>$2SkeSTO2e z3&yyA-M`@9i1rB!#{6j>OaEI0aXZ!{KDu%F|#-}S7jQbbMbNv|}oQBCXR=CJ9 zWh@wt*24i1Ux68&0V}do$G}QVY2U>eLcQUi3PgKc^-y_;dbs4t?X48)zo6%wGsKPeD8~Fb(rd!6ao3NrKr#wL#@2r^sM7v2+gh zpnn;j=MXQg>VL)kbHN$^CgnQ}BJ?#1lNqSM0%PzO#);r4?^K`5!2}HEN#-U00t`^0 zaetPkDueUEDXOr)P;C-Uo%QE~ai*M96;Yks{w=IEM}bYk$E1ICnPGU8hiCjlEz9Tm z1B@#7jR9UaQ9 zI_DErr##wWK3p&=03w)Cd!SqqD!YG8Wd?Oe38-WgrW#D36-JlkD*Rt~sQg)kep5-W zG$njhE2+Halo@nxIZSGSIXIp~X69HJ)CausUlESOxcL3GqL0xguTpToC7l7MsS#9& zS5Pc;1|0{}*Z|bbw9+j^@&y$sN_o^?Rf&quA@yH_Ze8G5Y}}uZR;F!C|26*tP5k0i delta 547 zcmX}oy)Q#i7{~F`_O{yV{Vhn4>s_^8)1iY1qedbj1{Ud+7NHv2O1vau5kgYQ6aRpi ztP)}}2&;wFz{V^_zK6?`{Q5c1lY7oRy;pUYr900R#)+cJNj*6uH6-lfhuX(lJirz_ z#a6t>4t#g|O84&>QLJJfbDVYNS=9UYQ13rS_V1_%77YwOF@)8g-v>spnm&n7yky(y zC%j6vGhaY`fjoBMmD9hVMQ{3)>c$Z2ej4?8o7joR807uxnnjqwE9x&$R-jY_yD^Bi z;}LQXRZ4Ufk`ltbe@cHrT^yr|36K9*fK?gcKPW#jND=vIO!Uf~yH&p2d3p16NYH4I z8DmS{j5cZXws|JUM&;0Gu9{j&rE@D;E4jFwureE&Y$BDBQQvy+h@G?JOYyb%d^%@a z)7IeMV1tQ0JfDg$F89o(Q$t~EpszoA@#u@WMEp&X@b5}2FfO-&kd&K;a$`2ihZ&L8 J!jL43g5R8PP+, 2018 +# aboodilankaboot, 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Abubakaragoub Y , 2018\n" +"Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +28,7 @@ msgstr "" #: src/modules/mount/main.py:38 msgid "Mounting partitions." -msgstr "" +msgstr "جاري تركيب الأقسام" #: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -40,7 +41,7 @@ msgstr "" #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "" +msgstr "خطأ في الضبط" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172 @@ -51,12 +52,12 @@ msgstr "" #: 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 "" @@ -92,11 +93,11 @@ msgstr "الغاء تحميل ملف النظام" #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "" +msgstr "جاري ملئ أنظمة الملفات" #: src/modules/unpackfs/main.py:159 msgid "rsync failed with error code {}." -msgstr "" +msgstr "فشل rsync مع رمز الخطأ {}." #: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 msgid "Failed to unpack image \"{}\"" @@ -193,7 +194,7 @@ msgstr "" #: src/modules/displaymanager/main.py:831 msgid "Display manager configuration was incomplete" -msgstr "" +msgstr "إعداد مدير العرض لم يكتمل" #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." @@ -213,7 +214,7 @@ msgstr "" #: src/modules/initcpio/main.py:47 msgid "Process Failed" -msgstr "" +msgstr "العملية فشلت" #: src/modules/initcpio/main.py:48 msgid "" @@ -254,7 +255,7 @@ msgstr "" #: src/modules/services-openrc/main.py:110 msgid "Target runlevel does not exist" -msgstr "" +msgstr "الـ runlevel الهدف غير موجود" #: src/modules/services-openrc/main.py:111 msgid "" @@ -264,7 +265,7 @@ msgstr "" #: src/modules/services-openrc/main.py:119 msgid "Target service does not exist" -msgstr "" +msgstr "الخدمة الهدف غير موجودة" #: src/modules/services-openrc/main.py:120 msgid "" @@ -313,11 +314,11 @@ msgstr[5] "" #: 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 "إزالة المستخدم المباشر من النظام الهدف" #: src/modules/initramfs/main.py:35 msgid "Creating initramfs." @@ -329,11 +330,11 @@ msgstr "" #: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 msgid "The exit code was {}" -msgstr "" +msgstr "كود الخروج كان {}" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." -msgstr "" +msgstr "جاري إعداد ساعة الهاردوير" #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." @@ -381,4 +382,4 @@ msgstr "" #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "جاري حفظ الإعدادات" diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index 9fe45fc13..d5f56e687 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index 49944ac60..c44a1f531 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 728dac817..23cc5301c 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index ce6cdf405..b9fd96871 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index 8e6674400..41bb10c11 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index be17fd6d8..752a7c60d 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index 271154843..8d340296c 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: scootergrisen, 2019\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index dd59b4958..e315fb242 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index 9dab7d28b..fb9bd2e00 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index ae119927c..eb43ab0e1 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index 17f5f6917..d03d672fa 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index e844affae..271bdaeb5 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Fito JB, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index e8a93134a..34103cda5 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index c10458354..644265373 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index 249dd1d08..e36f9c39d 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Madis, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 70b4167a3..c015db10b 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index 094b31bb2..2e3707b34 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index 88edb80d4..9db305c83 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kimmo Kujansuu , 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 20aa77057..b8f7ba816 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Arnaud Ferraris , 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index 0a11411ce..47ed6f847 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index ec16f9216..817d036e4 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 440bb35bf..d591c8d01 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 8f50e96a1..61b5fdf83 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index def5861be..c826795f3 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Panwar108 , 2018\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index 6dc371680..43b67a4b1 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 312b49a8b..49fb56a47 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lajos Pasztor , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index df50b1c1f..4763d81fb 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 8951d0806..8aa035ee5 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index dcfe22404..4ff0f84e3 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 8414e779db7057b28c9e75e79f01df55e48dfcc7..09b3c73cb6dd7439594f1ed3fc88505551ceef55 100644 GIT binary patch delta 2405 zcmaKsX>3$g6vuBVbYrWfrEH~-MNpQ?CR>#RC?G*Bf`p(%9j32k>@ZW`3{(U&%zGx3 z#47Yzs(`5?hP4!#5HM_FVgh`Y_<-pqZ!cb9X|J^ypw z+@7|7UhIBR|5im?L?1&R)K95(@KH7o+DikJ8V^^(Q7{N+!#!{WyaeaKpVG|FNv$t} zCCpoJK5T*$;B`0=CgEhIVyYlFH8BegV_^dv3hUuWxD$$_Rwx%Zljcn*2X?{HFfUK3 z;cy}>hLx}su7Txn3zYp$Q2d;R)9|mp=jACTeuZNA7>W|b`AV&YGod*65X$CLtci!Ap@0~3d`UOxDtv~??W+c zhhyQD^!P4(f$`sP6P!0Fb-_>JbjBy(v+!pqsmL0f@>2?{7*B#Rxk)`Q20R9>ETwM1 zR~c85hjFkOR>MvxweT3Og5wGM4H$wlz6IsN!;wXltAq>S$8aIM0bhjKMXB-PBJ>w& zb}=E6AB7_Ibtt*Mm!AI%isKS=p9JSa$?02AB8x$lJ!k+3VatzgomLha~;lx8qS2Jc%KDV!sp>GC=s87 zOW^PDH8`8f6#J$aFLJ<1C`#OiazGB@h@%BiZu}+`DGxz8;5L-nnZhR`N}Pl%;4LT) zi;!;uG9d+cwZSGi>jcfT6GFi4E%wqZ2CO95QA!eI+Z`Snfli8h2x! zQ?|~xU9J~0qm5y!-teb2_H?gs@8sPrG~WwEnXfU8Mqk9(`GI>bKRkGY74X8UjYNH$ z6XgXXvc_uXfObx3`+{~HZFg#Ck9IC=$CaV8H?e%+`2JPePH2Z;tG2(^_F3(mmOWx} zOy=$5a)NVNNrJWA^5A$!^2|XUKc(YsI(}8hKi9i$w{GbAnB-d99i9gc`%2qKwR0+C z(si*z_0GAr&!?|rf7feU_rbR0Cl`_*9q@d#OYVEEXA;+QHm0=WIk!*sb^BlDdK#!y z!gc(3&-1#j9PVz~CztJE^`tF54f8XW?xmsTj6N}>%0SzfJn5UXeZ+fd%joNt7ydAu zY>}R(bRf=d8QLxGAB81}UkV>)mAAOv$T#Ml z>5SPeUDv)yc6>%?iH*ZnXO$=8hr2tDcv~vW{Ql5O;IQpZ@@N5_oq2 delta 1118 zcmY+@NlX(_7{KwbP=vNDT3cxALMhmBDG7*6T}YG=J(##QCRQ&^6_w@Y61VgK@kC6T z7vn)Ak*FuVI0i2oAl~rAK`$B<<4poas44i02e7_Qoky5%aT1 zYa@-Fn8(dHid%6K^&mg72fM<=KgZ3bu)FXLT8#gqF0@v<2g;*<(H+#^&!R>y%_;Wd zW7HQf;x^0>Z%suJi#UZH*w!dQpq-`%Pv~2;*tBUbwLttjpoQp7bk+!gaN2sVq+9gQ z!CwD0trgDg6szXHl1@gQqNb*u6oS+ABME}YfHQP2q)|3{V+}Khb_$4kl(aXmX(Ek6 z0Gz7V>1Msq$bwUtnhO35Lfr`^BT2gS6i%DPVA39}`r$Lf)%(m;P0n-%M(x=^ug|oF zu9;V%_vUGBzn!jY^flxP184d!4xLXPESxP|DA@V>l;2E;bLLxPtJxFTYo0}>?fcOM cpLx=B%iN2_?8~t(pE;a}na}Y@W-RgjAK$EbSO5S3 diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index e079227af..a9adf165e 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -5,17 +5,17 @@ # # Translators: # UTUMI Hirosi , 2019 -# ブラシックデービッド, 2019 # Takefumi Nagata, 2019 +# ブラシックデービッド, 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Takefumi Nagata, 2019\n" +"Last-Translator: ブラシックデービッド, 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,7 +25,7 @@ msgstr "" #: src/modules/grubcfg/main.py:37 msgid "Configure GRUB." -msgstr "" +msgstr "GRUBを設定にします。" #: src/modules/mount/main.py:38 msgid "Mounting partitions." @@ -42,7 +42,7 @@ msgstr "" #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "" +msgstr "コンフィグレーションエラー" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172 @@ -199,7 +199,7 @@ msgstr "ディスプレイマネージャの設定が不完全です" #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." -msgstr "" +msgstr "mkinitcpioを設定中" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 @@ -211,11 +211,11 @@ msgstr "" #: src/modules/initcpio/main.py:33 msgid "Creating initramfs with mkinitcpio." -msgstr "" +msgstr "mkinitcpioとinitramfsを作成中" #: src/modules/initcpio/main.py:47 msgid "Process Failed" -msgstr "" +msgstr "プロセスを失敗しました" #: src/modules/initcpio/main.py:48 msgid "" @@ -225,7 +225,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." -msgstr "" +msgstr "暗号化したswapを設定中" #: src/modules/rawfs/main.py:35 msgid "Installing data." @@ -305,7 +305,7 @@ 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" @@ -313,7 +313,7 @@ msgstr "" #: src/modules/initramfs/main.py:35 msgid "Creating initramfs." -msgstr "" +msgstr "initramfsを作成中" #: src/modules/initramfs/main.py:49 msgid "Failed to run update-initramfs on the target" @@ -321,7 +321,7 @@ msgstr "" #: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 msgid "The exit code was {}" -msgstr "" +msgstr "停止コードは {} でした" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." @@ -329,7 +329,7 @@ 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" @@ -337,19 +337,19 @@ msgstr "" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." -msgstr "" +msgstr "initramfsを設定中" #: src/modules/openrcdmcryptcfg/main.py:34 msgid "Configuring OpenRC dmcrypt service." -msgstr "" +msgstr "OpenRC dmcryptサービスを設定中" #: src/modules/luksbootkeyfile/main.py:35 msgid "Configuring LUKS key file." -msgstr "" +msgstr "LUKSキーファイルを設定中" #: src/modules/luksbootkeyfile/main.py:74 msgid "Encrypted rootfs setup error" -msgstr "" +msgstr "暗号化したrootfsセットアップエラー" #: src/modules/luksbootkeyfile/main.py:75 msgid "Rootfs partition {!s} is LUKS but no passphrase found." @@ -357,7 +357,7 @@ msgstr "" #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "" +msgstr "fstabを書き込み中" #: src/modules/dummypython/main.py:44 msgid "Dummy python job." @@ -369,8 +369,8 @@ msgstr "Dummy python step {}" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "" +msgstr "ローカルを設定中" #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "ネットワーク設定を保存中" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index 39250d442..3e98b3368 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index 42610e704..b73c03f02 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index b87f21667..35ed87bb2 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 이정희 , 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index 0f6f4b98f..1671e9608 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 33b04a553..2a876e187 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Moo, 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index dd8d7be90..b847e7f10 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index d78d2a388..d8b4f1cac 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index d13d8f9db..b9ab8b7b9 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index dacef3610..0f63dcd5d 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index c7bfa8a93..eb7e6a754 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index dcc9bae84..b2cefeae6 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Piotr Strębski , 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 34d356d77..9059b758f 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index 5b8417f60..3fb39b9e6 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ricardo Simões , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index d44258d49..d5866ca40 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 5f7b89f05..d4198ca14 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 5b9b232e1..955951f29 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Dušan Kazik , 2018\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 8fd268026..9ed9c5784 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index f27126d0f..5ba1cbf07 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" diff --git a/lang/python/sr/LC_MESSAGES/python.mo b/lang/python/sr/LC_MESSAGES/python.mo index e99bccee098fd00ac5f815c97f14b61b500b7716..1f281e5eddacaf9ab9d41a820addfc0038c66ce2 100644 GIT binary patch literal 1553 zcmZ{j&2Jk;7{&((6wFsCAjFsSwy0?W?0Pq?AaUYC+B#K$v{63Fd18;9ZPz>2%(!mU zR%&V0_QC-bq^ROc;=~CHYKYo6xm4 zV|ZS~cn9M;#w!^AVz?)Gg0WY@5PTUdfUkjz;M?F?@D1<=xEK7fcm5l=AL|F;yWl_I z>)^nXjJ*WD1rj(6KE&B)pv$*!pd06d?_+%e90Mijfxm)7;3IGlWKT0T2^<3710ygC zeht0}wn3+V1fmRk7Q;QyU_6C^vgz}Dk9)uuFrMqJAxnFc0a22%<1#5nmAc|4k_i=* zl4^TT(8;;QWB&F!N-7k~B9Ddk*%XgrQ6eL$p452p97R=L5p>|<5_LwC=F{lnw>oU`Q*t0ohi)CPoF-OnG-dsj5nhzQOP@2uV`;U<|s3J+M5&SBd76B za3gXw5`-Un!KfFEQ5fV7ANe4_llg*c<1Hwj=$IR+ax@>yC0XJL%}3Sf!A+XbvBs?U zX{8FIeomR(Ql ztlD7c5cEeZn%!#^o3}a zGn;;SxZbW5oofu8+H@WtYbmn8UCaJyTQKu2X2|-Oq5r>SFXxWN?fP16yWefR(57t@ X8U>^G(l%_^b+UiB^6A@drJwPC&PiA_ delta 70 zcmbQpbBx*Io)F7a1|VPrVi_P-0b*t#)&XJ=umIv7prj>`2C0F8$(~GUn_n?$FaiJ* Ctp}q3 diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 12e7eb789..ed037af81 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -3,13 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# Translators: +# Slobodan Simić , 2019 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" +"Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,11 +23,11 @@ msgstr "" #: src/modules/grubcfg/main.py:37 msgid "Configure GRUB." -msgstr "" +msgstr "Подеси ГРУБ" #: src/modules/mount/main.py:38 msgid "Mounting partitions." -msgstr "" +msgstr "Монтирање партиција." #: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -36,7 +40,7 @@ msgstr "" #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "" +msgstr "Грешка поставе" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172 @@ -84,19 +88,19 @@ msgstr "" #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "" +msgstr "Демонтирање фајл-система." #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "" +msgstr "Попуњавање фајл-система." #: src/modules/unpackfs/main.py:159 msgid "rsync failed with error code {}." -msgstr "" +msgstr "rsync неуспешан са кодом грешке {}." #: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 msgid "Failed to unpack image \"{}\"" -msgstr "" +msgstr "Неуспело распакивање одраза \"{}\"" #: src/modules/unpackfs/main.py:221 msgid "" @@ -106,7 +110,7 @@ msgstr "" #: src/modules/unpackfs/main.py:320 msgid "No mount point for root partition" -msgstr "" +msgstr "Нема тачке мотирања за root партицију" #: src/modules/unpackfs/main.py:321 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" @@ -223,7 +227,7 @@ msgstr "" #: src/modules/rawfs/main.py:35 msgid "Installing data." -msgstr "" +msgstr "Инсталирање података." #: src/modules/services-openrc/main.py:38 msgid "Configure OpenRC services" @@ -355,7 +359,7 @@ msgstr "" #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "" +msgstr "Уписивање fstab." #: src/modules/dummypython/main.py:44 msgid "Dummy python job." @@ -367,8 +371,8 @@ msgstr "" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "" +msgstr "Подешавање локалитета." #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "Упис поставе мреже." diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index e612846bc..1f08cddfd 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 291e9cf6d..f618e8767 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index da9cee122..e584eb538 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index b99773b24..82b24e462 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Demiray Muhterem , 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index f65cd5476..47033db11 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index f5f0b82fb..b4415d41c 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index d890a5899..415882529 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index bb6efe709..eae99810e 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 92b62bcf4..061367581 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-10 19:18-0400\n" +"POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jeff Huang , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" From b216daf5741f8a3a302a46999c14d23f4d00b1e9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 24 Jun 2019 13:19:24 +0200 Subject: [PATCH 006/626] [initramfs] Prepare for C++-ification --- src/modules/initramfs/CMakeLists.txt | 9 +++++++++ src/modules/initramfs/module.desc | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 src/modules/initramfs/CMakeLists.txt delete mode 100644 src/modules/initramfs/module.desc diff --git a/src/modules/initramfs/CMakeLists.txt b/src/modules/initramfs/CMakeLists.txt new file mode 100644 index 000000000..79bb650c5 --- /dev/null +++ b/src/modules/initramfs/CMakeLists.txt @@ -0,0 +1,9 @@ +calamares_add_plugin( initramfs + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + InitramfsJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) diff --git a/src/modules/initramfs/module.desc b/src/modules/initramfs/module.desc deleted file mode 100644 index 321a03782..000000000 --- a/src/modules/initramfs/module.desc +++ /dev/null @@ -1,5 +0,0 @@ ---- -type: "job" -name: "initramfs" -interface: "python" -script: "main.py" From 8d712276ad670a5321797b6ec26016ca3df5681a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 24 Jun 2019 14:38:56 +0200 Subject: [PATCH 007/626] [initramfs] Replace module with C++ implementation - new implementation handles blank (maps to "all") configuration, - allows specifying "$uname" as kernel name, to use `uname -r`, - allows specifying a specific kernel. --- src/modules/initramfs/InitramfsJob.cpp | 74 ++++++++++++++++++++++++++ src/modules/initramfs/InitramfsJob.h | 49 +++++++++++++++++ src/modules/initramfs/main.py | 51 ------------------ 3 files changed, 123 insertions(+), 51 deletions(-) create mode 100644 src/modules/initramfs/InitramfsJob.cpp create mode 100644 src/modules/initramfs/InitramfsJob.h delete mode 100644 src/modules/initramfs/main.py diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp new file mode 100644 index 000000000..302d15fff --- /dev/null +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -0,0 +1,74 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "InitramfsJob.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" +#include "utils/Variant.h" + +InitramfsJob::InitramfsJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + +InitramfsJob::~InitramfsJob() {} + + +QString +InitramfsJob::prettyName() const +{ + return tr( "Creating initramfs." ); +} + + +Calamares::JobResult +InitramfsJob::exec() +{ + auto r = CalamaresUtils::System::instance()->targetEnvCommand( + { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 10 ); + return r.explainProcess( "update-initramfs", 10 ); +} + + +void +InitramfsJob::setConfigurationMap( const QVariantMap& configurationMap ) +{ + m_kernel = CalamaresUtils::getString( configurationMap, "kernel" ); + if ( m_kernel.isEmpty() ) + { + m_kernel = QStringLiteral( "all" ); + } + else if ( m_kernel == "$uname" ) + { + auto r = CalamaresUtils::System::runCommand( + CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), 3 ); + if ( r.getExitCode() == 0 ) + { + m_kernel = r.getOutput(); + cDebug() << "*initramfs* using running kernel" << m_kernel; + } + else + { + cWarning() << "*initramfs* could not determine running kernel, using 'all'." << Logger::Continuation + << r.getExitCode() << r.getOutput(); + } + } +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( InitramfsJobFactory, registerPlugin< InitramfsJob >(); ) diff --git a/src/modules/initramfs/InitramfsJob.h b/src/modules/initramfs/InitramfsJob.h new file mode 100644 index 000000000..63aed4136 --- /dev/null +++ b/src/modules/initramfs/InitramfsJob.h @@ -0,0 +1,49 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef INITRAMFSJOB_H +#define INITRAMFSJOB_H + +#include "CppJob.h" +#include "PluginDllMacro.h" +#include "utils/PluginFactory.h" + +#include +#include + +class PLUGINDLLEXPORT InitramfsJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit InitramfsJob( QObject* parent = nullptr ); + virtual ~InitramfsJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + QString m_kernel; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( InitramfsJobFactory ) + +#endif // INITRAMFSJOB_H diff --git a/src/modules/initramfs/main.py b/src/modules/initramfs/main.py deleted file mode 100644 index 7ff32bafb..000000000 --- a/src/modules/initramfs/main.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# === This file is part of Calamares - === -# -# Copyright 2014, Philip Müller -# Copyright 2017, Alf Gaida -# Copyright 2019, Adriaan de Groot -# -# 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 . - -import libcalamares -from libcalamares.utils import target_env_call - - -import gettext -_ = gettext.translation("calamares-python", - localedir=libcalamares.utils.gettext_path(), - languages=libcalamares.utils.gettext_languages(), - fallback=True).gettext - - -def pretty_name(): - return _("Creating initramfs.") - - -def run(): - """ Generate an initramfs image. - - :return: - """ - return_code = target_env_call(["update-initramfs", "-k", "all", "-c", - "-t"]) - - if return_code != 0: - libcalamares.utils.debug("update-initramfs returned {}".format(return_code)) - return ( - _("Failed to run update-initramfs on the target"), - _("The exit code was {}").format(return_code) - ) From a2d7fdcb8aa8705e5c4d7807586504fdbb777471 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 24 Jun 2019 16:35:54 +0200 Subject: [PATCH 008/626] [initramfs] Document settings - Move the README text into the config file - Document the *kernel* setting --- src/modules/initramfs/README.md | 12 ------------ src/modules/initramfs/initramfs.conf | 29 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) delete mode 100644 src/modules/initramfs/README.md create mode 100644 src/modules/initramfs/initramfs.conf diff --git a/src/modules/initramfs/README.md b/src/modules/initramfs/README.md deleted file mode 100644 index f7de44f2f..000000000 --- a/src/modules/initramfs/README.md +++ /dev/null @@ -1,12 +0,0 @@ -## initramfs module - -This module is specific to Debian based distros. Post installation on Debian -the initramfs needs to be updated so as to not interrupt the boot process -with a error about fsck.ext4 not being found. - -## Debian specific notes - -If you're using live-build to build your ISO and setup the runtime env -make sure that you purge the live-\* packages on the target system -before running this module, since live-config dpkg-diverts update-initramfs -and can cause all sorts of fun issues. diff --git a/src/modules/initramfs/initramfs.conf b/src/modules/initramfs/initramfs.conf new file mode 100644 index 000000000..a399e9212 --- /dev/null +++ b/src/modules/initramfs/initramfs.conf @@ -0,0 +1,29 @@ +## initramfs module +# +# This module is specific to Debian based distros. Post installation on Debian +# the initramfs needs to be updated so as to not interrupt the boot process +# with a error about fsck.ext4 not being found. +# +## Debian specific notes +# +# If you're using live-build to build your ISO and setup the runtime env +# make sure that you purge the live-\* packages on the target system +# before running this module, since live-config dpkg-diverts update-initramfs +# and can cause all sorts of fun issues. +--- +# There is only one configuration item for this module, +# the kernel to be loaded. This can have the following +# values: +# - empty or unset, interpreted as "all" +# - the literal string "$uname" (without quotes, with dollar), +# which will use the output of `uname -r` to determine the +# running kernel, and use that. +# - any other string. +# +# Whatever is set, that string is passed as *version* argument to the +# `-k` option of *update-initramfs*. +# +# The default is empty/unset, leading to the behavior from Calamares +# 3.2.9 and earlier which passed "all" as version. + +# kernel: all From 6ae8bd82fa4ee2d30838c827588ac8876fb7328e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 24 Jun 2019 16:37:58 +0200 Subject: [PATCH 009/626] [initramfs] Log what kernel will be passed to update-initramfs --- src/modules/initramfs/InitramfsJob.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index 302d15fff..db9f8038a 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -40,6 +40,7 @@ InitramfsJob::prettyName() const Calamares::JobResult InitramfsJob::exec() { + cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 10 ); return r.explainProcess( "update-initramfs", 10 ); From f7cbb7b5ea22144d079be0782309463e87e376de Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 24 Jun 2019 16:47:20 +0200 Subject: [PATCH 010/626] Changes: Note modified initramfs module - Also add note about $uname handling. --- CHANGES | 5 +++++ src/modules/initramfs/initramfs.conf | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index dcc32eea0..ea4019376 100644 --- a/CHANGES +++ b/CHANGES @@ -31,6 +31,11 @@ require changes in the slideshow. ## Modules ## + - *initramfs* has been changed from a Python module to a C++ module. + Packaging will need to adjust now it installs a .so instead of a .py. + The module itself functions as before. It does have a new configuration + option, to change the version passed as to the `-k` option of + update-initramfs. #1180 - *partition* Now has its own setting for *requiredStorage*, duplicating the same setting in the *welcome* module. This is useful for configurations where no *welcome* module is used, but a minimum diff --git a/src/modules/initramfs/initramfs.conf b/src/modules/initramfs/initramfs.conf index a399e9212..c9803a3b1 100644 --- a/src/modules/initramfs/initramfs.conf +++ b/src/modules/initramfs/initramfs.conf @@ -21,7 +21,9 @@ # - any other string. # # Whatever is set, that string is passed as *version* argument to the -# `-k` option of *update-initramfs*. +# `-k` option of *update-initramfs*. Take care that both "$uname" operates +# in the host system, and might not be correct if the target system is +# updated (to a newer kernel) as part of the installation. # # The default is empty/unset, leading to the behavior from Calamares # 3.2.9 and earlier which passed "all" as version. From 08b24b9ea22e70b31e42e135db1e9aaf674db033 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 26 Jun 2019 12:12:17 +0200 Subject: [PATCH 011/626] [libcalamaresui] Fix Doxygen comments --- src/libcalamaresui/ExecutionViewStep.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/ExecutionViewStep.h b/src/libcalamaresui/ExecutionViewStep.h index c1183e110..63594b151 100644 --- a/src/libcalamaresui/ExecutionViewStep.h +++ b/src/libcalamaresui/ExecutionViewStep.h @@ -69,11 +69,11 @@ private: QLabel* m_label; QQuickWidget* m_qmlShow; QQmlComponent* m_qmlComponent; - QQuickItem* m_qmlObject; //< The actual show + QQuickItem* m_qmlObject; ///< The actual show QStringList m_jobInstanceKeys; - void loadQmlV2(); //< Loads the slideshow QML (from branding) for API version 2 + void loadQmlV2(); ///< Loads the slideshow QML (from branding) for API version 2 void updateFromJobQueue( qreal percent, const QString& message ); }; From bd8c3fd893a21c47f0d6b7faa27ca1ec23c6ccf0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 27 Jun 2019 15:13:32 +0200 Subject: [PATCH 012/626] CI: apply coding style to libcalamares/modulesystem --- src/libcalamares/modulesystem/Actions.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/modulesystem/Actions.h b/src/libcalamares/modulesystem/Actions.h index 069937235..06b5589c4 100644 --- a/src/libcalamares/modulesystem/Actions.h +++ b/src/libcalamares/modulesystem/Actions.h @@ -29,6 +29,6 @@ enum class ModuleAction : char Exec }; -} // namespace +} // namespace Calamares #endif From 0bd2bfa7081d7d974a71f9a77f69fa3ce51715b1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 27 Jun 2019 15:15:47 +0200 Subject: [PATCH 013/626] CI: apply coding style to libcalamaresui/modulesystem --- .../modulesystem/CppJobModule.cpp | 16 +-- .../modulesystem/CppJobModule.h | 8 +- src/libcalamaresui/modulesystem/Module.cpp | 58 +++++++--- src/libcalamaresui/modulesystem/Module.h | 23 ++-- .../modulesystem/ModuleManager.cpp | 103 +++++++++--------- .../modulesystem/ModuleManager.h | 6 +- .../modulesystem/ProcessJobModule.cpp | 27 +++-- .../modulesystem/ProcessJobModule.h | 4 +- .../modulesystem/PythonJobModule.cpp | 12 +- .../modulesystem/PythonJobModule.h | 4 +- .../modulesystem/PythonQtViewModule.cpp | 76 ++++++------- .../modulesystem/PythonQtViewModule.h | 8 +- .../modulesystem/Requirement.cpp | 1 - src/libcalamaresui/modulesystem/Requirement.h | 2 +- .../modulesystem/RequirementsChecker.cpp | 30 +++-- .../modulesystem/RequirementsChecker.h | 6 +- .../modulesystem/ViewModule.cpp | 12 +- src/libcalamaresui/modulesystem/ViewModule.h | 8 +- 18 files changed, 213 insertions(+), 191 deletions(-) diff --git a/src/libcalamaresui/modulesystem/CppJobModule.cpp b/src/libcalamaresui/modulesystem/CppJobModule.cpp index 22d9a0524..17c191024 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.cpp +++ b/src/libcalamaresui/modulesystem/CppJobModule.cpp @@ -19,9 +19,9 @@ #include "CppJobModule.h" -#include "utils/PluginFactory.h" -#include "utils/Logger.h" #include "CppJob.h" +#include "utils/Logger.h" +#include "utils/PluginFactory.h" #include #include @@ -62,10 +62,10 @@ CppJobModule::loadSelf() cDebug() << Q_FUNC_INFO << m_loader->errorString(); return; } -// cDebug() << "CppJobModule loading self for instance" << instanceKey() -// << "\nCppJobModule at address" << this -// << "\nCalamares::PluginFactory at address" << pf -// << "\nCppJob at address" << cppJob; + // cDebug() << "CppJobModule loading self for instance" << instanceKey() + // << "\nCppJobModule at address" << this + // << "\nCalamares::PluginFactory at address" << pf + // << "\nCppJob at address" << cppJob; cppJob->setModuleInstanceKey( instanceKey() ); cppJob->setConfigurationMap( m_configurationMap ); @@ -97,7 +97,7 @@ CppJobModule::initFrom( const QVariantMap& moduleDescriptor ) // If a load path is not specified, we look for a plugin to load in the directory. if ( load.isEmpty() || !QLibrary::isLibrary( load ) ) { - const QStringList ls = directory.entryList( QStringList{ "*.so" } ); + const QStringList ls = directory.entryList( QStringList { "*.so" } ); if ( !ls.isEmpty() ) { for ( QString entry : ls ) @@ -126,4 +126,4 @@ CppJobModule::~CppJobModule() delete m_loader; } -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index e3b232353..feb0f22bb 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -21,8 +21,8 @@ #ifndef CALAMARES_CPPJOBMODULE_H #define CALAMARES_CPPJOBMODULE_H -#include "UiDllMacro.h" #include "Module.h" +#include "UiDllMacro.h" class QPluginLoader; @@ -42,7 +42,7 @@ protected: void initFrom( const QVariantMap& moduleDescriptor ) override; private: - friend class Module; //so only the superclass can instantiate + friend class Module; //so only the superclass can instantiate explicit CppJobModule(); virtual ~CppJobModule() override; @@ -50,6 +50,6 @@ private: job_ptr m_job; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_CPPJOBMODULE_H +#endif // CALAMARES_CPPJOBMODULE_H diff --git a/src/libcalamaresui/modulesystem/Module.cpp b/src/libcalamaresui/modulesystem/Module.cpp index 44798b32b..799da941e 100644 --- a/src/libcalamaresui/modulesystem/Module.cpp +++ b/src/libcalamaresui/modulesystem/Module.cpp @@ -48,8 +48,7 @@ static const char EMERGENCY[] = "emergency"; namespace Calamares { -Module::~Module() -{} +Module::~Module() {} Module* Module::fromDescriptor( const QVariantMap& moduleDescriptor, @@ -57,7 +56,7 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor, const QString& configFileName, const QString& moduleDirectory ) { - std::unique_ptr m; + std::unique_ptr< Module > m; QString typeString = moduleDescriptor.value( "type" ).toString(); QString intfString = moduleDescriptor.value( "interface" ).toString(); @@ -70,7 +69,9 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor, if ( ( typeString == "view" ) || ( typeString == "viewmodule" ) ) { if ( intfString == "qtplugin" ) + { m.reset( new ViewModule() ); + } else if ( intfString == "pythonqt" ) { #ifdef WITH_PYTHONQT @@ -80,14 +81,20 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor, #endif } else + { cError() << "Bad interface" << intfString << "for module type" << typeString; + } } else if ( typeString == "job" ) { if ( intfString == "qtplugin" ) + { m.reset( new CppJobModule() ); + } else if ( intfString == "process" ) + { m.reset( new ProcessJobModule() ); + } else if ( intfString == "python" ) { #ifdef WITH_PYTHON @@ -97,22 +104,27 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor, #endif } else + { cError() << "Bad interface" << intfString << "for module type" << typeString; + } } else + { cError() << "Bad module type" << typeString; + } if ( !m ) { - cError() << "Bad module type (" << typeString - << ") or interface string (" << intfString - << ") for module " << instanceId; + cError() << "Bad module type (" << typeString << ") or interface string (" << intfString << ") for module " + << instanceId; return nullptr; } QDir moduleDir( moduleDirectory ); if ( moduleDir.exists() && moduleDir.isReadable() ) + { m->m_directory = moduleDir.absolutePath(); + } else { cError() << "Bad module directory" << moduleDirectory << "for" << instanceId; @@ -141,22 +153,32 @@ moduleConfigurationCandidates( bool assumeBuildDir, const QString& moduleName, c QStringList paths; if ( CalamaresUtils::isAppDataDirOverridden() ) + { paths << CalamaresUtils::appDataDir().absoluteFilePath( QString( "modules/%1" ).arg( configFileName ) ); + } else { // If an absolute path is given, in debug mode, look for it // first. The case contains('/'), below, will add the absolute // path a second time, though. if ( assumeBuildDir && configFileName.startsWith( '/' ) ) + { paths << configFileName; + } if ( assumeBuildDir ) - paths << QDir().absoluteFilePath(QString( "src/modules/%1/%2" ).arg( moduleName ).arg( configFileName ) ); + { + paths << QDir().absoluteFilePath( QString( "src/modules/%1/%2" ).arg( moduleName ).arg( configFileName ) ); + } if ( assumeBuildDir && configFileName.contains( '/' ) ) + { paths << QDir().absoluteFilePath( configFileName ); + } if ( CalamaresUtils::haveExtraDirs() ) for ( auto s : CalamaresUtils::extraConfigDirs() ) + { paths << ( s + QString( "modules/%1" ).arg( configFileName ) ); + } paths << QString( "/etc/calamares/modules/%1" ).arg( configFileName ); paths << CalamaresUtils::appDataDir().absoluteFilePath( QString( "modules/%1" ).arg( configFileName ) ); @@ -165,10 +187,10 @@ moduleConfigurationCandidates( bool assumeBuildDir, const QString& moduleName, c return paths; } -void -Module::loadConfigurationFile( const QString& configFileName ) //throws YAML::Exception +void Module::loadConfigurationFile( const QString& configFileName ) //throws YAML::Exception { - QStringList configCandidates = moduleConfigurationCandidates( Settings::instance()->debugMode(), m_name, configFileName ); + QStringList configCandidates + = moduleConfigurationCandidates( Settings::instance()->debugMode(), m_name, configFileName ); for ( const QString& path : configCandidates ) { QFile configFile( path ); @@ -192,9 +214,8 @@ Module::loadConfigurationFile( const QString& configFileName ) //throws YAML::Ex cDebug() << "Loaded module configuration" << path; m_configurationMap = CalamaresUtils::yamlMapToVariant( doc ).toMap(); - m_emergency = m_maybe_emergency - && m_configurationMap.contains( EMERGENCY ) - && m_configurationMap[ EMERGENCY ].toBool(); + m_emergency = m_maybe_emergency && m_configurationMap.contains( EMERGENCY ) + && m_configurationMap[ EMERGENCY ].toBool(); return; } } @@ -235,7 +256,7 @@ Module::typeString() const { switch ( type() ) { - case Type::Job: + case Type::Job: return "Job Module"; case Type::View: return "View Module"; @@ -249,7 +270,7 @@ Module::interfaceString() const { switch ( interface() ) { - case Interface::Process: + case Interface::Process: return "External process"; case Interface::Python: return "Python (Boost.Python)"; @@ -271,7 +292,8 @@ Module::configurationMap() Module::Module() : m_loaded( false ) -{} +{ +} void @@ -279,7 +301,9 @@ Module::initFrom( const QVariantMap& moduleDescriptor ) { m_name = moduleDescriptor.value( "name" ).toString(); if ( moduleDescriptor.contains( EMERGENCY ) ) + { m_maybe_emergency = moduleDescriptor[ EMERGENCY ].toBool(); + } } RequirementsList @@ -288,4 +312,4 @@ Module::checkRequirements() return RequirementsList(); } -} //ns +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/Module.h b/src/libcalamaresui/modulesystem/Module.h index 6da9c0ce4..ae3b31e6d 100644 --- a/src/libcalamaresui/modulesystem/Module.h +++ b/src/libcalamaresui/modulesystem/Module.h @@ -66,8 +66,8 @@ public: */ enum class Interface { - QtPlugin, // Jobs or Views - Python, // Jobs only + QtPlugin, // Jobs or Views + Python, // Jobs only Process, // Deprecated interface PythonQt // Views only, available as enum even if PythonQt isn't used }; @@ -141,10 +141,7 @@ public: * @brief isLoaded reports on the loaded status of a module. * @return true if the module's loading phase has finished, otherwise false. */ - bool isLoaded() const - { - return m_loaded; - } + bool isLoaded() const { return m_loaded; } /** * @brief loadSelf initialized the module. @@ -161,10 +158,7 @@ public: * are not run (in the common case where there is only * one exec block, this doesn't really matter). */ - bool isEmergency() const - { - return m_emergency; - } + bool isEmergency() const { return m_emergency; } /** * @brief jobs returns any jobs exposed by this module. @@ -194,16 +188,15 @@ protected: bool m_maybe_emergency = false; // Based on the module.desc private: - void loadConfigurationFile( const QString& configFileName ); //throws YAML::Exception + void loadConfigurationFile( const QString& configFileName ); //throws YAML::Exception QString m_name; QString m_directory; QString m_instanceId; - friend void ::operator>>( const QVariantMap& moduleDescriptor, - Calamares::Module* m ); + friend void ::operator>>( const QVariantMap& moduleDescriptor, Calamares::Module* m ); }; -} +} // namespace Calamares -#endif // CALAMARES_MODULE_H +#endif // CALAMARES_MODULE_H diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index a030e55cd..a65f64108 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -56,7 +56,9 @@ ModuleManager::~ModuleManager() { // The map is populated with Module::fromDescriptor(), which allocates on the heap. for ( auto moduleptr : m_loadedModulesByInstanceKey ) + { delete moduleptr; + } } @@ -89,15 +91,17 @@ ModuleManager::doInit() bool success = currentDir.cd( subdir ); if ( success ) { - QFileInfo descriptorFileInfo( currentDir.absoluteFilePath( QLatin1Literal( "module.desc") ) ); + QFileInfo descriptorFileInfo( currentDir.absoluteFilePath( QLatin1Literal( "module.desc" ) ) ); if ( !descriptorFileInfo.exists() ) { - cDebug() << "ModuleManager expected descriptor is missing:" << descriptorFileInfo.absoluteFilePath(); + cDebug() << "ModuleManager expected descriptor is missing:" + << descriptorFileInfo.absoluteFilePath(); continue; } if ( !descriptorFileInfo.isReadable() ) { - cDebug() << "ModuleManager descriptor file is unreadable:" << descriptorFileInfo.absoluteFilePath(); + cDebug() << "ModuleManager descriptor file is unreadable:" + << descriptorFileInfo.absoluteFilePath(); continue; } @@ -105,8 +109,8 @@ ModuleManager::doInit() QVariantMap moduleDescriptorMap = CalamaresUtils::loadYaml( descriptorFileInfo, &ok ); QString moduleName = ok ? moduleDescriptorMap.value( "name" ).toString() : QString(); - if ( ok && ( moduleName == currentDir.dirName() ) && - !m_availableDescriptorsByModuleName.contains( moduleName ) ) + if ( ok && ( moduleName == currentDir.dirName() ) + && !m_availableDescriptorsByModuleName.contains( moduleName ) ) { m_availableDescriptorsByModuleName.insert( moduleName, moduleDescriptorMap ); m_moduleDirectoriesByModuleName.insert( moduleName, @@ -155,16 +159,16 @@ ModuleManager::moduleInstance( const QString& instanceKey ) * * @return -1 on failure, otherwise index of the instance that matches. */ -static int findCustomInstance( const Settings::InstanceDescriptionList& customInstances, - const QString& module, - const QString& id ) +static int +findCustomInstance( const Settings::InstanceDescriptionList& customInstances, const QString& module, const QString& id ) { for ( int i = 0; i < customInstances.count(); ++i ) { const auto& thisInstance = customInstances[ i ]; - if ( thisInstance.value( "module" ) == module && - thisInstance.value( "id" ) == id ) + if ( thisInstance.value( "module" ) == module && thisInstance.value( "id" ) == id ) + { return i; + } } return -1; } @@ -173,26 +177,23 @@ static int findCustomInstance( const Settings::InstanceDescriptionList& customIn void ModuleManager::loadModules() { - QTimer::singleShot( 0, this, [ this ]() - { + QTimer::singleShot( 0, this, [this]() { QStringList failedModules = checkDependencies(); - Settings::InstanceDescriptionList customInstances = - Settings::instance()->customModuleInstances(); + Settings::InstanceDescriptionList customInstances = Settings::instance()->customModuleInstances(); - const auto modulesSequence = failedModules.isEmpty() ? Settings::instance()->modulesSequence() : Settings::ModuleSequence(); + const auto modulesSequence + = failedModules.isEmpty() ? Settings::instance()->modulesSequence() : Settings::ModuleSequence(); for ( const auto& modulePhase : modulesSequence ) { ModuleAction currentAction = modulePhase.first; - foreach ( const QString& moduleEntry, - modulePhase.second ) + foreach ( const QString& moduleEntry, modulePhase.second ) { QStringList moduleEntrySplit = moduleEntry.split( '@' ); QString moduleName; QString instanceId; QString configFileName; - if ( moduleEntrySplit.length() < 1 || - moduleEntrySplit.length() > 2 ) + if ( moduleEntrySplit.length() < 1 || moduleEntrySplit.length() > 2 ) { cError() << "Wrong module entry format for module" << moduleEntry; failedModules.append( moduleEntry ); @@ -202,8 +203,8 @@ ModuleManager::loadModules() instanceId = moduleEntrySplit.last(); configFileName = QString( "%1.conf" ).arg( moduleName ); - if ( !m_availableDescriptorsByModuleName.contains( moduleName ) || - m_availableDescriptorsByModuleName.value( moduleName ).isEmpty() ) + if ( !m_availableDescriptorsByModuleName.contains( moduleName ) + || m_availableDescriptorsByModuleName.value( moduleName ).isEmpty() ) { cError() << "Module" << moduleName << "not found in module search paths." << Logger::DebugList( m_paths ); @@ -211,13 +212,15 @@ ModuleManager::loadModules() continue; } - if ( moduleName != instanceId ) //means this is a custom instance + if ( moduleName != instanceId ) //means this is a custom instance { int found = findCustomInstance( customInstances, moduleName, instanceId ); if ( found > -1 ) + { configFileName = customInstances[ found ].value( "config" ); - else //ought to be a custom instance, but cannot find instance entry + } + else //ought to be a custom instance, but cannot find instance entry { cError() << "Custom instance" << moduleEntry << "not found in custom instances section."; failedModules.append( moduleEntry ); @@ -233,12 +236,9 @@ ModuleManager::loadModules() // exists and is valid, but that's the only thing that could fail // from this point on. -- Teo 8/2015 - QString instanceKey = QString( "%1@%2" ) - .arg( moduleName ) - .arg( instanceId ); + QString instanceKey = QString( "%1@%2" ).arg( moduleName ).arg( instanceId ); - Module* thisModule = - m_loadedModulesByInstanceKey.value( instanceKey, nullptr ); + Module* thisModule = m_loadedModulesByInstanceKey.value( instanceKey, nullptr ); if ( thisModule && !thisModule->isLoaded() ) { cError() << "Module" << instanceKey << "exists but not loaded."; @@ -247,14 +247,15 @@ ModuleManager::loadModules() } if ( thisModule && thisModule->isLoaded() ) + { cDebug() << "Module" << instanceKey << "already loaded."; + } else { - thisModule = - Module::fromDescriptor( m_availableDescriptorsByModuleName.value( moduleName ), - instanceId, - configFileName, - m_moduleDirectoriesByModuleName.value( moduleName ) ); + thisModule = Module::fromDescriptor( m_availableDescriptorsByModuleName.value( moduleName ), + instanceId, + configFileName, + m_moduleDirectoriesByModuleName.value( moduleName ) ); if ( !thisModule ) { cError() << "Module" << instanceKey << "cannot be created from descriptor" << configFileName; @@ -284,10 +285,9 @@ ModuleManager::loadModules() // thisModule. We now need to enqueue jobs info into an EVS. if ( currentAction == ModuleAction::Exec ) { - ExecutionViewStep* evs = - qobject_cast< ExecutionViewStep* >( - Calamares::ViewManager::instance()->viewSteps().last() ); - if ( !evs ) // If the last step is not an EVS, we must create it. + ExecutionViewStep* evs + = qobject_cast< ExecutionViewStep* >( Calamares::ViewManager::instance()->viewSteps().last() ); + if ( !evs ) // If the last step is not an EVS, we must create it. { evs = new ExecutionViewStep( ViewManager::instance() ); ViewManager::instance()->addViewStep( evs ); @@ -303,7 +303,9 @@ ModuleManager::loadModules() emit modulesFailed( failedModules ); } else + { emit modulesLoaded(); + } } ); } @@ -314,12 +316,12 @@ ModuleManager::checkRequirements() QVector< Module* > modules( m_loadedModulesByInstanceKey.count() ); int count = 0; - for (const auto& module : m_loadedModulesByInstanceKey ) + for ( const auto& module : m_loadedModulesByInstanceKey ) { - modules[count++] = module; + modules[ count++ ] = module; } - RequirementsChecker *rq = new RequirementsChecker( modules, this ); + RequirementsChecker* rq = new RequirementsChecker( modules, this ); connect( rq, &RequirementsChecker::requirementsResult, this, &ModuleManager::requirementsResult ); connect( rq, &RequirementsChecker::requirementsComplete, this, &ModuleManager::requirementsComplete ); connect( rq, &RequirementsChecker::requirementsProgress, this, &ModuleManager::requirementsProgress ); @@ -332,10 +334,12 @@ static QStringList missingRequiredModules( const QStringList& required, const QMap< QString, QVariantMap >& available ) { QStringList l; - for( const QString& depName : required ) + for ( const QString& depName : required ) { if ( !available.contains( depName ) ) + { l.append( depName ); + } } return l; @@ -352,10 +356,11 @@ ModuleManager::checkDependencies() do { somethingWasRemovedBecauseOfUnmetDependencies = false; - for ( auto it = m_availableDescriptorsByModuleName.begin(); - it != m_availableDescriptorsByModuleName.end(); ++it ) + for ( auto it = m_availableDescriptorsByModuleName.begin(); it != m_availableDescriptorsByModuleName.end(); + ++it ) { - QStringList unmet = missingRequiredModules( it->value( "requiredModules" ).toStringList(), m_availableDescriptorsByModuleName ); + QStringList unmet = missingRequiredModules( it->value( "requiredModules" ).toStringList(), + m_availableDescriptorsByModuleName ); if ( unmet.count() > 0 ) { @@ -368,8 +373,7 @@ ModuleManager::checkDependencies() break; } } - } - while( somethingWasRemovedBecauseOfUnmetDependencies ); + } while ( somethingWasRemovedBecauseOfUnmetDependencies ); return failed; } @@ -378,12 +382,13 @@ bool ModuleManager::checkDependencies( const Module& m ) { bool allRequirementsFound = true; - QStringList requiredModules = m_availableDescriptorsByModuleName[ m.name() ].value( "requiredModules" ).toStringList(); + QStringList requiredModules + = m_availableDescriptorsByModuleName[ m.name() ].value( "requiredModules" ).toStringList(); for ( const QString& required : requiredModules ) { bool requirementFound = false; - for( const Module* v : m_loadedModulesByInstanceKey ) + for ( const Module* v : m_loadedModulesByInstanceKey ) if ( required == v->name() ) { requirementFound = true; @@ -399,4 +404,4 @@ ModuleManager::checkDependencies( const Module& m ) return allRequirementsFound; } -} // namespace +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index 64db75b6a..8412e51d5 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -91,7 +91,7 @@ public: signals: void initDone(); void modulesLoaded(); /// All of the modules were loaded successfully - void modulesFailed( QStringList ); /// .. or not + void modulesFailed( QStringList ); /// .. or not // Below, see RequirementsChecker documentation void requirementsComplete( bool ); void requirementsResult( RequirementsList ); @@ -129,6 +129,6 @@ private: static ModuleManager* s_instance; }; -} +} // namespace Calamares -#endif // MODULELOADER_H +#endif // MODULELOADER_H diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp index 85bdfa4de..f15e5c457 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp @@ -44,12 +44,11 @@ void ProcessJobModule::loadSelf() { if ( m_loaded ) + { return; + } - m_job = job_ptr( new ProcessJob( m_command, - m_workingPath, - m_runInChroot, - m_secondsTimeout ) ); + m_job = job_ptr( new ProcessJob( m_command, m_workingPath, m_runInChroot, m_secondsTimeout ) ); m_loaded = true; } @@ -69,17 +68,21 @@ ProcessJobModule::initFrom( const QVariantMap& moduleDescriptor ) m_workingPath = directory.absolutePath(); if ( !moduleDescriptor.value( "command" ).toString().isEmpty() ) + { m_command = moduleDescriptor.value( "command" ).toString(); + } m_secondsTimeout = 30; - if ( moduleDescriptor.contains( "timeout" ) && - !moduleDescriptor.value( "timeout" ).isNull() ) + if ( moduleDescriptor.contains( "timeout" ) && !moduleDescriptor.value( "timeout" ).isNull() ) + { m_secondsTimeout = moduleDescriptor.value( "timeout" ).toInt(); + } m_runInChroot = false; - if ( moduleDescriptor.contains( "chroot" )&& - !moduleDescriptor.value( "chroot" ).isNull() ) + if ( moduleDescriptor.contains( "chroot" ) && !moduleDescriptor.value( "chroot" ).isNull() ) + { m_runInChroot = moduleDescriptor.value( "chroot" ).toBool(); + } } @@ -87,11 +90,11 @@ ProcessJobModule::ProcessJobModule() : Module() , m_secondsTimeout( 30 ) , m_runInChroot( false ) -{} +{ +} -ProcessJobModule::~ProcessJobModule() -{} +ProcessJobModule::~ProcessJobModule() {} -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index 704f8a639..9c20aa4f4 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -51,6 +51,6 @@ private: job_ptr m_job; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_PROCESSJOBMODULE_H +#endif // CALAMARES_PROCESSJOBMODULE_H diff --git a/src/libcalamaresui/modulesystem/PythonJobModule.cpp b/src/libcalamaresui/modulesystem/PythonJobModule.cpp index e910a4c80..46ec1dff1 100644 --- a/src/libcalamaresui/modulesystem/PythonJobModule.cpp +++ b/src/libcalamaresui/modulesystem/PythonJobModule.cpp @@ -45,7 +45,9 @@ void PythonJobModule::loadSelf() { if ( m_loaded ) + { return; + } m_job = Calamares::job_ptr( new PythonJob( m_scriptFileName, m_workingPath, m_configurationMap ) ); m_loaded = true; @@ -67,17 +69,19 @@ PythonJobModule::initFrom( const QVariantMap& moduleDescriptor ) m_workingPath = directory.absolutePath(); if ( !moduleDescriptor.value( "script" ).toString().isEmpty() ) + { m_scriptFileName = moduleDescriptor.value( "script" ).toString(); + } } PythonJobModule::PythonJobModule() : Module() -{} +{ +} -PythonJobModule::~PythonJobModule() -{} +PythonJobModule::~PythonJobModule() {} -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/PythonJobModule.h b/src/libcalamaresui/modulesystem/PythonJobModule.h index 38b10be83..8fa137f71 100644 --- a/src/libcalamaresui/modulesystem/PythonJobModule.h +++ b/src/libcalamaresui/modulesystem/PythonJobModule.h @@ -48,6 +48,6 @@ private: job_ptr m_job; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_PYTHONJOBMODULE_H +#endif // CALAMARES_PYTHONJOBMODULE_H diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp index ec9f3c805..0b775e067 100644 --- a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp +++ b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp @@ -20,15 +20,15 @@ #include "PythonQtViewModule.h" -#include "utils/Logger.h" -#include "viewpages/ViewStep.h" -#include "viewpages/PythonQtViewStep.h" -#include "ViewManager.h" #include "CalamaresConfig.h" -#include "viewpages/PythonQtGlobalStorageWrapper.h" -#include "viewpages/PythonQtUtilsWrapper.h" #include "GlobalStorage.h" #include "JobQueue.h" +#include "ViewManager.h" +#include "utils/Logger.h" +#include "viewpages/PythonQtGlobalStorageWrapper.h" +#include "viewpages/PythonQtUtilsWrapper.h" +#include "viewpages/PythonQtViewStep.h" +#include "viewpages/ViewStep.h" #include #include @@ -65,11 +65,12 @@ PythonQtViewModule::loadSelf() if ( PythonQt::self() == nullptr ) { if ( Py_IsInitialized() ) - PythonQt::init( PythonQt::IgnoreSiteModule | - PythonQt::RedirectStdOut | - PythonQt::PythonAlreadyInitialized ); + PythonQt::init( PythonQt::IgnoreSiteModule | PythonQt::RedirectStdOut + | PythonQt::PythonAlreadyInitialized ); else + { PythonQt::init(); + } PythonQt_QtAll::init(); cDebug() << "Initializing PythonQt bindings." @@ -81,8 +82,7 @@ PythonQtViewModule::loadSelf() // We only do the following to force PythonQt to create a submodule // "calamares" for us to put our static objects in - PythonQt::self()->registerClass( &::GlobalStorage::staticMetaObject, - "calamares" ); + PythonQt::self()->registerClass( &::GlobalStorage::staticMetaObject, "calamares" ); // Get a PythonQtObjectPtr to the PythonQt.calamares submodule PythonQtObjectPtr pqtm = PythonQt::priv()->pythonQtModule(); @@ -90,39 +90,34 @@ PythonQtViewModule::loadSelf() // Prepare GlobalStorage object, in module PythonQt.calamares if ( !s_gs ) + { s_gs = new ::GlobalStorage( Calamares::JobQueue::instance()->globalStorage() ); + } cala.addObject( "global_storage", s_gs ); // Prepare Utils object, in module PythonQt.calamares if ( !s_utils ) + { s_utils = new ::Utils( Calamares::JobQueue::instance()->globalStorage() ); + } cala.addObject( "utils", s_utils ); // Append configuration object, in module PythonQt.calamares cala.addVariable( "configuration", m_configurationMap ); // Basic stdout/stderr handling - QObject::connect( PythonQt::self(), &PythonQt::pythonStdOut, - []( const QString& message ) - { - cDebug() << "PythonQt OUT>" << message; - } - ); - QObject::connect( PythonQt::self(), &PythonQt::pythonStdErr, - []( const QString& message ) - { - cDebug() << "PythonQt ERR>" << message; - } - ); + QObject::connect( PythonQt::self(), &PythonQt::pythonStdOut, []( const QString& message ) { + cDebug() << "PythonQt OUT>" << message; + } ); + QObject::connect( PythonQt::self(), &PythonQt::pythonStdErr, []( const QString& message ) { + cDebug() << "PythonQt ERR>" << message; + } ); } QDir workingDir( m_workingPath ); if ( !workingDir.exists() ) { - cDebug() << "Invalid working directory" - << m_workingPath - << "for module" - << name(); + cDebug() << "Invalid working directory" << m_workingPath << "for module" << name(); return; } @@ -130,23 +125,15 @@ PythonQtViewModule::loadSelf() QFileInfo scriptFileInfo( fullPath ); if ( !scriptFileInfo.isReadable() ) { - cDebug() << "Invalid main script file path" - << fullPath - << "for module" - << name(); + cDebug() << "Invalid main script file path" << fullPath << "for module" << name(); return; } // Construct empty Python module with the given name - PythonQtObjectPtr cxt = - PythonQt::self()-> - createModuleFromScript( name() ); + PythonQtObjectPtr cxt = PythonQt::self()->createModuleFromScript( name() ); if ( cxt.isNull() ) { - cDebug() << "Cannot load PythonQt context from file" - << fullPath - << "for module" - << name(); + cDebug() << "Cannot load PythonQt context from file" << fullPath << "for module" << name(); return; } @@ -165,9 +152,8 @@ PythonQtViewModule::loadSelf() m_viewStep = new PythonQtViewStep( cxt ); - cDebug() << "PythonQtViewModule loading self for instance" << instanceKey() - << "\nPythonQtViewModule at address" << this - << "\nViewStep at address" << m_viewStep; + cDebug() << "PythonQtViewModule loading self for instance" << instanceKey() << "\nPythonQtViewModule at address" + << this << "\nViewStep at address" << m_viewStep; m_viewStep->setModuleInstanceKey( instanceKey() ); m_viewStep->setConfigurationMap( m_configurationMap ); @@ -193,7 +179,9 @@ PythonQtViewModule::initFrom( const QVariantMap& moduleDescriptor ) m_workingPath = directory.absolutePath(); if ( !moduleDescriptor.value( "script" ).toString().isEmpty() ) + { m_scriptFileName = moduleDescriptor.value( "script" ).toString(); + } } PythonQtViewModule::PythonQtViewModule() @@ -201,8 +189,6 @@ PythonQtViewModule::PythonQtViewModule() { } -PythonQtViewModule::~PythonQtViewModule() -{ -} +PythonQtViewModule::~PythonQtViewModule() {} -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.h b/src/libcalamaresui/modulesystem/PythonQtViewModule.h index cc6899599..6ebb5c433 100644 --- a/src/libcalamaresui/modulesystem/PythonQtViewModule.h +++ b/src/libcalamaresui/modulesystem/PythonQtViewModule.h @@ -19,8 +19,8 @@ #ifndef CALAMARES_PYTHONQTVIEWMODULE_H #define CALAMARES_PYTHONQTVIEWMODULE_H -#include "UiDllMacro.h" #include "Module.h" +#include "UiDllMacro.h" namespace Calamares { @@ -40,7 +40,7 @@ protected: void initFrom( const QVariantMap& moduleDescriptor ) override; private: - friend class Module; //so only the superclass can instantiate + friend class Module; //so only the superclass can instantiate explicit PythonQtViewModule(); virtual ~PythonQtViewModule(); @@ -50,6 +50,6 @@ private: QString m_workingPath; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_PYTHONQTVIEWMODULE_H +#endif // CALAMARES_PYTHONQTVIEWMODULE_H diff --git a/src/libcalamaresui/modulesystem/Requirement.cpp b/src/libcalamaresui/modulesystem/Requirement.cpp index 3347a2ae8..e4525e8d6 100644 --- a/src/libcalamaresui/modulesystem/Requirement.cpp +++ b/src/libcalamaresui/modulesystem/Requirement.cpp @@ -16,4 +16,3 @@ * along with Calamares. If not, see . */ #include "Requirement.h" - diff --git a/src/libcalamaresui/modulesystem/Requirement.h b/src/libcalamaresui/modulesystem/Requirement.h index 396fe852b..3f8d1a54b 100644 --- a/src/libcalamaresui/modulesystem/Requirement.h +++ b/src/libcalamaresui/modulesystem/Requirement.h @@ -62,6 +62,6 @@ using RequirementsList = QList< RequirementEntry >; } // namespace Calamares -Q_DECLARE_METATYPE(Calamares::RequirementEntry) +Q_DECLARE_METATYPE( Calamares::RequirementEntry ) #endif diff --git a/src/libcalamaresui/modulesystem/RequirementsChecker.cpp b/src/libcalamaresui/modulesystem/RequirementsChecker.cpp index f71c24b8b..2f500c771 100644 --- a/src/libcalamaresui/modulesystem/RequirementsChecker.cpp +++ b/src/libcalamaresui/modulesystem/RequirementsChecker.cpp @@ -25,10 +25,10 @@ #include -#include #include #include #include +#include namespace Calamares @@ -54,12 +54,15 @@ registerMetatypes() } static void -check( Module * const &m, RequirementsChecker *c ) +check( Module* const& m, RequirementsChecker* c ) { RequirementsList l = m->checkRequirements(); if ( l.count() > 0 ) + { c->addCheckedRequirements( l ); - c->requirementsProgress( QObject::tr( "Requirements checking for module %1 is complete." ).arg( m->name() ) ); + } + c->requirementsProgress( + QObject::tr( "Requirements checking for module %1 is complete." ).arg( m->name() ) ); } RequirementsChecker::RequirementsChecker( QVector< Module* > modules, QObject* parent ) @@ -74,9 +77,7 @@ RequirementsChecker::RequirementsChecker( QVector< Module* > modules, QObject* p registerMetatypes(); } -RequirementsChecker::~RequirementsChecker() -{ -} +RequirementsChecker::~RequirementsChecker() {} void RequirementsChecker::run() @@ -85,9 +86,9 @@ RequirementsChecker::run() connect( m_progressTimer, &QTimer::timeout, this, &RequirementsChecker::reportProgress ); m_progressTimer->start( 1200 ); // msec - for (const auto& module : m_modules ) + for ( const auto& module : m_modules ) { - Watcher *watcher = new Watcher( this ); + Watcher* watcher = new Watcher( this ); watcher->setFuture( QtConcurrent::run( check, module, this ) ); m_watchers.append( watcher ); connect( watcher, &Watcher::finished, this, &RequirementsChecker::finished ); @@ -102,7 +103,9 @@ RequirementsChecker::finished() static QMutex finishedMutex; QMutexLocker lock( &finishedMutex ); - if ( m_progressTimer && std::all_of( m_watchers.cbegin(), m_watchers.cend(), []( const Watcher *w ) { return w && w->isFinished(); } ) ) + if ( m_progressTimer && std::all_of( m_watchers.cbegin(), m_watchers.cend(), []( const Watcher* w ) { + return w && w->isFinished(); + } ) ) { cDebug() << "All requirements have been checked."; if ( m_progressTimer ) @@ -125,7 +128,7 @@ RequirementsChecker::finished() } emit requirementsComplete( acceptable ); - QTimer::singleShot(0, this, &RequirementsChecker::done ); + QTimer::singleShot( 0, this, &RequirementsChecker::done ); } } @@ -146,7 +149,8 @@ RequirementsChecker::reportProgress() { m_progressTimeouts++; - auto remaining = std::count_if( m_watchers.cbegin(), m_watchers.cend(), []( const Watcher *w ) { return w && !w->isFinished(); } ); + auto remaining = std::count_if( + m_watchers.cbegin(), m_watchers.cend(), []( const Watcher* w ) { return w && !w->isFinished(); } ); if ( remaining > 0 ) { unsigned int posInterval = ( m_progressTimer->interval() < 0 ) ? 1000 : uint( m_progressTimer->interval() ); @@ -155,7 +159,9 @@ RequirementsChecker::reportProgress() emit requirementsProgress( waiting + QString( " " ) + elapsed ); } else + { emit requirementsProgress( tr( "System-requirements checking is complete." ) ); + } } -} +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/RequirementsChecker.h b/src/libcalamaresui/modulesystem/RequirementsChecker.h index 6e681971c..2e1708016 100644 --- a/src/libcalamaresui/modulesystem/RequirementsChecker.h +++ b/src/libcalamaresui/modulesystem/RequirementsChecker.h @@ -78,10 +78,10 @@ private: RequirementsList m_collectedRequirements; - QTimer *m_progressTimer; + QTimer* m_progressTimer; unsigned m_progressTimeouts; -} ; +}; -} +} // namespace Calamares #endif diff --git a/src/libcalamaresui/modulesystem/ViewModule.cpp b/src/libcalamaresui/modulesystem/ViewModule.cpp index 2789dcfe3..5cd2fe7d9 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.cpp +++ b/src/libcalamaresui/modulesystem/ViewModule.cpp @@ -19,10 +19,10 @@ #include "ViewModule.h" -#include "utils/PluginFactory.h" -#include "utils/Logger.h" -#include "viewpages/ViewStep.h" #include "ViewManager.h" +#include "utils/Logger.h" +#include "utils/PluginFactory.h" +#include "viewpages/ViewStep.h" #include #include @@ -75,7 +75,9 @@ ViewModule::loadSelf() cDebug() << "ViewModule" << instanceKey() << "loading complete."; } else + { cWarning() << Q_FUNC_INFO << "No view step was created"; + } } @@ -100,7 +102,7 @@ ViewModule::initFrom( const QVariantMap& moduleDescriptor ) // If a load path is not specified, we look for a plugin to load in the directory. if ( load.isEmpty() || !QLibrary::isLibrary( load ) ) { - const QStringList ls = directory.entryList( QStringList{ "*.so" } ); + const QStringList ls = directory.entryList( QStringList { "*.so" } ); if ( !ls.isEmpty() ) { for ( QString entry : ls ) @@ -135,4 +137,4 @@ ViewModule::checkRequirements() return m_viewStep->checkRequirements(); } -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index 7813130d0..e9db1347b 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -20,8 +20,8 @@ #ifndef CALAMARES_VIEWMODULE_H #define CALAMARES_VIEWMODULE_H -#include "UiDllMacro.h" #include "Module.h" +#include "UiDllMacro.h" class QPluginLoader; @@ -45,7 +45,7 @@ protected: void initFrom( const QVariantMap& moduleDescriptor ) override; private: - friend class Module; //so only the superclass can instantiate + friend class Module; //so only the superclass can instantiate explicit ViewModule(); virtual ~ViewModule() override; @@ -53,6 +53,6 @@ private: ViewStep* m_viewStep = nullptr; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_VIEWMODULE_H +#endif // CALAMARES_VIEWMODULE_H From 18bf925a11e004490a779a0869f03981a95699fa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 27 Jun 2019 15:30:32 +0200 Subject: [PATCH 014/626] [libcalamaresui] Name pending requirements checks - Give each check a name (based on the module it runs for, so there might be overlaps when there are multiple module instances). - Log the remaining checks each time the timeout fires, to help figure out which one is hanging. --- .../modulesystem/RequirementsChecker.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/modulesystem/RequirementsChecker.cpp b/src/libcalamaresui/modulesystem/RequirementsChecker.cpp index 2f500c771..916463ae4 100644 --- a/src/libcalamaresui/modulesystem/RequirementsChecker.cpp +++ b/src/libcalamaresui/modulesystem/RequirementsChecker.cpp @@ -90,6 +90,7 @@ RequirementsChecker::run() { Watcher* watcher = new Watcher( this ); watcher->setFuture( QtConcurrent::run( check, module, this ) ); + watcher->setObjectName( module->name() ); m_watchers.append( watcher ); connect( watcher, &Watcher::finished, this, &RequirementsChecker::finished ); } @@ -149,10 +150,19 @@ RequirementsChecker::reportProgress() { m_progressTimeouts++; - auto remaining = std::count_if( - m_watchers.cbegin(), m_watchers.cend(), []( const Watcher* w ) { return w && !w->isFinished(); } ); + QStringList remainingNames; + auto remaining = std::count_if( m_watchers.cbegin(), m_watchers.cend(), + [&]( const Watcher* w ) { + if ( w && !w->isFinished() ) + { + remainingNames << w->objectName(); + return true; + } + return false; + } ); if ( remaining > 0 ) { + cDebug() << "Remaining modules:" << remaining << Logger::DebugList( remainingNames ); unsigned int posInterval = ( m_progressTimer->interval() < 0 ) ? 1000 : uint( m_progressTimer->interval() ); QString waiting = tr( "Waiting for %n module(s).", "", remaining ); QString elapsed = tr( "(%n second(s))", "", m_progressTimeouts * posInterval / 1000 ); From db4c23d4030bae30e58777a9c4dc7be796a2705b Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 28 Jun 2019 12:52:41 +0200 Subject: [PATCH 015/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ca.ts | 20 ++++----- lang/calamares_da.ts | 8 ++-- lang/calamares_es.ts | 2 +- lang/calamares_ja.ts | 96 ++++++++++++++++++++++---------------------- 4 files changed, 63 insertions(+), 63 deletions(-) diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 4ec35d289..7272159c7 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -1142,7 +1142,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - <h1>La configuració ha fallat</h1><br/>No s'ha configurat %1 a l'ordinador.<br/>El missatge d'error ha estat el següent: %2. + <h1>La configuració ha fallat.</h1><br/>No s'ha configurat %1 a l'ordinador.<br/>El missatge d'error ha estat el següent: %2. @@ -1251,7 +1251,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. The installer is not running with administrator rights. - L'instal·lador no s'ha executat amb privilegis d'administrador. + L'instal·lador no s'executa amb privilegis d'administrador. @@ -1272,7 +1272,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. OEM Batch Identifier - Identificador de lots OEM + Identificador de lots d'OEM @@ -1407,28 +1407,28 @@ L'instal·lador es tancarà i tots els canvis es perdran. <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - <strong>%1 controlador</strong><br/>de %2 + <strong>Controlador %1</strong><br/>de %2 <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - <strong>%1 controlador gràfic</strong><br/><font color="Grey">de %2</font> + <strong>Controlador gràfic %1</strong><br/><font color="Grey">de %2</font> <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - <strong>%1 connector del navegador</strong><br/><font color="Grey">de %2</font> + <strong>Connector del navegador %1</strong><br/><font color="Grey">de %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - <strong>%1 còdec</strong><br/><font color="Grey">de %2</font> + <strong>Còdec %1</strong><br/><font color="Grey">de %2</font> <strong>%1 package</strong><br/><font color="Grey">by %2</font> - <strong>%1 paquet</strong><br/><font color="Grey">de %2</font> + <strong>Paquet %1</strong><br/><font color="Grey">de %2</font> @@ -2571,12 +2571,12 @@ Sortida: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - Aquest ordinador no satisfà alguns dels requisits recomanats per configurar-hi %1.<br/>La configuració pot continuar, però algunes característiques podrien estar desactivades. + Aquest ordinador no satisfà alguns dels requisits recomanats per configurar-hi %1.<br/>La configuració pot continuar, però algunes característiques podrien estar inhabilitades. This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - Aquest ordinador no satisfà alguns dels requisits recomanats per instal·lar-hi %1.<br/>La instal·lació pot continuar, però algunes característiques podrien estar desactivades. + Aquest ordinador no satisfà alguns dels requisits recomanats per instal·lar-hi %1.<br/>La instal·lació pot continuar, però algunes característiques podrien estar inhabilitades. diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index b302208c3..1787fe3bf 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -99,12 +99,12 @@ Reload Stylesheet - + Genindlæs stilark Widget Tree - + Widgettræ @@ -159,12 +159,12 @@ Run command '%1' in target system. - + Kør kommandoen '%1' i målsystemet. Run command '%1'. - + Kør kommandoen '%1'. diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index dcdbcc839..2af1459f3 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -466,7 +466,7 @@ Saldrá del instalador y se perderán todos los cambios. Current: - Corriente + Actual: diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index aee65d857..8a631a3a4 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -267,7 +267,7 @@ %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - %1 はインストールできません。Calamares はすべてのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。 + %1 をインストールできません。Calamares はすべてのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。 @@ -318,7 +318,7 @@ Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - 本当に現在のセットアップのプロセルを中止しますか? + 本当に現在のセットアップのプロセスを中止しますか? すべての変更が取り消されます。 @@ -351,7 +351,7 @@ The installer will quit and all changes will be lost. The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - %1 インストーラーは %2 をインストールするためにディスクの内容を変更しようとします。<br/><strong>これらの変更は取り消しできなくなります。</strong> + %1 インストーラーは %2 をインストールするためディスクの内容を変更しようとしています。<br/><strong>これらの変更は取り消せません。</strong> @@ -506,7 +506,7 @@ The installer will quit and all changes will be lost. This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - このストレージデバイスは、オペレーティングシステムを持っていないようです。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 + このストレージデバイスにはオペレーティングシステムが存在しないようです。何を行いますか?<br/>ストレージデバイスに対する変更を行う前に、変更点をレビューし、確認することができます。 @@ -519,7 +519,7 @@ The installer will quit and all changes will be lost. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - このストレージデバイスは %1 を有しています。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 + このストレージデバイスには %1 が存在します。何を行いますか?<br/>ストレージデバイスに対する変更を行う前に、変更点をレビューし、確認することができます。 @@ -565,12 +565,12 @@ The installer will quit and all changes will be lost. This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - この記憶装置は、すでにオペレーティングシステムが存在します。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 + このストレージデバイスにはすでにオペレーティングシステムが存在します。何を行いますか?<br/>ストレージデバイスに対する変更を行う前に、変更点をレビューし、確認することができます。 This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - このストレージデバイスには、複数のオペレーティングシステムが存在します。どうしますか?<br />ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 + このストレージデバイスには複数のオペレーティングシステムが存在します。何を行いますか?<br />ストレージデバイスに対する変更を行う前に、変更点をレビューし、確認することができます。 @@ -734,7 +734,7 @@ The installer will quit and all changes will be lost. Creating new %1 partition on %2. - %2 上に新しく %1 パーティションを作成中 + %2 に新しく %1 パーティションを作成中 @@ -775,22 +775,22 @@ The installer will quit and all changes will be lost. Create new %1 partition table on %2. - %2 上に新しく %1 パーティションテーブルを作成 + %2 に新しく %1 パーティションテーブルを作成 Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - <strong>%2</strong> (%3) 上に新しく <strong>%1</strong> パーティションテーブルを作成 + <strong>%2</strong> (%3) に新しく <strong>%1</strong> パーティションテーブルを作成 Creating new %1 partition table on %2. - %2 上に新しく %1 パーティションテーブルを作成中 + %2 に新しく %1 パーティションテーブルを作成中 The installer failed to create a partition table on %1. - インストーラーは%1 上でのパーティションテーブルの作成に失敗しました。 + インストーラーは%1 へのパーティションテーブルの作成に失敗しました。 @@ -929,12 +929,12 @@ The installer will quit and all changes will be lost. <br><br>This is the recommended partition table type for modern systems which start from an <strong>EFI</strong> boot environment. - <br><br>これは <strong>EFI</ strong> ブート環境から起動する現在のシステムで推奨されるパーティションテーブルの種類です。 + <br><br>これは <strong>EFI</strong> ブート環境から起動する現在のシステムで推奨されるパーティションテーブルの種類です。 <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - <br><br>このパーティションテーブルの種類は<strong>BIOS</strong> ブート環境から起動する古いシステムにおいてのみ望ましいものです。他の多くの場合ではGPTが推奨されます。<br><br><strong>警告:</strong> MBR パーティションテーブルは時代遅れのMS-DOS時代の標準です。<br>わずか 4 つだけの<em>プライマリ</em>パーティションが作成され、そのうち1つについては、多くの<em>論理</em>パーティションを含む<em>拡張</em>パーティションにすることができます。 + <br><br>このパーティションテーブルの種類は<strong>BIOS</strong> ブート環境から起動する古いシステムにおいてのみ推奨されます。他のほとんどの場合ではGPTが推奨されます。<br><br><strong>警告:</strong> MBR パーティションテーブルは時代遅れのMS-DOS時代の標準です。<br>作成できる<em>プライマリ</em>パーティションは4つだけです。そのうち1つは<em>拡張</em>パーティションになることができ、そこには多くの<em>論理</em>パーティションを含むことができます。 @@ -1273,7 +1273,7 @@ The installer will quit and all changes will be lost. OEM Batch Identifier - + OEMのバッチID @@ -1348,7 +1348,7 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - システムロケールの設定はコマンドラインやインターフェース上での言語や文字の表示に影響をおよぼします。<br/>現在の設定 <strong>%1</strong>. + システムロケールの設定はコマンドラインやインターフェースでの言語や文字の表示に影響をおよぼします。<br/>現在の設定 <strong>%1</strong>. @@ -1550,17 +1550,17 @@ The installer will quit and all changes will be lost. Ba&tch: - + バッチ (&) <html><head/><body><p>Enter a batch-identifier here. This will be stored in the target system.</p></body></html> - + <html><head/><body><p>ここにバッチIDを入力してください。これはターゲットシステムに保存されます。</p></body></html> <html><head/><body><h1>OEM Configuration</h1><p>Calamares will use OEM settings while configuring the target system.</p></body></html> - + <html><head/><body><h1>OEMの設定</h1><p>Calamaresはターゲットシステムの設定中にOEMの設定を使用します。</p></body></html> @@ -1568,12 +1568,12 @@ The installer will quit and all changes will be lost. OEM Configuration - OEM設定 + OEMの設定 Set the OEM Batch Identifier to <code>%1</code>. - + OEMのバッチIDを <code>%1</code> に設定してください。 @@ -1862,7 +1862,7 @@ The installer will quit and all changes will be lost. <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - 確認のため、同じパスワードを二回入力して下さい。最低8字で、文字・数値・句読点を含めれば、強いパスワードになります。また、パスワードを定期的に変更することを変更してください。 + <small>確認のため、同じパスワードを2回入力して下さい。8文字以上で、アルファベット・数字・句読点を混ぜたものにすれば強いパスワードになります。パスワードは定期的に変更してください。</small> @@ -2039,7 +2039,7 @@ The installer will quit and all changes will be lost. Are you sure you want to create a new partition table on %1? - %1 上で新しいパーティションテーブルを作成します。よろしいですか? + %1 に新しいパーティションテーブルを作成します。よろしいですか? @@ -2102,7 +2102,7 @@ The installer will quit and all changes will be lost. <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - ディスク <strong>%1</strong> (%2) 上で <strong>手動で</strong>パーティショニングする。 + ディスク <strong>%1</strong> (%2) に <strong>手動で</strong>パーティショニングする。 @@ -2152,12 +2152,12 @@ The installer will quit and all changes will be lost. has at least one disk device available. - + 少なくとも1枚のディスクは使用可能。 There are no partitons to install on. - + インストールするパーティションがありません。 @@ -2184,7 +2184,7 @@ The installer will quit and all changes will be lost. 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. - + KDE Plasma デスクトップの外観を選んでください。この作業はスキップでき、インストール後に外観を設定することができます。外観を選択し、クリックすることにより外観のプレビューが表示されます。 @@ -2328,12 +2328,12 @@ Output: (no mount point) - + (マウントポイントなし) Requirements checking for module <i>%1</i> is complete. - + モジュール <i>%1</i> に必要なパッケージの確認が完了しました。 @@ -2517,12 +2517,12 @@ Output: Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + <strong>%2MiB</strong> のパーティション <strong>%1</strong> を <strong>%3MiB</strong>にサイズ変更。 Resizing %2MiB partition %1 to %3MiB. - + %2MiB のパーティション %1 を %3MiB にサイズ変更中。 @@ -2562,7 +2562,7 @@ Output: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + このコンピュータは %1 をセットアップするための最低要件を満たしていません。<br/>セットアップは続行できません。 <a href="#details">詳細...</a> @@ -2572,7 +2572,7 @@ Output: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + このコンピュータは、 %1 をセットアップするための推奨条件をいくつか満たしていません。<br/>インストールは続行しますが、一部の機能が無効になる場合があります。 @@ -2582,7 +2582,7 @@ Output: This program will ask you some questions and set up %2 on your computer. - このプログラムはあなたにいくつか質問をして、コンピュータ上で %2 を設定します。 + このプログラムはあなたにいくつか質問をして、コンピュータに %2 を設定します。 @@ -2678,12 +2678,12 @@ Output: Set flags on %1MiB %2 partition. - + %1MiB %2 パーティションにフラグを設定。 Set flags on new partition. - 新しいパーティション上にフラグを設定。 + 新しいパーティションにフラグを設定。 @@ -2693,22 +2693,22 @@ Output: Clear flags on %1MiB <strong>%2</strong> partition. - + %1MiB <strong>%2</strong> パーティション上のフラグを消去。 Flag %1MiB <strong>%2</strong> partition as <strong>%3</strong>. - + %1MiB <strong>%2</strong> パーティションに <strong>%3</strong> のフラグを設定。 Clearing flags on %1MiB <strong>%2</strong> partition. - + %1MiB <strong>%2</strong> パーティション上のフラグを消去しています。 Setting flags <strong>%3</strong> on %1MiB <strong>%2</strong> partition. - + %1MiB <strong>%2</strong> パーティションに <strong>%3</strong> フラグを設定しています。 @@ -2738,12 +2738,12 @@ Output: Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - パーティション <strong>%1</strong> 上に フラグ<strong>%2</strong>を設定。 + パーティション <strong>%1</strong> に フラグ<strong>%2</strong>を設定。 Setting flags <strong>%1</strong> on new partition. - 新しいパーティション上に <strong>%1</strong> フラグを設定しています。 + 新しいパーティションに <strong>%1</strong> フラグを設定しています。 @@ -2854,7 +2854,7 @@ Output: This is an overview of what will happen once you start the setup procedure. - + これはセットアップを開始した時に起こることの概要です。 @@ -2978,12 +2978,12 @@ Output: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>もし複数の人間がこのコンピュータを使用する場合、セットアップの後で複数のアカウントを作成できます。</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>もし複数の人間がこのコンピュータを使用する場合、インストールの後で複数のアカウントを作成できます。</small> @@ -3124,7 +3124,7 @@ Output: <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>%1 Calamares セットアッププログラムにようこそ</h1> @@ -3134,7 +3134,7 @@ Output: About %1 setup - + %1 セットアップについて @@ -3144,7 +3144,7 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. From a85b5e8549afb77c1216e558dd08dcb4c555b42b Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 28 Jun 2019 12:52:42 +0200 Subject: [PATCH 016/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/ja/LC_MESSAGES/python.mo | Bin 7057 -> 8186 bytes lang/python/ja/LC_MESSAGES/python.po | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 09b3c73cb6dd7439594f1ed3fc88505551ceef55..c49f8a384e02c70576b396e09531dc893679cd31 100644 GIT binary patch delta 2493 zcmZY9d2AF_9Ki8cC|4^5OAiVHLxCz+LCQ^~fKo7&%B3WV!Lhq-SGq^`5E00-Glmvu zP#BvA0#pQr1Sr8KTopm1@d#r0i$7FEA4N3Lm|*w=`NQvTIu?PKee-!c`{o_L_nX}@ z?M_+pYIb^)qLfn~qgHfN%ES%nT%`0=su0p}5RSwWEW?2q!^zm_`KkB&ZOrBVm|jXv z$2m9x*WpOqi;pXnRG)b_e#Zg)(62WYM_>V#piHzFWdYTmDU<>C;9$IfdH4h7;4RF@ z-hGrBh6YOiIVkh^a2)fiH)uS{jSo;BJcSa8i?|GbLy16XhCHCuYLp2ZQTiW78Sos+ zIG3?MYLv+QjWY4*%+8%JMs}{En8W;PH;o~99B1LTI2`*t(iyt3_!8fJn1vT`EPjVF z@IN>ahxJuzDlS0@aXreoM^Pg24GzU$y!&YkmMrDQFdD0H70Qmz;CQ@*qwy}vSr&0F zG*u}+gNslW{0SxC(pIxeEPA#FFZ38sv;yp7s=EGRE#I2CZ)1w`o{Tm7U4rc*ES|l7;l3&Y?7TB^ndlEqFHxKv$8ol=JT8-H|gJM=hgD=1Y-8BGDCp4{n*vRd&wN zyRW6(lpNuI=)NLRE~d_+j!ANnFiDZH^RMX^UTMYOfSWwLu5K=Hv?`q{i6mt%wY%Hu z%znv(`QCRyj!!}_{}sGADw`^WlyH;1KlYdRSrSX$b2ZQOIe%stZFM~g)8|JMA;T9n zs}gY|95Ujyej{#1Yy5FlZU*Z7J|iABq)Q^=Gvog8flweGHG|c$`#ZPUefp*4EDk3^ z@j$4?h?voMARY*ZV#UsmjEyf;GDbKYH-gf^h=c=N12Ll}@VY-_REMKRX(Z~Oy?%IX zW9bBG$)t&xzgR7ahO7LsSm*D-H8OiuBoOZGFp6i2jTNlADjW=&A)m3<^t#_0 zuGs0DId`bvsAE1EH)>Qz!$EJKMr>Uy?hiT(Gbhbl#v<8T*YXV+LsnYx{G#Q?tAr>N z=GRy(QX4g6ewLmH`HI!@if5fjMxoP^IW%v%KkkO0){Oerno-tO7p_{<)}EQ_)^CNm z#$TNX28>Fx#*CY7FJ@isnLMxUkG1uYwry=UTtB^4rw;vh9y-<9(b{rzf1^$v={R`e zMpLuW*2DcO&-`}IVbY26g_k<+S+;j-1%SMJ*-o^w6#rUOC53U4jPfsc>VNtoodk57U%My z+#=iu|~-RZL?cKf6~3~ym7LjV|%;vWB%w0 zFAZdO_6|3Mo3(X7MzIgcB3OZ&7@cY1&c2J?=uIiG-9fiVysblWUe<953n@S&)q3;rv5wZ=Z7&a;-2GqE=R21G delta 1473 zcmYk+OGs2v9LMpao9 zAQaJX2p1*jB2afhk45F8YdeFMA%%T^XCyjs?&qF+=bp#^{Lic(de|6R$%q*-ls0Ms zH6_}ZPWXaqHZsZEzq9j;jis20t(b!yxC5`Dem{&FXA&zJ z-^_Efl?OjiA8w!`k(p@BS*$?~a2NId8LERp8?y)fSdBqcsQOVKj$t9rZMMJQ0ov=>g^ekZ2|mUu+T*wzKcTiF zDm5}r4j!W&z>sFr!%Y#sz`iJB7V!-2R`#J7?_)boqjF&bPhknmzJxbW?Pb)2vk8kL z*NV;f09$Yo527z4(ms+w{1uu39w_9`QK4Qy?e*8q=f6+`XA$=RHlg;k8?~|!+8jaU zz!WM{Z&BZ^qJ9_8{wZR9WG?1nCh^yv_Ht3k@1TP-xC#Em+bKt*B&)j=G~(Ll|p8DB<)@(HSg52)O! z;D{&^6L(m92vu__#3t0&=um%mK&1R4gfZkT8%, 2019 -# Takefumi Nagata, 2019 # ブラシックデービッド, 2019 +# Takefumi Nagata, 2019 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-06-18 15:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: ブラシックデービッド, 2019\n" +"Last-Translator: Takefumi Nagata, 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +29,7 @@ msgstr "GRUBを設定にします。" #: src/modules/mount/main.py:38 msgid "Mounting partitions." -msgstr "" +msgstr "パーティションのマウント。" #: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -207,7 +207,7 @@ msgstr "mkinitcpioを設定中" #: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 #: src/modules/localecfg/main.py:145 src/modules/networkcfg/main.py:49 msgid "No root mount point is given for
{!s}
to use." -msgstr "" +msgstr "
{!s}
を使用するのにルートマウントポイントが与えられていません。" #: src/modules/initcpio/main.py:33 msgid "Creating initramfs with mkinitcpio." @@ -222,6 +222,7 @@ msgid "" "Process
mkinitcpio
failed with error code {!s}. The command was " "
{!s}
." msgstr "" +"
mkinitcpio
プロセスがエラーコード {!s} により失敗しました。 コマンドは
{!s}
でした。" #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." @@ -309,7 +310,7 @@ msgstr "ブートローダーをインストール" #: src/modules/removeuser/main.py:34 msgid "Remove live user from target system" -msgstr "" +msgstr "ターゲットシステムからliveユーザーを消去" #: src/modules/initramfs/main.py:35 msgid "Creating initramfs." @@ -317,7 +318,7 @@ msgstr "initramfsを作成中" #: src/modules/initramfs/main.py:49 msgid "Failed to run update-initramfs on the target" -msgstr "" +msgstr "ターゲット上の initramfs のアップデートに失敗" #: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 msgid "The exit code was {}" @@ -325,7 +326,7 @@ msgstr "停止コードは {} でした" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." -msgstr "" +msgstr "ハードウェアクロックの設定" #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." @@ -333,7 +334,7 @@ msgstr "dracutとinitramfsを作成中" #: src/modules/dracut/main.py:58 msgid "Failed to run dracut on the target" -msgstr "" +msgstr "ターゲット上で dracut の実行に失敗" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." @@ -353,7 +354,7 @@ msgstr "暗号化したrootfsセットアップエラー" #: src/modules/luksbootkeyfile/main.py:75 msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" +msgstr "Rootfs のパーティションは {!s} LUKS ですが、パスフレーズが見つかりません。" #: src/modules/fstab/main.py:38 msgid "Writing fstab." From 1bb3ea35b55598391a8253645a6b7d10e62c0126 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 28 Jun 2019 12:59:44 +0200 Subject: [PATCH 017/626] Changes: pre-release housekeeping --- CHANGES | 3 ++- CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index ea4019376..72470e96a 100644 --- a/CHANGES +++ b/CHANGES @@ -3,9 +3,10 @@ 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.10 (unreleased) # +# 3.2.10 (2019-06-28) # This release contains contributions from (alphabetically by first name): + - No other contributors this time around. Distributions are **advised** to check the slideshow they use for the installation step; changes in loading and translation mechanisms may diff --git a/CMakeLists.txt b/CMakeLists.txt index cf078193c..6f07e9db7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ project( CALAMARES VERSION 3.2.10 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From c0cd14df47c8e5e87cf94b5869d71169787bff28 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 28 Jun 2019 13:04:40 +0200 Subject: [PATCH 018/626] [initramfs] Fix sample config file for tests - the tests want a non-empty config, so put something in there: a kernel setting that matches the legacy behavior. --- src/modules/initramfs/initramfs.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/initramfs/initramfs.conf b/src/modules/initramfs/initramfs.conf index c9803a3b1..4e5eda202 100644 --- a/src/modules/initramfs/initramfs.conf +++ b/src/modules/initramfs/initramfs.conf @@ -28,4 +28,4 @@ # The default is empty/unset, leading to the behavior from Calamares # 3.2.9 and earlier which passed "all" as version. -# kernel: all +kernel: "all" From 69032ab5a06f76ac5a9d74890b0ced6ea7f5a641 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 28 Jun 2019 13:47:25 +0200 Subject: [PATCH 019/626] Changes: post-release housekeeping --- CHANGES | 9 +++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 72470e96a..5085ad3c7 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,15 @@ 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.11 (unreleased) # + +This release contains contributions from (alphabetically by first name): + +## Core ## + +## Modules ## + + # 3.2.10 (2019-06-28) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f07e9db7..c7706ec5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,10 +37,10 @@ cmake_minimum_required( VERSION 3.2 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.10 + VERSION 3.2.11 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 920184202544da56caa18482e4176dd9340aa10d Mon Sep 17 00:00:00 2001 From: bill-auger Date: Fri, 28 Jun 2019 13:32:35 -0400 Subject: [PATCH 020/626] implement definable job weights --- src/libcalamares/Job.cpp | 7 +++++++ src/libcalamares/Job.h | 1 + src/libcalamares/JobQueue.cpp | 28 +++++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/Job.cpp b/src/libcalamares/Job.cpp index d2118451f..116ed77e2 100644 --- a/src/libcalamares/Job.cpp +++ b/src/libcalamares/Job.cpp @@ -97,6 +97,13 @@ Job::~Job() {} +qreal +Job::getJobWeight() const +{ + return qreal( 1.0 ); +} + + QString Job::prettyDescription() const { diff --git a/src/libcalamares/Job.h b/src/libcalamares/Job.h index f590ef0ee..e0b24fa9b 100644 --- a/src/libcalamares/Job.h +++ b/src/libcalamares/Job.h @@ -83,6 +83,7 @@ public: explicit Job( QObject* parent = nullptr ); virtual ~Job(); + virtual qreal getJobWeight() const; virtual QString prettyName() const = 0; virtual QString prettyDescription() const; virtual QString prettyStatusMessage() const; diff --git a/src/libcalamares/JobQueue.cpp b/src/libcalamares/JobQueue.cpp index 3a76aa099..49a70bca8 100644 --- a/src/libcalamares/JobQueue.cpp +++ b/src/libcalamares/JobQueue.cpp @@ -48,6 +48,17 @@ public: void setJobs( const JobList& jobs ) { m_jobs = jobs; + + qreal totalJobsWeight = 0.0; + for( auto job : m_jobs ) + { + totalJobsWeight += job->getJobWeight(); + } + for( auto job : m_jobs ) + { + qreal jobWeight = qreal( job->getJobWeight() / totalJobsWeight ); + m_jobWeights.append( jobWeight ) ; + } } void run() override @@ -87,6 +98,7 @@ public: private: JobList m_jobs; + QList< qreal > m_jobWeights; JobQueue* m_queue; int m_jobIndex; @@ -101,8 +113,22 @@ private: ? m_jobs.at( m_jobIndex )->prettyStatusMessage() : tr( "Done" ); - qreal percent = ( m_jobIndex + jobPercent ) / qreal( jobCount ); + qreal cumulativeProgress = 0.0; + for( auto jobWeight : m_jobWeights.mid( 0, m_jobIndex ) ) + { + cumulativeProgress += jobWeight; + } + qreal percent = m_jobIndex < jobCount + ? cumulativeProgress + ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) + : 1.0; + if (m_jobIndex < jobCount) + { + cDebug(Logger::LOGVERBOSE) << "[JOBQUEUE]: Progress for Job[" << m_jobIndex << "]: " << ( jobPercent * 100 ) << "% completed"; + cDebug(Logger::LOGVERBOSE) << "[JOBQUEUE]: Progress Overall: " << ( cumulativeProgress * 100 ) << "% (accumulated) + " + << ( ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) * 100 ) << "% (this job) = " + << ( percent * 100 ) << "% (total)"; + } QMetaObject::invokeMethod( m_queue, "progress", Qt::QueuedConnection, Q_ARG( qreal, percent ), Q_ARG( QString, message ) From e7960474d4cbe6fa1cd5004845d369628e3ba4da Mon Sep 17 00:00:00 2001 From: bill-auger Date: Fri, 28 Jun 2019 12:16:13 -0400 Subject: [PATCH 021/626] implement post log to paste server --- src/libcalamaresui/ViewManager.cpp | 105 ++++++++++++++++++++++++++--- 1 file changed, 96 insertions(+), 9 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 16c38b1bc..18c0cbfb8 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -32,8 +32,10 @@ #include #include +#include #include #include +#include namespace Calamares { @@ -133,6 +135,8 @@ ViewManager::ViewManager( QObject* parent ) if (Calamares::Settings::instance()->disableCancel()) m_quit->setVisible( false ); + +onInstallationFailed("amessage","somedetails"); // TODO: remove this } @@ -189,6 +193,10 @@ ViewManager::insertViewStep( int before, ViewStep* step ) void ViewManager::onInstallationFailed( const QString& message, const QString& details ) { +bool shouldOfferWebPaste = true; // TODO: config var +QString ficheHost = "termbin.com"; // TODO: config var +quint16 fichePort = 9999; // TODO: config var + cError() << "Installation failed:"; cDebug() << "- message:" << message; cDebug() << "- details:" << details; @@ -196,21 +204,100 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail QString heading = Calamares::Settings::instance()->isSetupMode() ? tr( "Setup Failed" ) : tr( "Installation Failed" ); + QString pasteMsg = tr( "Would you like to paste the install log to the web?" ); + QString pasteUrlFmt = tr( "Install log posted to:\n%1" ); + QString pasteUrlTitle = tr( "Install Log Paste URL" ); + QString text = "

" + message + "

"; + if ( !details.isEmpty() ) + text += "

" + details + "

"; + if ( shouldOfferWebPaste ) + text += "

" + pasteMsg + "

"; + QMessageBox* msgBox = new QMessageBox(); msgBox->setIcon( QMessageBox::Critical ); msgBox->setWindowTitle( tr( "Error" ) ); msgBox->setText( "" + heading + "" ); - msgBox->setStandardButtons( QMessageBox::Close ); - msgBox->button( QMessageBox::Close )->setText( tr( "&Close" ) ); - - QString text = "

" + message + "

"; - if ( !details.isEmpty() ) - text += "

" + details + "

"; msgBox->setInformativeText( text ); - - connect( msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); - cDebug() << "Calamares will quit when the dialog closes."; + if ( shouldOfferWebPaste ) + { + msgBox->setStandardButtons( QMessageBox::Yes | QMessageBox::No ); + msgBox->setDefaultButton( QMessageBox::No ); + msgBox->button( QMessageBox::Yes )->setText( tr( "&Yes" ) ); + msgBox->button( QMessageBox::No )->setText( tr( "&No" ) ); + } + else + { + msgBox->setStandardButtons( QMessageBox::Close ); + msgBox->setDefaultButton( QMessageBox::Close ); + msgBox->button( QMessageBox::Close )->setText( tr( "&Close" ) ); + } msgBox->show(); + + cDebug() << "Calamares will quit when the dialog closes."; + connect( msgBox, &QMessageBox::buttonClicked, + [msgBox, ficheHost, fichePort, pasteUrlFmt, pasteUrlTitle] ( QAbstractButton* button ) + { + if ( button->text() != tr( "&Yes" ) ) + QApplication::quit(); + else + { + QFile pasteSourceFile( Logger::logFile() ); + if ( !pasteSourceFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) + cError() << "Could not open log file"; + else + { + QByteArray pasteData; + while ( !pasteSourceFile.atEnd() ) + { + pasteData += pasteSourceFile.readLine(); + } + + QTcpSocket* socket = new QTcpSocket(msgBox); + socket->connectToHost( ficheHost, fichePort ); + + if ( !socket->waitForConnected() ) + cError() << "Could not connect to paste server"; + else + { + cDebug() << "Connected to paste server"; + + socket->write( pasteData ); + + if ( !socket->waitForBytesWritten() ) + cError() << "Could not write to paste server"; + else + { + cDebug() << "Paste data written to paste server"; + + if ( !socket->waitForReadyRead() ) + cError() << "No data from paste server"; + else + { + cDebug() << "Reading response from paste server"; + + char resp[1024]; + socket->readLine(resp, 1024); + socket->close(); + + QString pasteUrl = QString( resp ) ; + QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrl ); + + cDebug() << pasteUrlMsg; + + QMessageBox* pasteUrlMsgBox = new QMessageBox(); + pasteUrlMsgBox->setIcon( QMessageBox::Critical ); + pasteUrlMsgBox->setWindowTitle( tr( pasteUrlTitle ) ); + pasteUrlMsgBox->setStandardButtons( QMessageBox::Close ); + pasteUrlMsgBox->setText( pasteUrlMsg ); + pasteUrlMsgBox->show(); + + connect( pasteUrlMsgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); + } + } + } + } + } + }); } From e096631c5436301270f0b7f19eefe0392b217772 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 30 Jun 2019 06:13:22 -0400 Subject: [PATCH 022/626] squashme WIP upload log to paste server - refactor error checking --- src/libcalamaresui/ViewManager.cpp | 122 +++++++++++++++-------------- 1 file changed, 65 insertions(+), 57 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 18c0cbfb8..0efc7080d 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -238,65 +238,73 @@ quint16 fichePort = 9999; // TODO: config var [msgBox, ficheHost, fichePort, pasteUrlFmt, pasteUrlTitle] ( QAbstractButton* button ) { if ( button->text() != tr( "&Yes" ) ) - QApplication::quit(); - else { - QFile pasteSourceFile( Logger::logFile() ); - if ( !pasteSourceFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) - cError() << "Could not open log file"; - else - { - QByteArray pasteData; - while ( !pasteSourceFile.atEnd() ) - { - pasteData += pasteSourceFile.readLine(); - } - - QTcpSocket* socket = new QTcpSocket(msgBox); - socket->connectToHost( ficheHost, fichePort ); - - if ( !socket->waitForConnected() ) - cError() << "Could not connect to paste server"; - else - { - cDebug() << "Connected to paste server"; - - socket->write( pasteData ); - - if ( !socket->waitForBytesWritten() ) - cError() << "Could not write to paste server"; - else - { - cDebug() << "Paste data written to paste server"; - - if ( !socket->waitForReadyRead() ) - cError() << "No data from paste server"; - else - { - cDebug() << "Reading response from paste server"; - - char resp[1024]; - socket->readLine(resp, 1024); - socket->close(); - - QString pasteUrl = QString( resp ) ; - QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrl ); - - cDebug() << pasteUrlMsg; - - QMessageBox* pasteUrlMsgBox = new QMessageBox(); - pasteUrlMsgBox->setIcon( QMessageBox::Critical ); - pasteUrlMsgBox->setWindowTitle( tr( pasteUrlTitle ) ); - pasteUrlMsgBox->setStandardButtons( QMessageBox::Close ); - pasteUrlMsgBox->setText( pasteUrlMsg ); - pasteUrlMsgBox->show(); - - connect( pasteUrlMsgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); - } - } - } - } + QApplication::quit(); + return; } + + QFile pasteSourceFile( Logger::logFile() ); + if ( !pasteSourceFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { + cError() << "Could not open log file"; + return; + } + + QByteArray pasteData; + while ( !pasteSourceFile.atEnd() ) + { + pasteData += pasteSourceFile.readLine(); + } + + QTcpSocket* socket = new QTcpSocket(msgBox); + socket->connectToHost( ficheHost, fichePort ); + + if ( !socket->waitForConnected() ) + { + cError() << "Could not connect to paste server"; + socket->close(); + return; + } + + cDebug() << "Connected to paste server"; + + socket->write( pasteData ); + + if ( !socket->waitForBytesWritten() ) + { + cError() << "Could not write to paste server"; + socket->close(); + return; + } + + cDebug() << "Paste data written to paste server"; + + if ( !socket->waitForReadyRead() ) + { + cError() << "No data from paste server"; + socket->close(); + return; + } + + cDebug() << "Reading response from paste server"; + + char resp[1024]; + socket->readLine(resp, 1024); + socket->close(); + + QString pasteUrl = QString( resp ) ; + QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrl ); + + cDebug() << pasteUrlMsg; + + QMessageBox* pasteUrlMsgBox = new QMessageBox(); + pasteUrlMsgBox->setIcon( QMessageBox::Critical ); + pasteUrlMsgBox->setWindowTitle( pasteUrlTitle ); + pasteUrlMsgBox->setStandardButtons( QMessageBox::Close ); + pasteUrlMsgBox->setText( pasteUrlMsg ); + pasteUrlMsgBox->show(); + + connect( pasteUrlMsgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); }); } From c90d3b201690d5bb33b7dc842fcfaeb0fc122451 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 30 Jun 2019 05:58:35 -0400 Subject: [PATCH 023/626] squashme WIP upload log to paste server - more error checks and validations --- src/libcalamaresui/ViewManager.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 0efc7080d..b0f2b00a8 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -35,7 +35,9 @@ #include #include #include +#include #include +#include namespace Calamares { @@ -288,12 +290,21 @@ quint16 fichePort = 9999; // TODO: config var cDebug() << "Reading response from paste server"; - char resp[1024]; - socket->readLine(resp, 1024); + char resp[1024]; resp[0] = '\0'; + qint64 nBytesRead = socket->readLine(resp, 1024); socket->close(); - QString pasteUrl = QString( resp ) ; - QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrl ); + QUrl pasteUrl = QUrl( QString( resp ).trimmed(), QUrl::StrictMode ); + QString pasteUrlStr = pasteUrl.toString() ; + QRegularExpression pasteUrlRegex( "^http[s]?://" + ficheHost ); + QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrlStr ); + + if ( nBytesRead < 8 || !pasteUrl.isValid() || + !pasteUrlRegex.match( pasteUrlStr ).hasMatch() ) + { + cError() << "No data from paste server"; + return; + } cDebug() << pasteUrlMsg; From 31e78ff0c2d15b650564d6027b2c2296b56a227f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jul 2019 22:08:36 +0200 Subject: [PATCH 024/626] [libcalamares] Add umask helper functions --- src/libcalamares/CMakeLists.txt | 1 + src/libcalamares/utils/UMask.cpp | 44 +++++++++++++++++++++++++ src/libcalamares/utils/UMask.h | 55 ++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 src/libcalamares/utils/UMask.cpp create mode 100644 src/libcalamares/utils/UMask.h diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index f74c11b0c..032d933f4 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -46,6 +46,7 @@ set( libSources utils/PluginFactory.cpp utils/Retranslator.cpp utils/String.cpp + utils/UMask.cpp utils/Variant.cpp utils/Yaml.cpp ) diff --git a/src/libcalamares/utils/UMask.cpp b/src/libcalamares/utils/UMask.cpp new file mode 100644 index 000000000..358a52887 --- /dev/null +++ b/src/libcalamares/utils/UMask.cpp @@ -0,0 +1,44 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "UMask.h" + +#include +#include + +namespace CalamaresUtils +{ +mode_t +setUMask( mode_t u ) +{ + return umask( u ); +} + +UMask::UMask( mode_t u ) + : m_mode( setUMask( u ) ) +{ +} + +UMask::~UMask() +{ + setUMask( m_mode ); +} + +static_assert( UMask::Safe == ( S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH | S_IXOTH ), "Bad permissions." ); + +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/UMask.h b/src/libcalamares/utils/UMask.h new file mode 100644 index 000000000..58b1a56ad --- /dev/null +++ b/src/libcalamares/utils/UMask.h @@ -0,0 +1,55 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef UTILS_UMASK_H +#define UTILS_UMASK_H + +#include "DllMacro.h" + +#include + +namespace CalamaresUtils +{ +/// @brief Wrapper for umask(2) +DLLEXPORT mode_t setUMask( mode_t u ); + +/** @brief RAII for setting and re-setting umask. + * + * Create an object of this class to set the umask, + * and the umask is reset to its original value when + * the object goes out of scope. + */ +class DLLEXPORT UMask +{ +public: + UMask( mode_t u ); + ~UMask(); + + /** @brief a "safe" umask + * + * This umask will switch off group- and other- permissions for + * files, so that the file cannot be read, written, or executed + * except by the owner. + */ + static constexpr mode_t Safe = 077; // octal! +private: + mode_t m_mode; +}; +} // namespace CalamaresUtils + +#endif From 0685e3a96c4f444228f4d9a7705524f222fb7853 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jul 2019 22:12:04 +0200 Subject: [PATCH 025/626] [libcalamares] Move tests of the utils classes into utils/ - while here, adjust include paths (to changed dir) - while here, apply new code formatting --- src/libcalamares/CMakeLists.txt | 2 +- src/libcalamares/{ => utils}/Tests.cpp | 45 ++++++++------------------ src/libcalamares/{ => utils}/Tests.h | 0 3 files changed, 15 insertions(+), 32 deletions(-) rename src/libcalamares/{ => utils}/Tests.cpp (81%) rename src/libcalamares/{ => utils}/Tests.h (100%) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 032d933f4..19bcc921d 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -147,7 +147,7 @@ install( FILES ${utilsHeaders} DESTINATION include/libcalam # if ( ECM_FOUND AND BUILD_TESTING ) ecm_add_test( - Tests.cpp + utils/Tests.cpp TEST_NAME libcalamarestest LINK_LIBRARIES diff --git a/src/libcalamares/Tests.cpp b/src/libcalamares/utils/Tests.cpp similarity index 81% rename from src/libcalamares/Tests.cpp rename to src/libcalamares/utils/Tests.cpp index 3b7624537..60e1b08bd 100644 --- a/src/libcalamares/Tests.cpp +++ b/src/libcalamares/utils/Tests.cpp @@ -18,9 +18,9 @@ #include "Tests.h" -#include "utils/CalamaresUtilsSystem.h" -#include "utils/Logger.h" -#include "utils/Yaml.h" +#include "CalamaresUtilsSystem.h" +#include "Logger.h" +#include "Yaml.h" #include @@ -28,13 +28,9 @@ QTEST_GUILESS_MAIN( LibCalamaresTests ) -LibCalamaresTests::LibCalamaresTests() -{ -} +LibCalamaresTests::LibCalamaresTests() {} -LibCalamaresTests::~LibCalamaresTests() -{ -} +LibCalamaresTests::~LibCalamaresTests() {} void LibCalamaresTests::initTestCase() @@ -46,9 +42,9 @@ LibCalamaresTests::testDebugLevels() { Logger::setupLogLevel( Logger::LOG_DISABLE ); - QCOMPARE( Logger::logLevel(), static_cast( Logger::LOG_DISABLE ) ); + QCOMPARE( Logger::logLevel(), static_cast< unsigned int >( Logger::LOG_DISABLE ) ); - for ( unsigned int level = 0; level <= Logger::LOGVERBOSE ; ++level ) + for ( unsigned int level = 0; level <= Logger::LOGVERBOSE; ++level ) { Logger::setupLogLevel( level ); QCOMPARE( Logger::logLevel(), level ); @@ -67,7 +63,9 @@ LibCalamaresTests::testLoadSaveYaml() QFile f( "settings.conf" ); // Find the nearest settings.conf to read for ( unsigned int up = 0; !f.exists() && ( up < 4 ); ++up ) + { f.setFileName( QString( "../" ) + f.fileName() ); + } cDebug() << QDir().absolutePath() << f.fileName() << f.exists(); QVERIFY( f.exists() ); @@ -75,7 +73,7 @@ LibCalamaresTests::testLoadSaveYaml() CalamaresUtils::saveYaml( "out.yaml", map ); auto other_map = CalamaresUtils::loadYaml( "out.yaml" ); - CalamaresUtils::saveYaml(" out2.yaml", other_map ); + CalamaresUtils::saveYaml( " out2.yaml", other_map ); QCOMPARE( map, other_map ); QFile::remove( "out.yaml" ); @@ -121,10 +119,7 @@ void LibCalamaresTests::testCommands() { using CalamaresUtils::System; - auto r = System::runCommand( - System::RunLocation::RunInHost, - { "/bin/ls", "/tmp" } - ); + auto r = System::runCommand( System::RunLocation::RunInHost, { "/bin/ls", "/tmp" } ); QVERIFY( r.getExitCode() == 0 ); @@ -136,25 +131,13 @@ LibCalamaresTests::testCommands() QVERIFY( !r.getOutput().contains( tfn.fileName() ) ); // Run ls again, now that the file exists - r = System::runCommand( - System::RunLocation::RunInHost, - { "/bin/ls", "/tmp" } - ); + r = System::runCommand( System::RunLocation::RunInHost, { "/bin/ls", "/tmp" } ); QVERIFY( r.getOutput().contains( tfn.fileName() ) ); // .. and without a working directory set, assume builddir != /tmp - r = System::runCommand( - System::RunLocation::RunInHost, - { "/bin/ls" } - ); + r = System::runCommand( System::RunLocation::RunInHost, { "/bin/ls" } ); QVERIFY( !r.getOutput().contains( tfn.fileName() ) ); - r = System::runCommand( - System::RunLocation::RunInHost, - { "/bin/ls" }, - "/tmp" - ); + r = System::runCommand( System::RunLocation::RunInHost, { "/bin/ls" }, "/tmp" ); QVERIFY( r.getOutput().contains( tfn.fileName() ) ); - - } diff --git a/src/libcalamares/Tests.h b/src/libcalamares/utils/Tests.h similarity index 100% rename from src/libcalamares/Tests.h rename to src/libcalamares/utils/Tests.h From aa3f909be7d2e99ffca387bf4fdbfcc2250549b6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jul 2019 22:46:49 +0200 Subject: [PATCH 026/626] [libcalamares] Tests for UMask handling --- src/libcalamares/utils/Tests.cpp | 33 ++++++++++++++++++++++++++++++++ src/libcalamares/utils/Tests.h | 3 +++ 2 files changed, 36 insertions(+) diff --git a/src/libcalamares/utils/Tests.cpp b/src/libcalamares/utils/Tests.cpp index 60e1b08bd..2f2b7ff4b 100644 --- a/src/libcalamares/utils/Tests.cpp +++ b/src/libcalamares/utils/Tests.cpp @@ -20,12 +20,17 @@ #include "CalamaresUtilsSystem.h" #include "Logger.h" +#include "UMask.h" #include "Yaml.h" #include #include +#include +#include +#include + QTEST_GUILESS_MAIN( LibCalamaresTests ) LibCalamaresTests::LibCalamaresTests() {} @@ -141,3 +146,31 @@ LibCalamaresTests::testCommands() r = System::runCommand( System::RunLocation::RunInHost, { "/bin/ls" }, "/tmp" ); QVERIFY( r.getOutput().contains( tfn.fileName() ) ); } + +void +LibCalamaresTests::testUmask() +{ + struct stat mystat; + + QTemporaryFile ft; + QVERIFY( ft.open() ); + + mode_t m = CalamaresUtils::setUMask( 022 ); + QCOMPARE( CalamaresUtils::setUMask( m ), m ); + + for ( int i = 0; i <= 0777 /* octal! */; ++i ) + { + QByteArray name = ( ft.fileName() + QChar( '.' ) + QString::number( i, 8 ) ).toLatin1(); + CalamaresUtils::UMask um( i ); + int fd = creat( name, 0777 ); + QVERIFY( fd >= 0 ); + close( fd ); + QFileInfo fi( name ); + QVERIFY( fi.exists() ); + QCOMPARE( stat( name, &mystat ), 0 ); + QCOMPARE( mystat.st_mode & 0777, 0777 & ~i ); + QCOMPARE( unlink( name ), 0 ); + } + QCOMPARE( CalamaresUtils::setUMask( 022 ), m ); + QCOMPARE( CalamaresUtils::setUMask( m ), 022 ); +} diff --git a/src/libcalamares/utils/Tests.h b/src/libcalamares/utils/Tests.h index 5cdb3912b..d9140e0d0 100644 --- a/src/libcalamares/utils/Tests.h +++ b/src/libcalamares/utils/Tests.h @@ -36,6 +36,9 @@ private Q_SLOTS: void testLoadSaveYamlExtended(); // Do a find() in the src dir void testCommands(); + + /** @brief Test that all the UMask objects work correctly. */ + void testUmask(); }; #endif From 003096698627a527b589c0c929dda4d58f23fd93 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 3 Jul 2019 00:43:40 +0200 Subject: [PATCH 027/626] [initramfs] Set umask before update-initramfs SEE #1191 --- src/modules/initramfs/InitramfsJob.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index db9f8038a..b5cdc4f58 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -20,6 +20,7 @@ #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" +#include "utils/UMask.h" #include "utils/Variant.h" InitramfsJob::InitramfsJob( QObject* parent ) @@ -40,6 +41,8 @@ InitramfsJob::prettyName() const Calamares::JobResult InitramfsJob::exec() { + CalamaresUtils::UMask( CalamaresUtils::UMask::Safe ); + cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 10 ); From 1be81ec3b0cd421bd8e003e8a66a7cfb431a8dae Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 3 Jul 2019 21:20:08 +0200 Subject: [PATCH 028/626] [initramfs] Bump the timeout much higher - Use 120 seconds for update-initramfs, instead of 10. Previous Python code had no timeout at all, which wasn't so hot either. 10 seconds, though, is too short for slow CPU & slow disk. --- src/modules/initramfs/InitramfsJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index b5cdc4f58..c04174837 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -45,7 +45,7 @@ InitramfsJob::exec() cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( - { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 10 ); + { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 120 ); return r.explainProcess( "update-initramfs", 10 ); } From e2aa4e59e20074906b1f49958bc3b2a1a1d582e6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 11:36:37 +0200 Subject: [PATCH 029/626] CI: massage the coding style a little --- .clang-format | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.clang-format b/.clang-format index 1eb0867e1..997ad379b 100644 --- a/.clang-format +++ b/.clang-format @@ -6,7 +6,7 @@ AllowAllParametersOfDeclarationOnNextLine: 'false' AllowShortFunctionsOnASingleLine: Inline AllowShortIfStatementsOnASingleLine: 'false' AllowShortLoopsOnASingleLine: 'false' -AlwaysBreakAfterDefinitionReturnType: All +AlwaysBreakAfterReturnType: TopLevelDefinitions AlwaysBreakTemplateDeclarations: Yes BinPackArguments: 'false' BinPackParameters: 'false' @@ -19,7 +19,7 @@ FixNamespaceComments: 'true' IncludeBlocks: Preserve IndentWidth: '4' MaxEmptyLinesToKeep: '2' -NamespaceIndentation: Inner +NamespaceIndentation: None PointerAlignment: Left ReflowComments: 'false' SortIncludes: 'true' From 938b1ac4aabaaabf1158f5341ca3d4bf005c3650 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 11:47:27 +0200 Subject: [PATCH 030/626] [libcalamares] Make API more type-explicit with std::chrono - Having an int timeoutSec is suggestive -- it's probably a number of seconds -- but having an explicit type that says it's seconds is better. - Doesn't compile, because the implementation and consumers have not changed. --- src/libcalamares/utils/CalamaresUtilsSystem.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index c17d52e93..734dbff4b 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -27,6 +27,8 @@ #include #include +#include + namespace CalamaresUtils { class ProcessResult : public QPair< int, QString > @@ -138,7 +140,7 @@ public: const QStringList &args, const QString& workingPath = QString(), const QString& stdInput = QString(), - int timeoutSec = 0 ); + std::chrono::seconds timeoutSec = std::chrono::seconds(0) ); /** @brief Convenience wrapper for runCommand(). * Runs the command in the location specified through the boolean @@ -149,7 +151,7 @@ public: const QStringList &args, const QString& workingPath = QString(), const QString& stdInput = QString(), - int timeoutSec = 0 ) + std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) { return runCommand( m_doChroot ? RunLocation::RunInTarget : RunLocation::RunInHost, @@ -163,7 +165,7 @@ public: inline int targetEnvCall( const QStringList& args, const QString& workingPath = QString(), const QString& stdInput = QString(), - int timeoutSec = 0 ) + std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) { return targetEnvCommand( args, workingPath, stdInput, timeoutSec ).first; } @@ -172,7 +174,7 @@ public: inline int targetEnvCall( const QString& command, const QString& workingPath = QString(), const QString& stdInput = QString(), - int timeoutSec = 0 ) + std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) { return targetEnvCall( QStringList{ command }, workingPath, stdInput, timeoutSec ); } @@ -185,7 +187,7 @@ public: QString& output, const QString& workingPath = QString(), const QString& stdInput = QString(), - int timeoutSec = 0 ) + std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) { auto r = targetEnvCommand( args, workingPath, stdInput, timeoutSec ); output = r.second; @@ -200,7 +202,7 @@ public: QString& output, const QString& workingPath = QString(), const QString& stdInput = QString(), - int timeoutSec = 0 ) + std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) { return targetEnvOutput( QStringList{ command }, output, workingPath, stdInput, timeoutSec ); } From 91644b4ba22b837a7c1f5927f0065d8e51592775 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 11:50:14 +0200 Subject: [PATCH 031/626] [libcalamares] Partially fix implementation of timeout - Adjust most call sites to use std::chrono::duration, - Call to QProcess::waitForFinished() needs work, since that takes milliseconds. --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 5990fbc42..73e457239 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -152,7 +152,7 @@ System::runCommand( const QStringList& args, const QString& workingPath, const QString& stdInput, - int timeoutSec ) + std::chrono::seconds timeoutSec ) { QString output; From 4825916f092d3c4b816107807ba7733e9dc5c78d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 13:24:40 +0200 Subject: [PATCH 032/626] [branding] Improve log message when slideshow starts - Having just "component activated" is confusing in the whole mess of log messages around job activation. --- src/branding/default/show.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/branding/default/show.qml b/src/branding/default/show.qml index 43b407283..c989676dd 100644 --- a/src/branding/default/show.qml +++ b/src/branding/default/show.qml @@ -71,6 +71,6 @@ Presentation function onActivate() { presentation.currentSlide = 0; advanceTimer.running = true - console.log("Component activated"); + console.log("QML Component (default slideshow) activated"); } } From fff5a43469382489c09ad96cab00c48f6ed6df16 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jul 2019 21:50:43 +0200 Subject: [PATCH 033/626] Changes: document luksbootkey issue --- CHANGES | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGES b/CHANGES index 5085ad3c7..723747e44 100644 --- a/CHANGES +++ b/CHANGES @@ -6,11 +6,31 @@ website will have to do for older versions. # 3.2.11 (unreleased) # This release contains contributions from (alphabetically by first name): + - No other contributors this time around. + +This is a security release with no functional changes (except for +improved security) relative to 3.2.10. The Calamares team would like +to acknowledge the help of the following people in reporting and +understanding the issues (alphabetically by first name): + - Kevin Kofler + - Seth Arnold + - Simon Quigley + - Thomas Ward + ## Core ## +No core changes. + ## Modules ## + - *initramfs* could create an initramfs with insecure permissions. + Since the keyfile is included in the initramfs, an attacker could + read the file from the initramfs. #1190 + - *luksbootkeyfile* created a key file where a window of opportunity + existed where the key file could have too-lax file permissions. + #1191 CVE-2019-13179 + # 3.2.10 (2019-06-28) # From c2fa31573566fd668a3a9646f7bf0bb27cccecb6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jul 2019 22:52:22 +0200 Subject: [PATCH 034/626] [luksbootkeyfile] Prepare for C++-ification - Mess around with the CMakeFile in preparation of new code - Drop the Python implementation already --- src/modules/luksbootkeyfile/CMakeLists.txt | 9 ++ src/modules/luksbootkeyfile/main.py | 103 --------------------- src/modules/luksbootkeyfile/module.desc | 5 - 3 files changed, 9 insertions(+), 108 deletions(-) create mode 100644 src/modules/luksbootkeyfile/CMakeLists.txt delete mode 100644 src/modules/luksbootkeyfile/main.py delete mode 100644 src/modules/luksbootkeyfile/module.desc diff --git a/src/modules/luksbootkeyfile/CMakeLists.txt b/src/modules/luksbootkeyfile/CMakeLists.txt new file mode 100644 index 000000000..be0f0fa28 --- /dev/null +++ b/src/modules/luksbootkeyfile/CMakeLists.txt @@ -0,0 +1,9 @@ +calamares_add_plugin( luksbootkeyfile + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + LuksBootKeyFileJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) diff --git a/src/modules/luksbootkeyfile/main.py b/src/modules/luksbootkeyfile/main.py deleted file mode 100644 index fb0146cf8..000000000 --- a/src/modules/luksbootkeyfile/main.py +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# === This file is part of Calamares - === -# -# Copyright 2016, Teo Mrnjavac -# Copyright 2017, Alf Gaida -# Copyright 2017, 2019, Adriaan de Groot -# -# 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 . - -import libcalamares -from libcalamares.utils import check_target_env_call - - -import gettext -_ = gettext.translation("calamares-python", - localedir=libcalamares.utils.gettext_path(), - languages=libcalamares.utils.gettext_languages(), - fallback=True).gettext - - -def pretty_name(): - return _("Configuring LUKS key file.") - - -def run(): - """ - This module sets up a file crypto_keyfile.bin on the rootfs, assuming the - rootfs is LUKS encrypted and a passphrase is provided. This file is then - included in the initramfs and used for unlocking the rootfs from a - previously unlocked GRUB2 session. - :return: - """ - - partitions = libcalamares.globalstorage.value("partitions") - - if not partitions: - libcalamares.utils.warning("partitions is empty, {!s}".format(partitions)) - return (_("Configuration Error"), - _("No partitions are defined for
{!s}
to use." ).format("luksbootkey")) - - luks_root_device = "" - luks_root_passphrase = "" - - additional_luks_devices = [] - - for partition in partitions: - if partition["mountPoint"] == "/" and "luksMapperName" in partition: - luks_root_device = partition["device"] - luks_root_passphrase = partition["luksPassphrase"] - elif "luksMapperName" in partition and\ - (partition["mountPoint"] or partition["fs"] == "linuxswap"): - additional_luks_devices.append((partition["device"], - partition["luksPassphrase"])) - - if not luks_root_device: - return None - - if not luks_root_passphrase: - libcalamares.utils.debug("No LUKS passphrase, root {!s}".format(luks_root_device)) - return ( - _("Encrypted rootfs setup error"), - _("Rootfs partition {!s} is LUKS but no passphrase found.").format(luks_root_device)) - - # Generate random keyfile - check_target_env_call(["dd", - "bs=512", - "count=4", - "if=/dev/urandom", - "of=/crypto_keyfile.bin"]) - - check_target_env_call(["cryptsetup", - "luksAddKey", - luks_root_device, - "/crypto_keyfile.bin"], - luks_root_passphrase, - 15) # timeout 15s - - for additional_device in additional_luks_devices: - check_target_env_call(["cryptsetup", - "luksAddKey", - additional_device[0], - "/crypto_keyfile.bin"], - additional_device[1], - 15) # timeout 15s - - check_target_env_call(["chmod", - "g-rwx,o-rwx", - "/crypto_keyfile.bin"]) - - return None diff --git a/src/modules/luksbootkeyfile/module.desc b/src/modules/luksbootkeyfile/module.desc deleted file mode 100644 index 11a0173d5..000000000 --- a/src/modules/luksbootkeyfile/module.desc +++ /dev/null @@ -1,5 +0,0 @@ ---- -type: "job" -name: "luksbootkeyfile" -interface: "python" -script: "main.py" From 676df86712c0726bff113341487ed8dfed4ae2f5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 3 Jul 2019 00:01:19 +0200 Subject: [PATCH 035/626] [luksbootkeyfile] Stub job implementation in C++ --- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 80 +++++++++++++++++++ .../luksbootkeyfile/LuksBootKeyFileJob.h | 48 +++++++++++ 2 files changed, 128 insertions(+) create mode 100644 src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp create mode 100644 src/modules/luksbootkeyfile/LuksBootKeyFileJob.h diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp new file mode 100644 index 000000000..fb659cfab --- /dev/null +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -0,0 +1,80 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "LuksBootKeyFileJob.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" +#include "utils/Variant.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" + +LuksBootKeyFileJob::LuksBootKeyFileJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + +LuksBootKeyFileJob::~LuksBootKeyFileJob() {} + +QString +LuksBootKeyFileJob::prettyName() const +{ + return tr( "Configuring LUKS key file." ); +} + +struct LuksPassphrase +{ + QString device; + QString passphrase; +}; + +struct GlobalSettings +{ + GlobalSettings( const QVariant& partitions ) + : valid( false ) + { + cDebug() << partitions; + } + + QList< LuksPassphrase > filesystems; + bool valid; +}; + +Calamares::JobResult +LuksBootKeyFileJob::exec() +{ + const auto* gs = Calamares::JobQueue::instance()->globalStorage(); + if ( !gs ) + { + return Calamares::JobResult::internalError( + "LukeBootKeyFile", "No GlobalStorage defined.", Calamares::JobResult::InvalidConfiguration ); + } + if ( !gs->contains( "partitions" ) ) + { + return Calamares::JobResult::internalError( + "LukeBootKeyFile", + tr( "No partitions are defined for
%1
to use." ).arg( "luksbootkeyfile" ), + Calamares::JobResult::InvalidConfiguration ); + } + + GlobalSettings s( gs->value( "partitions" ) ); + return Calamares::JobResult::ok(); +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( LuksBootKeyFileJobFactory, registerPlugin< LuksBootKeyFileJob >(); ) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.h b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.h new file mode 100644 index 000000000..2d4d6d319 --- /dev/null +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.h @@ -0,0 +1,48 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef LUKSBOOTKEYFILEJOB_H +#define LUKSBOOTKEYFILEJOB_H + +#include "CppJob.h" +#include "PluginDllMacro.h" +#include "utils/PluginFactory.h" + +#include +#include + +/** @brief Creates the LUKS boot key file and adds it to the cryptsetup. + * + * This job has no configuration, because it takes everything + * from the global storage settings set by others. + */ +class PLUGINDLLEXPORT LuksBootKeyFileJob : public Calamares::CppJob +{ + Q_OBJECT +public: + explicit LuksBootKeyFileJob( QObject* parent = nullptr ); + virtual ~LuksBootKeyFileJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( LuksBootKeyFileJobFactory ) + +#endif // LUKSBOOTKEYFILEJOB_H From 745b4b169322724dca15d408f0ce391940064520 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 13:17:34 +0200 Subject: [PATCH 036/626] [luksbootkeyfile] Extract partitioning keyphrases from GS --- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index fb659cfab..c05cb970d 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -49,7 +49,37 @@ struct GlobalSettings GlobalSettings( const QVariant& partitions ) : valid( false ) { - cDebug() << partitions; + if ( partitions.canConvert() ) + { + filesystems = getPartitionInfo( partitions.toList() ); + valid = true; + } + } + + /** @brief Extract the luks passphrases setup. + * + * Given a list of partitions (as set up by the partitioning module, + * so there's maps with keys inside), returns just the list of + * luks passphrases for each device. + */ + static QList< LuksPassphrase > getPartitionInfo( const QVariantList& list ) + { + int count = 0; + for( const auto& p : list ) + { + if ( p.canConvert< QVariantMap>() ) + { + auto pinfo = p.toMap(); + QString device = pinfo["device"].toString(); + QString fs = pinfo["fs"].toString(); + QString mountPoint = pinfo["mountPoint"].toString(); + QString uuid = pinfo["uuid"].toString(); + + cDebug() << count << "D=" << device << mountPoint << '(' << fs << ')'; + } + count++; + } + return QList< LuksPassphrase >(); } QList< LuksPassphrase > filesystems; @@ -69,7 +99,7 @@ LuksBootKeyFileJob::exec() { return Calamares::JobResult::internalError( "LukeBootKeyFile", - tr( "No partitions are defined for
%1
to use." ).arg( "luksbootkeyfile" ), + tr( "No partitions are defined for LUKS to use." ).arg( "luksbootkeyfile" ), Calamares::JobResult::InvalidConfiguration ); } From f6c50564cd5f2314ee3b6ef449519bd193910b1b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 13:45:02 +0200 Subject: [PATCH 037/626] [luksbootkeyfile] Extract devices that need cryptsetup - Rename classes and functions to be more descriptive (a LuksDevice is .. information for a LUKS device, for instance). - Move the smarts of unpacking a QVariantMap to LuksDevice. - Apply code formatting --- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 68 +++++++++++++------ 1 file changed, 47 insertions(+), 21 deletions(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index c05cb970d..6589c5330 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -38,20 +38,41 @@ LuksBootKeyFileJob::prettyName() const return tr( "Configuring LUKS key file." ); } -struct LuksPassphrase +struct LuksDevice { + LuksDevice( const QMap< QString, QVariant >& pinfo ) + : isValid( false ) + , isRoot( false ) + { + if ( pinfo.contains( "luksMapperName" ) ) + { + QString fs = pinfo[ "fs" ].toString(); + QString mountPoint = pinfo[ "mountPoint" ].toString(); + + if ( !mountPoint.isEmpty() || fs == QStringLiteral( "linuxswap" ) ) + { + isValid = true; + isRoot = mountPoint == '/'; + device = pinfo[ "device" ].toString(); + passphrase = pinfo[ "luksPassphrase" ].toString(); + } + } + } + + bool isValid; + bool isRoot; QString device; QString passphrase; }; -struct GlobalSettings +struct LuksDeviceList { - GlobalSettings( const QVariant& partitions ) + LuksDeviceList( const QVariant& partitions ) : valid( false ) { - if ( partitions.canConvert() ) + if ( partitions.canConvert< QVariantList >() ) { - filesystems = getPartitionInfo( partitions.toList() ); + devices = getLuksDevices( partitions.toList() ); valid = true; } } @@ -62,27 +83,26 @@ struct GlobalSettings * so there's maps with keys inside), returns just the list of * luks passphrases for each device. */ - static QList< LuksPassphrase > getPartitionInfo( const QVariantList& list ) + static QList< LuksDevice > + getLuksDevices( const QVariantList& list ) { - int count = 0; - for( const auto& p : list ) - { - if ( p.canConvert< QVariantMap>() ) - { - auto pinfo = p.toMap(); - QString device = pinfo["device"].toString(); - QString fs = pinfo["fs"].toString(); - QString mountPoint = pinfo["mountPoint"].toString(); - QString uuid = pinfo["uuid"].toString(); + QList< LuksDevice > luksItems; - cDebug() << count << "D=" << device << mountPoint << '(' << fs << ')'; + for ( const auto& p : list ) + { + if ( p.canConvert< QVariantMap >() ) + { + LuksDevice d( p.toMap() ); + if ( d.isValid ) + { + luksItems.append( d ); + } } - count++; } - return QList< LuksPassphrase >(); + return luksItems; } - QList< LuksPassphrase > filesystems; + QList< LuksDevice > devices; bool valid; }; @@ -103,7 +123,13 @@ LuksBootKeyFileJob::exec() Calamares::JobResult::InvalidConfiguration ); } - GlobalSettings s( gs->value( "partitions" ) ); + LuksDeviceList s( gs->value( "partitions" ) ); + cDebug() << "There are" << s.devices.count() << "LUKS partitions"; + for ( const auto& p : s.devices ) + { + cDebug() << Logger::SubEntry << p.isRoot << p.device << p.passphrase; + } + return Calamares::JobResult::ok(); } From 8706b579ec6db3c9d5fe67486c62c4f1dc364cfe Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 15:14:06 +0200 Subject: [PATCH 038/626] [luksbootkeyfile] Stub out an implementation - stubs for the actual work to be done - program-flow for looping over all the work --- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 67 +++++++++++++++++-- 1 file changed, 61 insertions(+), 6 deletions(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index 6589c5330..c9c1cc8a1 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -106,6 +106,18 @@ struct LuksDeviceList bool valid; }; +static bool +generateTargetKeyfile() +{ + return false; +} + +static bool +setupLuks( const LuksDevice& d ) +{ + return false; +} + Calamares::JobResult LuksBootKeyFileJob::exec() { @@ -117,17 +129,60 @@ LuksBootKeyFileJob::exec() } if ( !gs->contains( "partitions" ) ) { + cError() << "No GS[partitions] key."; return Calamares::JobResult::internalError( - "LukeBootKeyFile", - tr( "No partitions are defined for LUKS to use." ).arg( "luksbootkeyfile" ), - Calamares::JobResult::InvalidConfiguration ); + "LukeBootKeyFile", tr( "No partitions are defined." ), Calamares::JobResult::InvalidConfiguration ); } LuksDeviceList s( gs->value( "partitions" ) ); - cDebug() << "There are" << s.devices.count() << "LUKS partitions"; - for ( const auto& p : s.devices ) + if ( !s.valid ) { - cDebug() << Logger::SubEntry << p.isRoot << p.device << p.passphrase; + cError() << "GS[partitions] is invalid"; + return Calamares::JobResult::internalError( + "LukeBootKeyFile", tr( "No partitions are defined." ), Calamares::JobResult::InvalidConfiguration ); + } + + cDebug() << "There are" << s.devices.count() << "LUKS partitions"; + if ( s.devices.count() < 1 ) + { + cDebug() << Logger::SubEntry << "Nothing to do for LUKS."; + return Calamares::JobResult::ok(); + } + + auto it = std::partition( s.devices.begin(), s.devices.end(), []( const LuksDevice& d ) { return d.isRoot; } ); + for ( const auto& d : s.devices ) + { + cDebug() << Logger::SubEntry << d.isRoot << d.device << d.passphrase; + } + + if ( it == s.devices.begin() ) + { + // Then there was no root partition + cDebug() << Logger::SubEntry << "No root partition."; + return Calamares::JobResult::ok(); + } + + if ( s.devices.first().passphrase.isEmpty() ) + { + cDebug() << Logger::SubEntry << "No root passphrase."; + return Calamares::JobResult::error( + tr( "Encrypted rootfs setup error" ), + tr( "Root partition %1 is LUKS but no passphrase has been set." ).arg( s.devices.first().device ) ); + } + + if ( !generateTargetKeyfile() ) + { + return Calamares::JobResult::error( + tr( "Encrypted rootfs setup error" ), + tr( "Could not create LUKS key file for root partition %1." ).arg( s.devices.first().device ) ); + } + + for ( const auto& d : s.devices ) + { + if ( !setupLuks( d ) ) + return Calamares::JobResult::error( + tr( "Encrypted rootfs setup error" ), + tr( "Could configure LUKS key file on partition %1." ).arg( d.device ) ); } return Calamares::JobResult::ok(); From 856a2eaa1d766b32f2d3e76a8a41873a91d4890a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 15:47:37 +0200 Subject: [PATCH 039/626] [luksbootkeyfile] Implement keyfile creation and use - Just copy the commands from the existing Python code, including nonsensical dd. --- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index c9c1cc8a1..b1a5fffdb 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -106,16 +106,33 @@ struct LuksDeviceList bool valid; }; +static const char keyfile[] = "/crypto_keyfile.bin"; + static bool generateTargetKeyfile() { - return false; + auto r = CalamaresUtils::System::instance()->targetEnvCommand( + { "dd", "bs=512", "count=4", "if=/dev/urandom", QString( "of=%1" ).arg( keyfile ) } ); + if ( r.getExitCode() != 0 ) + { + cWarning() << "Could not create LUKS keyfile:" << r.getOutput() << "(exit code" << r.getExitCode() << ')'; + return false; + } + return true; } static bool setupLuks( const LuksDevice& d ) { - return false; + auto r = CalamaresUtils::System::instance()->targetEnvCommand( + { "cryptsetup", "luksAddKey", d.device, keyfile }, QString(), d.passphrase, 15 ); + if ( r.getExitCode() != 0 ) + { + cWarning() << "Could not configure LUKS keyfile on" << d.device << ':' << r.getOutput() << "(exit code" + << r.getExitCode() << ')'; + return false; + } + return true; } Calamares::JobResult From af2a900276ee1d8b1fe84df96a6cd9005bf505ae Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 15:55:54 +0200 Subject: [PATCH 040/626] [luksbootkeyfile] Fix lax permissions on file. --- src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index b1a5fffdb..9b49b91cb 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -20,6 +20,7 @@ #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" +#include "utils/UMask.h" #include "utils/Variant.h" #include "GlobalStorage.h" @@ -111,6 +112,7 @@ static const char keyfile[] = "/crypto_keyfile.bin"; static bool generateTargetKeyfile() { + CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "dd", "bs=512", "count=4", "if=/dev/urandom", QString( "of=%1" ).arg( keyfile ) } ); if ( r.getExitCode() != 0 ) From e2028cf85b02a4d8fcb16fe88bb905893aaaaa17 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 16:20:26 +0200 Subject: [PATCH 041/626] [libcalamaresui] Warnings--, no copy constructor for CDebug --- src/libcalamaresui/utils/DebugWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/libcalamaresui/utils/DebugWindow.cpp index 62ab504d3..ed016dd97 100644 --- a/src/libcalamaresui/utils/DebugWindow.cpp +++ b/src/libcalamaresui/utils/DebugWindow.cpp @@ -223,7 +223,7 @@ DebugWindow::DebugWindow() { for ( auto* w : qApp->topLevelWidgets() ) { - auto deb = cDebug(); + Logger::CDebug deb; dumpWidgetTree( deb, w, 0 ); } }); From 97e44f971d0a003aacaa82aebd64baa698325aea Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 16:23:21 +0200 Subject: [PATCH 042/626] [initramfs] That's not a safety setting - Don't confuse a method declaration with an object. - Thanks clang for warning me. --- src/modules/initramfs/InitramfsJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index c04174837..d8a9ed6c3 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -41,7 +41,7 @@ InitramfsJob::prettyName() const Calamares::JobResult InitramfsJob::exec() { - CalamaresUtils::UMask( CalamaresUtils::UMask::Safe ); + CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( From 8a7884d47601d468fdd6b3f9dab7150ad21554fe Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 19:30:11 +0200 Subject: [PATCH 043/626] [luksbootkeyfile] More debugging of the crypt file --- src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index 9b49b91cb..e521e83a6 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -120,6 +120,9 @@ generateTargetKeyfile() cWarning() << "Could not create LUKS keyfile:" << r.getOutput() << "(exit code" << r.getExitCode() << ')'; return false; } + // Give ample time to check that the file was created correctly + r = CalamaresUtils::System::instance()->targetEnvCommand( { "ls", "-la", "/" } ); + cDebug() << "In target system" << r.getOutput(); return true; } From 7d7d4c69ef7bd57809e11d4c0ec486dcdfdd7ffe Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 19:37:37 +0200 Subject: [PATCH 044/626] [luksbootkeyfile] Don't log passphrase --- src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index e521e83a6..06cb5f9cd 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -174,7 +174,8 @@ LuksBootKeyFileJob::exec() auto it = std::partition( s.devices.begin(), s.devices.end(), []( const LuksDevice& d ) { return d.isRoot; } ); for ( const auto& d : s.devices ) { - cDebug() << Logger::SubEntry << d.isRoot << d.device << d.passphrase; + cDebug() << Logger::SubEntry << ( d.isRoot ? "root" : "dev." ) << d.device << "passphrase?" + << !d.passphrase.isEmpty(); } if ( it == s.devices.begin() ) From efd409cf78759c48280a167d2463295ae37fdb70 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 19:38:10 +0200 Subject: [PATCH 045/626] [luksbootkeyfile] Refactor static function to outside class --- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index 06cb5f9cd..c84e79083 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -66,6 +66,31 @@ struct LuksDevice QString passphrase; }; +/** @brief Extract the luks passphrases setup. + * + * Given a list of partitions (as set up by the partitioning module, + * so there's maps with keys inside), returns just the list of + * luks passphrases for each device. + */ +static QList< LuksDevice > +getLuksDevices( const QVariantList& list ) +{ + QList< LuksDevice > luksItems; + + for ( const auto& p : list ) + { + if ( p.canConvert< QVariantMap >() ) + { + LuksDevice d( p.toMap() ); + if ( d.isValid ) + { + luksItems.append( d ); + } + } + } + return luksItems; +} + struct LuksDeviceList { LuksDeviceList( const QVariant& partitions ) @@ -78,31 +103,6 @@ struct LuksDeviceList } } - /** @brief Extract the luks passphrases setup. - * - * Given a list of partitions (as set up by the partitioning module, - * so there's maps with keys inside), returns just the list of - * luks passphrases for each device. - */ - static QList< LuksDevice > - getLuksDevices( const QVariantList& list ) - { - QList< LuksDevice > luksItems; - - for ( const auto& p : list ) - { - if ( p.canConvert< QVariantMap >() ) - { - LuksDevice d( p.toMap() ); - if ( d.isValid ) - { - luksItems.append( d ); - } - } - } - return luksItems; - } - QList< LuksDevice > devices; bool valid; }; From d5340f97431d0e94ba4b284511a4cdc4354757a0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 20:05:48 +0200 Subject: [PATCH 046/626] [initramfs] Drop timeout entirely, even two minutes too short --- src/modules/initramfs/InitramfsJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index d8a9ed6c3..e96855d23 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -45,7 +45,7 @@ InitramfsJob::exec() cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( - { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 120 ); + { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 0 ); return r.explainProcess( "update-initramfs", 10 ); } From bb6530577db46b0c976f8e0fed29949b507da304 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 20:21:13 +0200 Subject: [PATCH 047/626] [initcpio] Replace Python implementation with C++ - This is a simple variation on the theme of things-that-call-a- initramfs-updater, so the code is mostly a copy of initramfs/ module. I didn't even bother to strip out the configuration- handling (I figure it might be good for *something*) so now "" and "$uname" are valid kernel names as well. - Fixes security issue where the initramfs ends up readable by all, and that includes the cryptfile for LUKS. SEE #1190 --- src/modules/initcpio/CMakeLists.txt | 9 ++++ src/modules/initcpio/InitcpioJob.cpp | 77 ++++++++++++++++++++++++++++ src/modules/initcpio/InitcpioJob.h | 49 ++++++++++++++++++ src/modules/initcpio/initcpio.conf | 15 ++++++ src/modules/initcpio/main.py | 50 ------------------ src/modules/initcpio/module.desc | 5 -- 6 files changed, 150 insertions(+), 55 deletions(-) create mode 100644 src/modules/initcpio/CMakeLists.txt create mode 100644 src/modules/initcpio/InitcpioJob.cpp create mode 100644 src/modules/initcpio/InitcpioJob.h delete mode 100644 src/modules/initcpio/main.py delete mode 100644 src/modules/initcpio/module.desc diff --git a/src/modules/initcpio/CMakeLists.txt b/src/modules/initcpio/CMakeLists.txt new file mode 100644 index 000000000..d35a12f06 --- /dev/null +++ b/src/modules/initcpio/CMakeLists.txt @@ -0,0 +1,9 @@ +calamares_add_plugin( initcpio + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + InitcpioJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) diff --git a/src/modules/initcpio/InitcpioJob.cpp b/src/modules/initcpio/InitcpioJob.cpp new file mode 100644 index 000000000..89c8a906d --- /dev/null +++ b/src/modules/initcpio/InitcpioJob.cpp @@ -0,0 +1,77 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "InitcpioJob.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" +#include "utils/UMask.h" +#include "utils/Variant.h" + +InitcpioJob::InitcpioJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + +InitcpioJob::~InitcpioJob() {} + + +QString +InitcpioJob::prettyName() const +{ + return tr( "Creating initramfs with mkinitcpio." ); +} + + +Calamares::JobResult +InitcpioJob::exec() +{ + CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); + + cDebug() << "Updating initramfs with kernel" << m_kernel; + auto r = CalamaresUtils::System::instance()->targetEnvCommand( + { "mkinitcpio", "-p", m_kernel }, QString(), QString(), 0 ); + return r.explainProcess( "mkinitcpio", 10 ); +} + +void +InitcpioJob::setConfigurationMap( const QVariantMap& configurationMap ) +{ + m_kernel = CalamaresUtils::getString( configurationMap, "kernel" ); + if ( m_kernel.isEmpty() ) + { + m_kernel = QStringLiteral( "all" ); + } + else if ( m_kernel == "$uname" ) + { + auto r = CalamaresUtils::System::runCommand( + CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), 3 ); + if ( r.getExitCode() == 0 ) + { + m_kernel = r.getOutput(); + cDebug() << "*initcpio* using running kernel" << m_kernel; + } + else + { + cWarning() << "*initcpio* could not determine running kernel, using 'all'." << Logger::Continuation + << r.getExitCode() << r.getOutput(); + } + } +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( InitcpioJobFactory, registerPlugin< InitcpioJob >(); ) diff --git a/src/modules/initcpio/InitcpioJob.h b/src/modules/initcpio/InitcpioJob.h new file mode 100644 index 000000000..7c0bcf2df --- /dev/null +++ b/src/modules/initcpio/InitcpioJob.h @@ -0,0 +1,49 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef INITCPIOJOB_H +#define INITCPIOJOB_H + +#include "CppJob.h" +#include "PluginDllMacro.h" +#include "utils/PluginFactory.h" + +#include +#include + +class PLUGINDLLEXPORT InitcpioJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit InitcpioJob( QObject* parent = nullptr ); + virtual ~InitcpioJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + QString m_kernel; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( InitcpioJobFactory ) + +#endif // INITCPIOJOB_H diff --git a/src/modules/initcpio/initcpio.conf b/src/modules/initcpio/initcpio.conf index 466a8785d..487a0289d 100644 --- a/src/modules/initcpio/initcpio.conf +++ b/src/modules/initcpio/initcpio.conf @@ -1,3 +1,18 @@ # Run mkinitcpio(8) with the given preset value --- +# There is only one configuration item for this module, +# the kernel to be loaded. This can have the following +# values: +# - empty or unset, interpreted as "all" +# - the literal string "$uname" (without quotes, with dollar), +# which will use the output of `uname -r` to determine the +# running kernel, and use that. +# - any other string. +# +# Whatever is set, that string is passed as *preset* argument to the +# `-p` option of *mkinitcpio*. Take care that both "$uname" operates +# in the host system, and might not be correct if the target system is +# updated (to a newer kernel) as part of the installation. +# +# Note that "all" is probably not a good preset to use either. kernel: linux312 diff --git a/src/modules/initcpio/main.py b/src/modules/initcpio/main.py deleted file mode 100644 index 796f68721..000000000 --- a/src/modules/initcpio/main.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# === This file is part of Calamares - === -# -# Copyright 2014, Philip Müller -# Copyright 2019, Adriaan de Groot -# -# 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 . - -import libcalamares -from libcalamares.utils import check_target_env_call - -import gettext -_ = gettext.translation("calamares-python", - localedir=libcalamares.utils.gettext_path(), - languages=libcalamares.utils.gettext_languages(), - fallback=True).gettext - - -def pretty_name(): - return _("Creating initramfs with mkinitcpio.") - -def run(): - """ Calls routine to create kernel initramfs image. - - :return: - """ - from subprocess import CalledProcessError - - kernel = libcalamares.job.configuration['kernel'] - try: - check_target_env_call(['mkinitcpio', '-p', kernel]) - except CalledProcessError as e: - libcalamares.utils.warning(str(e)) - return ( _( "Process Failed" ), - _( "Process
mkinitcpio
failed with error code {!s}. The command was
{!s}
." ).format( e.returncode, e.cmd ) ) - - return None diff --git a/src/modules/initcpio/module.desc b/src/modules/initcpio/module.desc deleted file mode 100644 index f84fc43a8..000000000 --- a/src/modules/initcpio/module.desc +++ /dev/null @@ -1,5 +0,0 @@ ---- -type: "job" -name: "initcpio" -interface: "python" -script: "main.py" From 315e1ac54e74852100543ced3dffbd8c1eb688a1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 4 Jul 2019 22:08:36 +0200 Subject: [PATCH 048/626] [luksbootkeyfile] Improve logging to distinguish from other modules --- src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index c84e79083..292c768a9 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -122,7 +122,7 @@ generateTargetKeyfile() } // Give ample time to check that the file was created correctly r = CalamaresUtils::System::instance()->targetEnvCommand( { "ls", "-la", "/" } ); - cDebug() << "In target system" << r.getOutput(); + cDebug() << "In target system after creating LUKS file" << r.getOutput(); return true; } From d220fcea2416a97b2909ffd52210be5579723da8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 10:47:31 +0200 Subject: [PATCH 049/626] CI: allow different versions of clang-format --- ci/calamaresstyle | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ci/calamaresstyle b/ci/calamaresstyle index 11c587ada..a877de7d1 100755 --- a/ci/calamaresstyle +++ b/ci/calamaresstyle @@ -9,7 +9,13 @@ set -e AS=$( which astyle ) -CF=$( which clang-format-7 ) + +for _cf in clang-format-7 clang-format-8 clang-format70 clang-format80 +do + # Not an error if this particular clang-format isn't found + CF=$( which $_cf || true ) + test -n "$CF" && break +done test -n "$AS" || { echo "! No astyle found in PATH"; exit 1 ; } test -n "$CF" || { echo "! No clang-format-7 found in PATH"; exit 1 ; } From b6974614974842020be591adccf8ebbe5c50ee13 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 11:29:14 +0200 Subject: [PATCH 050/626] [libcalamares] Add System::createTargetFile() - Calamares may need to create files in the target system; provide a convenient API for doing so. - This is mostly intended for small files with constant contents. --- .../utils/CalamaresUtilsSystem.cpp | 51 +++++++++++++++++++ src/libcalamares/utils/CalamaresUtilsSystem.h | 14 +++++ 2 files changed, 65 insertions(+) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 5990fbc42..698a96f30 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -243,6 +243,57 @@ System::runCommand( return ProcessResult(r, output); } +QString +System::createTargetFile( const QString& path, const QByteArray& contents ) +{ + QString completePath; + + if ( doChroot() ) + { + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr; + + if ( !gs || !gs->contains( "rootMountPoint" ) ) + { + cWarning() << "No rootMountPoint in global storage, cannot create target file" << path; + return QString(); + } + + completePath = gs->value( "rootMountPoint" ).toString() + '/' + path; + } + else + { + completePath = QStringLiteral( "/" ) + path; + } + + QFile f( completePath ); + if ( f.exists() ) + { + return QString(); + } + + QIODevice::OpenMode m = +#if QT_VERSION >= QT_VERSION_CHECK( 5, 11, 0 ) + // New flag from Qt 5.11, implies WriteOnly + QIODevice::NewOnly | +#endif + QIODevice::WriteOnly | QIODevice::Truncate; + + if ( !f.open( m ) ) + { + return QString(); + } + + if ( f.write( contents ) != contents.size() ) + { + f.close(); + f.remove(); + return QString(); + } + + f.close(); + return QFileInfo( f ).canonicalFilePath(); +} + QPair System::getTotalMemoryB() const diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index c17d52e93..8c8e61a5e 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -205,6 +205,20 @@ public: return targetEnvOutput( QStringList{ command }, output, workingPath, stdInput, timeoutSec ); } + /** @brief Create a (small-ish) file in the target system. + * + * @param path Path to the file; this is **always** interpreted + * from the root of the target system (whatever that may be, + * 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. + * + * @return The complete canonical path to the target file, or empty on failure. + */ + QString createTargetFile( const QString& path, const QByteArray& contents ); + /** * @brief getTotalMemoryB returns the total main memory, in bytes. * From 43eb664e7d44d963bb7b82d03215d84b47100ba0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 11:43:40 +0200 Subject: [PATCH 051/626] [initramfs] Configure mkinitramfs to be safe SEE #1191 --- src/modules/initramfs/InitramfsJob.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index e96855d23..c96bbb059 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -44,6 +44,17 @@ InitramfsJob::exec() CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); cDebug() << "Updating initramfs with kernel" << m_kernel; + + // First make sure we generate a safe initramfs with suitable permissions. + static const char confFile[] = "/etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf"; + static const char contents[] = "UMASK=0077\n"; + if ( CalamaresUtils::System::instance()->createTargetFile( confFile, QByteArray( contents ) ).isEmpty() ) + { + cWarning() << Logger::SubEntry << "Could not configure safe UMASK for initramfs."; + // But continue anyway. + } + + // And then do the ACTUAL work. auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 0 ); return r.explainProcess( "update-initramfs", 10 ); From 1a8543537265cd63bcb38d736c5cb0e15adb3fc0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 13:05:49 +0200 Subject: [PATCH 052/626] [libcalamares] Get target path relative to host / --- .../utils/CalamaresUtilsSystem.cpp | 14 +++++++++- src/libcalamares/utils/CalamaresUtilsSystem.h | 26 ++++++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 698a96f30..10c76e482 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -244,7 +244,7 @@ System::runCommand( } QString -System::createTargetFile( const QString& path, const QByteArray& contents ) +System::targetPath( const QString& path ) const { QString completePath; @@ -265,6 +265,18 @@ System::createTargetFile( const QString& path, const QByteArray& contents ) completePath = QStringLiteral( "/" ) + path; } + return completePath; +} + +QString +System::createTargetFile( const QString& path, const QByteArray& contents ) const +{ + QString completePath = targetPath( path ); + if ( completePath.isEmpty() ) + { + return QString(); + } + QFile f( completePath ); if ( f.exists() ) { diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index 8c8e61a5e..f778b67c9 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -205,9 +205,27 @@ public: return targetEnvOutput( QStringList{ command }, output, workingPath, stdInput, timeoutSec ); } + + /** @brief Gets a path to a file in the target system, from the host. + * + * @param path Path to the file; this is interpreted + * from the root of the target system (whatever that may be, + * but / in the chroot, or / in OEM modes). + * + * @return The complete path to the target file, from + * the root of the host system, or empty on failure. + * + * For instance, during installation where the target root is + * mounted on /tmp/calamares-something, asking for targetPath("/etc/passwd") + * will give you /tmp/calamares-something/etc/passwd. + * + * No attempt is made to canonicalize anything, since paths might not exist. + */ + DLLEXPORT QString targetPath( const QString& path ) const; + /** @brief Create a (small-ish) file in the target system. * - * @param path Path to the file; this is **always** interpreted + * @param path Path to the file; this is interpreted * from the root of the target system (whatever that may be, * but / in the chroot, or / in OEM modes). * @param contents Actual content of the file. @@ -215,9 +233,11 @@ public: * Will not overwrite files. Returns an empty string if the * target file already exists. * - * @return The complete canonical path to the target file, or empty on failure. + * @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). */ - QString createTargetFile( const QString& path, const QByteArray& contents ); + DLLEXPORT QString createTargetFile( const QString& path, const QByteArray& contents ) const; /** * @brief getTotalMemoryB returns the total main memory, in bytes. From 5f6efd2822ada666c29effd8d3b0ce9eb79e1b63 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 13:17:55 +0200 Subject: [PATCH 053/626] [initcpio] Improve security by making initramfs files not world-readable --- src/modules/initcpio/InitcpioJob.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/modules/initcpio/InitcpioJob.cpp b/src/modules/initcpio/InitcpioJob.cpp index 89c8a906d..0b96ddcd2 100644 --- a/src/modules/initcpio/InitcpioJob.cpp +++ b/src/modules/initcpio/InitcpioJob.cpp @@ -23,6 +23,9 @@ #include "utils/UMask.h" #include "utils/Variant.h" +#include +#include + InitcpioJob::InitcpioJob( QObject* parent ) : Calamares::CppJob( parent ) { @@ -37,12 +40,31 @@ InitcpioJob::prettyName() const return tr( "Creating initramfs with mkinitcpio." ); } +static void +fixPermissions( const QDir& d ) +{ + for ( const auto& fi : d.entryInfoList( { "initramfs*" }, QDir::Files ) ) + { + QFile f( fi.absoluteFilePath() ); + if ( f.exists() ) + { + cDebug() << "initcpio fixing permissions for" << f.fileName(); + f.setPermissions( QFileDevice::ReadOwner | QFileDevice::WriteOwner ); + } + } +} Calamares::JobResult InitcpioJob::exec() { CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); + QDir d( CalamaresUtils::System::instance()->targetPath( "/boot" ) ); + if ( d.exists() ) + { + fixPermissions( d ); + } + cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "mkinitcpio", "-p", m_kernel }, QString(), QString(), 0 ); From 39d618c61e7ecdc9c068c799c26bcf811cd867ae Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 13:28:32 +0200 Subject: [PATCH 054/626] [initcpio] Simple test for fixPermissions() --- src/modules/initcpio/CMakeLists.txt | 17 ++++++++ src/modules/initcpio/InitcpioJob.cpp | 2 +- src/modules/initcpio/Tests.cpp | 59 ++++++++++++++++++++++++++++ src/modules/initcpio/Tests.h | 36 +++++++++++++++++ 4 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 src/modules/initcpio/Tests.cpp create mode 100644 src/modules/initcpio/Tests.h diff --git a/src/modules/initcpio/CMakeLists.txt b/src/modules/initcpio/CMakeLists.txt index d35a12f06..990220b10 100644 --- a/src/modules/initcpio/CMakeLists.txt +++ b/src/modules/initcpio/CMakeLists.txt @@ -7,3 +7,20 @@ calamares_add_plugin( initcpio calamares SHARED_LIB ) + +if( ECM_FOUND AND BUILD_TESTING ) + ecm_add_test( + Tests.cpp + TEST_NAME + initcpiotest + LINK_LIBRARIES + ${CALAMARES_LIBRARIES} + calamares + calamares_job_initcpio # From above + ${YAMLCPP_LIBRARY} + Qt5::Core + Qt5::Test + ) + set_target_properties( initcpiotest PROPERTIES AUTOMOC TRUE ) + target_include_directories( initcpiotest PRIVATE /usr/local/include ) +endif() diff --git a/src/modules/initcpio/InitcpioJob.cpp b/src/modules/initcpio/InitcpioJob.cpp index 0b96ddcd2..d0d825cbf 100644 --- a/src/modules/initcpio/InitcpioJob.cpp +++ b/src/modules/initcpio/InitcpioJob.cpp @@ -40,7 +40,7 @@ InitcpioJob::prettyName() const return tr( "Creating initramfs with mkinitcpio." ); } -static void +void fixPermissions( const QDir& d ) { for ( const auto& fi : d.entryInfoList( { "initramfs*" }, QDir::Files ) ) diff --git a/src/modules/initcpio/Tests.cpp b/src/modules/initcpio/Tests.cpp new file mode 100644 index 000000000..e0590ba25 --- /dev/null +++ b/src/modules/initcpio/Tests.cpp @@ -0,0 +1,59 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Tests.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" +#include "Settings.h" + +#include "utils/Logger.h" +#include "utils/Yaml.h" + +#include + +#include +#include + +extern void fixPermissions( const QDir& d ); + +QTEST_GUILESS_MAIN( InitcpioTests ) + +InitcpioTests::InitcpioTests() +{ +} + +InitcpioTests::~InitcpioTests() +{ +} + +void +InitcpioTests::initTestCase() +{ +} + +void InitcpioTests::testFixPermissions() +{ + Logger::setupLogLevel( Logger::LOGDEBUG ); + cDebug() << "Fixing up /boot"; + fixPermissions( QDir( "/boot" ) ); + cDebug() << "Fixing up /nonexistent"; + fixPermissions( QDir( "/nonexistent/nonexistent" ) ); + QVERIFY( true ); +} + diff --git a/src/modules/initcpio/Tests.h b/src/modules/initcpio/Tests.h new file mode 100644 index 000000000..5bab26d3f --- /dev/null +++ b/src/modules/initcpio/Tests.h @@ -0,0 +1,36 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef TESTS_H +#define TESTS_H + +#include + +class InitcpioTests : public QObject +{ + Q_OBJECT +public: + InitcpioTests(); + ~InitcpioTests() override; + +private Q_SLOTS: + void initTestCase(); + void testFixPermissions(); +}; + +#endif From 76ce0e4f2b85522509d7c1abfd81c5eb7d3cfacc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 23:20:19 +0200 Subject: [PATCH 055/626] [libcalamares] Don't crash when creating System object - In tests, a System object might be created without first setting up a JobQueue. In that case, there's no instance, so no GS to insert into. Avoid crash here. --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 10c76e482..7e55e6119 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -85,8 +85,10 @@ System::System( bool doChroot, QObject* parent ) { Q_ASSERT( !s_instance ); s_instance = this; - if ( !doChroot ) + if ( !doChroot && Calamares::JobQueue::instance() && Calamares::JobQueue::instance()->globalStorage() ) + { Calamares::JobQueue::instance()->globalStorage()->insert( "rootMountPoint", "/" ); + } } From a761bf02807c74fdf36092ecd2172d51a28b145d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 23:21:24 +0200 Subject: [PATCH 056/626] [initramfs] Add tests - These tests exercise the createTargetFile() logic, which is essential for creating a safe initramfs configuration snippet. - Could be moved into libcalamares instead, since the tests are not really initramfs specific. --- src/modules/initramfs/CMakeLists.txt | 17 +++++ src/modules/initramfs/Tests.cpp | 96 ++++++++++++++++++++++++++++ src/modules/initramfs/Tests.h | 39 +++++++++++ 3 files changed, 152 insertions(+) create mode 100644 src/modules/initramfs/Tests.cpp create mode 100644 src/modules/initramfs/Tests.h diff --git a/src/modules/initramfs/CMakeLists.txt b/src/modules/initramfs/CMakeLists.txt index 79bb650c5..c2496b2a1 100644 --- a/src/modules/initramfs/CMakeLists.txt +++ b/src/modules/initramfs/CMakeLists.txt @@ -7,3 +7,20 @@ calamares_add_plugin( initramfs calamares SHARED_LIB ) + +if( ECM_FOUND AND BUILD_TESTING ) + ecm_add_test( + Tests.cpp + TEST_NAME + initramfstest + LINK_LIBRARIES + ${CALAMARES_LIBRARIES} + calamares + calamares_job_initramfs # From above + ${YAMLCPP_LIBRARY} + Qt5::Core + Qt5::Test + ) + set_target_properties( initramfstest PROPERTIES AUTOMOC TRUE ) + target_include_directories( initramfstest PRIVATE /usr/local/include ) +endif() diff --git a/src/modules/initramfs/Tests.cpp b/src/modules/initramfs/Tests.cpp new file mode 100644 index 000000000..936c94097 --- /dev/null +++ b/src/modules/initramfs/Tests.cpp @@ -0,0 +1,96 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Tests.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" +#include "Settings.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" +#include "utils/Yaml.h" + +#include + +#include +#include + +QTEST_GUILESS_MAIN( InitramfsTests ) + +InitramfsTests::InitramfsTests() +{ +} + +InitramfsTests::~InitramfsTests() +{ +} + +void +InitramfsTests::initTestCase() +{ + Logger::setupLogLevel( Logger::LOGDEBUG ); +} + +static const char contents[] = "UMASK=0077\n"; +static const char confFile[] = "/tmp/calamares-safe-umask"; + +void InitramfsTests::cleanup() +{ + QFile::remove( confFile ); +} + +void InitramfsTests::testCreateHostFile() +{ + + CalamaresUtils::System s( false ); // don't chroot + QString path = s.createTargetFile( confFile, QByteArray( contents ) ); + QVERIFY( !path.isEmpty() ); + QCOMPARE( path, confFile ); // don't chroot, so path create relative to / + QVERIFY( QFile::exists( confFile ) ); + + QFileInfo fi( confFile ); + QVERIFY( fi.exists() ); + QCOMPARE( fi.size(), sizeof( contents )-1 ); // don't count trailing NUL + + QFile::remove( confFile ); +} + +void InitramfsTests::testCreateTargetFile() +{ + static const char short_confFile[] = "/calamares-safe-umask"; + + CalamaresUtils::System s( true ); + QString path = s.createTargetFile( short_confFile, QByteArray( contents ) ); + QVERIFY( path.isEmpty() ); // because no rootmountpoint is set + + Calamares::JobQueue j; + j.globalStorage()->insert( "rootMountPoint", "/tmp" ); + + path = s.createTargetFile( short_confFile, QByteArray( contents ) ); + QVERIFY( path.endsWith( short_confFile ) ); // chroot, so path create relative to + QVERIFY( path.startsWith( "/tmp/" ) ); + QVERIFY( QFile::exists( path ) ); + + QFileInfo fi( path ); + QVERIFY( fi.exists() ); + QCOMPARE( fi.size(), sizeof( contents )-1 ); // don't count trailing NUL + + QFile::remove( path ); + +} diff --git a/src/modules/initramfs/Tests.h b/src/modules/initramfs/Tests.h new file mode 100644 index 000000000..01394d4fa --- /dev/null +++ b/src/modules/initramfs/Tests.h @@ -0,0 +1,39 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef TESTS_H +#define TESTS_H + +#include + +class InitramfsTests : public QObject +{ + Q_OBJECT +public: + InitramfsTests(); + ~InitramfsTests() override; + +private Q_SLOTS: + void initTestCase(); + void cleanup(); + + void testCreateHostFile(); + void testCreateTargetFile(); +}; + +#endif From 263c0166c6dd054efa0e154c09a344aeed711bf6 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 5 Jul 2019 23:31:28 +0200 Subject: [PATCH 057/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_cs_CZ.ts | 8 ++++---- lang/calamares_fi_FI.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 058848a3f..1f6ef2129 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -99,12 +99,12 @@ Reload Stylesheet - + Znovunačíst sešit se styly Widget Tree - + Strom widgetu @@ -159,12 +159,12 @@ Run command '%1' in target system. - + Spustit v cílovém systému příkaz „%1“. Run command '%1'. - + Spustit příkaz „%1“ diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 22a7a81f6..be8928448 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -210,12 +210,12 @@ Waiting for %n module(s). - + Odotetaan %n moduuli(t).Odotetaan %n moduuli(t). (%n second(s)) - + (%n sekunttia(s))(%n sekunttia(s)) From b43dee45e1c3ee554685b99b27eb570b5e29c752 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 5 Jul 2019 23:31:28 +0200 Subject: [PATCH 058/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/ast/LC_MESSAGES/python.mo | Bin 5167 -> 5387 bytes lang/python/ast/LC_MESSAGES/python.po | 4 ++-- lang/python/tr_TR/LC_MESSAGES/python.mo | Bin 8934 -> 8938 bytes lang/python/tr_TR/LC_MESSAGES/python.po | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index c3c75acd64f9405139893e93b993fa4ed2657a59..6cacaf7af9f624b2104cbaf7dddf65b6b38f0190 100644 GIT binary patch delta 1218 zcmZY8Pe>GD7{~E9T}{h0&0Hr`8IzAARp z(Aw$s^cyRTIf7+{{LpG+#%#el+<-l}2a{NfQ@9@Q;sJb$P52F)FQCM5Q|ET*^GU-14pm}uc2O?MICej8}S$F{rXbA61#C2FQE=J zhY9?G+cCZ>idY}^v%g7lp^a~&gYR&XG%R5+@tRkv~Uerdzn8Zoci?4AP{=jY6Oq^94 zLs*BSsMK9X)yg#P#uv-uCEUk2QAzxjLyy^q@j7)574 zP;YjzLL_juDT*<=4yTBywb99hZ7gs1Q5qb2tMb2zu13M!r8172a`Kb@Tk)^yxnmWdW4{5QCXEdM delta 1043 zcmY+@Pe>GD7{~D^9si}JZdO{ElUeR=yR?|8X%R?4kwNMqiY%5&5UMF@$wRRi9ik2* zl;;i+-GY`1NjygoT{;g3xxY;ak zIVN?Sn8c0v1XDPRwYU^r|Ahm@u~K)VT}0hCj{4se*5FfY$7$3;Ur`&0m4zGW#75$C z*u(mEi^(?KfV=P`X0WV0ys-SzA4r?D^1Mxjn${(Y8;U%`=ViY%0 zhYsR?OyOPZ#TU2_f1)zoR!jannVjWmde9WA6mL;~SdQZQSlE=^nC1K!YNK`jBWh)Ef!ae?xRa57go`tQ(Zm)lD`1J4lF2ojwlM{BLN( zyqJ6AG!}EvO0IY4UGq6K^ff7~O$tf|W>OTq!86>j`i* zRvD8VdRrRb=rz~0)|7@LZT^+x=?!crjS9DlscqnL|t&o#z5SXx^zj62&BQ`($>%i2pt;@ z9Gx26bm>Dl_ywY-{)eXD;o+R;eb3CDyC0LqZd_6(DsA97uHp@b@d+dNf?4e0K7L^a z7h=*O9-!&D!W0Hr#&e*740&S8E)833hRXmOK`*gl#O~08P;x&4A5> zM5oG_#u~Dd0^Gws-r^M3@yL<3v5IH-h(#PZ$NvT21TBKZ7Qe?=Gy{H+-DD-D3(TQ; g_>4RFIb059t*~?5xbwz+zwzMtUZ;6KtVDZDe}JGZ`2YX_ delta 350 zcmXBOF-t;W7{&1eA`v#!#RR)qHw6{MltcofBI+*M;2<;w4oZq95rN~St)UMP1vNCf z1b1+1bO^!^(csW3wh8@ToPIBd=RME!>rUK{?|`=Q0b3b^3R!lm@8eZa4OrF9#{s=M{qNRxYc!<|n!U3A137Q3w zZHZ2mFohS$E%GpnFWA8^T*sm#C9#5Mc#8)(bdDDVQ-T`;dq-;FBbo&>N5LxN9ovUWAJ$mal@BDN7b?F~)j4YP` diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 82b24e462..d61c4cc2b 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -96,7 +96,7 @@ msgstr "Dosya sistemlerini ayırın." #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "Dosya sistemini genişlet." +msgstr "Dosya sistemi genişletiliyor." #: src/modules/unpackfs/main.py:159 msgid "rsync failed with error code {}." From 940c99026869079a676bdc2c918d4f6b6455e33c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 6 Jul 2019 00:04:16 +0200 Subject: [PATCH 059/626] [initcpio] [initramfs] Allow turning off CVE mitigations - The mitigations are slightly intrusive, and may clash with other, similar mitigations (especially for initramfs, the recommended solution is to configure the system with the snippet outside of Calamares). --- src/modules/initcpio/InitcpioJob.cpp | 17 +++++++++++++---- src/modules/initcpio/InitcpioJob.h | 1 + src/modules/initcpio/initcpio.conf | 5 +++++ src/modules/initramfs/InitramfsJob.cpp | 25 +++++++++++++++++-------- src/modules/initramfs/InitramfsJob.h | 1 + src/modules/initramfs/initramfs.conf | 5 +++++ 6 files changed, 42 insertions(+), 12 deletions(-) diff --git a/src/modules/initcpio/InitcpioJob.cpp b/src/modules/initcpio/InitcpioJob.cpp index d0d825cbf..38017d83e 100644 --- a/src/modules/initcpio/InitcpioJob.cpp +++ b/src/modules/initcpio/InitcpioJob.cpp @@ -59,12 +59,19 @@ InitcpioJob::exec() { CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); - QDir d( CalamaresUtils::System::instance()->targetPath( "/boot" ) ); - if ( d.exists() ) + if ( m_unsafe ) { - fixPermissions( d ); + cDebug() << "Skipping mitigations for unsafe initramfs permissions."; } - + else + { + QDir d( CalamaresUtils::System::instance()->targetPath( "/boot" ) ); + if ( d.exists() ) + { + fixPermissions( d ); + } + } + cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "mkinitcpio", "-p", m_kernel }, QString(), QString(), 0 ); @@ -94,6 +101,8 @@ InitcpioJob::setConfigurationMap( const QVariantMap& configurationMap ) << r.getExitCode() << r.getOutput(); } } + + m_unsafe = CalamaresUtils::getBool( configurationMap, "be_unsafe", false ); } CALAMARES_PLUGIN_FACTORY_DEFINITION( InitcpioJobFactory, registerPlugin< InitcpioJob >(); ) diff --git a/src/modules/initcpio/InitcpioJob.h b/src/modules/initcpio/InitcpioJob.h index 7c0bcf2df..11358d749 100644 --- a/src/modules/initcpio/InitcpioJob.h +++ b/src/modules/initcpio/InitcpioJob.h @@ -42,6 +42,7 @@ public: private: QString m_kernel; + bool m_unsafe = false; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( InitcpioJobFactory ) diff --git a/src/modules/initcpio/initcpio.conf b/src/modules/initcpio/initcpio.conf index 487a0289d..8ad71e9f5 100644 --- a/src/modules/initcpio/initcpio.conf +++ b/src/modules/initcpio/initcpio.conf @@ -16,3 +16,8 @@ # # Note that "all" is probably not a good preset to use either. kernel: linux312 + +# Set this to true to turn off mitigations for lax file +# permissions on initramfs (which, in turn, can compromise +# your LUKS encryption keys, CVS-2019-13179). +be_unsafe: false diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index c96bbb059..01d400443 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -44,16 +44,23 @@ InitramfsJob::exec() CalamaresUtils::UMask m( CalamaresUtils::UMask::Safe ); cDebug() << "Updating initramfs with kernel" << m_kernel; - - // First make sure we generate a safe initramfs with suitable permissions. - static const char confFile[] = "/etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf"; - static const char contents[] = "UMASK=0077\n"; - if ( CalamaresUtils::System::instance()->createTargetFile( confFile, QByteArray( contents ) ).isEmpty() ) + + if ( m_unsafe ) { - cWarning() << Logger::SubEntry << "Could not configure safe UMASK for initramfs."; - // But continue anyway. + cDebug() << "Skipping mitigations for unsafe initramfs permissions."; } - + else + { + // First make sure we generate a safe initramfs with suitable permissions. + static const char confFile[] = "/etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf"; + static const char contents[] = "UMASK=0077\n"; + if ( CalamaresUtils::System::instance()->createTargetFile( confFile, QByteArray( contents ) ).isEmpty() ) + { + cWarning() << Logger::SubEntry << "Could not configure safe UMASK for initramfs."; + // But continue anyway. + } + } + // And then do the ACTUAL work. auto r = CalamaresUtils::System::instance()->targetEnvCommand( { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 0 ); @@ -84,6 +91,8 @@ InitramfsJob::setConfigurationMap( const QVariantMap& configurationMap ) << r.getExitCode() << r.getOutput(); } } + + m_unsafe = CalamaresUtils::getBool( configurationMap, "be_unsafe", false ); } CALAMARES_PLUGIN_FACTORY_DEFINITION( InitramfsJobFactory, registerPlugin< InitramfsJob >(); ) diff --git a/src/modules/initramfs/InitramfsJob.h b/src/modules/initramfs/InitramfsJob.h index 63aed4136..9eeb81fea 100644 --- a/src/modules/initramfs/InitramfsJob.h +++ b/src/modules/initramfs/InitramfsJob.h @@ -42,6 +42,7 @@ public: private: QString m_kernel; + bool m_unsafe = false; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( InitramfsJobFactory ) diff --git a/src/modules/initramfs/initramfs.conf b/src/modules/initramfs/initramfs.conf index 4e5eda202..a989d83c3 100644 --- a/src/modules/initramfs/initramfs.conf +++ b/src/modules/initramfs/initramfs.conf @@ -29,3 +29,8 @@ # 3.2.9 and earlier which passed "all" as version. kernel: "all" + +# Set this to true to turn off mitigations for lax file +# permissions on initramfs (which, in turn, can compromise +# your LUKS encryption keys, CVS-2019-13179). +be_unsafe: false From 937dac47d8c7a9ad2944e306dac7a9e6b374cd39 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 5 Jul 2019 23:33:46 +0200 Subject: [PATCH 060/626] Changes: refer to CVE numbers for both issues --- CHANGES | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 723747e44..37dc7a71c 100644 --- a/CHANGES +++ b/CHANGES @@ -16,7 +16,7 @@ understanding the issues (alphabetically by first name): - Seth Arnold - Simon Quigley - Thomas Ward - +Both CVE's have been resolved. ## Core ## @@ -26,7 +26,7 @@ No core changes. - *initramfs* could create an initramfs with insecure permissions. Since the keyfile is included in the initramfs, an attacker could - read the file from the initramfs. #1190 + read the file from the initramfs. #1190 CVE-2019-13178 - *luksbootkeyfile* created a key file where a window of opportunity existed where the key file could have too-lax file permissions. #1191 CVE-2019-13179 From e88269089bd5f727e59884c7313643dd2afc06ad Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 6 Jul 2019 00:52:35 +0200 Subject: [PATCH 061/626] Changes: pre-release housekeeping --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c7706ec5b..ca2a6f98a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ project( CALAMARES VERSION 3.2.11 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From ca58b67eb95d7f4488e4dc662a8d09c6724dab11 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 6 Jul 2019 01:16:28 +0200 Subject: [PATCH 062/626] Changes: post-release housekeeping --- CHANGES | 11 ++++++++++- CMakeLists.txt | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 37dc7a71c..a73684e6a 100644 --- a/CHANGES +++ b/CHANGES @@ -3,7 +3,16 @@ 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.11 (unreleased) # +# 3.2.12 (unreleased) # + +This release contains contributions from (alphabetically by first name): + +## Core ## + +## Modules ## + + +# 3.2.11 (2019-07-06) # This release contains contributions from (alphabetically by first name): - No other contributors this time around. diff --git a/CMakeLists.txt b/CMakeLists.txt index ca2a6f98a..cae89fc91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,10 +37,10 @@ cmake_minimum_required( VERSION 3.2 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.11 + VERSION 3.2.12 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 5b4e1d1686fea0d0477f9e2ba48f1554a57c9d4e Mon Sep 17 00:00:00 2001 From: embar- Date: Sat, 27 Jul 2019 14:38:00 +0300 Subject: [PATCH 063/626] add missing ";" in calamares.desktop --- calamares.desktop.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calamares.desktop.in b/calamares.desktop.in index 0c4041bcb..9bfbf8fd9 100644 --- a/calamares.desktop.in +++ b/calamares.desktop.in @@ -3,7 +3,7 @@ Type=Application Version=1.0 Name=Install System GenericName=System Installer -Keywords=calamares;system;installer +Keywords=calamares;system;installer; TryExec=calamares Exec=pkexec /usr/bin/calamares Comment=Calamares — System Installer From 3bd73a97ce0bdf80bb749a14e58a19f45e9e14d6 Mon Sep 17 00:00:00 2001 From: embar- Date: Sat, 27 Jul 2019 14:40:39 +0300 Subject: [PATCH 064/626] add missing ";" in calamares.desktop --- calamares.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calamares.desktop b/calamares.desktop index 954c77123..47dd281e5 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -3,7 +3,7 @@ Type=Application Version=1.0 Name=Install System GenericName=System Installer -Keywords=calamares;system;installer +Keywords=calamares;system;installer; TryExec=calamares Exec=pkexec /usr/bin/calamares Comment=Calamares — System Installer From 6aec65ec7065fcdc6a11408d5ae1cdf40855e319 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 29 Jul 2019 13:29:03 +0200 Subject: [PATCH 065/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 148 +++++--- lang/calamares_ast.ts | 150 +++++--- lang/calamares_be.ts | 148 +++++--- lang/calamares_bg.ts | 148 +++++--- lang/calamares_ca.ts | 148 +++++--- lang/calamares_ca@valencia.ts | 148 +++++--- lang/calamares_cs_CZ.ts | 148 +++++--- lang/calamares_da.ts | 148 +++++--- lang/calamares_de.ts | 154 +++++--- lang/calamares_el.ts | 148 +++++--- lang/calamares_en.ts | 148 +++++--- lang/calamares_en_GB.ts | 148 +++++--- lang/calamares_eo.ts | 148 +++++--- lang/calamares_es.ts | 148 +++++--- lang/calamares_es_MX.ts | 148 +++++--- lang/calamares_es_PR.ts | 148 +++++--- lang/calamares_et.ts | 156 +++++--- lang/calamares_eu.ts | 148 +++++--- lang/calamares_fa.ts | 148 +++++--- lang/calamares_fi_FI.ts | 148 +++++--- lang/calamares_fr.ts | 148 +++++--- lang/calamares_fr_CH.ts | 148 +++++--- lang/calamares_gl.ts | 148 +++++--- lang/calamares_gu.ts | 148 +++++--- lang/calamares_he.ts | 148 +++++--- lang/calamares_hi.ts | 647 ++++++++++++++++++---------------- lang/calamares_hr.ts | 148 +++++--- lang/calamares_hu.ts | 156 +++++--- lang/calamares_id.ts | 148 +++++--- lang/calamares_is.ts | 148 +++++--- lang/calamares_it_IT.ts | 148 +++++--- lang/calamares_ja.ts | 148 +++++--- lang/calamares_kk.ts | 148 +++++--- lang/calamares_kn.ts | 148 +++++--- lang/calamares_ko.ts | 148 +++++--- lang/calamares_lo.ts | 148 +++++--- lang/calamares_lt.ts | 148 +++++--- lang/calamares_mk.ts | 148 +++++--- lang/calamares_mr.ts | 148 +++++--- lang/calamares_nb.ts | 148 +++++--- lang/calamares_ne_NP.ts | 148 +++++--- lang/calamares_nl.ts | 148 +++++--- lang/calamares_pl.ts | 148 +++++--- lang/calamares_pt_BR.ts | 148 +++++--- lang/calamares_pt_PT.ts | 148 +++++--- lang/calamares_ro.ts | 148 +++++--- lang/calamares_ru.ts | 289 ++++++++------- lang/calamares_sk.ts | 148 +++++--- lang/calamares_sl.ts | 148 +++++--- lang/calamares_sq.ts | 148 +++++--- lang/calamares_sr.ts | 148 +++++--- lang/calamares_sr@latin.ts | 148 +++++--- lang/calamares_sv.ts | 148 +++++--- lang/calamares_th.ts | 148 +++++--- lang/calamares_tr_TR.ts | 148 +++++--- lang/calamares_uk.ts | 148 +++++--- lang/calamares_ur.ts | 148 +++++--- lang/calamares_uz.ts | 148 +++++--- lang/calamares_zh_CN.ts | 148 +++++--- lang/calamares_zh_TW.ts | 148 +++++--- 60 files changed, 6213 insertions(+), 3331 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 60f47f127..c512e316b 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &رجوع - - + &Next &التالي - - + &Cancel &إلغاء - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. الغاء الـ تثبيت من دون احداث تغيير في النظام - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &ثبت - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? إلغاء التثبيت؟ - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. أتريد إلغاء عمليّة التّثبيت الحاليّة؟ سيخرج المثبّت وتضيع كلّ التّغييرات. - + &Yes &نعم - + &No &لا - + &Close &اغلاق - + Continue with setup? الإستمرار في التثبيت؟ - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> مثبّت %1 على وشك بإجراء تعديلات على قرصك لتثبيت %2.<br/><strong>لن تستطيع التّراجع عن هذا.</strong> - + &Install now &ثبت الأن - + Go &back &إرجع - + &Done - + The installation is complete. Close the installer. اكتمل التثبيت , اغلق المثبِت - + Error خطأ - + Installation Failed فشل التثبيت @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost.
+ + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. الموقع + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. معاملات نداء المهمة سيّئة. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index f3a613d35..75702a383 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -135,7 +135,7 @@ Programmed job failure was explicitly requested. - + El fallu del trabayu programáu solicitóse esplicitamente. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Esperando por %n móduluEsperando por %n módulos - + (%n second(s)) (%n segundu)(%n segundos) - + System-requirements checking is complete. Completóse la comprobación de los requirimientos del sistema. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Atrás - - + &Next &Siguiente - - + &Cancel &Encaboxar - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Encaboxa la instalación ensin camudar el sistema. - + Setup Failed - + Calamares Initialization Failed Falló l'aniciu de Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nun pue instalase. Calamares nun foi a cargar tolos módulos configuraos. Esto ye un problema col mou nel que la distribución usa Calamares. - + <br/>The following modules could not be loaded: <br/>Nun pudieron cargase los módulos de darréu: - + Continue with installation? ¿Siguir cola instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa d'instalación de %1 ta a piques de facer cambeos nel discu pa configurar %2.<br/><strong>Nun vas ser a desfacer estos cambeos.<strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. Completóse la configuración. Zarra'l programa de configuración. - + Cancel setup? ¿Encaboxar la configuración? - + Cancel installation? ¿Encaboxar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual de configuración? El programa de configuración va colar y van perdese tolos cambeos. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual d'instalación? L'instalador va colar y van perdese tolos cambeos. - + &Yes &Sí - + &No &Non - + &Close &Zarrar - + Continue with setup? ¿Siguir cola instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instalador de %1 ta a piques de facer cambeos nel discu pa instalar %2.<br/><strong>Nun vas ser a desfacer esos cambeos.</strong> - + &Install now &Instalar agora - + Go &back Dir p'&atrás - + &Done &Fecho - + The installation is complete. Close the installer. Completóse la instalación. Zarra l'instalador. - + Error Fallu - + Installation Failed Falló la instalación @@ -1290,6 +1286,22 @@ L'instalador va colar y van perdese tolos cambeos.
Nun pudo escribise nel ficheru <code>%1</code>.
+ + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ L'instalador va colar y van perdese tolos cambeos.
Allugamientu
+ + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,14 +2268,14 @@ L'instalador va colar y van perdese tolos cambeos.
ProcessResult - + There was no output from the command. El comandu nun produxo denguna salida. - + Output: @@ -2236,52 +2284,52 @@ Salida:
- + External command crashed. El comandu esternu cascó. - + Command <i>%1</i> crashed. El comandu <i>%1</i> cascó. - + External command failed to start. El comandu esternu falló al aniciar. - + Command <i>%1</i> failed to start. El comandu <i>%1</i> falló al aniciar. - + Internal error when starting command. Fallu internu al aniciar el comandu. - + Bad parameters for process job call. Los parámetros son incorreutos pa la llamada del trabayu de procesos. - + External command failed to finish. El comandu esternu finó al finar. - + Command <i>%1</i> failed to finish in %2 seconds. El comandu <i>%1</i> falló al finar en %2 segundos. - + External command finished with errors. El comandu esternu finó con fallos. - + Command <i>%1</i> finished with exit code %2. El comandu <i>%1</i> finó col códigu de salida %2. @@ -2330,7 +2378,7 @@ Salida: - + Requirements checking for module <i>%1</i> is complete. Completóse la comprobación de requirimientos del módulu <i>%1</i> diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 4fe3c6da9..543313cfc 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index b69a56a67..b4d466017 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Назад - - + &Next &Напред - - + &Cancel &Отказ - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Отказ от инсталацията без промяна на системата. - + Setup Failed - + Calamares Initialization Failed Инициализацията на Calamares се провали - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 не може да се инсталира. Calamares не можа да зареди всичките конфигурирани модули. Това е проблем с начина, по който Calamares е използван от дистрибуцията. - + <br/>The following modules could not be loaded: <br/>Следните модули не могат да се заредят: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Инсталирай - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отмяна на инсталацията? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Наистина ли искате да отмените текущият процес на инсталиране? Инсталатора ще прекъсне и всичките промени ще бъдат загубени. - + &Yes &Да - + &No &Не - + &Close &Затвори - + Continue with setup? Продължаване? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Инсталатора на %1 ще направи промени по вашия диск за да инсталира %2. <br><strong>Промените ще бъдат окончателни.</strong> - + &Install now &Инсталирай сега - + Go &back В&ръщане - + &Done &Готово - + The installation is complete. Close the installer. Инсталацията е завършена. Затворете инсталаторa. - + Error Грешка - + Installation Failed Неуспешна инсталация @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. Местоположение + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,13 +2267,13 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: @@ -2234,52 +2282,52 @@ Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Невалидни параметри за извикване на задача за процес. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2328,7 +2376,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 7272159c7..de88d550c 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). S'espera %n mòdul.S'esperen %n mòduls. - + (%n second(s)) (%n segon)(%n segons) - + System-requirements checking is complete. S'ha completat la comprovació dels requeriments del sistema. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Enrere - - + &Next &Següent - - + &Cancel &Cancel·la - - + Cancel setup without changing the system. Cancel·la la configuració sense canviar el sistema. - - + Cancel installation without changing the system. Cancel·leu la instal·lació sense canviar el sistema. - + Setup Failed Ha fallat la configuració. - + Calamares Initialization Failed Ha fallat la inicialització de Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. No es pot instal·lar %1. El Calamares no ha pogut carregar tots els mòduls configurats. Aquest és un problema amb la manera com el Calamares és utilitzat per la distribució. - + <br/>The following modules could not be loaded: <br/>No s'han pogut carregar els mòduls següents: - + Continue with installation? Voleu continuar la instal·lació? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa de configuració %1 està a punt de fer canvis al disc per tal de configurar %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Set up now Con&figura-ho ara - + &Set up Con&figura-ho - + &Install &Instal·la - + Setup is complete. Close the setup program. La configuració s'ha acabat. Tanqueu el programa de configuració. - + Cancel setup? Voleu cancel·lar la configuració? - + Cancel installation? Cancel·lar la instal·lació? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Realment voleu cancel·lar el procés de configuració actual? El programa de configuració es tancarà i es perdran tots els canvis. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voleu cancel·lar el procés d'instal·lació actual? L'instal·lador es tancarà i tots els canvis es perdran. - + &Yes &Sí - + &No &No - + &Close Tan&ca - + Continue with setup? Voleu continuar la configuració? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instal·lador de %1 està a punt de fer canvis al disc per tal d'instal·lar-hi %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Install now &Instal·la ara - + Go &back Ves &enrere - + &Done &Fet - + The installation is complete. Close the installer. La instal·lació s'ha acabat. Tanqueu l'instal·lador. - + Error Error - + Installation Failed La instal·lació ha fallat @@ -1290,6 +1286,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. No s'ha pogut escriure al fitxer <code>%1</code>.
+ + InitcpioJob + + + Creating initramfs with mkinitcpio. + Es creen initramfs amb mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Es creen initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ L'instal·lador es tancarà i tots els canvis es perdran.
Ubicació
+ + LuksBootKeyFileJob + + + Configuring LUKS key file. + Es configura el fitxer de clau LUKS. + + + + + No partitions are defined. + No s'ha definit cap partició. + + + + + + Encrypted rootfs setup error + Error de configuració de rootfs encriptat. + + + + Root partition %1 is LUKS but no passphrase has been set. + La partició d'arrel %1 és LUKS però no se n'ha establert cap contrasenya. + + + + Could not create LUKS key file for root partition %1. + No s'ha pogut crear el fitxer de clau de LUKS per a la partició d'arrel %1. + + + + Could configure LUKS key file on partition %1. + S'ha pogut configurar el fitxer de clau de LUKS a la partició %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ L'instal·lador es tancarà i tots els canvis es perdran.
ProcessResult - + There was no output from the command. No hi ha hagut sortida de l'ordre. - + Output: @@ -2236,52 +2284,52 @@ Sortida: - + External command crashed. L'ordre externa ha fallat. - + Command <i>%1</i> crashed. L'ordre <i>%1</i> ha fallat. - + External command failed to start. L'ordre externa no s'ha pogut iniciar. - + Command <i>%1</i> failed to start. L'ordre <i>%1</i> no s'ha pogut iniciar. - + Internal error when starting command. Error intern en iniciar l'ordre. - + Bad parameters for process job call. Paràmetres incorrectes per a la crida de la tasca del procés. - + External command failed to finish. L'ordre externa no ha acabat correctament. - + Command <i>%1</i> failed to finish in %2 seconds. L'ordre <i>%1</i> no ha pogut acabar en %2 segons. - + External command finished with errors. L'ordre externa ha acabat amb errors. - + Command <i>%1</i> finished with exit code %2. L'ordre <i>%1</i> ha acabat amb el codi de sortida %2. @@ -2330,7 +2378,7 @@ Sortida: (sense punt de muntatge) - + Requirements checking for module <i>%1</i> is complete. S'ha completat la comprovació dels requeriments per al mòdul <i>%1</i>. diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index f3a9b1166..3d7448670 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 1f6ef2129..beb4142fe 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čeká se na %n modulČeká se na %n modulyČeká se na %n modulůČeká se na %n moduly - + (%n second(s)) (%n sekundu)(%n sekundy)(%n sekund)(%n sekundy) - + System-requirements checking is complete. Kontrola požadavků na systém dokončena. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Zpět - - + &Next &Další - - + &Cancel &Storno - - + Cancel setup without changing the system. Zrušit nastavení bez změny v systému. - - + Cancel installation without changing the system. Zrušení instalace bez provedení změn systému. - + Setup Failed Nastavení se nezdařilo - + Calamares Initialization Failed Inicializace Calamares se nezdařila - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nemůže být nainstalováno. Calamares se nepodařilo načíst všechny nastavené moduly. Toto je problém způsobu použití Calamares ve vámi používané distribuci. - + <br/>The following modules could not be loaded: <br/> Následující moduly se nepodařilo načíst: - + Continue with installation? Pokračovat v instalaci? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Set up now Na&stavit nyní - + &Set up Na&stavit - + &Install Na&instalovat - + Setup is complete. Close the setup program. Nastavení je dokončeno. Ukončete nastavovací program. - + Cancel setup? Zrušit nastavování? - + Cancel installation? Přerušit instalaci? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Opravdu chcete přerušit instalaci? Instalační program bude ukončen a všechny změny ztraceny. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Opravdu chcete instalaci přerušit? Instalační program bude ukončen a všechny změny ztraceny. - + &Yes &Ano - + &No &Ne - + &Close &Zavřít - + Continue with setup? Pokračovat s instalací? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Install now &Spustit instalaci - + Go &back Jít &zpět - + &Done &Hotovo - + The installation is complete. Close the installer. Instalace je dokončena. Ukončete instalátor. - + Error Chyba - + Installation Failed Instalace se nezdařila @@ -1290,6 +1286,22 @@ Instalační program bude ukončen a všechny změny ztraceny. Nedaří se zapsat do souboru <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Vytváření initramfs pomocí mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Vytváření initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Instalační program bude ukončen a všechny změny ztraceny. Poloha + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Nastavování souboru s klíčem pro LUKS šifrování. + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + Chyba nastavení šifrovaného kořenového oddílu + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,14 +2268,14 @@ Instalační program bude ukončen a všechny změny ztraceny. ProcessResult - + There was no output from the command. Příkaz neposkytl žádný výstup. - + Output: @@ -2236,52 +2284,52 @@ Výstup: - + External command crashed. Vnější příkaz byl neočekávaně ukončen. - + Command <i>%1</i> crashed. Příkaz <i>%1</i> byl neočekávaně ukončen. - + External command failed to start. Vnější příkaz se nepodařilo spustit. - + Command <i>%1</i> failed to start. Příkaz <i>%1</i> se nepodařilo spustit. - + Internal error when starting command. Vnitřní chyba při spouštění příkazu. - + Bad parameters for process job call. Chybné parametry volání úlohy procesu. - + External command failed to finish. Vnější příkaz se nepodařilo dokončit. - + Command <i>%1</i> failed to finish in %2 seconds. Příkaz <i>%1</i> se nepodařilo dokončit do %2 sekund. - + External command finished with errors. Vnější příkaz skončil s chybami. - + Command <i>%1</i> finished with exit code %2. Příkaz <i>%1</i> skončil s návratovým kódem %2. @@ -2330,7 +2378,7 @@ Výstup: (žádný přípojný bod) - + Requirements checking for module <i>%1</i> is complete. Kontrola požadavků pro modul <i>%1</i> dokončena. diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 1787fe3bf..c4e9a0456 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Venter på %n modul.Venter på %n moduler. - + (%n second(s)) (%n sekund)(%n sekunder) - + System-requirements checking is complete. Tjek af systemkrav er fuldført. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Tilbage - - + &Next &Næste - - + &Cancel &Annullér - - + Cancel setup without changing the system. Annullér opsætningen uden at ændre systemet. - - + Cancel installation without changing the system. Annullér installation uden at ændre systemet. - + Setup Failed Opsætningen mislykkedes - + Calamares Initialization Failed Initiering af Calamares mislykkedes - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kan ikke installeres. Calamares kunne ikke indlæse alle de konfigurerede moduler. Det er et problem med den måde Calamares bruges på af distributionen. - + <br/>The following modules could not be loaded: <br/>Følgende moduler kunne ikke indlæses: - + Continue with installation? Fortsæt installationen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1-opsætningsprogrammet er ved at foretage ændringer til din disk for at opsætte %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Set up now &Sæt op nu - + &Set up &Sæt op - + &Install &Installér - + Setup is complete. Close the setup program. Opsætningen er fuldført. Luk opsætningsprogrammet. - + Cancel setup? Annullér opsætningen? - + Cancel installation? Annullér installationen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Vil du virkelig annullere den igangværende opsætningsproces? Opsætningsprogrammet vil stoppe og alle ændringer vil gå tabt. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig annullere den igangværende installationsproces? Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - + &Yes &Ja - + &No &Nej - + &Close &Luk - + Continue with setup? Fortsæt med opsætningen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Install now &Installér nu - + Go &back Gå &tilbage - + &Done &Færdig - + The installation is complete. Close the installer. Installationen er fuldført. Luk installationsprogrammet. - + Error Fejl - + Installation Failed Installation mislykkedes @@ -1290,6 +1286,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Kunne ikke skrive til filen <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Opretter initramfs med mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Opretter initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Placering + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Konfigurerer LUKS-nøglefil. + + + + + No partitions are defined. + Der er ikke defineret nogen partitioner. + + + + + + Encrypted rootfs setup error + Fejl ved opsætning af krypteret rootfs + + + + Root partition %1 is LUKS but no passphrase has been set. + Rodpartitionen %1 er LUKS men der er ikke indstillet nogen adgangskode. + + + + Could not create LUKS key file for root partition %1. + Kunne ikke oprette LUKS-nøglefil for rodpartitionen %1. + + + + Could configure LUKS key file on partition %1. + Kunne ikke konfigurere LUKS-nøglefil på partitionen %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. ProcessResult - + There was no output from the command. Der var ikke nogen output fra kommandoen. - + Output: @@ -2236,52 +2284,52 @@ Output: - + External command crashed. Ekstern kommando holdt op med at virke. - + Command <i>%1</i> crashed. Kommandoen <i>%1</i> holdte op med at virke. - + External command failed to start. Ekstern kommando kunne ikke starte. - + Command <i>%1</i> failed to start. Kommandoen <i>%1</i> kunne ikke starte. - + Internal error when starting command. Intern fejl ved start af kommando. - + Bad parameters for process job call. Ugyldige parametre til kald af procesjob. - + External command failed to finish. Ekstern kommando blev ikke færdig. - + Command <i>%1</i> failed to finish in %2 seconds. Kommandoen <i>%1</i> blev ikke færdig på %2 sekunder. - + External command finished with errors. Ekstern kommando blev færdig med fejl. - + Command <i>%1</i> finished with exit code %2. Kommandoen <i>%1</i> blev færdig med afslutningskoden %2. @@ -2330,7 +2378,7 @@ Output: (intet monteringspunkt) - + Requirements checking for module <i>%1</i> is complete. Tjek at krav for modulet <i>%1</i> er fuldført. diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index ce0435f95..997fb8f02 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Warten auf %n Modul.Warten auf %n Modul(e). - + (%n second(s)) (%n Sekunde)(%n Sekunde(n)) - + System-requirements checking is complete. Die Überprüfung der Systemvoraussetzungen ist abgeschlossen. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Zurück - - + &Next &Weiter - - + &Cancel &Abbrechen - - + Cancel setup without changing the system. Brechen Sie die Installation ab, ohne das System zu verändern. - - + Cancel installation without changing the system. Installation abbrechen, ohne das System zu verändern. - + Setup Failed Setup fehlgeschlagen - + Calamares Initialization Failed Initialisierung von Calamares fehlgeschlagen - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kann nicht installiert werden. Calamares war nicht in der Lage, alle konfigurierten Module zu laden. Dieses Problem hängt mit der Art und Weise zusammen, wie Calamares von der jeweiligen Distribution eingesetzt wird. - + <br/>The following modules could not be loaded: <br/>Die folgenden Module konnten nicht geladen werden: - + Continue with installation? Installation fortsetzen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm ist dabei, Änderungen an Ihrer Festplatte vorzunehmen, um %2 einzurichten.<br/><strong> Sie werden diese Änderungen nicht rückgängig machen können.</strong> - + &Set up now &Jetzt einrichten - + &Set up &Einrichten - + &Install &Installieren - + Setup is complete. Close the setup program. Setup ist abgeschlossen. Schließe das Installationsprogramm. - + Cancel setup? Installation abbrechen? - + Cancel installation? Installation abbrechen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + &Yes &Ja - + &No &Nein - + &Close &Schließen - + Continue with setup? Setup fortsetzen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm wird Änderungen an Ihrer Festplatte vornehmen, um %2 zu installieren.<br/><strong>Diese Änderungen können nicht rückgängig gemacht werden.</strong> - + &Install now Jetzt &installieren - + Go &back Gehe &zurück - + &Done &Erledigt - + The installation is complete. Close the installer. Die Installation ist abgeschlossen. Schließe das Installationsprogramm. - + Error Fehler - + Installation Failed Installation gescheitert @@ -1160,7 +1156,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Setup Complete - Installation komplett + Installation abgeschlossen @@ -1290,6 +1286,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Konnte nicht in die Datei <code>%1</code> schreiben. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Erstelle initramfs mit mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Erstelle initramfs. + + InteractiveTerminalPage @@ -1438,7 +1450,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Shows the complete license text - Zeigt den vollständigen Lizenztext an. + Zeigt den vollständigen Lizenztext an @@ -1513,6 +1525,42 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Standort + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKS-Schlüsseldatei konfigurieren. + + + + + No partitions are defined. + Keine Partitionen definiert. + + + + + + Encrypted rootfs setup error + Verschlüsselter Rootfs-Setup-Fehler + + + + Root partition %1 is LUKS but no passphrase has been set. + Root-Partition %1 ist mit LUKS verschlüsselt, aber es wurde kein Passwort gesetzt. + + + + Could not create LUKS key file for root partition %1. + Konnte die LUKS-Schlüsseldatei für die Root-Partition %1 nicht erstellen. + + + + Could configure LUKS key file on partition %1. + Konnte die LUKS-Schlüsseldatei auf der Root-Partition %1 konfigurieren. + + NetInstallPage @@ -2220,14 +2268,14 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. ProcessResult - + There was no output from the command. Dieser Befehl hat keine Ausgabe erzeugt. - + Output: @@ -2236,52 +2284,52 @@ Ausgabe: - + External command crashed. Externes Programm abgestürzt. - + Command <i>%1</i> crashed. Programm <i>%1</i> abgestürzt. - + External command failed to start. Externes Programm konnte nicht gestartet werden. - + Command <i>%1</i> failed to start. Das Programm <i>%1</i> konnte nicht gestartet werden. - + Internal error when starting command. Interner Fehler beim Starten des Programms. - + Bad parameters for process job call. Ungültige Parameter für Prozessaufruf. - + External command failed to finish. Externes Programm konnte nicht abgeschlossen werden. - + Command <i>%1</i> failed to finish in %2 seconds. Programm <i>%1</i> konnte nicht innerhalb von %2 Sekunden abgeschlossen werden. - + External command finished with errors. Externes Programm mit Fehlern beendet. - + Command <i>%1</i> finished with exit code %2. Befehl <i>%1</i> beendet mit Exit-Code %2. @@ -2330,7 +2378,7 @@ Ausgabe: (kein Einhängepunkt) - + Requirements checking for module <i>%1</i> is complete. Die Anforderungsprüfung für das Modul <i>%1</i> ist abgeschlossen. @@ -2462,7 +2510,7 @@ Ausgabe: Calamares cannot start KPMCore for the file-system resize job. - Calamares konnte KPMCore nicht zur Änderung der Dateisystemgröße starten. + Calamares kann KPMCore zur Änderung der Dateisystemgröße nicht starten. diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index e7b4d8131..f6351f912 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Προηγούμενο - - + &Next &Επόμενο - - + &Cancel &Ακύρωση - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Ακύρωση της εγκατάστασης χωρίς αλλαγές στο σύστημα. - + Setup Failed - + Calamares Initialization Failed Η αρχικοποίηση του Calamares απέτυχε - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Εγκατάσταση - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Ακύρωση της εγκατάστασης; - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Θέλετε πραγματικά να ακυρώσετε τη διαδικασία εγκατάστασης; Το πρόγραμμα εγκατάστασης θα τερματιστεί και όλες οι αλλαγές θα χαθούν. - + &Yes &Ναι - + &No &Όχι - + &Close &Κλείσιμο - + Continue with setup? Συνέχεια με την εγκατάσταση; - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Το πρόγραμμα εγκατάστασης %1 θα κάνει αλλαγές στον δίσκο για να εγκαταστήσετε το %2.<br/><strong>Δεν θα είστε σε θέση να αναιρέσετε τις αλλαγές.</strong> - + &Install now &Εγκατάσταση τώρα - + Go &back Μετάβαση &πίσω - + &Done &Ολοκληρώθηκε - + The installation is complete. Close the installer. Η εγκτάσταση ολοκληρώθηκε. Κλείστε το πρόγραμμα εγκατάστασης. - + Error Σφάλμα - + Installation Failed Η εγκατάσταση απέτυχε @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. Τοποθεσία + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Λανθασμένοι παράμετροι για την κλήση διεργασίας. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 66d90f109..628f22a83 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Waiting for %n module(s).Waiting for %n module(s). - + (%n second(s)) (%n second(s))(%n second(s)) - + System-requirements checking is complete. System-requirements checking is complete. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Back - - + &Next &Next - - + &Cancel &Cancel - - + Cancel setup without changing the system. Cancel setup without changing the system. - - + Cancel installation without changing the system. Cancel installation without changing the system. - + Setup Failed Setup Failed - + Calamares Initialization Failed Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>The following modules could not be loaded: - + Continue with installation? Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Set up now - + &Set up &Set up - + &Install &Install - + Setup is complete. Close the setup program. Setup is complete. Close the setup program. - + Cancel setup? Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Yes - + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -1290,6 +1286,22 @@ The installer will quit and all changes will be lost. Could not write to file <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Creating initramfs with mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Creating initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ The installer will quit and all changes will be lost. Location + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Configuring LUKS key file. + + + + + No partitions are defined. + No partitions are defined. + + + + + + Encrypted rootfs setup error + Encrypted rootfs setup error + + + + Root partition %1 is LUKS but no passphrase has been set. + Root partition %1 is LUKS but no passphrase has been set. + + + + Could not create LUKS key file for root partition %1. + Could not create LUKS key file for root partition %1. + + + + Could configure LUKS key file on partition %1. + Could configure LUKS key file on partition %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. There was no output from the command. - + Output: @@ -2236,52 +2284,52 @@ Output: - + External command crashed. External command crashed. - + Command <i>%1</i> crashed. Command <i>%1</i> crashed. - + External command failed to start. External command failed to start. - + Command <i>%1</i> failed to start. Command <i>%1</i> failed to start. - + Internal error when starting command. Internal error when starting command. - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish. External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. External command finished with errors. - + Command <i>%1</i> finished with exit code %2. Command <i>%1</i> finished with exit code %2. @@ -2330,7 +2378,7 @@ Output: (no mount point) - + Requirements checking for module <i>%1</i> is complete. Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 366b778b9..61d62d04a 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Back - - + &Next &Next - - + &Cancel &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed Calamares Initialisation Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Yes - + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. Location + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,14 +2267,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. There was no output from the command. - + Output: @@ -2235,52 +2283,52 @@ Output: - + External command crashed. External command crashed. - + Command <i>%1</i> crashed. Command <i>%1</i> crashed. - + External command failed to start. External command failed to start. - + Command <i>%1</i> failed to start. Command <i>%1</i> failed to start. - + Internal error when starting command. Internal error when starting command. - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish. External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. External command finished with errors. - + Command <i>%1</i> finished with exit code %2. Command <i>%1</i> finished with exit code %2. @@ -2329,7 +2377,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index 86685fe8f..725791019 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel &Nuligi - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Nuligi instalado sen ŝanĝante la sistemo. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instali - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Nuligi instalado? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ĉu vi vere volas nuligi la instalan procedon? La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + &Yes &Jes - + &No &Ne - + &Close &Fermi - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Instali nun - + Go &back - + &Done &Finita - + The installation is complete. Close the installer. - + Error Eraro - + Installation Failed @@ -1289,6 +1285,22 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 2af1459f3..8c367e353 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -209,17 +209,17 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -227,159 +227,155 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ViewManager - + &Back &Atrás - - + &Next &Siguiente - - + &Cancel &Cancelar - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Setup Failed - + Calamares Initialization Failed La inicialización de Calamares falló - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 no se pudo instalar. Calamares no fue capaz de cargar todos los módulos configurados. Esto es un problema con la forma en que Calamares es usado por la distribución - + <br/>The following modules could not be loaded: Los siguientes módulos no se pudieron cargar: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente quiere cancelar el proceso de instalación? Saldrá del instalador y se perderán todos los cambios. - + &Yes &Sí - + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back Regresar - + &Done &Hecho - + The installation is complete. Close the installer. La instalación se ha completado. Cierre el instalador. - + Error Error - + Installation Failed Error en la Instalación @@ -1290,6 +1286,22 @@ Saldrá del instalador y se perderán todos los cambios. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Saldrá del instalador y se perderán todos los cambios. Ubicación + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,14 +2268,14 @@ Saldrá del instalador y se perderán todos los cambios. ProcessResult - + There was no output from the command. No hubo salida del comando. - + Output: @@ -2236,52 +2284,52 @@ Salida: - + External command crashed. El comando externo falló. - + Command <i>%1</i> crashed. El comando <i>%1</i> falló. - + External command failed to start. El comando externo no se pudo iniciar. - + Command <i>%1</i> failed to start. El comando <i>%1</i> no se pudo iniciar. - + Internal error when starting command. Error interno al iniciar el comando. - + Bad parameters for process job call. Parámetros erróneos para la llamada de la tarea del procreso. - + External command failed to finish. El comando externo no se pudo finalizar. - + Command <i>%1</i> failed to finish in %2 seconds. El comando <i>%1</i> no se pudo finalizar en %2 segundos. - + External command finished with errors. El comando externo finalizó con errores. - + Command <i>%1</i> finished with exit code %2. El comando <i>%1</i> finalizó con un código de salida %2. @@ -2330,7 +2378,7 @@ Salida: (sin punto de montaje) - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index 4a698bd18..f3a9b2db1 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Chequeo de requerimientos del sistema completado. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Atrás - - + &Next &Siguiente - - + &Cancel &Cancelar - - + Cancel setup without changing the system. Cancelar la configuración sin cambiar el sistema. - - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Setup Failed Fallo en la configuración. - + Calamares Initialization Failed La inicialización de Calamares ha fallado - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 no pudo ser instalado. Calamares no pudo cargar todos los módulos configurados. Este es un problema con la forma en que Calamares esta siendo usada por la distribución. - + <br/>The following modules could not be loaded: <br/>Los siguientes módulos no pudieron ser cargados: - + Continue with installation? ¿Continuar con la instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El %1 programa de instalación esta a punto de realizar cambios a su disco con el fin de establecer %2.<br/><strong>Usted no podrá deshacer estos cambios.</strong> - + &Set up now &Configurar ahora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. Configuración completa. Cierre el programa de instalación. - + Cancel setup? ¿Cancelar la configuración? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿Realmente desea cancelar el actual proceso de configuración? El programa de instalación se cerrará y todos los cambios se perderán. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente desea cancelar el proceso de instalación actual? El instalador terminará y se perderán todos los cambios. - + &Yes &Si - + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back &Regresar - + &Done &Hecho - + The installation is complete. Close the installer. Instalación completa. Cierre el instalador. - + Error Error - + Installation Failed Instalación Fallida @@ -1291,6 +1287,22 @@ El instalador terminará y se perderán todos los cambios. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1514,6 +1526,42 @@ El instalador terminará y se perderán todos los cambios. Ubicación + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2221,14 +2269,14 @@ El instalador terminará y se perderán todos los cambios. ProcessResult - + There was no output from the command. No hubo salida desde el comando. - + Output: @@ -2237,52 +2285,52 @@ Salida - + External command crashed. El comando externo ha fallado. - + Command <i>%1</i> crashed. El comando <i>%1</i> ha fallado. - + External command failed to start. El comando externo falló al iniciar. - + Command <i>%1</i> failed to start. El comando <i>%1</i> Falló al iniciar. - + Internal error when starting command. Error interno al iniciar el comando. - + Bad parameters for process job call. Parámetros erróneos en la llamada al proceso. - + External command failed to finish. Comando externo falla al finalizar - + Command <i>%1</i> failed to finish in %2 seconds. Comando <i>%1</i> falló al finalizar en %2 segundos. - + External command finished with errors. Comando externo finalizado con errores - + Command <i>%1</i> finished with exit code %2. Comando <i>%1</i> finalizó con código de salida %2. @@ -2331,7 +2379,7 @@ Salida - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 29df800cc..4eacba4a9 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back &Atrás - - + &Next &Próximo - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed Falló la instalación @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. Ubicación + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Parámetros erróneos para el trabajo en proceso. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index ccff140ab..82674b075 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Tagasi - - + &Next &Edasi - - + &Cancel &Tühista - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Tühista paigaldamine ilma süsteemi muutmata. - + Setup Failed - + Calamares Initialization Failed Calamarese alglaadimine ebaõnnestus - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ei saa paigaldada. Calamares ei saanud laadida kõiki konfigureeritud mooduleid. See on distributsiooni põhjustatud Calamarese kasutamise viga. - + <br/>The following modules could not be loaded: <br/>Järgnevaid mooduleid ei saanud laadida: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Seadista kohe - + &Set up - + &Seadista - + &Install &Paigalda - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Tühista paigaldamine? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Kas sa tõesti soovid tühistada praeguse paigaldusprotsessi? Paigaldaja sulgub ning kõik muutused kaovad. - + &Yes &Jah - + &No &Ei - + &Close &Sulge - + Continue with setup? Jätka seadistusega? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 paigaldaja on tegemas muudatusi sinu kettale, et paigaldada %2.<br/><strong>Sa ei saa neid muudatusi tagasi võtta.</strong> - + &Install now &Paigalda kohe - + Go &back Mine &tagasi - + &Done &Valmis - + The installation is complete. Close the installer. Paigaldamine on lõpetatud. Sulge paigaldaja. - + Error Viga - + Installation Failed Paigaldamine ebaõnnestus @@ -1111,7 +1107,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. <Restart checkbox tooltip> - + <Restart checkbox tooltip> @@ -1159,7 +1155,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. Setup Complete - + Seadistus valmis @@ -1289,6 +1285,22 @@ Paigaldaja sulgub ning kõik muutused kaovad. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Paigaldaja sulgub ning kõik muutused kaovad. Asukoht + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,14 +2267,14 @@ Paigaldaja sulgub ning kõik muutused kaovad. ProcessResult - + There was no output from the command. Käsul polnud väljundit. - + Output: @@ -2235,52 +2283,52 @@ Väljund: - + External command crashed. Väline käsk jooksis kokku. - + Command <i>%1</i> crashed. Käsk <i>%1</i> jooksis kokku. - + External command failed to start. Välise käsu käivitamine ebaõnnestus. - + Command <i>%1</i> failed to start. Käsu <i>%1</i> käivitamine ebaõnnestus. - + Internal error when starting command. Käsu käivitamisel esines sisemine viga. - + Bad parameters for process job call. Protsessi töö kutsel olid halvad parameetrid. - + External command failed to finish. Väline käsk ei suutnud lõpetada. - + Command <i>%1</i> failed to finish in %2 seconds. Käsk <i>%1</i> ei suutnud lõpetada %2 sekundi jooksul. - + External command finished with errors. Väline käsk lõpetas vigadega. - + Command <i>%1</i> finished with exit code %2. Käsk <i>%1</i> lõpetas sulgemiskoodiga %2. @@ -2329,7 +2377,7 @@ Väljund: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 7365976a6..0698b7b78 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Atzera - - + &Next &Hurrengoa - - + &Cancel &Utzi - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Instalazioa bertan behera utsi da sisteman aldaketarik gabe. - + Setup Failed - + Calamares Initialization Failed Calamares instalazioak huts egin du - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ezin da instalatu. Calamares ez da gai konfiguratutako modulu guztiak kargatzeko. Arazao hau banaketak Calamares erabiltzen duen eragatik da. - + <br/>The following modules could not be loaded: <br/> Ondorengo moduluak ezin izan dira kargatu: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalatu - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Bertan behera utzi instalazioa? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ziur uneko instalazio prozesua bertan behera utzi nahi duzula? Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - + &Yes &Bai - + &No &Ez - + &Close &Itxi - + Continue with setup? Ezarpenarekin jarraitu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalatzailea zure diskoan aldaketak egitera doa %2 instalatzeko.<br/><strong>Ezingo dituzu desegin aldaketa hauek.</strong> - + &Install now &Instalatu orain - + Go &back &Atzera - + &Done E&ginda - + The installation is complete. Close the installer. Instalazioa burutu da. Itxi instalatzailea. - + Error Akatsa - + Installation Failed Instalazioak huts egin du @@ -1289,6 +1285,22 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Kokapena + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,13 +2267,13 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. ProcessResult - + There was no output from the command. - + Output: @@ -2234,52 +2282,52 @@ Irteera: - + External command crashed. Kanpo-komandoak huts egin du. - + Command <i>%1</i> crashed. <i>%1</i> komandoak huts egin du. - + External command failed to start. Ezin izan da %1 kanpo-komandoa abiarazi. - + Command <i>%1</i> failed to start. Ezin izan da <i>%1</i> komandoa abiarazi. - + Internal error when starting command. Barne-akatsa komandoa abiarazterakoan. - + Bad parameters for process job call. - + External command failed to finish. Kanpo-komandoa ez da bukatu. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. Kanpo-komandoak akatsekin bukatu da. - + Command <i>%1</i> finished with exit code %2. @@ -2328,7 +2376,7 @@ Irteera: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 1b2cbf823..43c251241 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index be8928448..047a6fbaf 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Odotetaan %n moduuli(t).Odotetaan %n moduuli(t). - + (%n second(s)) (%n sekunttia(s))(%n sekunttia(s)) - + System-requirements checking is complete. Järjestelmävaatimusten tarkistus on valmis. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Takaisin - - + &Next &Seuraava - - + &Cancel &Peruuta - - + Cancel setup without changing the system. Peruuta asennus muuttamatta järjestelmää. - - + Cancel installation without changing the system. Peruuta asennus tekemättä muutoksia järjestelmään. - + Setup Failed Asennus epäonnistui - + Calamares Initialization Failed Calamares-alustustaminen epäonnistui - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ei voida asentaa. Calamares ei voinut ladata kaikkia määritettyjä moduuleja. Ongelma on siinä, miten jakelu käyttää Calamaresia. - + <br/>The following modules could not be loaded: <br/>Seuraavia moduuleja ei voitu ladata: - + Continue with installation? Jatka asennusta? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 asennusohjelma on aikeissa tehdä muutoksia levylle, jotta voit määrittää kohteen %2.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Set up now &Määritä nyt - + &Set up &Määritä - + &Install &Asenna - + Setup is complete. Close the setup program. Asennus on valmis. Sulje asennusohjelma. - + Cancel setup? Peruuta asennus? - + Cancel installation? Peruuta asennus? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Haluatko todella peruuttaa nykyisen asennuksen? Asennusohjelma lopetetaan ja kaikki muutokset menetetään. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Oletko varma että haluat peruuttaa käynnissä olevan asennusprosessin? Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + &Yes &Kyllä - + &No &Ei - + &Close &Sulje - + Continue with setup? Jatka asennusta? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Install now &Asenna nyt - + Go &back Mene &takaisin - + &Done &Valmis - + The installation is complete. Close the installer. Asennus on valmis. Sulje asennusohjelma. - + Error Virhe - + Installation Failed Asennus Epäonnistui @@ -1290,6 +1286,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Tiedostoon ei voitu kirjoittaa <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Initramfs luominen mkinitcpion avulla. + + + + InitramfsJob + + + Creating initramfs. + Luodaan initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Sijainti + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKS-avaintiedoston määrittäminen. + + + + + No partitions are defined. + Osioita ei ole määritelty. + + + + + + Encrypted rootfs setup error + Salattu rootfs asennusvirhe + + + + Root partition %1 is LUKS but no passphrase has been set. + Juuriosio %1 on LUKS, mutta salasanaa ei ole asetettu. + + + + Could not create LUKS key file for root partition %1. + LUKS-avaintiedostoa ei voitu luoda juuriosioon %1. + + + + Could configure LUKS key file on partition %1. + Voit määrittää LUKS-avaimen osioon %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. ProcessResult - + There was no output from the command. Komentoa ei voitu ajaa. - + Output: @@ -2236,52 +2284,52 @@ Ulostulo: - + External command crashed. Ulkoinen komento kaatui. - + Command <i>%1</i> crashed. Komento <i>%1</i> kaatui. - + External command failed to start. Ulkoisen komennon käynnistäminen epäonnistui. - + Command <i>%1</i> failed to start. Komennon <i>%1</i> käynnistäminen epäonnistui. - + Internal error when starting command. Sisäinen virhe käynnistettäessä komentoa. - + Bad parameters for process job call. Huonot parametrit prosessin kutsuun. - + External command failed to finish. Ulkoinen komento ei onnistunut. - + Command <i>%1</i> failed to finish in %2 seconds. Komento <i>%1</i> epäonnistui %2 sekunnissa. - + External command finished with errors. Ulkoinen komento päättyi virheisiin. - + Command <i>%1</i> finished with exit code %2. Komento <i>%1</i> päättyi koodiin %2. @@ -2330,7 +2378,7 @@ Ulostulo: (ei liitoskohtaa) - + Requirements checking for module <i>%1</i> is complete. Moduulin vaatimusten tarkistaminen <i>%1</i> on valmis. diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index d6d2f0017..b3e8f620c 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). En attente de %n module(s).En attente de %n module(s). - + (%n second(s)) (%n seconde(s))(%n seconde(s)) - + System-requirements checking is complete. La vérification des prérequis système est terminée. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Précédent - - + &Next &Suivant - - + &Cancel &Annuler - - + Cancel setup without changing the system. Annuler la configuration sans toucher au système. - - + Cancel installation without changing the system. Annuler l'installation sans modifier votre système. - + Setup Failed Échec de la configuration - + Calamares Initialization Failed L'initialisation de Calamares a échoué - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 n'a pas pu être installé. Calamares n'a pas pu charger tous les modules configurés. C'est un problème avec la façon dont Calamares est utilisé par la distribution. - + <br/>The following modules could not be loaded: Les modules suivants n'ont pas pu être chargés : - + Continue with installation? Continuer avec l'installation ? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Le programme de configuration de %1 est sur le point de procéder aux changements sur le disque afin de configurer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.</strong> - + &Set up now &Configurer maintenant - + &Set up &Configurer - + &Install &Installer - + Setup is complete. Close the setup program. La configuration est terminée. Fermer le programme de configuration. - + Cancel setup? Annuler la configuration ? - + Cancel installation? Abandonner l'installation ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Voulez-vous réellement abandonner le processus de configuration ? Le programme de configuration se fermera et les changements seront perdus. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voulez-vous réellement abandonner le processus d'installation ? L'installateur se fermera et les changements seront perdus. - + &Yes &Oui - + &No &Non - + &Close &Fermer - + Continue with setup? Poursuivre la configuration ? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'installateur %1 est sur le point de procéder aux changements sur le disque afin d'installer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.<strong> - + &Install now &Installer maintenant - + Go &back &Retour - + &Done &Terminé - + The installation is complete. Close the installer. L'installation est terminée. Fermer l'installateur. - + Error Erreur - + Installation Failed L'installation a échoué @@ -1290,6 +1286,22 @@ L'installateur se fermera et les changements seront perdus. Impossible d'écrire dans le fichier <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Création de l'initramfs avec mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + création du initramfs + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ L'installateur se fermera et les changements seront perdus. Localisation + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Configuration de la clé de fichier LUKS. + + + + + No partitions are defined. + Aucune partition n'est définie. + + + + + + Encrypted rootfs setup error + Erreur du chiffrement du setup rootfs + + + + Root partition %1 is LUKS but no passphrase has been set. + La partition racine %1 est LUKS mais aucune passphrase n'a été configurée. + + + + Could not create LUKS key file for root partition %1. + Impossible de créer le fichier de clé LUKS pour la partition racine %1. + + + + Could configure LUKS key file on partition %1. + Succès de la création du fichier de clé LUKS pour la partition racine %1. + + NetInstallPage @@ -2221,14 +2269,14 @@ Vous pouvez obtenir un aperçu des différentes apparences en cliquant sur celle ProcessResult - + There was no output from the command. Il y a eu aucune sortie de la commande - + Output: @@ -2237,52 +2285,52 @@ Sortie - + External command crashed. La commande externe s'est mal terminée. - + Command <i>%1</i> crashed. La commande <i>%1</i> s'est arrêtée inopinément. - + External command failed to start. La commande externe n'a pas pu être lancée. - + Command <i>%1</i> failed to start. La commande <i>%1</i> n'a pas pu être lancée. - + Internal error when starting command. Erreur interne au lancement de la commande - + Bad parameters for process job call. Mauvais paramètres pour l'appel au processus de job. - + External command failed to finish. La commande externe ne s'est pas terminée. - + Command <i>%1</i> failed to finish in %2 seconds. La commande <i>%1</i> ne s'est pas terminée en %2 secondes. - + External command finished with errors. La commande externe s'est terminée avec des erreurs. - + Command <i>%1</i> finished with exit code %2. La commande <i>%1</i> s'est terminée avec le code de sortie %2. @@ -2331,7 +2379,7 @@ Sortie (aucun point de montage) - + Requirements checking for module <i>%1</i> is complete. La vérification des prérequis pour le module <i>%1</i> est terminée. diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 7d8969f66..abd87a2ca 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index befb59012..d8bd5006d 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -209,17 +209,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -227,159 +227,155 @@ Calamares::ViewManager - + &Back &Atrás - - + &Next &Seguinte - - + &Cancel &Cancelar - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Cancelar a instalación sen cambiar o sistema - + Setup Failed - + Calamares Initialization Failed Fallou a inicialización do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Non é posíbel instalar %1. O calamares non foi quen de cargar todos os módulos configurados. Este é un problema relacionado con como esta distribución utiliza o Calamares. - + <br/>The following modules could not be loaded: <br/> Non foi posíbel cargar os módulos seguintes: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancelar a instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Desexa realmente cancelar o proceso actual de instalación? O instalador pecharase e perderanse todos os cambios. - + &Yes &Si - + &No &Non - + &Close &Pechar - + Continue with setup? Continuar coa posta en marcha? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está a piques de realizar cambios no seu disco para instalar %2.<br/><strong>Estes cambios non poderán desfacerse.</strong> - + &Install now &Instalar agora - + Go &back Ir &atrás - + &Done &Feito - + The installation is complete. Close the installer. Completouse a instalacion. Peche o instalador - + Error Erro - + Installation Failed Erro na instalación @@ -1290,6 +1286,22 @@ O instalador pecharase e perderanse todos os cambios. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ O instalador pecharase e perderanse todos os cambios. Localización... + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,14 +2268,14 @@ O instalador pecharase e perderanse todos os cambios. ProcessResult - + There was no output from the command. A saída non produciu ningunha saída. - + Output: @@ -2236,52 +2284,52 @@ Saída: - + External command crashed. A orde externa fallou - + Command <i>%1</i> crashed. A orde <i>%1</i> fallou. - + External command failed to start. Non foi posíbel iniciar a orde externa. - + Command <i>%1</i> failed to start. Non foi posíbel iniciar a orde <i>%1</i>. - + Internal error when starting command. Produciuse un erro interno ao iniciar a orde. - + Bad parameters for process job call. Erro nos parámetros ao chamar o traballo - + External command failed to finish. A orde externa non se puido rematar. - + Command <i>%1</i> failed to finish in %2 seconds. A orde <i>%1</i> non se puido rematar en %2s segundos. - + External command finished with errors. A orde externa rematou con erros. - + Command <i>%1</i> finished with exit code %2. A orde <i>%1</i> rematou co código de erro %2. @@ -2330,7 +2378,7 @@ Saída: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index 1e9c71185..79c880be9 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 3dc37fd5f..bba1c30e8 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). בהמתנה למודול אחד.בהמתנה לשני מודולים.בהמתנה ל־%n מודולים.בהמתנה ל־%n מודולים. - + (%n second(s)) ((שנייה אחת)(שתי שניות)(%n שניות)(%n שניות) - + System-requirements checking is complete. בדיקת דרישות המערכת הושלמה. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back ה&קודם - - + &Next הב&א - - + &Cancel &ביטול - - + Cancel setup without changing the system. ביטול ההתקנה ללא שינוי המערכת. - - + Cancel installation without changing the system. ביטול התקנה ללא ביצוע שינוי במערכת. - + Setup Failed ההתקנה נכשלה - + Calamares Initialization Failed הפעלת Calamares נכשלה - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. אין אפשרות להתקין את %1. ל־Calamares אין אפשרות לטעון את המודולים המוגדרים. מדובר בתקלה באופן בו ההפצה משתמשת ב־Calamares. - + <br/>The following modules could not be loaded: <br/>לא ניתן לטעון את המודולים הבאים: - + Continue with installation? להמשיך בהתקנה? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> תכנית ההתקנה של %1 עומדת לבצע שינויים בכונן הקשיח שלך לטובת התקנת %2.<br/><strong>לא תהיה לך אפשרות לבטל את השינויים האלה.</strong> - + &Set up now להת&קין כעת - + &Set up להת&קין - + &Install הת&קנה - + Setup is complete. Close the setup program. ההתקנה הושלמה. נא לסגור את תכנית ההתקנה. - + Cancel setup? לבטל את ההתקנה? - + Cancel installation? לבטל את ההתקנה? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. לבטל את תהליך ההתקנה הנוכחי? תכנית ההתקנה תצא וכל השינויים יאבדו. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. לבטל את תהליך ההתקנה? אשף ההתקנה ייסגר וכל השינויים יאבדו. - + &Yes &כן - + &No &לא - + &Close &סגירה - + Continue with setup? להמשיך בהתקנה? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> אשף ההתקנה של %1 הולך לבצע שינויים בכונן שלך לטובת התקנת %2.<br/><strong>לא תוכל לבטל את השינויים הללו.</strong> - + &Install now להת&קין כעת - + Go &back ח&זרה - + &Done &סיום - + The installation is complete. Close the installer. תהליך ההתקנה הושלם. נא לסגור את אשף ההתקנה. - + Error שגיאה - + Installation Failed ההתקנה נכשלה @@ -1290,6 +1286,22 @@ The installer will quit and all changes will be lost. לא ניתן לכתוב לקובץ <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + נוצר initramfs עם mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + נוצר initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ The installer will quit and all changes will be lost. מיקום + + LuksBootKeyFileJob + + + Configuring LUKS key file. + קובץ מפתח ה־LUKS מוגדר. + + + + + No partitions are defined. + לא הוגדרו מחיצות. + + + + + + Encrypted rootfs setup error + שגיאת התקנת מחיצת שורש מוצפנת + + + + Root partition %1 is LUKS but no passphrase has been set. + מחיצת השורש %1 היא LUKS אבל לא הוגדרה מילת צופן. + + + + Could not create LUKS key file for root partition %1. + לא ניתן ליצור קובץ מפתח LUKS למחיצת השורש %1. + + + + Could configure LUKS key file on partition %1. + לא ניתן להגדיר קובץ מפתח LUKS למחיצה %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. לא היה פלט מהפקודה. - + Output: @@ -2236,52 +2284,52 @@ Output: - + External command crashed. הפקודה החיצונית נכשלה. - + Command <i>%1</i> crashed. הפקודה <i>%1</i> קרסה. - + External command failed to start. הפעלת הפעולה החיצונית נכשלה. - + Command <i>%1</i> failed to start. הפעלת הפקודה <i>%1</i> נכשלה. - + Internal error when starting command. שגיאה פנימית בעת הפעלת פקודה. - + Bad parameters for process job call. פרמטרים לא תקינים עבור קריאת עיבוד פעולה. - + External command failed to finish. סיום הפקודה החיצונית נכשל. - + Command <i>%1</i> failed to finish in %2 seconds. הפקודה <i>%1</i> לא הסתיימה תוך %2 שניות. - + External command finished with errors. הפקודה החיצונית הסתיימה עם שגיאות. - + Command <i>%1</i> finished with exit code %2. הפקודה <i>%1</i> הסתיימה עם קוד היציאה %2. @@ -2330,7 +2378,7 @@ Output: (אין נקודת עגינה) - + Requirements checking for module <i>%1</i> is complete. בדיקת הדרישות למודול <i>%1</i> הושלמה. diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index 8fcd48dcb..127346027 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -14,7 +14,7 @@ This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. - यह सिस्टम <strong>BIOS</strong>बूट वातावरण के साथ शुरू किया गया।<br><br>BIOS वातावरण से स्टार्टअप विन्यस्त करने के लिए इंस्टॉलर को <strong>GRUB</strong> जैसे बूट लोडर को, या तो विभाजन की शुरुआत में या फिर <strong>Master Boot Record</strong> पर विभाजन तालिका की शुरुआत में इंस्टॉल (सुझाया जाता है) करना होगा। यह स्वत: होता है, परंतु अगर आप मैनुअल विभाजन करना चुनते है; तो आपको इसे खुद ही बनाना होगा। + यह सिस्टम <strong>BIOS</strong>बूट वातावरण के साथ शुरू किया गया।<br><br>BIOS वातावरण से स्टार्टअप विन्यस्त करने के लिए इंस्टॉलर को <strong>GRUB</strong> जैसे बूट लोडर को, या तो विभाजन की शुरुआत में या फिर <strong>मास्टर बूट रिकॉर्ड</strong> पर विभाजन तालिका की शुरुआत में इंस्टॉल (सुझाया जाता है) करना होगा। यह स्वत: होता है, परंतु अगर आप मैनुअल विभाजन करना चुनते है; तो आपको इसे खुद ही बनाना होगा। @@ -22,7 +22,7 @@ Master Boot Record of %1 - %1 का Master Boot Record + %1 का मास्टर बूट रिकॉर्ड @@ -63,22 +63,22 @@ GlobalStorage - GlobalStorage + ग्लोबल स्टोरेज JobQueue - JobQueue + कार्य पंक्ति Modules - मापांक + मॉड्यूल Type: - प्रकार + प्रकार : @@ -89,7 +89,7 @@ Interface: - अंतरफलक : + इंटरफ़ेस : @@ -99,17 +99,17 @@ Reload Stylesheet - + शैली पत्रक पुनः लोड करें Widget Tree - + विजेट ट्री Debug information - डीबग संबंधी जानकारी + डीबग जानकारी @@ -117,7 +117,7 @@ Set up - + सेटअप @@ -130,12 +130,12 @@ Job failed (%1) - + कार्य विफल रहा (%1) Programmed job failure was explicitly requested. - + प्रोग्राम किए गए कार्य की विफलता स्पष्ट रूप से अनुरोध की गई थी। @@ -143,7 +143,7 @@ Done - पूर्ण + पूर्ण हुआ @@ -151,7 +151,7 @@ Example job (%1) - + उदाहरण कार्य (%1) @@ -159,12 +159,12 @@ Run command '%1' in target system. - + लक्षित सिस्टम में कमांड '%1' चलाएँ। Run command '%1'. - + कमांड '%1' चलाएँ। @@ -187,200 +187,197 @@ Working directory %1 for python job %2 is not readable. - Python job %2 के लिए कार्यरत डायरेक्टरी %1 रीड करने योग्य नहीं है। + पाइथन कार्य %2 के लिए कार्यरत डायरेक्टरी %1 रीड करने योग्य नहीं है। Bad main script file - मुख्य स्क्रिप्ट फ़ाइल गलत है + ख़राब मुख्य स्क्रिप्ट फ़ाइल Main script file %1 for python job %2 is not readable. - Python job %2 के लिए मुख्य स्क्रिप्ट फ़ाइल %1 रीड करने योग्य नहीं है। + पाइथन कार्य %2 हेतु मुख्य स्क्रिप्ट फ़ाइल %1 रीड करने योग्य नहीं है। Boost.Python error in job "%1". - Job "%1" में Boost.Python त्रुटि। + कार्य "%1" में Boost.Python त्रुटि। Calamares::RequirementsChecker - + Waiting for %n module(s). - + %n मॉड्यूल की प्रतीक्षा में।%n मॉड्यूल की प्रतीक्षा में। - + (%n second(s)) - + (%n सेकंड)(%n सेकंड) - + System-requirements checking is complete. - + सिस्टम हेतु आवश्यकताओं की जाँच पूर्ण हुई। Calamares::ViewManager - + &Back वापस (&B) - - + &Next आगे (&N) - - + &Cancel रद्द करें (&C) - - + Cancel setup without changing the system. - + सिस्टम में बदलाव किये बिना सेटअप रद्द करें। - - + Cancel installation without changing the system. सिस्टम में बदलाव किये बिना इंस्टॉल रद्द करें। - + Setup Failed - + सेटअप विफल रहा - + Calamares Initialization Failed Calamares का आरंभीकरण विफल रहा - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - %1 को इंस्टॉल नहीं किया जा सका। Calamares सारे विन्यस्त मापांकों को लोड करने में विफल रहा। इस समस्या का कारण लिनक्स-वितरण द्वारा Calamares के उपयोग-संबंधी कोई त्रुटि है। + %1 को इनस्टॉल नहीं किया जा सका। Calamares सभी विन्यस्त मापांकों को लोड करने में विफल रहा। यह आपके लिनक्स वितरण द्वारा Calamares के उपयोग से संबंधित एक समस्या है। - + <br/>The following modules could not be loaded: <br/>निम्नलिखित मापांक लोड नहीं हो सकें : - + Continue with installation? - + इंस्टॉल प्रक्रिया जारी रखें? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + %2 सेटअप करने हेतु %1 सेटअप प्रोग्राम आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Set up now - + अभी सेटअप करें (&S) - + &Set up - + सेटअप करें (&S) - + &Install इंस्टॉल करें (&I) - + Setup is complete. Close the setup program. - + सेटअप पूर्ण हुआ। सेटअप प्रोग्राम बंद कर दें। - + Cancel setup? - + सेटअप रद्द करें? - + Cancel installation? इंस्टॉल रद्द करें? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + क्या आप वाकई वर्तमान सेटअप प्रक्रिया रद्द करना चाहते हैं? +सेटअप प्रोग्राम बंद हो जाएगा व सभी बदलाव नष्ट। - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. क्या आप वाकई वर्तमान इंस्टॉल प्रक्रिया रद्द करना चाहते हैं? इंस्टॉलर बंद हो जाएगा व सभी बदलाव नष्ट। - + &Yes हाँ (&Y) - + &No नहीं (&N) - + &Close बंद करें (&C) - + Continue with setup? सेटअप करना जारी रखें? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - %2 इंस्टॉल करने के लिए %1 इंस्टॉलर आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> + %2 इंस्टॉल करने हेतु %1 इंस्टॉलर आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Install now अभी इंस्टॉल करें (&I) - + Go &back वापस जाएँ (&b) - + &Done - पूर्ण हुआ (&D) + हो गया (&D) - + The installation is complete. Close the installer. - इंस्टॉल पूर्ण हुआ। अब इंस्टॉलर को बंद करें। + इंस्टॉल पूर्ण हुआ।अब इंस्टॉलर को बंद करें। - + Error त्रुटि - + Installation Failed - इंस्टॉल विफल रहा। + इंस्टॉल विफल रहा @@ -388,22 +385,22 @@ The installer will quit and all changes will be lost. Unknown exception type - अपवाद का प्रकार अज्ञात है + अपवाद का प्रकार अज्ञात unparseable Python error - unparseable Python त्रुटि + अप्राप्य पाइथन त्रुटि unparseable Python traceback - unparseable Python traceback + अप्राप्य पाइथन ट्रेसबैक Unfetchable Python error. - Unfetchable Python त्रुटि। + पहुँच से बाहर पाइथन त्रुटि। @@ -411,7 +408,7 @@ The installer will quit and all changes will be lost. %1 Setup Program - + %1 सेटअप प्रोग्राम @@ -421,7 +418,7 @@ The installer will quit and all changes will be lost. Show debug information - डीबग संबंधी जानकारी दिखाएँ + डीबग जानकारी दिखाएँ @@ -442,7 +439,7 @@ The installer will quit and all changes will be lost. After: - बाद में: + बाद में : @@ -452,7 +449,7 @@ The installer will quit and all changes will be lost. Boot loader location: - बूट लोडर का स्थान: + बूट लोडर का स्थान : @@ -475,17 +472,17 @@ The installer will quit and all changes will be lost. <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - <strong>छोटा करने के लिए विभाजन चुनें, फिर नीचे bar से उसका आकर सेट करें</strong> + <strong>छोटा करने हेतु विभाजन चुनें, फिर नीचे bar से उसका आकर सेट करें</strong> %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + %1 को छोटा करके %2MiB किया जाएगा व %4 हेतु %3MiB का एक नया विभाजन बनेगा। <strong>Select a partition to install on</strong> - <strong>इंस्टॉल के लिए विभाजन चुनें</strong> + <strong>इंस्टॉल हेतु विभाजन चुनें</strong> @@ -523,27 +520,27 @@ The installer will quit and all changes will be lost. No Swap - + कोई स्वैप नहीं Reuse Swap - + स्वैप पुनः उपयोग करें Swap (no Hibernate) - + स्वैप (हाइबरनेशन/सिस्टम सुप्त रहित) Swap (with Hibernate) - + स्वैप (हाइबरनेशन/सिस्टम सुप्त सहित) Swap to file - + स्वैप फाइल बनाएं @@ -587,7 +584,7 @@ The installer will quit and all changes will be lost. Cleared all mounts for %1 - %1 के लिए सभी माउंट हटा दिए गए + %1 हेतु सभी माउंट हटा दिए गए @@ -624,12 +621,12 @@ The installer will quit and all changes will be lost. The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + होस्ट वातावरण में कमांड हेतु रुट पथ जानना आवश्यक है परन्तु कोई रूट माउंट पॉइंट परिभाषित नहीं किया गया है। The command needs to know the user's name, but no username is defined. - + कमांड हेतु उपयोक्ता का नाम आवश्यक है परन्तु कोई नाम परिभाषित नहीं है। @@ -637,7 +634,7 @@ The installer will quit and all changes will be lost. Contextual Processes Job - Contextual Processes Job + प्रासंगिक प्रक्रिया कार्य @@ -680,7 +677,7 @@ The installer will quit and all changes will be lost. Flags: - Flags: + फ्लैग : @@ -723,12 +720,12 @@ The installer will quit and all changes will be lost. Create new %2MiB partition on %4 (%3) with file system %1. - + फ़ाइल सिस्टम %1 के साथ %4 (%3) पर नया %2MiB का विभाजन बनाएँ। Create new <strong>%2MiB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + फ़ाइल सिस्टम <strong>%1</strong> के साथ <strong>%4</strong> (%3) पर नया <strong>%2MiB</strong> का विभाजन बनाएँ। @@ -761,7 +758,7 @@ The installer will quit and all changes will be lost. Master Boot Record (MBR) - Master Boot Record (MBR) + मास्टर बूट रिकॉर्ड (MBR) @@ -835,7 +832,7 @@ The installer will quit and all changes will be lost. Create Volume Group - + वॉल्यूम समूह बनाएँ @@ -843,22 +840,22 @@ The installer will quit and all changes will be lost. Create new volume group named %1. - + %1 नामक नया वॉल्यूम समूह बनाएं। Create new volume group named <strong>%1</strong>. - + <strong>%1</strong> नामक नया वॉल्यूम समूह बनाएं। Creating new volume group named %1. - + %1 नामक नया वॉल्यूम समूह बनाया जा रहा है। The installer failed to create a volume group named '%1'. - + इंस्टालर '%1' नामक वॉल्यूम समूह को बनाने में विफल रहा। @@ -867,17 +864,17 @@ The installer will quit and all changes will be lost. Deactivate volume group named %1. - + %1 नामक वॉल्यूम समूह को निष्क्रिय करें। Deactivate volume group named <strong>%1</strong>. - + <strong>%1</strong> नामक वॉल्यूम समूह को निष्क्रिय करें। The installer failed to deactivate a volume group named %1. - + इंस्टॉलर %1 नामक वॉल्यूम समूह को निष्क्रिय करने में विफल रहा। @@ -948,7 +945,7 @@ The installer will quit and all changes will be lost. %1 - (%2) device[name] - (device-node[name]) - + %1 - (%2) @@ -956,12 +953,12 @@ The installer will quit and all changes will be lost. Write LUKS configuration for Dracut to %1 - + Dracut हेतु LUKS विन्यास %1 पर राइट करना Skip writing LUKS configuration for Dracut: "/" partition is not encrypted - + Dracut हेतु LUKS विन्यास %1 पर राइट करना छोड़ें : "/" विभाजन एन्क्रिप्टेड नहीं है @@ -974,7 +971,7 @@ The installer will quit and all changes will be lost. Dummy C++ Job - Dummy C++ Job + डमी सी++ कार्य @@ -1027,7 +1024,7 @@ The installer will quit and all changes will be lost. Flags: - Flags: + फ्लैग : @@ -1111,7 +1108,7 @@ The installer will quit and all changes will be lost. <Restart checkbox tooltip> - + <Restart checkbox tooltip> @@ -1121,12 +1118,12 @@ The installer will quit and all changes will be lost. <h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system. - + <h1>सब हो गया।</h1><br/>आपके कंप्यूटर पर %1 को सेटअप कर दिया गया है।<br/>अब आप अपने नए सिस्टम का उपयोग कर सकते है। <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html> - + <html><head/><body><p>यह विकल्प चयनित होने पर आपका सिस्टम तुरंत पुनः आरंभ हो जाएगा जब आप <span style="font-style:italic;">हो गया</span>पर क्लिक करेंगे या सेटअप प्रोग्राम को बंद करेंगे।</p></body></html> @@ -1136,12 +1133,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>यह विकल्प चयनित होने पर आपका सिस्टम तुरंत पुनः आरंभ हो जाएगा जब आप <span style="font-style:italic;">हो गया</span>पर क्लिक करेंगे या इंस्टॉलर बंद करेंगे।</p></body></html> <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>सेटअप विफल रहा</h1><br/>%1 आपके कंप्यूटर पर सेटअप नहीं हुआ।<br/>त्रुटि संदेश : %2। @@ -1159,7 +1156,7 @@ The installer will quit and all changes will be lost. Setup Complete - + सेटअप पूर्ण हुआ @@ -1169,7 +1166,7 @@ The installer will quit and all changes will be lost. The setup of %1 is complete. - + %1 का सेटअप पूर्ण हुआ। @@ -1182,12 +1179,12 @@ The installer will quit and all changes will be lost. Format partition %1 (file system: %2, size: %3 MiB) on %4. - + विभाजन %1 (फ़ाइल सिस्टम: %2, आकार: %3 MiB) को %4 पर फॉर्मेट करें। Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + फ़ाइल सिस्टम <strong>%2</strong> के साथ <strong>%3MiB</strong> के विभाजन <strong>%1</strong> को फॉर्मेट करें। @@ -1205,37 +1202,37 @@ The installer will quit and all changes will be lost. has at least %1 GiB available drive space - + कम-से-कम %1 GiB स्पेस ड्राइव पर उपलब्ध हो There is not enough drive space. At least %1 GiB is required. - + ड्राइव में पर्याप्त स्पेस नहीं है। कम-से-कम %1 GiB होना आवश्यक है। has at least %1 GiB working memory - + कम-से-कम %1 GiB मेमोरी उपलब्ध हो The system does not have enough working memory. At least %1 GiB is required. - + सिस्टम में पर्याप्त मेमोरी नहीं है। कम-से-कम %1 GiB होनी आवश्यक है। is plugged in to a power source - बिजली से कनेक्ट है। + पॉवर के स्रोत से कनेक्ट है The system is not plugged in to a power source. - सिस्टम बिजली से कनेक्ट नहीं है। + सिस्टम पॉवर के स्रोत से कनेक्ट नहीं है। is connected to the Internet - इंटरनेट से कनेक्ट है। + इंटरनेट से कनेक्ट है @@ -1245,7 +1242,7 @@ The installer will quit and all changes will be lost. The setup program is not running with administrator rights. - + सेटअप प्रोग्राम के पास प्रबंधक अधिकार नहीं है। @@ -1255,12 +1252,12 @@ The installer will quit and all changes will be lost. The screen is too small to display the setup program. - + सेटअप प्रोग्राम प्रदर्शित करने हेतु स्क्रीन काफ़ी छोटी है। The screen is too small to display the installer. - इंस्टॉलर दिखाने के लिए स्क्रीन बहुत छोटी है। + इंस्टॉलर प्रदर्शित करने हेतु स्क्रीन काफ़ी छोटी है। @@ -1271,22 +1268,38 @@ The installer will quit and all changes will be lost. OEM Batch Identifier - + OEM (मूल उपकरण निर्माता) बैच पहचानकर्ता Could not create directories <code>%1</code>. - + <code>%1</code> डायरेक्टरी बनाई नहीं जा सकीं। Could not open file <code>%1</code>. - + <code>%1</code> फाइल खोली नहीं जा सकीं। Could not write to file <code>%1</code>. - + <code>%1</code> फाइल पर राइट नहीं किया जा सका। + + + + InitcpioJob + + + Creating initramfs with mkinitcpio. + mkinitcpio के साथ initramfs बनाना। + + + + InitramfsJob + + + Creating initramfs. + initramfs बनाना। @@ -1304,7 +1317,7 @@ The installer will quit and all changes will be lost. Executing script: &nbsp;<code>%1</code> - + निष्पादित स्क्रिप्ट : &nbsp;<code>%1</code> @@ -1312,7 +1325,7 @@ The installer will quit and all changes will be lost. Script - Script + स्क्रिप्ट @@ -1369,7 +1382,7 @@ The installer will quit and all changes will be lost. I accept the terms and conditions above. - मैं उपर्युक्त नियम व शर्तें स्वीकार करता हूँ। + मैं उपरोक्त नियम व शर्तें स्वीकार करता हूँ। @@ -1384,7 +1397,7 @@ The installer will quit and all changes will be lost. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + <h1>लाइसेंस अनुबंध</h1> यह सेटअप प्रक्रिया अतिरिक्त सुविधाएँ प्रदान करने व उपयोक्ता अनुभव में वृद्धि हेतु लाइसेंस शर्तों के अधीन अमुक्त सॉफ्टवेयर को इंस्टॉल कर सकती है। @@ -1437,32 +1450,32 @@ The installer will quit and all changes will be lost. Shows the complete license text - + लाइसेंस को उसके पूर्ण स्वरुप में दिखाएँ Hide license text - + लाइसेंस लेख छिपाएँ Show license agreement - + लाइसेंस अनुबंध दिखाएँ Hide license agreement - + लाइसेंस अनुबंध छिपाएँ Opens the license agreement in a browser window. - + लाइसेंस अनुबंध को ब्राउज़र विंडो में खोलें। <a href="%1">View license agreement</a> - + <a href="%1">लाइसेंस अनुबंध देखें</a> @@ -1485,7 +1498,7 @@ The installer will quit and all changes will be lost. Zone: - क्षेत्र : + ज़ोन : @@ -1504,7 +1517,7 @@ The installer will quit and all changes will be lost. Loading location data... - स्थान संबंधी डाटा लोड किया जा रहा है... + स्थान संबंधी डाटा लोड हो रहा है... @@ -1512,6 +1525,42 @@ The installer will quit and all changes will be lost. स्थान + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKS कुंजी फाइल विन्यस्त करना। + + + + + No partitions are defined. + कोई विभाजन परिभाषित नहीं हैं। + + + + + + Encrypted rootfs setup error + एन्क्रिप्टेड rootfs सेटअप में त्रुटि + + + + Root partition %1 is LUKS but no passphrase has been set. + रूट विभाजन %1 LUKS है, लेकिन कोई कूटशब्द सेट नहीं किया गया है। + + + + Could not create LUKS key file for root partition %1. + रूट विभाजन %1 हेतु LUKS कुंजी फाइल बनाने में विफल। + + + + Could configure LUKS key file on partition %1. + विभाजन %1 पर LUKS कुंजी फ़ाइल को विन्यस्त कर सकता है। + + NetInstallPage @@ -1527,12 +1576,12 @@ The installer will quit and all changes will be lost. Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + नेटवर्क इंस्टॉल। (निष्क्रिय है : पैकेज सूची प्राप्त करने में असमर्थ, अपना नेटवर्क कनेक्शन जाँचें) Network Installation. (Disabled: Received invalid groups data) - + नेटवर्क इंस्टॉल (निष्क्रिय है : प्राप्त किया गया समूह डाटा अमान्य है) @@ -1548,17 +1597,17 @@ The installer will quit and all changes will be lost. Ba&tch: - + बैच (&t) : <html><head/><body><p>Enter a batch-identifier here. This will be stored in the target system.</p></body></html> - + <html><head/><body><p>यहां एक बैच-पहचानकर्ता दर्ज करें। इसे लक्षित सिस्टम में संचित किया जाएगा।</p></body></html> <html><head/><body><h1>OEM Configuration</h1><p>Calamares will use OEM settings while configuring the target system.</p></body></html> - + <html><head/><body><h1>OEM (मूल उपकरण निर्माता) विन्यास सेटिंग्स</h1><p>लक्षित सिस्टम को विन्यस्त करते समय Calamares OEM (मूल उपकरण निर्माता) सेटिंग्स का उपयोग करेगा।</p></body></html> @@ -1566,12 +1615,12 @@ The installer will quit and all changes will be lost. OEM Configuration - + OEM (मूल उपकरण निर्माता) विन्यास सेटिंग्स Set the OEM Batch Identifier to <code>%1</code>. - + OEM (मूल उपकरण निर्माता) बैच पहचानकर्ता को <code>%1</code>पर सेट करें। @@ -1579,17 +1628,17 @@ The installer will quit and all changes will be lost. Password is too short - कूटशब्द बहुत छोटा है + कूटशब्द काफ़ी छोटा है Password is too long - कूटशब्द बहुत लंबा है + कूटशब्द काफ़ी लंबा है Password is too weak - कूटशब्द बहुत कमज़ोर है + कूटशब्द काफ़ी कमज़ोर है @@ -1684,7 +1733,7 @@ The installer will quit and all changes will be lost. The password is too short - कूटशब्द बहुत छोटा है + कूटशब्द काफ़ी छोटा है @@ -1744,7 +1793,7 @@ The installer will quit and all changes will be lost. Password generation failed - required entropy too low for settings - कूटशब्द बनाना विफल रहा - सेटिंग्स के लिए आवश्यक entropy बहुत कम है + कूटशब्द बनाना विफल रहा - सेटिंग्स के लिए आवश्यक एन्ट्रापी काफ़ी कम है @@ -1769,32 +1818,32 @@ The installer will quit and all changes will be lost. Bad integer value of setting - %1 - सेटिंग का गलत integer मान - %1 + सेटिंग का गलत पूर्णांक मान - %1 Bad integer value - गलत integer मान + गलत पूर्णांक मान Setting %1 is not of integer type - सेटिंग %1 integer नहीं है + सेटिंग %1 पूर्णांक नहीं है Setting is not of integer type - सेटिंग integer नहीं है + सेटिंग पूर्णांक नहीं है Setting %1 is not of string type - सेटिंग %1 string नहीं है + सेटिंग %1 स्ट्रिंग नहीं है Setting is not of string type - सेटिंग string नहीं है + सेटिंग स्ट्रिंग नहीं है @@ -1855,12 +1904,12 @@ The installer will quit and all changes will be lost. Choose a password to keep your account safe. - अपना अकाउंट सुरक्षित रखने के लिए पासवर्ड चुनें । + अपना अकाउंट सुरक्षित रखने हेतु कूटशब्द चुनें। <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - <small>एक ही कूटशब्द दो बार दर्ज़ करें, ताकि उसे टाइप त्रुटि के लिए जांचा जा सके । एक अच्छे कूटशब्द में अक्षर, अंक व विराम चिन्हों का मेल होता है, उसमें कम-से-कम आठ अक्षर होने चाहिए, और उसे नियमित अंतराल पर बदलते रहना चाहिए।</small> + <small>एक ही कूटशब्द दो बार दर्ज़ करें, ताकि उसे टाइप त्रुटि के लिए जांचा जा सके। एक उचित कूटशब्द में अक्षर, अंक व विराम चिन्हों का मेल होता है, उसमें कम-से-कम आठ अक्षर होने चाहिए, और उसे नियमित अंतराल पर बदलते रहना चाहिए।</small> @@ -1875,7 +1924,7 @@ The installer will quit and all changes will be lost. Log in automatically without asking for the password. - कूटशब्द बिना पूछे ही स्वतः लॉग इन करें। + कूटशब्द पूछे बिना स्वतः लॉग इन करें। @@ -1885,7 +1934,7 @@ The installer will quit and all changes will be lost. Choose a password for the administrator account. - प्रबंधक अकाउंट के लिए कूटशब्द चुनें। + प्रबंधक अकाउंट हेतु कूटशब्द चुनें। @@ -1943,7 +1992,7 @@ The installer will quit and all changes will be lost. Free Space - खाली स्पेस + रिक्त स्पेस @@ -1982,7 +2031,7 @@ The installer will quit and all changes will be lost. Storage de&vice: - डिवाइस (&v): + स्टोरेज डिवाइस (&v): @@ -2012,27 +2061,27 @@ The installer will quit and all changes will be lost. New Volume Group - + नया वॉल्यूम समूह Resize Volume Group - + वॉल्यूम समूह का आकार बदलें Deactivate Volume Group - + वॉल्यूम समूह को निष्क्रिय करें Remove Volume Group - + वॉल्यूम समूह को हटाएँ I&nstall boot loader on: - + बूट लोडर इंस्टॉल करें (&l) : @@ -2042,12 +2091,12 @@ The installer will quit and all changes will be lost. Can not create new partition - नया विभाजन नहीं बनाया जा सकता + नया विभाजन बनाया नहीं जा सका The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead. - + %1 पर विभाजन तालिका में पहले से ही %2 मुख्य विभाजन हैं व और अधिक नहीं जोड़ें जा सकते। कृपया एक मुख्य विभाजन को हटाकर उसके स्थान पर एक विस्तृत विभाजन जोड़ें। @@ -2115,7 +2164,7 @@ The installer will quit and all changes will be lost. After: - बाद में: + बाद में : @@ -2130,12 +2179,12 @@ The installer will quit and all changes will be lost. EFI system partition flag not set - EFI सिस्टम विभाजन flag सेट नहीं है + EFI सिस्टम विभाजन फ्लैग सेट नहीं है An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - %1 को शुरू करने हेतु EFI सिस्टम विभाजन ज़रूरी है।<br/><br/>विभाजन को माउंट पॉइंट <strong>%2</strong> के साथ विन्यस्त किया गया परंतु उसका <strong>esp</strong> flag सेट नहीं था।<br/> Flag सेट करने के लिए, वापस जाएँ और विभाजन को edit करें।<br/><br/>आप बिना सेट भी आगे बढ़ सकते है पर सिस्टम चालू नहीं होगा। + %1 को शुरू करने हेतु EFI सिस्टम विभाजन ज़रूरी है।<br/><br/>विभाजन को माउंट पॉइंट <strong>%2</strong> के साथ विन्यस्त किया गया परंतु उसका <strong>esp</strong> फ्लैग सेट नहीं था।<br/> फ्लैग सेट करने के लिए, वापस जाएँ और विभाजन को edit करें।<br/><br/>आप बिना सेट भी आगे बढ़ सकते है पर सिस्टम चालू नहीं होगा। @@ -2150,12 +2199,12 @@ The installer will quit and all changes will be lost. has at least one disk device available. - + कम-से-कम एक डिस्क डिवाइस उपलब्ध हो। There are no partitons to install on. - + इनस्टॉल हेतु कोई विभाजन नहीं हैं। @@ -2182,7 +2231,7 @@ The installer will quit and all changes will be lost. 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. - + कृपया केडीई प्लाज़्मा डेस्कटॉप के लिए एक look-and-feel चुनें। आप अभी इस चरण को छोड़ सकते हैं व सिस्टम सेटअप होने के उपरांत इसे सेट कर सकते हैं। look-and-feel विकल्पों पर क्लिक कर आप चयनित look-and-feel का तुरंत ही पूर्वावलोकन कर सकते हैं। @@ -2203,84 +2252,84 @@ The installer will quit and all changes will be lost. Saving files for later ... - + बाद के लिए फाइलों को संचित किया जा है... No files configured to save for later. - + बाद में संचित करने हेतु कोई फाइल विन्यस्त नहीं की गई है। Not all of the configured files could be preserved. - + विन्यस्त की गई सभी फाइलें संचित नहीं की जा सकी। ProcessResult - + There was no output from the command. कमांड से कोई आउटपुट नहीं मिला। - + Output: -आउटपुट: +आउटपुट : - + External command crashed. बाह्य कमांड क्रैश हो गई। - + Command <i>%1</i> crashed. कमांड <i>%1</i> क्रैश हो गई। - + External command failed to start. बाह्य​ कमांड शुरू होने में विफल। - + Command <i>%1</i> failed to start. कमांड <i>%1</i> शुरू होने में विफल। - + Internal error when starting command. कमांड शुरू करते समय आंतरिक त्रुटि। - + Bad parameters for process job call. प्रक्रिया कार्य कॉल के लिए गलत मापदंड। - + External command failed to finish. बाहरी कमांड समाप्त करने में विफल। - + Command <i>%1</i> failed to finish in %2 seconds. कमांड <i>%1</i> %2 सेकंड में समाप्त होने में विफल। - + External command finished with errors. बाहरी कमांड त्रुटि के साथ समाप्त। - + Command <i>%1</i> finished with exit code %2. कमांड <i>%1</i> exit कोड %2 के साथ समाप्त। @@ -2326,12 +2375,12 @@ Output: (no mount point) - + (कोई माउंट पॉइंट नहीं) - + Requirements checking for module <i>%1</i> is complete. - + मापांक <i>%1</i> हेतु आवश्यकताओं की जाँच पूर्ण हुई। @@ -2346,17 +2395,17 @@ Output: Remove Volume Group named %1. - + %1 नामक वॉल्यूम समूह हटाएँ। Remove Volume Group named <strong>%1</strong>. - + <strong>%1</strong> नामक वॉल्यूम समूह हटाएँ। The installer failed to remove a volume group named '%1'. - + इंस्टालर '%1' नामक वॉल्यूम समूह को हटाने में विफल रहा। @@ -2369,7 +2418,7 @@ Output: Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition. - चुनें कि %1 को कहाँ इंस्टॉल करना है।<br/><font color="red">चेतावनी: </font> यह चयनित विभाजन पर मौजूद सभी फ़ाइलों को हटा देगा। + चुनें कि %1 को कहाँ इंस्टॉल करना है।<br/><font color="red">चेतावनी : </font> यह चयनित विभाजन पर मौजूद सभी फ़ाइलों को हटा देगा। @@ -2379,12 +2428,12 @@ Output: %1 cannot be installed on empty space. Please select an existing partition. - %1 को खाली स्पेस पर इंस्टॉल नहीं किया जा सकता।कृपया कोई मौजूदा विभाजन चुनें। + %1 को खाली स्पेस पर इंस्टॉल नहीं किया जा सकता। कृपया कोई मौजूदा विभाजन चुनें। %1 cannot be installed on an extended partition. Please select an existing primary or logical partition. - %1 को विस्तृत विभाजन पर इंस्टॉल नहीं किया जा सकता।कृपया कोई मौजूदा मुख्य या तार्किक विभाजन चुनें। + %1 को विस्तृत विभाजन पर इंस्टॉल नहीं किया जा सकता। कृपया कोई मौजूदा मुख्य या तार्किक विभाजन चुनें। @@ -2409,7 +2458,7 @@ Output: <strong>%4</strong><br/><br/>The partition %1 is too small for %2. Please select a partition with capacity at least %3 GiB. - <strong>%4</strong><br/><br/>%2 के लिए विभाजन %1 बहुत छोटा है।कृपया कम-से-कम %3 GiB की क्षमता वाला कोई विभाजन चुनें । + <strong>%4</strong><br/><br/>%2 के लिए विभाजन %1 काफ़ी छोटा है। कृपया कम-से-कम %3 GiB की क्षमता वाला कोई विभाजन चुनें। @@ -2431,7 +2480,7 @@ Output: EFI system partition: - EFI सिस्टम विभाजन: + EFI सिस्टम विभाजन : @@ -2439,29 +2488,29 @@ Output: Resize Filesystem Job - + फ़ाइल सिस्टम कार्य का आकार बदलें Invalid configuration - + अमान्य विन्यास The file-system resize job has an invalid configuration and will not run. - + फाइल सिस्टम का आकार बदलने हेतु कार्य का विन्यास अमान्य है व यह नहीं चलेगा। KPMCore not Available - + KPMCore उपलब्ध नहीं है Calamares cannot start KPMCore for the file-system resize job. - + Calamares फाइल सिस्टम का आकार बदलने कार्य हेतु KPMCore को आरंभ नहीं कर सका। @@ -2470,39 +2519,39 @@ Output: Resize Failed - + आकार बदलना विफल रहा The filesystem %1 could not be found in this system, and cannot be resized. - + इस सिस्टम पर फाइल सिस्टम %1 नहीं मिला, व उसका आकार बदला नहीं जा सकता। The device %1 could not be found in this system, and cannot be resized. - + इस सिस्टम पर डिवाइस %1 नहीं मिला, व उसका आकार बदला नहीं जा सकता। The filesystem %1 cannot be resized. - + फाइल सिस्टम %1 का आकार बदला नहीं जा सकता। The device %1 cannot be resized. - + डिवाइस %1 का आकार बदला नहीं जा सकता। The filesystem %1 must be resized, but cannot. - + फाइल सिस्टम %1 का आकार बदला जाना चाहिए लेकिन बदला नहीं जा सकता। The device %1 must be resized, but cannot - + डिवाइस %1 का आकार बदला जाना चाहिए लेकिन बदला नहीं जा सकता @@ -2515,12 +2564,12 @@ Output: Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + <strong>%2MiB</strong> के <strong>%1</strong> विभाजन का आकार बदलकर <strong>%3MiB</strong> करें। Resizing %2MiB partition %1 to %3MiB. - + %2MiB के %1 विभाजन का आकार बदलकर %3MiB किया जा रहा है। @@ -2533,7 +2582,7 @@ Output: Resize Volume Group - + वॉल्यूम समूह का आकार बदलें @@ -2542,17 +2591,17 @@ Output: Resize volume group named %1 from %2 to %3. - + %1 नामक वॉल्यूम समूह का आकार %2 से बदलकर %3 करें। Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>. - + <strong>%1</strong> नामक वॉल्यूम समूह का आकार <strong>%2</strong> से बदलकर <strong>%3</strong> करें। The installer failed to resize a volume group named '%1'. - + इंस्टालर '%1' नाम के वॉल्यूम समूह का आकार बदलने में विफल रहा। @@ -2560,7 +2609,7 @@ Output: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + यह कंप्यूटर %1 को सेटअप करने की न्यूनतम आवश्यकताओं को पूरा नहीं करता।<br/>सेटअप जारी नहीं रखा जा सकता।<a href="#details">विवरण...</a> @@ -2570,22 +2619,22 @@ Output: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + यह कंप्यूटर %1 को सेटअप करने हेतु सुझाई गई आवश्यकताओं को पूरा नहीं करता।<br/>सेटअप जारी रखा जा सकता है, लेकिन कुछ विशेषताएँ को निष्क्रिय किया जा सकता हैं। This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - यह कंप्यूटर %1 को इंस्टॉल करने की सुझायी गई आवश्यकताओं को पूरा नहीं करता।<br/>इंस्टॉल जारी रखा जा सकता, लेकिन कुछ विशेषताएँ निष्क्रिय हो सकती हैं। + यह कंप्यूटर %1 को इंस्टॉल करने हेतु सुझाई गई आवश्यकताओं को पूरा नहीं करता।<br/>इंस्टॉल जारी रखा जा सकता है, लेकिन कुछ विशेषताएँ को निष्क्रिय किया जा सकता हैं। This program will ask you some questions and set up %2 on your computer. - यह प्रोग्राम आपसे कुछ सवाल पूछ आपके कंप्यूटर पर %2 को सेट करेगा। + यह प्रोग्राम एक प्रश्नावली के आधार पर आपके कंप्यूटर पर %2 को सेट करेगा। For best results, please ensure that this computer: - उत्तम परिणामों के लिए, कृपया सुनिश्चित करें कि यह कंप्यूटर: + उत्तम परिणाम हेतु, कृपया सुनिश्चित करें कि यह कंप्यूटर : @@ -2646,7 +2695,7 @@ Output: Failed to write keyboard configuration for the virtual console. - Virtual console हेतु कुंजीपटल की सेटिंग्स राइट करने में विफल रहा। + वर्चुअल कंसोल हेतु कुंजीपटल की सेटिंग्स राइट करने में विफल रहा। @@ -2663,7 +2712,7 @@ Output: Failed to write keyboard configuration to existing /etc/default directory. - मौजूदा /etc /default डायरेक्टरी में कुंजीपटल की सेटिंग्स write करने में विफल रहा। + मौजूदा /etc /default डायरेक्टरी में कुंजीपटल की सेटिंग्स राइट करने में विफल रहा। @@ -2671,82 +2720,82 @@ Output: Set flags on partition %1. - %1 विभाजन पर flag सेट करें। + %1 विभाजन पर फ्लैग सेट करें। Set flags on %1MiB %2 partition. - + %1MiB के %2 विभाजन पर फ्लैग सेट करें। Set flags on new partition. - नए विभाजन पर flag सेट करें। + नए विभाजन पर फ्लैग सेट करें। Clear flags on partition <strong>%1</strong>. - <strong>%1</strong> विभाजन पर से flag हटाएँ। + <strong>%1</strong> विभाजन पर से फ्लैग हटाएँ। Clear flags on %1MiB <strong>%2</strong> partition. - + %1MiB के <strong>%2</strong> विभाजन पर से फ्लैग हटाएँ। Flag %1MiB <strong>%2</strong> partition as <strong>%3</strong>. - + %1MiB के <strong>%2</strong> विभाजन पर <strong>%3</strong> का फ्लैग लगाएँ। Clearing flags on %1MiB <strong>%2</strong> partition. - + %1MiB के <strong>%2</strong> विभाजन पर से फ्लैग हटाएँ जा रहे हैं। Setting flags <strong>%3</strong> on %1MiB <strong>%2</strong> partition. - + %1MiB के <strong>%2</strong> विभाजन पर फ्लैग <strong>%3</strong> सेट किए जा रहे हैं। Clear flags on new partition. - नए विभाजन पर से flag हटाएँ। + नए विभाजन पर से फ्लैग हटाएँ। Flag partition <strong>%1</strong> as <strong>%2</strong>. - <strong>%1</strong> विभाजन पर <strong>%2</strong> का flag लगाएँ। + <strong>%1</strong> विभाजन पर <strong>%2</strong> का फ्लैग लगाएँ। Flag new partition as <strong>%1</strong>. - नए विभाजन पर<strong>%1</strong>का flag लगाएँ। + नए विभाजन पर<strong>%1</strong>का फ्लैग लगाएँ। Clearing flags on partition <strong>%1</strong>. - <strong>%1</strong> विभाजन पर से flag हटाएँ जा रहे हैं। + <strong>%1</strong> विभाजन पर से फ्लैग हटाएँ जा रहे हैं। Clearing flags on new partition. - नए विभाजन पर से flag हटाएँ जा रहे हैं। + नए विभाजन पर से फ्लैग हटाएँ जा रहे हैं। Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - <strong>%1</strong> विभाजन पर flag <strong>%2</strong> सेट किए जा रहे हैं। + <strong>%1</strong> विभाजन पर फ्लैग <strong>%2</strong> सेट किए जा रहे हैं। Setting flags <strong>%1</strong> on new partition. - नए विभाजन पर flag <strong>%1</strong> सेट किए जा रहे हैं। + नए विभाजन पर फ्लैग <strong>%1</strong> सेट किए जा रहे हैं। The installer failed to set flags on partition %1. - इंस्टॉलर विभाजन %1 पर flag सेट करने में विफल रहा। + इंस्टॉलर विभाजन %1 पर फ्लैग सेट करने में विफल रहा। @@ -2769,7 +2818,7 @@ Output: rootMountPoint is %1 - rootMountPoint %1 है + रूट माउंट पॉइंट %1 है @@ -2784,7 +2833,7 @@ Output: Cannot set password for user %1. - उपयोक्ता %1 के लिए पासवर्ड सेट नहीं किया जा सकता। + उपयोक्ता %1 हेतु पासवर्ड सेट नहीं किया जा सकता। @@ -2822,12 +2871,12 @@ Output: Cannot set timezone, - समय क्षेत्र सेट नहीं हो सका। + समय क्षेत्र सेट नहीं हो सका, Cannot open /etc/timezone for writing - राइट करने हेतु /etc /timezone खोला नहीं जा सका। + राइट करने हेतु /etc /timezone खोला नहीं जा सका @@ -2835,7 +2884,7 @@ Output: Shell Processes Job - + शेल प्रक्रिया कार्य @@ -2852,7 +2901,7 @@ Output: This is an overview of what will happen once you start the setup procedure. - + यह एक अवलोकन है कि सेटअप प्रक्रिया आरंभ होने के उपरांत क्या होगा। @@ -2865,7 +2914,7 @@ Output: Summary - सार + सारांश @@ -2873,22 +2922,22 @@ Output: Installation feedback - + इंस्टॉल संबंधी प्रतिक्रिया Sending installation feedback. - + इंस्टॉल संबंधी प्रतिक्रिया भेजना। Internal error in install-tracking. - + इंस्टॉल-ट्रैकिंग में आंतरिक त्रुटि। HTTP request timed out. - + एचटीटीपी अनुरोध हेतु समय समाप्त। @@ -2896,28 +2945,28 @@ Output: Machine feedback - + मशीन संबंधी प्रतिक्रिया Configuring machine feedback. - + मशीन संबंधी प्रतिक्रिया विन्यस्त करना। Error in machine feedback configuration. - + मशीन संबंधी प्रतिक्रिया विन्यास में त्रुटि। Could not configure machine feedback correctly, script error %1. - + मशीन प्रतिक्रिया को सही रूप से विन्यस्त नहीं किया जा सका, स्क्रिप्ट त्रुटि %1। Could not configure machine feedback correctly, Calamares error %1. - + मशीन प्रतिक्रिया को सही रूप से विन्यस्त नहीं किया जा सका, Calamares त्रुटि %1। @@ -2930,37 +2979,37 @@ Output: Placeholder - Placeholder + प्लेसहोल्डर <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> - + <html><head/><body><p>इसे चयनित करने पर, आपके इंस्टॉल संबंधी <span style=" font-weight:600;">किसी प्रकार की कोई जानकारी नहीं </span>भेजी जाएँगी।</p></body></html> <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> - + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">उपयोक्ता प्रतिक्रिया के बारे में अधिक जानकारी हेतु यहाँ क्लिक करें</span></a></p></body></html> Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + इंस्टॉल की ट्रैकिंग करने से %1 को यह जानने में सहायता मिलती है कि उनके कितने उपयोक्ता हैं, वे किस हार्डवेयर पर %1 को इंस्टॉल करते हैं एवं (नीचे दिए अंतिम दो विकल्पों सहित), पसंदीदा अनुप्रयोगों के बारे में निरंतर जानकारी प्राप्त करते हैं। यह जानने हेतु कि क्या भेजा जाएगा, कृपया प्रत्येक क्षेत्र के साथ में दिए सहायता आइकन पर क्लिक करें। By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + इसे चयनित करने पर आपके इंस्टॉल व हार्डवेयर संबंधी जानकारी भेजी जाएँगी। यह जानकारी इंस्टॉल समाप्त हो जाने के उपरांत <b>केवल एक बार ही</b> भेजी जाएगी। By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + इसे चयनित करने पर आपके इंस्टॉल, हार्डवेयर व अनुप्रयोगों संबंधी जानकारी <b>समय-समय पर</b>, %1 को भेजी जाएँगी। By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + इसे चयनित करने पर आपके इंस्टॉल, हार्डवेयर, अनुप्रयोगों व उपयोक्ता प्रतिमानों संबंधी जानकारी <b>समय-समय पर</b>, %1 को भेजी जाएँगी। @@ -2968,7 +3017,7 @@ Output: Feedback - + प्रतिक्रिया @@ -2976,37 +3025,37 @@ Output: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप सेटअप के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप इंस्टॉल के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> Your username is too long. - आपका उपयोक्ता नाम बहुत लंबा है। + आपका उपयोक्ता नाम काफ़ी लंबा है। Your username contains invalid characters. Only lowercase letters and numbers are allowed. - आपके होस्ट नाम में अमान्य अक्षर हैं । केवल lowercase अक्षरों व संख्याओं की ही अनुमति है । + आपके होस्ट नाम में अमान्य अक्षर हैं । केवल lowercase अक्षरों व संख्याओं की अनुमति है । Your hostname is too short. - आपका होस्ट नाम बहुत छोटा है। + आपका होस्ट नाम काफ़ी छोटा है। Your hostname is too long. - आपका होस्ट नाम बहुत लंबा है। + आपका होस्ट नाम काफ़ी लंबा है। Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - आपके होस्ट नाम में अमान्य अक्षर हैं । केवल अक्षरों, संख्याओं व dash की ही अनुमति है । + आपके होस्ट नाम में अमान्य अक्षर हैं । केवल अक्षरों, संख्याओं व dash की अनुमति है । @@ -3028,52 +3077,52 @@ Output: Create Volume Group - + वॉल्यूम समूह बनाएँ List of Physical Volumes - + वॉल्यूम समूहों की सूची Volume Group Name: - + वॉल्यूम समूह का नाम : Volume Group Type: - + वॉल्यूम समूह का प्रकार : Physical Extent Size: - + डिस्क ब्लॉक की आकार सीमा : MiB - MiB + MiB Total Size: - + कुल आकार : Used Size: - + प्रयुक्त आकार : Total Sectors: - + कुल सेक्टर : Quantity of LVs: - + तार्किक वॉल्यूम की मात्रा : @@ -3097,7 +3146,7 @@ Output: Select language - + भाषा चुनें @@ -3122,17 +3171,17 @@ Output: <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>%1 हेतु Calamares सेटअप में आपका स्वागत है।</h1> <h1>Welcome to %1 setup.</h1> - + <h1>%1 सेटअप में आपका स्वागत है।</h1> About %1 setup - + %1 सेटअप के बारे में @@ -3142,7 +3191,7 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>के लिए %3</strong><br/><br/>प्रतिलिप्याधिकार 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>प्रतिलिप्याधिकार 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/><a href="https://calamares.io/team/">Calamares टीम</a> व <a href="https://www.transifex.com/calamares/calamares/">Calamares अनुवादक टीम</a> का धन्यवाद।<br/><br/><a href="https://calamares.io/">Calamares</a> का विकास <br/><a href="http://www.blue-systems.com/">ब्लू सिस्टम्स</a> - लिब्रेटिंग सॉफ्टवेयर द्वारा प्रायोजित है। @@ -3155,7 +3204,7 @@ Output: Welcome - स्वागतं + स्वागत है \ No newline at end of file diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 89862d76e..372e94597 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čekam %1 modul(a).Čekam %1 modul(a).Čekam %1 modul(a). - + (%n second(s)) (%n sekunda(e))(%n sekunda(e))(%n sekunda(e)) - + System-requirements checking is complete. Provjera zahtjeva za instalaciju sustava je dovršena. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Natrag - - + &Next &Sljedeće - - + &Cancel &Odustani - - + Cancel setup without changing the system. Odustanite od instalacije bez promjena na sustavu. - - + Cancel installation without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Setup Failed Instalacija nije uspjela - + Calamares Initialization Failed Inicijalizacija Calamares-a nije uspjela - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 se ne može se instalirati. Calamares nije mogao učitati sve konfigurirane module. Ovo je problem s načinom na koji se Calamares koristi u distribuciji. - + <br/>The following modules could not be loaded: <br/>Sljedeći moduli se nisu mogli učitati: - + Continue with installation? Nastaviti sa instalacijom? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalacijski program %1 će izvršiti promjene na vašem disku kako bi postavio %2. <br/><strong>Ne možete poništiti te promjene.</strong> - + &Set up now &Postaviti odmah - + &Set up &Postaviti - + &Install &Instaliraj - + Setup is complete. Close the setup program. Instalacija je završena. Zatvorite instalacijski program. - + Cancel setup? Prekinuti instalaciju? - + Cancel installation? Prekinuti instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + &Yes &Da - + &No &Ne - + &Close &Zatvori - + Continue with setup? Nastaviti s postavljanjem? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalacijski program će napraviti promjene na disku kako bi instalirao %2.<br/><strong>Nećete moći vratiti te promjene.</strong> - + &Install now &Instaliraj sada - + Go &back Idi &natrag - + &Done &Gotovo - + The installation is complete. Close the installer. Instalacija je završena. Zatvorite instalacijski program. - + Error Greška - + Installation Failed Instalacija nije uspjela @@ -1290,6 +1286,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Nije moguće pisati u datoteku <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Stvaranje initramfs s mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Stvaranje initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Lokacija + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Konfiguriranje LUKS ključne datoteke. + + + + + No partitions are defined. + Nema definiranih particija. + + + + + + Encrypted rootfs setup error + Pogreška postavljanja šifriranog rootfs-a + + + + Root partition %1 is LUKS but no passphrase has been set. + Root particija %1 je LUKS, ali nije postavljena zaporka. + + + + Could not create LUKS key file for root partition %1. + Nije moguće kreirati LUKS ključnu datoteku za root particiju %1. + + + + Could configure LUKS key file on partition %1. + Moguće je konfigurirati LUKS ključnu datoteku na particiji %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. ProcessResult - + There was no output from the command. Nema izlazne informacije od naredbe. - + Output: @@ -2236,52 +2284,52 @@ Izlaz: - + External command crashed. Vanjska naredba je prekinula s radom. - + Command <i>%1</i> crashed. Naredba <i>%1</i> je prekinula s radom. - + External command failed to start. Vanjska naredba nije uspješno pokrenuta. - + Command <i>%1</i> failed to start. Naredba <i>%1</i> nije uspješno pokrenuta. - + Internal error when starting command. Unutrašnja greška pri pokretanju naredbe. - + Bad parameters for process job call. Krivi parametri za proces poziva posla. - + External command failed to finish. Vanjska naredba se nije uspjela izvršiti. - + Command <i>%1</i> failed to finish in %2 seconds. Naredba <i>%1</i> nije uspjela završiti za %2 sekundi. - + External command finished with errors. Vanjska naredba je završila sa pogreškama. - + Command <i>%1</i> finished with exit code %2. Naredba <i>%1</i> je završila sa izlaznim kodom %2. @@ -2330,7 +2378,7 @@ Izlaz: (nema točke montiranja) - + Requirements checking for module <i>%1</i> is complete. Provjera zahtjeva za modul <i>%1</i> je dovršena. diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index cf8e907f7..cdf120890 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -99,12 +99,12 @@ Reload Stylesheet - + Stílusok újratöltése Widget Tree - + Modul- fa @@ -159,12 +159,12 @@ Run command '%1' in target system. - + '%1' parancs futtatása a cél rendszeren. Run command '%1'. - + '%1' parancs futtatása. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Várakozás a %n modulokra.Várakozás %n modulokra. - + (%n second(s)) (%n másodperc)(%n másodperc) - + System-requirements checking is complete. Rendszerkövetelmények ellenőrzése kész. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Vissza - - + &Next &Következő - - + &Cancel &Mégse - - + Cancel setup without changing the system. Telepítés megszakítása a rendszer módosítása nélkül. - - + Cancel installation without changing the system. Kilépés a telepítőből a rendszer megváltoztatása nélkül. - + Setup Failed Telepítési hiba - + Calamares Initialization Failed A Calamares előkészítése meghiúsult - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. A(z) %1 nem telepíthető. A Calamares nem tudta betölteni a konfigurált modulokat. Ez a probléma abból fakad, ahogy a disztribúció a Calamarest használja. - + <br/>The following modules could not be loaded: <br/>A következő modulok nem tölthetőek be: - + Continue with installation? Folytatja a telepítést? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog végrehajtani a lemezen a %2 telepítéséhez. <br/><strong>Ezután már nem tudja visszavonni a változtatásokat.</strong> - + &Set up now &Telepítés most - + &Set up &Telepítés - + &Install &Telepítés - + Setup is complete. Close the setup program. Telepítés sikerült. Zárja be a telepítőt. - + Cancel setup? Megszakítja a telepítést? - + Cancel installation? Abbahagyod a telepítést? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Valóban megszakítod a telepítési eljárást? A telepítő ki fog lépni és minden változtatás elveszik. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Biztos abba szeretnéd hagyni a telepítést? Minden változtatás elveszik, ha kilépsz a telepítőből. - + &Yes &Igen - + &No &Nem - + &Close &Bezár - + Continue with setup? Folytatod a telepítéssel? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog elvégezni, hogy telepítse a következőt: %2.<br/><strong>A változtatások visszavonhatatlanok lesznek.</strong> - + &Install now &Telepítés most - + Go &back Menj &vissza - + &Done &Befejez - + The installation is complete. Close the installer. A telepítés befejeződött, Bezárhatod a telepítőt. - + Error Hiba - + Installation Failed Telepítés nem sikerült @@ -1290,6 +1286,22 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Sikertelen fájl írás <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + initramfs létrehozása mkinitcpio utasítással. + + + + InitramfsJob + + + Creating initramfs. + initramfs létrehozása. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Hely + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKS kulcs fájl konfigurálása. + + + + + No partitions are defined. + Nincsenek partíciók definiálva. + + + + + + Encrypted rootfs setup error + Titkosított rootfs telepítési hiba + + + + Root partition %1 is LUKS but no passphrase has been set. + A %1 root partíció LUKS de beállítva nincs kulcs. + + + + Could not create LUKS key file for root partition %1. + Nem sikerült létrehozni a LUKS kulcs fájlt a %1 root partícióhoz + + + + Could configure LUKS key file on partition %1. + Nem sikerült beállítani a LUKS kulcs fájlt a %1 root partíción. + + NetInstallPage @@ -2220,14 +2268,14 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. ProcessResult - + There was no output from the command. A parancsnak nem volt kimenete. - + Output: @@ -2236,52 +2284,52 @@ Kimenet: - + External command crashed. Külső parancs összeomlott. - + Command <i>%1</i> crashed. Parancs <i>%1</i> összeomlott. - + External command failed to start. A külső parancsot nem sikerült elindítani. - + Command <i>%1</i> failed to start. A(z) <i>%1</i> parancsot nem sikerült elindítani. - + Internal error when starting command. Belső hiba a parancs végrehajtásakor. - + Bad parameters for process job call. Hibás paraméterek a folyamat hívásához. - + External command failed to finish. Külső parancs nem fejeződött be. - + Command <i>%1</i> failed to finish in %2 seconds. A(z) <i>%1</i> parancsot nem sikerült befejezni %2 másodperc alatt. - + External command finished with errors. A külső parancs hibával fejeződött be. - + Command <i>%1</i> finished with exit code %2. A(z) <i>%1</i> parancs hibakóddal lépett ki: %2. @@ -2330,7 +2378,7 @@ Kimenet: (nincs csatolási pont) - + Requirements checking for module <i>%1</i> is complete. Követelmények ellenőrzése a <i>%1</i>modulhoz kész. diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index 5557114ef..bc3a72586 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Kembali - - + &Next &Berikutnya - - + &Cancel &Batal - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Batalkan instalasi tanpa mengubah sistem yang ada. - + Setup Failed - + Calamares Initialization Failed Inisialisasi Calamares Gagal - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 tidak dapat terinstal. Calamares tidak dapat memuat seluruh modul konfigurasi. Terdapat masalah dengan Calamares karena sedang digunakan oleh distribusi. - + <br/>The following modules could not be loaded: <br/>Modul berikut tidak dapat dimuat. - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instal - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Batalkan instalasi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Apakah Anda benar-benar ingin membatalkan proses instalasi ini? Instalasi akan ditutup dan semua perubahan akan hilang. - + &Yes &Ya - + &No &Tidak - + &Close &Tutup - + Continue with setup? Lanjutkan dengan setelan ini? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Installer %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong> - + &Install now &Instal sekarang - + Go &back &Kembali - + &Done &Kelar - + The installation is complete. Close the installer. Instalasi sudah lengkap. Tutup installer. - + Error Kesalahan - + Installation Failed Instalasi Gagal @@ -1289,6 +1285,22 @@ Instalasi akan ditutup dan semua perubahan akan hilang. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Lokasi + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,14 +2267,14 @@ Instalasi akan ditutup dan semua perubahan akan hilang. ProcessResult - + There was no output from the command. Tidak ada keluaran dari perintah. - + Output: @@ -2235,52 +2283,52 @@ Keluaran: - + External command crashed. Perintah eksternal rusak. - + Command <i>%1</i> crashed. Perintah <i>%1</i> mogok. - + External command failed to start. Perintah eksternal gagal dimulai - + Command <i>%1</i> failed to start. Perintah <i>%1</i> gagal dimulai. - + Internal error when starting command. Terjadi kesalahan internal saat menjalankan perintah. - + Bad parameters for process job call. Parameter buruk untuk memproses panggilan tugas, - + External command failed to finish. Perintah eksternal gagal diselesaikan . - + Command <i>%1</i> failed to finish in %2 seconds. Perintah <i>%1</i> gagal untuk diselesaikan dalam %2 detik. - + External command finished with errors. Perintah eksternal diselesaikan dengan kesalahan . - + Command <i>%1</i> finished with exit code %2. Perintah <i>%1</i> diselesaikan dengan kode keluar %2. @@ -2329,7 +2377,7 @@ Keluaran: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 921ce91cd..04a4eb0fe 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Til baka - - + &Next &Næst - - + &Cancel &Hætta við - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Hætta við uppsetningu ánþess að breyta kerfinu. - + Setup Failed - + Calamares Initialization Failed Calamares uppsetning mistókst - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Setja upp - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Hætta við uppsetningu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Viltu virkilega að hætta við núverandi uppsetningarferli? Uppsetningarforritið mun hætta og allar breytingar tapast. - + &Yes &Já - + &No &Nei - + &Close &Loka - + Continue with setup? Halda áfram með uppsetningu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 uppsetningarforritið er um það bil að gera breytingar á diskinum til að setja upp %2.<br/><strong>Þú munt ekki geta afturkallað þessar breytingar.</strong> - + &Install now Setja &inn núna - + Go &back Fara til &baka - + &Done &Búið - + The installation is complete. Close the installer. Uppsetning er lokið. Lokaðu uppsetningarforritinu. - + Error Villa - + Installation Failed Uppsetning mistókst @@ -1289,6 +1285,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Staðsetning + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 5d075f1ac..e55ebf7dd 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Il controllo dei requisiti di sistema è completo. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Indietro - - + &Next &Avanti - - + &Cancel &Annulla - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Annullare l'installazione senza modificare il sistema. - + Setup Failed - + Calamares Initialization Failed Inizializzazione di Calamares Fallita - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 non può essere installato. Calamares non è stato in grado di caricare tutti i moduli configurati. Questo è un problema del modo in cui Calamares viene utilizzato dalla distribuzione. - + <br/>The following modules could not be loaded: <br/>Non è stato possibile caricare il seguente modulo: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Installa - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Annullare l'installazione? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Si vuole davvero annullare l'installazione in corso? Il programma d'installazione sarà terminato e tutte le modifiche andranno perse. - + &Yes &Si - + &No &No - + &Close &Chiudi - + Continue with setup? Procedere con la configurazione? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Il programma d'nstallazione %1 sta per eseguire delle modifiche al tuo disco per poter installare %2.<br/><strong> Non sarà possibile annullare tali modifiche.</strong> - + &Install now &Installa adesso - + Go &back &Indietro - + &Done &Fatto - + The installation is complete. Close the installer. L'installazione è terminata. Chiudere il programma d'installazione. - + Error Errore - + Installation Failed Installazione non riuscita @@ -1289,6 +1285,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Posizione + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,13 +2267,13 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno ProcessResult - + There was no output from the command. Non c'era output dal comando. - + Output: @@ -2234,53 +2282,53 @@ Output: - + External command crashed. Il comando esterno si è arrestato. - + Command <i>%1</i> crashed. Il comando <i>%1</i> si è arrestato. - + External command failed to start. Il comando esterno non si è avviato. - + Command <i>%1</i> failed to start. Il comando %1 non si è avviato. - + Internal error when starting command. Errore interno all'avvio del comando. - + Bad parameters for process job call. Parametri errati per elaborare la chiamata al job. - + External command failed to finish. Il comando esterno non è stato portato a termine. - + Command <i>%1</i> failed to finish in %2 seconds. Il comando <i>%1</i> non è stato portato a termine in %2 secondi. - + External command finished with errors. Il comando esterno è terminato con errori. - + Command <i>%1</i> finished with exit code %2. Il comando <i>%1</i> è terminato con codice di uscita %2. @@ -2329,7 +2377,7 @@ Output: (nessun mount point) - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 8a631a3a4..65a73d4b7 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n モジュールを待機中。 - + (%n second(s)) (%n 秒(s)) - + System-requirements checking is complete. 要求されるシステムの確認を終了しました。 @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back 戻る (&B) - - + &Next 次へ (&N) - - + &Cancel 中止 (&C) - - + Cancel setup without changing the system. システムを変更することなくセットアップを中断します。 - - + Cancel installation without changing the system. システムを変更しないでインストールを中止します。 - + Setup Failed セットアップに失敗しました。 - + Calamares Initialization Failed Calamares によるインストールに失敗しました。 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 をインストールできません。Calamares はすべてのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。 - + <br/>The following modules could not be loaded: <br/>以下のモジュールがロードできませんでした。: - + Continue with installation? インストールを続行しますか? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 のセットアッププログラムは %2 のセットアップのためディスクの内容を変更します。<br/><strong>これらの変更は取り消しできません。</strong> - + &Set up now セットアップ中(&S) - + &Set up セットアップ (&S) - + &Install インストール (&I) - + Setup is complete. Close the setup program. セットアップが完了しました。プログラムを閉じます。 - + Cancel setup? セットアップを中止しますか? - + Cancel installation? インストールを中止しますか? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 本当に現在のセットアップのプロセスを中止しますか? すべての変更が取り消されます。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 本当に現在の作業を中止しますか? すべての変更が取り消されます。 - + &Yes はい (&Y) - + &No いいえ (&N) - + &Close 閉じる (&C) - + Continue with setup? セットアップを続行しますか? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 インストーラーは %2 をインストールするためディスクの内容を変更しようとしています。<br/><strong>これらの変更は取り消せません。</strong> - + &Install now 今すぐインストール (&I) - + Go &back 戻る (&B) - + &Done 実行 (&D) - + The installation is complete. Close the installer. インストールが完了しました。インストーラーを閉じます。 - + Error エラー - + Installation Failed インストールに失敗 @@ -1291,6 +1287,22 @@ The installer will quit and all changes will be lost. ファイル <code>%1</code>に書き込めません。 + + InitcpioJob + + + Creating initramfs with mkinitcpio. + mkinitcpioとinitramfsを作成中 + + + + InitramfsJob + + + Creating initramfs. + initramfsを作成中 + + InteractiveTerminalPage @@ -1514,6 +1526,42 @@ The installer will quit and all changes will be lost. ロケーション + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKSキーファイルを設定中 + + + + + No partitions are defined. + パーティションが定義されていません。 + + + + + + Encrypted rootfs setup error + 暗号化したrootfsセットアップエラー + + + + Root partition %1 is LUKS but no passphrase has been set. + ルートパーティション %1 はLUKSですが、パスワードが設定されていません。 + + + + Could not create LUKS key file for root partition %1. + ルートパーティション %1 のLUKSキーファイルを作成できませんでした。 + + + + Could configure LUKS key file on partition %1. + パーティション %1 にLUKSキーファイルを設定できました。 + + NetInstallPage @@ -2221,14 +2269,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. コマンドから出力するものがありませんでした。 - + Output: @@ -2237,52 +2285,52 @@ Output: - + External command crashed. 外部コマンドがクラッシュしました。 - + Command <i>%1</i> crashed. コマンド <i>%1</i> がクラッシュしました。 - + External command failed to start. 外部コマンドの起動に失敗しました。 - + Command <i>%1</i> failed to start. コマンド <i>%1</i> の起動に失敗しました。 - + Internal error when starting command. コマンドが起動する際に内部エラーが発生しました。 - + Bad parameters for process job call. ジョブ呼び出しにおける不正なパラメータ - + External command failed to finish. 外部コマンドの終了に失敗しました。 - + Command <i>%1</i> failed to finish in %2 seconds. コマンド<i>%1</i> %2 秒以内に終了することに失敗しました。 - + External command finished with errors. 外部のコマンドがエラーで停止しました。 - + Command <i>%1</i> finished with exit code %2. コマンド <i>%1</i> が終了コード %2 で終了しました。. @@ -2331,7 +2379,7 @@ Output: (マウントポイントなし) - + Requirements checking for module <i>%1</i> is complete. モジュール <i>%1</i> に必要なパッケージの確認が完了しました。 diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 214321ce4..92b22ea2d 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back А&ртқа - - + &Next &Алға - - + &Cancel Ба&с тарту - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Орнатудан бас тарту керек пе? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 199db8626..7b8d93e9d 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back ಹಿಂದಿನ - - + &Next ಮುಂದಿನ - - + &Cancel ರದ್ದುಗೊಳಿಸು - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ಅನುಸ್ಥಾಪನೆಯನ್ನು ರದ್ದುಮಾಡುವುದೇ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes ಹೌದು - + &No ಇಲ್ಲ - + &Close ಮುಚ್ಚಿರಿ - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error ದೋಷ - + Installation Failed ಅನುಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 235f3070d..944380431 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n 모듈(들)을 기다리는 중. - + (%n second(s)) (%n 초) - + System-requirements checking is complete. 시스템 요구사항 검사가 완료 되었습니다. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back 뒤로 (&B) - - + &Next 다음 (&N) - - + &Cancel 취소 (&C) - - + Cancel setup without changing the system. 시스템을 변경 하지 않고 설치를 취소합니다. - - + Cancel installation without changing the system. 시스템 변경 없이 설치를 취소합니다. - + Setup Failed 설치 실패 - + Calamares Initialization Failed Calamares 초기화 실패 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 가 설치될 수 없습니다. Calamares가 모든 구성된 모듈을 불러올 수 없었습니다. 이것은 Calamares가 분포에 의해 사용되는 방식에서 비롯된 문제입니다. - + <br/>The following modules could not be loaded: 다음 모듈 불러오기 실패: - + Continue with installation? 설치를 계속하시겠습니까? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 설치 프로그램이 %2을(를) 설정하기 위해 디스크를 변경하려고 하는 중입니다.<br/><strong>이러한 변경은 취소할 수 없습니다.</strong> - + &Set up now 지금 설치 (&S) - + &Set up 설치 (&S) - + &Install 설치(&I) - + Setup is complete. Close the setup program. 설치가 완료 되었습니다. 설치 프로그램을 닫습니다. - + Cancel setup? 설치를 취소 하시겠습니까? - + Cancel installation? 설치를 취소하시겠습니까? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 현재 설정 프로세스를 취소하시겠습니까? 설치 프로그램이 종료되고 모든 변경 내용이 손실됩니다. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 정말로 현재 설치 프로세스를 취소하시겠습니까? 설치 관리자가 종료되며 모든 변경은 반영되지 않습니다. - + &Yes 예(&Y) - + &No 아니오(&N) - + &Close 닫기(&C) - + Continue with setup? 설치를 계속하시겠습니까? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 인스톨러가 %2를 설치하기 위해 사용자의 디스크의 내용을 변경하려고 합니다. <br/> <strong>이 변경 작업은 되돌릴 수 없습니다.</strong> - + &Install now 지금 설치 (&I) - + Go &back 뒤로 이동 (&b) - + &Done 완료 (&D) - + The installation is complete. Close the installer. 설치가 완료되었습니다. 설치 관리자를 닫습니다. - + Error 오류 - + Installation Failed 설치 실패 @@ -1290,6 +1286,22 @@ The installer will quit and all changes will be lost. <code>%1</code> 파일에 쓸 수 없습니다. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + mkinitcpio를 사용하여 initramfs 만드는 중. + + + + InitramfsJob + + + Creating initramfs. + initramfs를 만드는 중. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ The installer will quit and all changes will be lost. 위치 + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKS 키 파일 구성 중. + + + + + No partitions are defined. + 파티션이 정의되지 않았습니다. + + + + + + Encrypted rootfs setup error + 암호화된 rootfs 설정 오류 + + + + Root partition %1 is LUKS but no passphrase has been set. + 루트 파티션 %1이(가) LUKS이지만 암호가 설정되지 않았습니다. + + + + Could not create LUKS key file for root partition %1. + 루트 파티션 %1에 대한 LUKS 키 파일을 생성할 수 없습니다. + + + + Could configure LUKS key file on partition %1. + %1 파티션에서 LUKS 키 파일을 구성할 수 있습니다. + + NetInstallPage @@ -2220,14 +2268,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 명령으로부터 아무런 출력이 없습니다. - + Output: @@ -2236,52 +2284,52 @@ Output: - + External command crashed. 외부 명령이 실패했습니다. - + Command <i>%1</i> crashed. <i>%1</i> 명령이 실패했습니다. - + External command failed to start. 외부 명령을 시작하지 못했습니다. - + Command <i>%1</i> failed to start. <i>%1</i> 명령을 시작하지 못했습니다. - + Internal error when starting command. 명령을 시작하는 중에 내부 오류가 발생했습니다. - + Bad parameters for process job call. 프로세스 작업 호출에 대한 잘못된 매개 변수입니다. - + External command failed to finish. 외부 명령을 완료하지 못했습니다. - + Command <i>%1</i> failed to finish in %2 seconds. <i>%1</i> 명령을 %2초 안에 완료하지 못했습니다. - + External command finished with errors. 외부 명령이 오류와 함께 완료되었습니다. - + Command <i>%1</i> finished with exit code %2. <i>%1</i> 명령이 종료 코드 %2와 함께 완료되었습니다. @@ -2330,7 +2378,7 @@ Output: (마운트 위치 없음) - + Requirements checking for module <i>%1</i> is complete. <i>%1</i> 모듈에 대한 요구사항 검사가 완료되었습니다. diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index d5a333062..d0a03a73e 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 2bd6a6621..f53552226 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Laukiama %n modulio.Laukiama %n modulių.Laukiama %n modulių.Laukiama %n modulio. - + (%n second(s)) (%n sekundė)(%n sekundės)(%n sekundžių)(%n sekundė) - + System-requirements checking is complete. Sistemos reikalavimų tikrinimas yra užbaigtas. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Atgal - - + &Next &Toliau - - + &Cancel A&tsisakyti - - + Cancel setup without changing the system. Atsisakyti sąrankos, nieko sistemoje nekeičiant. - - + Cancel installation without changing the system. Atsisakyti diegimo, nieko sistemoje nekeičiant. - + Setup Failed Sąranka patyrė nesėkmę - + Calamares Initialization Failed Calamares inicijavimas nepavyko - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Nepavyksta įdiegti %1. Calamares nepavyko įkelti visų sukonfigūruotų modulių. Tai yra problema, susijusi su tuo, kaip distribucija naudoja diegimo programą Calamares. - + <br/>The following modules could not be loaded: <br/>Nepavyko įkelti šių modulių: - + Continue with installation? Tęsti diegimą? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sąrankos programa, siekdama nustatyti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Set up now Nu&statyti dabar - + &Set up Nu&statyti - + &Install Į&diegti - + Setup is complete. Close the setup program. Sąranka užbaigta. Užverkite sąrankos programą. - + Cancel setup? Atsisakyti sąrankos? - + Cancel installation? Atsisakyti diegimo? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio sąrankos proceso? Sąrankos programa užbaigs darbą ir visi pakeitimai bus prarasti. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio diegimo proceso? Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - + &Yes &Taip - + &No &Ne - + &Close &Užverti - + Continue with setup? Tęsti sąranką? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Install now Į&diegti dabar - + Go &back &Grįžti - + &Done A&tlikta - + The installation is complete. Close the installer. Diegimas užbaigtas. Užverkite diegimo programą. - + Error Klaida - + Installation Failed Diegimas nepavyko @@ -1290,6 +1286,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nepavyko rašyti į failą <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Sukuriama initramfs naudojant mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Sukuriama initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Vieta + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Konfigūruojamas LUKS raktų failas. + + + + + No partitions are defined. + Nėra jokių apibrėžtų skaidinių. + + + + + + Encrypted rootfs setup error + Šifruoto rootfs sąrankos klaida + + + + Root partition %1 is LUKS but no passphrase has been set. + Šaknies skaidinys %1 yra LUKS, tačiau nebuvo nustatyta jokia slaptafrazė. + + + + Could not create LUKS key file for root partition %1. + Nepavyko šaknies skaidiniui %1 sukurti LUKS rakto failo. + + + + Could configure LUKS key file on partition %1. + Nepavyko konfigūruoti LUKS rakto failo skaidinyje %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. ProcessResult - + There was no output from the command. Nebuvo jokios išvesties iš komandos. - + Output: @@ -2236,52 +2284,52 @@ Išvestis: - + External command crashed. Išorinė komanda užstrigo. - + Command <i>%1</i> crashed. Komanda <i>%1</i> užstrigo. - + External command failed to start. Nepavyko paleisti išorinės komandos. - + Command <i>%1</i> failed to start. Nepavyko paleisti komandos <i>%1</i>. - + Internal error when starting command. Paleidžiant komandą, įvyko vidinė klaida. - + Bad parameters for process job call. Blogi parametrai proceso užduoties iškvietai. - + External command failed to finish. Nepavyko pabaigti išorinės komandos. - + Command <i>%1</i> failed to finish in %2 seconds. Nepavyko per %2 sek. pabaigti komandos <i>%1</i>. - + External command finished with errors. Išorinė komanda pabaigta su klaidomis. - + Command <i>%1</i> finished with exit code %2. Komanda <i>%1</i> pabaigta su išėjimo kodu %2. @@ -2330,7 +2378,7 @@ Išvestis: (nėra prijungimo taško) - + Requirements checking for module <i>%1</i> is complete. Reikalavimų tikrinimas <i>%1</i> moduliui yra užbaigtas. diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index f591f3d63..6058b1059 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. Инсталацијата е готова. Исклучете го инсталерот. - + Error Грешка - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 887d2b0b5..f4d005f92 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back &मागे - - + &Next &पुढे - - + &Cancel &रद्द करा - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. प्रणालीत बदल न करता अधिष्टापना रद्द करा. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? अधिष्ठापना रद्द करायचे? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &होय - + &No &नाही - + &Close &बंद करा - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &आता अधिष्ठापित करा - + Go &back &मागे जा - + &Done &पूर्ण झाली - + The installation is complete. Close the installer. अधिष्ठापना संपूर्ण झाली. अधिष्ठापक बंद करा. - + Error त्रुटी - + Installation Failed अधिष्ठापना अयशस्वी झाली @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index e6c0bb3cf..1ed2dd4aa 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Tilbake - - + &Next &Neste - - + &Cancel &Avbryt - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryte installasjon? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig avbryte installasjonen? Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + &Yes &Ja - + &No &Nei - + &Close &Lukk - + Continue with setup? Fortsette å sette opp? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 vil nå gjøre endringer på harddisken, for å installere %2. <br/><strong>Du vil ikke kunne omgjøre disse endringene.</strong> - + &Install now &Installer nå - + Go &back Gå &tilbake - + &Done &Ferdig - + The installation is complete. Close the installer. Installasjonen er fullført. Lukk installeringsprogrammet. - + Error Feil - + Installation Failed Installasjon feilet @@ -1289,6 +1285,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Plassering + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Ugyldige parametere for prosessens oppgavekall - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index 069c082a9..53f88b1b2 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index ce02fcd02..039ef6f49 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Terug - - + &Next &Volgende - - + &Cancel &Afbreken - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Installatie afbreken zonder aanpassingen aan het systeem. - + Setup Failed - + Calamares Initialization Failed Calamares Initialisatie mislukt - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kan niet worden geïnstalleerd. Calamares kon niet alle geconfigureerde modules laden. Dit is een probleem met hoe Calamares wordt gebruikt door de distributie. - + <br/>The following modules could not be loaded: <br/>The volgende modules konden niet worden geladen: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Installeer - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Installatie afbreken? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wil je het huidige installatieproces echt afbreken? Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + &Yes &ja - + &No &Nee - + &Close &Sluiten - + Continue with setup? Doorgaan met installatie? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Het %1 installatieprogramma zal nu aanpassingen maken aan je schijf om %2 te installeren.<br/><strong>Deze veranderingen kunnen niet ongedaan gemaakt worden.</strong> - + &Install now Nu &installeren - + Go &back Ga &terug - + &Done Voltooi&d - + The installation is complete. Close the installer. De installatie is voltooid. Sluit het installatie-programma. - + Error Fout - + Installation Failed Installatie Mislukt @@ -1289,6 +1285,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Locatie + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,14 +2267,14 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. ProcessResult - + There was no output from the command. Er was geen uitvoer van de opdracht. - + Output: @@ -2235,52 +2283,52 @@ Uitvoer: - + External command crashed. Externe opdracht is vastgelopen. - + Command <i>%1</i> crashed. Opdracht <i>%1</i> is vastgelopen. - + External command failed to start. Externe opdracht kon niet worden gestart. - + Command <i>%1</i> failed to start. Opdracht <i>%1</i> kon niet worden gestart. - + Internal error when starting command. Interne fout bij het starten van de opdracht. - + Bad parameters for process job call. Onjuiste parameters voor procestaak - + External command failed to finish. Externe opdracht is niet correct beëindigd. - + Command <i>%1</i> failed to finish in %2 seconds. Opdracht <i>%1</i> is niet beëindigd in %2 seconden. - + External command finished with errors. Externe opdracht beëindigd met fouten. - + Command <i>%1</i> finished with exit code %2. Opdracht <i>%1</i> beëindigd met foutcode %2. @@ -2329,7 +2377,7 @@ Uitvoer: (geen aankoppelpunt) - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index c3beb76f3..68639ced1 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Wstecz - - + &Next &Dalej - - + &Cancel &Anuluj - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Anuluj instalację bez dokonywania zmian w systemie. - + Setup Failed - + Calamares Initialization Failed Błąd inicjacji programu Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nie może zostać zainstalowany. Calamares nie mógł wczytać wszystkich skonfigurowanych modułów. Jest to problem ze sposobem, w jaki Calamares jest używany przez dystrybucję. - + <br/>The following modules could not be loaded: <br/>Następujące moduły nie mogły zostać wczytane: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Za&instaluj - + Setup is complete. Close the setup program. - + Cancel setup? Anulować ustawianie? - + Cancel installation? Anulować instalację? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Czy na pewno chcesz anulować obecny proces instalacji? Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - + &Yes &Tak - + &No &Nie - + &Close Zam&knij - + Continue with setup? Kontynuować z programem instalacyjnym? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalator %1 zamierza przeprowadzić zmiany na Twoim dysku, aby zainstalować %2.<br/><strong>Nie będziesz mógł cofnąć tych zmian.</strong> - + &Install now &Zainstaluj teraz - + Go &back &Cofnij się - + &Done &Ukończono - + The installation is complete. Close the installer. Instalacja ukończona pomyślnie. Możesz zamknąć instalator. - + Error Błąd - + Installation Failed Wystąpił błąd instalacji @@ -1289,6 +1285,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Tworzenie initramfs z mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Tworzenie initramfs. + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Położenie + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Konfigurowanie pliku klucza LUKS. + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,14 +2267,14 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. ProcessResult - + There was no output from the command. W wyniku polecenia nie ma żadnego rezultatu. - + Output: @@ -2235,52 +2283,52 @@ Wyjście: - + External command crashed. Zewnętrzne polecenie zakończone niepowodzeniem. - + Command <i>%1</i> crashed. Wykonanie polecenia <i>%1</i> nie powiodło się. - + External command failed to start. Nie udało się uruchomić zewnętrznego polecenia. - + Command <i>%1</i> failed to start. Polecenie <i>%1</i> nie zostało uruchomione. - + Internal error when starting command. Wystąpił wewnętrzny błąd podczas uruchamiania polecenia. - + Bad parameters for process job call. Błędne parametry wywołania zadania. - + External command failed to finish. Nie udało się ukończyć zewnętrznego polecenia. - + Command <i>%1</i> failed to finish in %2 seconds. Nie udało się ukończyć polecenia <i>%1</i> w ciągu %2 sekund. - + External command finished with errors. Ukończono zewnętrzne polecenie z błędami. - + Command <i>%1</i> finished with exit code %2. Polecenie <i>%1</i> zostało ukończone z błędem o kodzie %2. @@ -2329,7 +2377,7 @@ Wyjście: (brak punktu montowania) - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index 2e0809b87..533541556 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Esperando por %n módulo.Esperando por %n módulos. - + (%n second(s)) (%n segundo)(%n segundos) - + System-requirements checking is complete. Verificação de requerimentos do sistema completa. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Voltar - - + &Next &Próximo - - + &Cancel &Cancelar - - + Cancel setup without changing the system. Cancelar configuração sem alterar o sistema. - - + Cancel installation without changing the system. Cancelar instalação sem modificar o sistema. - + Setup Failed A Configuração Falhou - + Calamares Initialization Failed Falha na inicialização do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 não pôde ser instalado. O Calamares não conseguiu carregar todos os módulos configurados. Este é um problema com o modo em que o Calamares está sendo utilizado pela distribuição. - + <br/>The following modules could not be loaded: <br/>Os seguintes módulos não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> O programa de configuração %1 está prestes a fazer mudanças no seu disco de modo a configurar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Set up now &Configurar agora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. A configuração está completa. Feche o programa de configuração. - + Cancel setup? Cancelar a configuração? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Você realmente quer cancelar o processo atual de configuração? O programa de configuração será fechado e todas as mudanças serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Você deseja realmente cancelar a instalação atual? O instalador será fechado e todas as alterações serão perdidas. - + &Yes &Sim - + &No &Não - + &Close Fe&char - + Continue with setup? Continuar com configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O instalador %1 está prestes a fazer alterações no disco a fim de instalar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Install now &Instalar agora - + Go &back &Voltar - + &Done Concluí&do - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -1290,6 +1286,22 @@ O instalador será fechado e todas as alterações serão perdidas.Não foi possível escrever no arquivo <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Criando initramfs com mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Criando initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ O instalador será fechado e todas as alterações serão perdidas.Localização + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Configurando o arquivo de chave do LUKS. + + + + + No partitions are defined. + Nenhuma partição está definida. + + + + + + Encrypted rootfs setup error + Erro de configuração de rootfs encriptado + + + + Root partition %1 is LUKS but no passphrase has been set. + A partição raiz %1 é LUKS, mas nenhuma senha foi definida. + + + + Could not create LUKS key file for root partition %1. + Não foi possível criar o arquivo de chave LUKS para a partição raiz %1. + + + + Could configure LUKS key file on partition %1. + Pode configurar o arquivo de chave LUKS na partição% 1. + + NetInstallPage @@ -2220,14 +2268,14 @@ O instalador será fechado e todas as alterações serão perdidas. ProcessResult - + There was no output from the command. Não houve saída do comando. - + Output: @@ -2236,52 +2284,52 @@ Saída: - + External command crashed. O comando externo falhou. - + Command <i>%1</i> crashed. O comando <i>%1</i> falhou. - + External command failed to start. O comando externo falhou ao iniciar. - + Command <i>%1</i> failed to start. O comando <i>%1</i> falhou ao iniciar. - + Internal error when starting command. Erro interno ao iniciar o comando. - + Bad parameters for process job call. Parâmetros ruins para a chamada da tarefa do processo. - + External command failed to finish. O comando externo falhou ao finalizar. - + Command <i>%1</i> failed to finish in %2 seconds. O comando <i>%1</i> falhou ao finalizar em %2 segundos. - + External command finished with errors. O comando externo foi concluído com erros. - + Command <i>%1</i> finished with exit code %2. O comando <i>%1</i> foi concluído com o código %2. @@ -2330,7 +2378,7 @@ Saída: (sem ponto de montagem) - + Requirements checking for module <i>%1</i> is complete. A verificação de requerimentos para o módulo <i>%1</i> está completa. diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index e1d49f242..a727717d2 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). A aguardar por %n módulo(s).A aguardar por %n módulo(s). - + (%n second(s)) (%n segundo(s))(%n segundo(s)) - + System-requirements checking is complete. A verificação de requisitos de sistema está completa. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Voltar - - + &Next &Próximo - - + &Cancel &Cancelar - - + Cancel setup without changing the system. Cancelar instalação sem alterar o sistema. - - + Cancel installation without changing the system. Cancelar instalar instalação sem modificar o sistema. - + Setup Failed Falha de Instalação - + Calamares Initialization Failed Falha na Inicialização do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 não pode ser instalado. O Calamares não foi capaz de carregar todos os módulos configurados. Isto é um problema da maneira como o Calamares é usado pela distribuição. - + <br/>The following modules could not be loaded: <br/>Os módulos seguintes não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Instalar agora - + &Set up &Instalar - + &Install &Instalar - + Setup is complete. Close the setup program. Instalação completa. Feche o programa de instalação. - + Cancel setup? Cancelar instalação? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Quer mesmo cancelar o processo de instalação atual? O programa de instalação irá fechar todas as alterações serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Tem a certeza que pretende cancelar o atual processo de instalação? O instalador será encerrado e todas as alterações serão perdidas. - + &Yes &Sim - + &No &Não - + &Close &Fechar - + Continue with setup? Continuar com a configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está prestes a fazer alterações ao seu disco em ordem para instalar %2.<br/><strong>Não será capaz de desfazer estas alterações.</strong> - + &Install now &Instalar agora - + Go &back Voltar &atrás - + &Done &Feito - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -1290,6 +1286,22 @@ O instalador será encerrado e todas as alterações serão perdidas.Não foi possível escrever para o ficheiro <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ O instalador será encerrado e todas as alterações serão perdidas.Localização + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,14 +2268,14 @@ O instalador será encerrado e todas as alterações serão perdidas. ProcessResult - + There was no output from the command. O comando não produziu saída de dados. - + Output: @@ -2236,52 +2284,52 @@ Saída de Dados: - + External command crashed. O comando externo "crashou". - + Command <i>%1</i> crashed. Comando <i>%1</i> "crashou". - + External command failed to start. Comando externo falhou ao iniciar. - + Command <i>%1</i> failed to start. Comando <i>%1</i> falhou a inicialização. - + Internal error when starting command. Erro interno ao iniciar comando. - + Bad parameters for process job call. Maus parâmetros para chamada de processamento de tarefa. - + External command failed to finish. Comando externo falhou a finalização. - + Command <i>%1</i> failed to finish in %2 seconds. Comando <i>%1</i> falhou ao finalizar em %2 segundos. - + External command finished with errors. Comando externo finalizou com erros. - + Command <i>%1</i> finished with exit code %2. Comando <i>%1</i> finalizou com código de saída %2. @@ -2330,7 +2378,7 @@ Saída de Dados: (sem ponto de montagem) - + Requirements checking for module <i>%1</i> is complete. A verificação de requisitos para módulo <i>%1</i> está completa. diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index fbc795e6a..b979ba4c8 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Înapoi - - + &Next &Următorul - - + &Cancel &Anulează - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Anulează instalarea fără schimbarea sistemului. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Instalează - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Anulez instalarea? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doriți să anulați procesul curent de instalare? Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + &Yes &Da - + &No &Nu - + &Close În&chide - + Continue with setup? Continuați configurarea? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Programul de instalare %1 este pregătit să facă schimbări pe discul dumneavoastră pentru a instala %2.<br/><strong>Nu veți putea anula aceste schimbări.</strong> - + &Install now &Instalează acum - + Go &back Î&napoi - + &Done &Gata - + The installation is complete. Close the installer. Instalarea este completă. Închide instalatorul. - + Error Eroare - + Installation Failed Instalare eșuată @@ -1289,6 +1285,22 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Locație + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2222,14 +2270,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. ProcessResult - + There was no output from the command. Nu a existat nici o iesire din comanda - + Output: @@ -2238,52 +2286,52 @@ Output - + External command crashed. Comanda externă a eșuat. - + Command <i>%1</i> crashed. Comanda <i>%1</i> a eșuat. - + External command failed to start. Comanda externă nu a putut fi pornită. - + Command <i>%1</i> failed to start. Comanda <i>%1</i> nu a putut fi pornită. - + Internal error when starting command. Eroare internă la pornirea comenzii. - + Bad parameters for process job call. Parametri proști pentru apelul sarcinii de proces. - + External command failed to finish. Finalizarea comenzii externe a eșuat. - + Command <i>%1</i> failed to finish in %2 seconds. Comanda <i>%1</i> nu a putut fi finalizată în %2 secunde. - + External command finished with errors. Comanda externă finalizată cu erori. - + Command <i>%1</i> finished with exit code %2. Comanda <i>%1</i> finalizată cu codul de ieșire %2. @@ -2332,7 +2380,7 @@ Output - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index aaf4c34a5..4de6cc2aa 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,155 @@ Calamares::ViewManager - + &Back &Назад - - + &Next &Далее - - + &Cancel О&тмена - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. Отменить установку без изменения системы. - + Setup Failed - + Сбой установки - + Calamares Initialization Failed Ошибка инициализации Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Не удалось установить %1. Calamares не удалось загрузить все сконфигурированные модули. Эта проблема вызвана тем, как ваш дистрибутив использует Calamares. - + <br/>The following modules could not be loaded: <br/>Не удалось загрузить следующие модули: - + Continue with installation? - + Продолжить установку? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Set up now - + &Set up - + &Install &Установить - + Setup is complete. Close the setup program. - + Установка завершена. Закройте программу установки. - + Cancel setup? - + Отменить установку? - + Cancel installation? Отменить установку? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Прервать процесс установки? +Программа установки прекратит работу и все изменения будут потеряны. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Действительно прервать процесс установки? Программа установки сразу прекратит работу, все изменения будут потеряны. - + &Yes &Да - + &No &Нет - + &Close &Закрыть - + Continue with setup? Продолжить установку? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Install now Приступить к &установке - + Go &back &Назад - + &Done &Готово - + The installation is complete. Close the installer. Установка завершена. Закройте установщик. - + Error Ошибка - + Installation Failed Установка завершилась неудачей @@ -410,7 +407,7 @@ The installer will quit and all changes will be lost. %1 Setup Program - + Программа установки %1 @@ -479,7 +476,7 @@ The installer will quit and all changes will be lost. %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + %1 будет уменьшен до %2MB и новый раздел %3MB будет создан для %4. @@ -522,7 +519,7 @@ The installer will quit and all changes will be lost. No Swap - + Без раздела подкачки @@ -722,12 +719,12 @@ The installer will quit and all changes will be lost. Create new %2MiB partition on %4 (%3) with file system %1. - + Создать новый раздел %2 MB на %4 (%3) с файловой системой %1. Create new <strong>%2MiB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Создать новый раздел <strong>%2 MB</strong> на <strong>%4</strong> (%3) с файловой системой <strong>%1</strong>. @@ -834,7 +831,7 @@ The installer will quit and all changes will be lost. Create Volume Group - + Создать группу томов @@ -1110,7 +1107,7 @@ The installer will quit and all changes will be lost. <Restart checkbox tooltip> - + <Restart checkbox tooltip> @@ -1120,12 +1117,12 @@ The installer will quit and all changes will be lost. <h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system. - + <h1>Готово.</h1><br/>Система %1 установлена на ваш компьютер.<br/>Можете перезагрузить компьютер и начать использовать вашу новую систему. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html> - + <html><head/><body><p>Если этот флажок установлен, ваша система будет перезагружена сразу после нажатия кнопки <span style="font-style:italic;">Готово</span> или закрытия программы установки.</p></body></html> @@ -1135,12 +1132,12 @@ The installer will quit and all changes will be lost. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>Если этот флажок установлен, ваша система будет перезагружена сразу после нажатия кнопки <span style=" font-style:italic;">Готово</span> или закрытия программы установки.</p></body></html> <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Сбой установки</h1><br/>Система %1 не была установлена на ваш компьютер.<br/>Сообщение об ошибке: %2. @@ -1158,7 +1155,7 @@ The installer will quit and all changes will be lost. Setup Complete - + Установка завершена @@ -1168,7 +1165,7 @@ The installer will quit and all changes will be lost. The setup of %1 is complete. - + Установка %1 завершена. @@ -1181,12 +1178,12 @@ The installer will quit and all changes will be lost. Format partition %1 (file system: %2, size: %3 MiB) on %4. - + Форматировать раздел %1 (файловая система: %2, размер: %3 МБ) на %4. Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Форматировать раздел <strong>%1</strong> размером <strong>%3MB</strong> с файловой системой <strong>%2</strong>. @@ -1204,22 +1201,22 @@ The installer will quit and all changes will be lost. has at least %1 GiB available drive space - + доступно как минимум %1 ГБ свободного дискового пространства There is not enough drive space. At least %1 GiB is required. - + Недостаточно места на дисках. Необходимо как минимум %1 ГБ. has at least %1 GiB working memory - + доступно как минимум %1 ГБ оперативной памяти The system does not have enough working memory. At least %1 GiB is required. - + Недостаточно оперативной памяти. Необходимо как минимум %1 ГБ. @@ -1244,7 +1241,7 @@ The installer will quit and all changes will be lost. The setup program is not running with administrator rights. - + Программа установки запущена без прав администратора. @@ -1254,7 +1251,7 @@ The installer will quit and all changes will be lost. The screen is too small to display the setup program. - + Экран слишком маленький, чтобы отобразить программу установки. @@ -1275,17 +1272,33 @@ The installer will quit and all changes will be lost. Could not create directories <code>%1</code>. - + Не удалось создать директории <code>%1</code>. Could not open file <code>%1</code>. - + Не удалось открыть файл <code>%1</code>. Could not write to file <code>%1</code>. - + Не удалась запись в файл <code>%1</code>. + + + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Создание initramfs при помощи mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Создание initramfs. @@ -1436,32 +1449,32 @@ The installer will quit and all changes will be lost. Shows the complete license text - + Показывает полный текст лицензии Hide license text - + Скрыть текст лицензии Show license agreement - + Показать лицензионное соглашение Hide license agreement - + Скрыть лицензионное соглашение Opens the license agreement in a browser window. - + Открывает лицензионное соглашение в окне браузера. <a href="%1">View license agreement</a> - + <a href="%1">Просмотреть лицензионное соглашение</a> @@ -1511,6 +1524,42 @@ The installer will quit and all changes will be lost. Местоположение + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Конфигурация файла ключа LUKS. + + + + + No partitions are defined. + Разделы не были заданы. + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + Корневой раздел %1 это LUKS, но ключ шифрования не был задан. + + + + Could not create LUKS key file for root partition %1. + Не удалось создать файл ключа LUKS для корневого раздела %1. + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2149,12 +2198,12 @@ The installer will quit and all changes will be lost. has at least one disk device available. - + имеет как минимум одно доступное дисковое устройство. There are no partitons to install on. - + Нет разделов для установки. @@ -2218,14 +2267,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. Вывода из команды не последовало. - + Output: @@ -2234,52 +2283,52 @@ Output: - + External command crashed. Сбой внешней команды. - + Command <i>%1</i> crashed. Сбой команды <i>%1</i>. - + External command failed to start. Не удалось запустить внешнюю команду. - + Command <i>%1</i> failed to start. Не удалось запустить команду <i>%1</i>. - + Internal error when starting command. Внутренняя ошибка при запуске команды. - + Bad parameters for process job call. Неверные параметры для вызова процесса. - + External command failed to finish. Не удалось завершить внешнюю команду. - + Command <i>%1</i> failed to finish in %2 seconds. Команда <i>%1</i> не завершилась за %2 с. - + External command finished with errors. Внешняя команда завершилась с ошибками - + Command <i>%1</i> finished with exit code %2. Команда <i>%1</i> завершилась с кодом %2. @@ -2325,12 +2374,12 @@ Output: (no mount point) - + (без точки монтирования) - + Requirements checking for module <i>%1</i> is complete. - + Проверка требований для модуля <i>%1</i> завершена. @@ -2485,13 +2534,13 @@ Output: The filesystem %1 cannot be resized. - + Невозможно изменить размер файловой системы %1. The device %1 cannot be resized. - + Невозможно изменить размер устройства %1. @@ -2514,12 +2563,12 @@ Output: Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + Изменить размер <strong>%2MB</strong> раздела <strong>%1</strong> на <strong>%3MB</strong>. Resizing %2MiB partition %1 to %3MiB. - + Изменение размера раздела %1 с %2MB на %3MB. @@ -2541,17 +2590,17 @@ Output: Resize volume group named %1 from %2 to %3. - + Изменить размер группы томов под именем %1 с %2 на %3. Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>. - + Изменить размер группы томов под именем <strong>%1</strong> с <strong>%2</strong> на <strong>%3</strong>. The installer failed to resize a volume group named '%1'. - + Программе установки не удалось изменить размер группы томов под именем '%1'. @@ -2559,7 +2608,7 @@ Output: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + Этот компьютер не соответствует минимальным требованиям для установки %1.<br/>Невозможно продолжить установку. <a href="#details">Подробнее...</a> @@ -2569,7 +2618,7 @@ Output: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + Этот компьютер соответствует не всем рекомендуемым требованиям для установки %1.<br/>Можно продолжить установку, но некоторые возможности могут быть недоступны. @@ -2675,7 +2724,7 @@ Output: Set flags on %1MiB %2 partition. - + Установить флаги %1MiB раздела %2. @@ -2690,22 +2739,22 @@ Output: Clear flags on %1MiB <strong>%2</strong> partition. - + Снять флаги %1MiB раздела <strong>%2</strong>. Flag %1MiB <strong>%2</strong> partition as <strong>%3</strong>. - + Отметить %1MB раздел <strong>%2</strong> флагом как <strong>%3</strong>. Clearing flags on %1MiB <strong>%2</strong> partition. - + Снятие флагов %1MiB раздела <strong>%2</strong>. Setting flags <strong>%3</strong> on %1MiB <strong>%2</strong> partition. - + Установка флагов <strong>%3</strong> %1MiB раздела <strong>%2</strong>. @@ -2851,7 +2900,7 @@ Output: This is an overview of what will happen once you start the setup procedure. - + Это обзор изменений, которые будут применены при запуске процедуры установки. @@ -2949,17 +2998,17 @@ Output: By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + Отметив этот пункт, вы поделитесь информацией о установке и своем оборудовании. Эта информация <b>будет отправлена только один раз</b> после завершения установки. By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + Отметив этот пункт, вы будете <b>периодически</b> отправлять %1 информацию о своей установке, оборудовании и приложениях. By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + Отметив этот пункт, вы будете <b>регулярно</b> отправлять %1 информацию о своей установке, оборудовании, приложениях и паттернах их использования. @@ -2975,12 +3024,12 @@ Output: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>Если этот компьютер будет использоваться несколькими людьми, вы сможете создать учетные записи для них после установки.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>Если этот компьютер используется несколькими людьми, Вы сможете создать соответствующие учетные записи сразу после установки.</small> @@ -3027,7 +3076,7 @@ Output: Create Volume Group - + Создать группу томов @@ -3037,12 +3086,12 @@ Output: Volume Group Name: - + Имя группы томов: Volume Group Type: - + Тип группы томов: @@ -3057,17 +3106,17 @@ Output: Total Size: - + Общий объём: Used Size: - + Использованный объём: Total Sectors: - + Всего секторов: @@ -3096,7 +3145,7 @@ Output: Select language - + Выберите язык @@ -3121,17 +3170,17 @@ Output: <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Добро пожаловать в программу установки Calamares для %1 .</h1> <h1>Welcome to %1 setup.</h1> - + <h1>Добро пожаловать в программу установки %1 .</h1> About %1 setup - + О установке %1 diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 00a03251c..04f9e4fd9 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čaká sa na %n modul.Čaká sa na %n moduly.Čaká sa na %n modulov.Čaká sa na %n modulov. - + (%n second(s)) (%n sekunda)(%n sekundy)(%n sekúnd)(%n sekúnd) - + System-requirements checking is complete. Kontrola systémových požiadaviek je dokončená. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Späť - - + &Next Ď&alej - - + &Cancel &Zrušiť - - + Cancel setup without changing the system. Zrušenie inštalácie bez zmien v systéme. - - + Cancel installation without changing the system. Zruší inštaláciu bez zmeny systému. - + Setup Failed Inštalácia zlyhala - + Calamares Initialization Failed Zlyhala inicializácia inštalátora Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Nie je možné nainštalovať %1. Calamares nemohol načítať všetky konfigurované moduly. Je problém s tým, ako sa Calamares používa pri distribúcii. - + <br/>The following modules could not be loaded: <br/>Nebolo možné načítať nasledujúce moduly - + Continue with installation? Pokračovať v inštalácii? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install _Inštalovať - + Setup is complete. Close the setup program. - + Cancel setup? Zrušiť inštaláciu? - + Cancel installation? Zrušiť inštaláciu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Naozaj chcete zrušiť aktuálny priebeh inštalácie? Inštalačný program bude ukončený a zmeny budú stratené. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Skutočne chcete zrušiť aktuálny priebeh inštalácie? Inštalátor sa ukončí a všetky zmeny budú stratené. - + &Yes _Áno - + &No _Nie - + &Close _Zavrieť - + Continue with setup? Pokračovať v inštalácii? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Inštalátor distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> - + &Install now &Inštalovať teraz - + Go &back Prejsť s&päť - + &Done _Dokončiť - + The installation is complete. Close the installer. Inštalácia je dokončená. Zatvorí inštalátor. - + Error Chyba - + Installation Failed Inštalácia zlyhala @@ -1290,6 +1286,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Umiestnenie + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,14 +2268,14 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. ProcessResult - + There was no output from the command. Žiadny výstup z príkazu. - + Output: @@ -2236,52 +2284,52 @@ Výstup: - + External command crashed. Externý príkaz nečakane skončil. - + Command <i>%1</i> crashed. Príkaz <i>%1</i> nečakane skončil. - + External command failed to start. Zlyhalo spustenie externého príkazu. - + Command <i>%1</i> failed to start. Zlyhalo spustenie príkazu <i>%1</i> . - + Internal error when starting command. Počas spúšťania príkazu sa vyskytla interná chyba. - + Bad parameters for process job call. Nesprávne parametre pre volanie úlohy procesu. - + External command failed to finish. Zlyhalo dokončenie externého príkazu. - + Command <i>%1</i> failed to finish in %2 seconds. Zlyhalo dokončenie príkazu <i>%1</i> počas doby %2 sekúnd. - + External command finished with errors. Externý príkaz bol dokončený s chybami. - + Command <i>%1</i> finished with exit code %2. Príkaz <i>%1</i> skončil s ukončovacím kódom %2. @@ -2330,7 +2378,7 @@ Výstup: (žiadny bod pripojenia) - + Requirements checking for module <i>%1</i> is complete. Kontrola požiadaviek modulu <i>%1</i> je dokončená. diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index ce6069495..35ebd55f6 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Nazaj - - + &Next &Naprej - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Preklic namestitve? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ali res želite preklicati trenutni namestitveni proces? Namestilni program se bo končal in vse spremembe bodo izgubljene. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Napaka - + Installation Failed Namestitev je spodletela @@ -1289,6 +1285,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Položaj + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Nepravilni parametri za klic procesa opravila. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index e41229a34..e843247c7 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Po pritet për %n modul(e).Po pritet për %n modul(e). - + (%n second(s)) (%n sekondë(a))(%n sekondë(a)) - + System-requirements checking is complete. Kontrolli i domosdoshmërive të sistemit u plotësua. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Mbrapsht - - + &Next &Pasuesi - - + &Cancel &Anuloje - - + Cancel setup without changing the system. Anuloje rregullimin pa ndryshuar sistemin. - - + Cancel installation without changing the system. Anuloje instalimin pa ndryshuar sistemin. - + Setup Failed Rregullimi Dështoi - + Calamares Initialization Failed Gatitja e Calamares-it Dështoi - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 s’mund të instalohet. Calamares s’qe në gjendje të ngarkonte krejt modulet e konfiguruar. Ky është një problem që lidhet me mënyrën se si përdoret Calamares nga shpërndarja. - + <br/>The following modules could not be loaded: <br/>S’u ngarkuan dot modulet vijues: - + Continue with installation? Të vazhdohet me instalimin? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Programi i rregullimit %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të rregullojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Set up now &Rregulloje tani - + &Set up &Rregulloje - + &Install &Instaloje - + Setup is complete. Close the setup program. Rregullimi është i plotë. Mbylleni programin e rregullimit. - + Cancel setup? Të anulohet rregullimi? - + Cancel installation? Të anulohet instalimi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i rregullimit? Programi i rregullimit do të mbyllet dhe krejt ndryshimet do të humbin. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i instalimit? Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - + &Yes &Po - + &No &Jo - + &Close &Mbylle - + Continue with setup? Të vazhdohet me rregullimin? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instaluesi %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të instalojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Install now &Instaloje tani - + Go &back Kthehu &mbrapsht - + &Done &U bë - + The installation is complete. Close the installer. Instalimi u plotësua. Mbylle instaluesin. - + Error Gabim - + Installation Failed Instalimi Dështoi @@ -1290,6 +1286,22 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. S’u shkrua dot te kartelë <code>%1</code>. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Po krijohet initramfs me mkinitcpio. + + + + InitramfsJob + + + Creating initramfs. + Po krijohet initramfs. + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Vendndodhje + + LuksBootKeyFileJob + + + Configuring LUKS key file. + Po formësohet kartelë kyçesh LUKS. + + + + + No partitions are defined. + S’ka pjesë të përkufizuara. + + + + + + Encrypted rootfs setup error + Gabim ujdisjeje rootfs të fshehtëzuar + + + + Root partition %1 is LUKS but no passphrase has been set. + Pjesa rrënjë %1 është LUKS, por s’është caktuar frazëkalim. + + + + Could not create LUKS key file for root partition %1. + S’u krijua dot kartelë kyçi LUKS për ndarjen rrënjë %1. + + + + Could configure LUKS key file on partition %1. + Mund të formësohej kartelë kyçesh LUKS në pjesën %1. + + NetInstallPage @@ -2220,14 +2268,14 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. ProcessResult - + There was no output from the command. S’pati përfundim nga urdhri. - + Output: @@ -2236,52 +2284,52 @@ Përfundim: - + External command crashed. Urdhri i jashtëm u vithis. - + Command <i>%1</i> crashed. Urdhri <i>%1</i> u vithis. - + External command failed to start. Dështoi nisja e urdhrit të jashtëm. - + Command <i>%1</i> failed to start. Dështoi nisja e urdhrit <i>%1</i>. - + Internal error when starting command. Gabim i brendshëm kur niset urdhri. - + Bad parameters for process job call. Parametra të gabuar për thirrje akti procesi. - + External command failed to finish. S’u arrit të përfundohej urdhër i jashtëm. - + Command <i>%1</i> failed to finish in %2 seconds. Urdhri <i>%1</i> s’arriti të përfundohej në %2 sekonda. - + External command finished with errors. Urdhri i jashtë përfundoi me gabime. - + Command <i>%1</i> finished with exit code %2. Urdhri <i>%1</i> përfundoi me kod daljeje %2. @@ -2330,7 +2378,7 @@ Përfundim: (s’ka pikë montimi) - + Requirements checking for module <i>%1</i> is complete. Kontrolli i domosdoshmërive për modulin <i>%1</i> u plotësua. diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index d9265925b..d92da1ad1 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Назад - - + &Next &Следеће - - + &Cancel &Откажи - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отказати инсталацију? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Да ли стварно желите да прекинете текући процес инсталације? Инсталер ће бити затворен и све промене ће бити изгубљене. - + &Yes - + &No - + &Close - + Continue with setup? Наставити са подешавањем? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Инсталирај сада - + Go &back Иди &назад - + &Done - + The installation is complete. Close the installer. - + Error Грешка - + Installation Failed Инсталација није успела @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. Локација + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Лоши параметри при позиву посла процеса. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 1d383195f..0ef4a34af 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Nazad - - + &Next &Dalje - - + &Cancel &Prekini - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Prekini instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Da li stvarno želite prekinuti trenutni proces instalacije? Instaler će se zatvoriti i sve promjene će biti izgubljene. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Greška - + Installation Failed Neuspješna instalacija @@ -1289,6 +1285,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Lokacija + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Pogrešni parametri kod poziva funkcije u procesu. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 610ac5cda..85045517b 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Bakåt - - + &Next &Nästa - - + &Cancel Avbryt - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryt installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Är du säker på att du vill avsluta installationen i förtid? Alla ändringar kommer att gå förlorade. - + &Yes - + &No - + &Close - + Continue with setup? Fortsätt med installation? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar!strong> - + &Install now &Installera nu - + Go &back Gå &bakåt - + &Done - + The installation is complete. Close the installer. - + Error Fel - + Installation Failed Installationen misslyckades @@ -1289,6 +1285,22 @@ Alla ändringar kommer att gå förlorade. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ Alla ändringar kommer att gå förlorade. Plats + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ Alla ändringar kommer att gå förlorade. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Ogiltiga parametrar för processens uppgiftsanrop. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 52b50460d..927770c31 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &B ย้อนกลับ - - + &Next &N ถัดไป - - + &Cancel &C ยกเลิก - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ยกเลิกการติดตั้ง? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. คุณต้องการยกเลิกกระบวนการติดตั้งที่กำลังดำเนินการอยู่หรือไม่? ตัวติดตั้งจะสิ้นสุดการทำงานและไม่บันทึกการเปลี่ยนแปลงที่ได้ดำเนินการก่อนหน้านี้ - + &Yes - + &No - + &Close - + Continue with setup? ดำเนินการติดตั้งต่อหรือไม่? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> ตัวติดตั้ง %1 กำลังพยายามที่จะทำการเปลี่ยนแปลงในดิสก์ของคุณเพื่อติดตั้ง %2<br/><strong>คุณจะไม่สามารถยกเลิกการเปลี่ยนแปลงเหล่านี้ได้</strong> - + &Install now &ติดตั้งตอนนี้ - + Go &back กลั&บไป - + &Done - + The installation is complete. Close the installer. - + Error ข้อผิดพลาด - + Installation Failed การติดตั้งล้มเหลว @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. ตำแหน่ง + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2219,65 +2267,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. พารามิเตอร์ไม่ถูกต้องสำหรับการเรียกการทำงาน - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2326,7 +2374,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 15a17eefd..730bb881a 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n modülü bekleniyor.%n modül(leri) bekleniyor. - + (%n second(s)) (%n saniye(ler))(%n saniye) - + System-requirements checking is complete. Sistem gereksinimleri kontrolü tamamlandı. @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back &Geri - - + &Next &Sonraki - - + &Cancel &Vazgeç - - + Cancel setup without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - - + Cancel installation without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Setup Failed Kurulum Başarısız - + Calamares Initialization Failed Calamares Başlatılamadı - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 yüklenemedi. Calamares yapılandırılmış modüllerin bazılarını yükleyemedi. Bu, Calamares'in kullandığınız dağıtıma uyarlamasından kaynaklanan bir sorundur. - + <br/>The following modules could not be loaded: <br/>Aşağıdaki modüller yüklenemedi: - + Continue with installation? Kuruluma devam edilsin mi? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem kurulum uygulaması,%2 ayarlamak için diskinizde değişiklik yapmak üzere. <br/><strong>Bu değişiklikleri geri alamayacaksınız.</strong> - + &Set up now &Şimdi kur - + &Set up &Kur - + &Install &Yükle - + Setup is complete. Close the setup program. Kurulum tamamlandı. Kurulum programını kapatın. - + Cancel setup? Kurulum iptal edilsin mi? - + Cancel installation? Yüklemeyi iptal et? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Mevcut kurulum işlemini gerçekten iptal etmek istiyor musunuz? Kurulum uygulaması sonlandırılacak ve tüm değişiklikler kaybedilecek. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Yükleme işlemini gerçekten iptal etmek istiyor musunuz? Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. - + &Yes &Evet - + &No &Hayır - + &Close &Kapat - + Continue with setup? Kuruluma devam et? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem yükleyici %2 yüklemek için diskinizde değişiklik yapacak.<br/><strong>Bu değişiklikleri geri almak mümkün olmayacak.</strong> - + &Install now &Şimdi yükle - + Go &back Geri &git - + &Done &Tamam - + The installation is complete. Close the installer. Yükleme işi tamamlandı. Sistem yükleyiciyi kapatın. - + Error Hata - + Installation Failed Kurulum Başarısız @@ -1292,6 +1288,22 @@ Sistem güç kaynağına bağlı değil. <code>%1</code> dosyasına yazılamadı. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + Mkinitcpio ile initramfs oluşturuluyor. + + + + InitramfsJob + + + Creating initramfs. + Initramfs oluşturuluyor. + + InteractiveTerminalPage @@ -1515,6 +1527,42 @@ Sistem güç kaynağına bağlı değil. Sistem Yereli + + LuksBootKeyFileJob + + + Configuring LUKS key file. + LUKS anahtar dosyası yapılandırılıyor. + + + + + No partitions are defined. + Hiçbir disk bölümü tanımlanmadı. + + + + + + Encrypted rootfs setup error + Şifrelenmiş rootfs kurulum hatası + + + + Root partition %1 is LUKS but no passphrase has been set. + %1 kök disk bölümü LUKS olacak fakat bunun için parola belirlenmedi. + + + + Could not create LUKS key file for root partition %1. + %1 kök disk bölümü için LUKS anahtar dosyası oluşturulamadı. + + + + Could configure LUKS key file on partition %1. + %1 disk bölümü LUKS anahtar dosyası yapılandırılabilir. + + NetInstallPage @@ -2223,14 +2271,14 @@ Sistem güç kaynağına bağlı değil. ProcessResult - + There was no output from the command. Komut çıktısı yok. - + Output: @@ -2239,52 +2287,52 @@ Output: - + External command crashed. Harici komut çöktü. - + Command <i>%1</i> crashed. Komut <i>%1</i> çöktü. - + External command failed to start. Harici komut başlatılamadı. - + Command <i>%1</i> failed to start. Komut <i>%1</i> başlatılamadı. - + Internal error when starting command. Komut başlatılırken dahili hata. - + Bad parameters for process job call. Çalışma adımları başarısız oldu. - + External command failed to finish. Harici komut başarısız oldu. - + Command <i>%1</i> failed to finish in %2 seconds. Komut <i>%1</i> %2 saniyede başarısız oldu. - + External command finished with errors. Harici komut hatalarla bitti. - + Command <i>%1</i> finished with exit code %2. Komut <i>%1</i> %2 çıkış kodu ile tamamlandı @@ -2333,7 +2381,7 @@ Output: (bağlama noktası yok) - + Requirements checking for module <i>%1</i> is complete. <i>%1</i> modülü için gerekenler tamamlandı. diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 0c97745d8..b21f16d51 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Очікування %n модулю.Очікування %n модулів.Очікування %n модулів.Очікування %n модулів. - + (%n second(s)) (%n секунда)(%n секунди)(%n секунд(и))(%n секунд(и)) - + System-requirements checking is complete. Перевірка системних вимог завершена. @@ -226,159 +226,155 @@ Calamares::ViewManager - + &Back &Назад - - + &Next &Вперед - - + &Cancel &Скасувати - - + Cancel setup without changing the system. Скасувати налаштування без зміни системи. - - + Cancel installation without changing the system. Скасувати встановлення без зміни системи. - + Setup Failed Помилка встановлення - + Calamares Initialization Failed Помилка ініціалізації Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 неможливо встановити. Calamares не зміг завантажити всі налаштовані модулі. Ця проблема зв'язана з тим, як Calamares використовується дистрибутивом. - + <br/>The following modules could not be loaded: <br/>Не вдалося завантажити наступні модулі: - + Continue with installation? Продовжити встановлення? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Програма налаштування %1 збирається внести зміни до вашого диска, щоб налаштувати %2. <br/><strong> Ви не зможете скасувати ці зміни.</strong> - + &Set up now &Налаштувати зараз - + &Set up &Налаштувати - + &Install &Встановити - + Setup is complete. Close the setup program. Встановлення виконано. Закрити програму встановлення. - + Cancel setup? Скасувати налаштування? - + Cancel installation? Скасувати встановлення? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Чи ви насправді бажаєте скасувати процес встановлення? Установник закриється і всі зміни буде втрачено. - + &Yes &Так - + &No &Ні - + &Close &Закрити - + Continue with setup? Продовжити встановлення? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Установник %1 збирається зробити зміни на вашому диску, щоб встановити %2.<br/><strong>Ці зміни неможливо буде повернути.</strong> - + &Install now &Встановити зараз - + Go &back Перейти &назад - + &Done &Закінчити - + The installation is complete. Close the installer. Встановлення виконано. Закрити установник. - + Error Помилка - + Installation Failed Втановлення завершилося невдачею @@ -1289,6 +1285,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1512,6 +1524,42 @@ The installer will quit and all changes will be lost. Місцезнаходження + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2220,65 +2268,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Неправильні параметри визову завдання обробки. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2327,7 +2375,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 3d6e51b22..cb4d80715 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index b7b12e55a..7cd148c37 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,158 +226,154 @@ Calamares::ViewManager - + &Back - - + &Next - - + &Cancel - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. - + Setup Failed - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -1288,6 +1284,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1511,6 +1523,42 @@ The installer will quit and all changes will be lost. + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2218,65 +2266,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2325,7 +2373,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 192c8c380..9cd30f582 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -209,17 +209,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -227,159 +227,155 @@ Calamares::ViewManager - + &Back 后退(&B) - - + &Next 下一步(&N) - - + &Cancel 取消(&C) - - + Cancel setup without changing the system. - - + Cancel installation without changing the system. 取消安装,并不做任何更改。 - + Setup Failed - + Calamares Initialization Failed Calamares安装失败 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1无法安装。 Calamares无法加载所有已配置的模块。这是分配使用Calamares的方式的问题。 - + <br/>The following modules could not be loaded: <br/>无法加载以下模块: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install 安装(&I) - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? 取消安装? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 确定要取消当前的安装吗? 安装程序将退出,所有修改都会丢失。 - + &Yes &是 - + &No &否 - + &Close &关闭 - + Continue with setup? 要继续安装吗? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安装程序将在您的磁盘上做出变更以安装 %2。<br/><strong>您将无法复原这些变更。</strong> - + &Install now 现在安装 (&I) - + Go &back 返回 (&B) - + &Done &完成 - + The installation is complete. Close the installer. 安装已完成。请关闭安装程序。 - + Error 错误 - + Installation Failed 安装失败 @@ -1291,6 +1287,22 @@ The installer will quit and all changes will be lost. + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + InteractiveTerminalPage @@ -1514,6 +1526,42 @@ The installer will quit and all changes will be lost. 位置 + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + NetInstallPage @@ -2221,14 +2269,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 命令没有输出。 - + Output: @@ -2237,52 +2285,52 @@ Output: - + External command crashed. 外部命令已崩溃。 - + Command <i>%1</i> crashed. 命令 <i>%1</i> 已崩溃。 - + External command failed to start. 无法启动外部命令。 - + Command <i>%1</i> failed to start. 无法启动命令 <i>%1</i>。 - + Internal error when starting command. 启动命令时出现内部错误。 - + Bad parameters for process job call. 呼叫进程任务出现错误参数 - + External command failed to finish. 外部命令未成功完成。 - + Command <i>%1</i> failed to finish in %2 seconds. 命令 <i>%1</i> 未能在 %2 秒内完成。 - + External command finished with errors. 外部命令已完成,但出现了错误。 - + Command <i>%1</i> finished with exit code %2. 命令 <i>%1</i> 以退出代码 %2 完成。 @@ -2331,7 +2379,7 @@ Output: - + Requirements checking for module <i>%1</i> is complete. diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index d69d780d9..efdea35b3 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). 正在等待 %n 個模組。 - + (%n second(s)) (%n 秒) - + System-requirements checking is complete. 系統需求檢查完成。 @@ -226,160 +226,156 @@ Calamares::ViewManager - + &Back 返回 (&B) - - + &Next 下一步 (&N) - - + &Cancel 取消(&C) - - + Cancel setup without changing the system. 取消安裝,不更改系統。 - - + Cancel installation without changing the system. 不變更系統並取消安裝。 - + Setup Failed 設定失敗 - + Calamares Initialization Failed Calamares 初始化失敗 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 無法安裝。Calamares 無法載入所有已設定的模組。散佈版使用 Calamares 的方式有問題。 - + <br/>The following modules could not be loaded: <br/>以下的模組無法載入: - + Continue with installation? 繼續安裝? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 設定程式將在您的磁碟上做出變更以設定 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Set up now 現在進行設定 (&S) - + &Set up 設定 (&S) - + &Install 安裝(&I) - + Setup is complete. Close the setup program. 設定完成。關閉設定程式。 - + Cancel setup? 取消設定? - + Cancel installation? 取消安裝? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 您真的想要取消目前的設定程序嗎? 設定程式將會結束,所有變更都將會遺失。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 您真的想要取消目前的安裝程序嗎? 安裝程式將會退出且所有變動將會遺失。 - + &Yes 是(&Y) - + &No 否(&N) - + &Close 關閉(&C) - + Continue with setup? 繼續安裝? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安裝程式將在您的磁碟上做出變更以安裝 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Install now 現在安裝 (&I) - + Go &back 上一步 (&B) - + &Done 完成(&D) - + The installation is complete. Close the installer. 安裝完成。關閉安裝程式。 - + Error 錯誤 - + Installation Failed 安裝失敗 @@ -1290,6 +1286,22 @@ The installer will quit and all changes will be lost. 無法寫入至檔案 <code>%1</code>。 + + InitcpioJob + + + Creating initramfs with mkinitcpio. + 正在使用 mkinitcpio 建立 initramfs。 + + + + InitramfsJob + + + Creating initramfs. + 正在建立 initramfs。 + + InteractiveTerminalPage @@ -1513,6 +1525,42 @@ The installer will quit and all changes will be lost. 位置 + + LuksBootKeyFileJob + + + Configuring LUKS key file. + 正在設定 LUKS 金鑰檔案。 + + + + + No partitions are defined. + 沒有已定義的分割區。 + + + + + + Encrypted rootfs setup error + 已加密的 rootfs 設定錯誤 + + + + Root partition %1 is LUKS but no passphrase has been set. + 根分割區 %1 為 LUKS 但沒有設定密碼。 + + + + Could not create LUKS key file for root partition %1. + 無法為根分割區 %1 建立 LUKS 金鑰檔。 + + + + Could configure LUKS key file on partition %1. + 無法在分割區 %1 設定 LUKS 金鑰檔。 + + NetInstallPage @@ -2220,14 +2268,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 指令沒有輸出。 - + Output: @@ -2236,52 +2284,52 @@ Output: - + External command crashed. 外部指令當機。 - + Command <i>%1</i> crashed. 指令 <i>%1</i> 已當機。 - + External command failed to start. 外部指令啟動失敗。 - + Command <i>%1</i> failed to start. 指令 <i>%1</i> 啟動失敗。 - + Internal error when starting command. 當啟動指令時發生內部錯誤。 - + Bad parameters for process job call. 呼叫程序的參數無效。 - + External command failed to finish. 外部指令結束失敗。 - + Command <i>%1</i> failed to finish in %2 seconds. 指令 <i>%1</i> 在結束 %2 秒內失敗。 - + External command finished with errors. 外部指令結束時發生錯誤。 - + Command <i>%1</i> finished with exit code %2. 指令 <i>%1</i> 結束時有錯誤碼 %2。 @@ -2330,7 +2378,7 @@ Output: (沒有掛載點) - + Requirements checking for module <i>%1</i> is complete. 模組 <i>%1</i> 需求檢查完成。 From 08ac97b1eae05911e3e5e6725d1eefe32565836e Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 29 Jul 2019 13:29:03 +0200 Subject: [PATCH 066/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- .../lang/et/LC_MESSAGES/dummypythonqt.mo | Bin 872 -> 880 bytes .../lang/et/LC_MESSAGES/dummypythonqt.po | 6 +++--- .../lang/zh_TW/LC_MESSAGES/dummypythonqt.mo | Bin 925 -> 924 bytes .../lang/zh_TW/LC_MESSAGES/dummypythonqt.po | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo index 23c6048966fbfd8f920c86cdc361017dda6cd96e..cdb2466fa84ca8e127a9762d324b14318cb28f02 100644 GIT binary patch delta 78 zcmaFC_JM6eh-n5R149B3b2Bh7oMd8PPzTaifiy3W{tKiffHXHV1A{1#RsqtcK-y|! VX8, YEAR. # # Translators: -# Madis, 2018 +# Madis Otenurm, 2018 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 11:34-0400\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" -"Last-Translator: Madis, 2018\n" +"Last-Translator: Madis Otenurm, 2018\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo index 43817982da70956f0ccdd3e86cea3162c51bda87..f13ff2d5fd45d65ec6884e3352102ece429c9782 100644 GIT binary patch delta 79 zcmbQsK8Jlmh-m{O149B3i!m@TJY-^E&;ZgufHV(~R%B*ikO9(qKpG_P4WuoBbkfF7 WZ${3SyPKcQ?|-p+*XDbS`xycJRuMx0 delta 80 zcmbQkK9_w$h-o7u149B3i!m@TJYr&C&;Zgufiw@0R$^vgkO9*AKpG_P1Eej1bn?bd XZ$>V!)U-4OkJ7}v^v!n}_cH, YEAR. # # Translators: -# Jeff Huang , 2017 +# 黃柏諺 , 2017 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 11:34-0400\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" -"Last-Translator: Jeff Huang , 2017\n" +"Last-Translator: 黃柏諺 , 2017\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" From 2bac96425f6c96eb809cfbccd6b408890fb1c9aa Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 29 Jul 2019 13:29:04 +0200 Subject: [PATCH 067/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 51 +---- lang/python/ar/LC_MESSAGES/python.mo | Bin 3255 -> 3192 bytes lang/python/ar/LC_MESSAGES/python.po | 49 +---- lang/python/ast/LC_MESSAGES/python.mo | Bin 5387 -> 5255 bytes lang/python/ast/LC_MESSAGES/python.po | 49 +---- lang/python/be/LC_MESSAGES/python.po | 49 +---- lang/python/bg/LC_MESSAGES/python.po | 49 +---- lang/python/ca/LC_MESSAGES/python.mo | Bin 9227 -> 8352 bytes lang/python/ca/LC_MESSAGES/python.po | 52 +---- lang/python/ca@valencia/LC_MESSAGES/python.po | 49 +---- lang/python/cs_CZ/LC_MESSAGES/python.mo | Bin 9380 -> 8485 bytes lang/python/cs_CZ/LC_MESSAGES/python.po | 51 +---- lang/python/da/LC_MESSAGES/python.mo | Bin 8622 -> 7771 bytes lang/python/da/LC_MESSAGES/python.po | 52 +---- lang/python/de/LC_MESSAGES/python.mo | Bin 8948 -> 8079 bytes lang/python/de/LC_MESSAGES/python.po | 51 +---- lang/python/el/LC_MESSAGES/python.po | 49 +---- lang/python/en_GB/LC_MESSAGES/python.po | 49 +---- lang/python/eo/LC_MESSAGES/python.po | 49 +---- lang/python/es/LC_MESSAGES/python.po | 49 +---- lang/python/es_MX/LC_MESSAGES/python.po | 49 +---- lang/python/es_PR/LC_MESSAGES/python.po | 49 +---- lang/python/et/LC_MESSAGES/python.mo | Bin 1981 -> 1989 bytes lang/python/et/LC_MESSAGES/python.po | 53 +----- lang/python/eu/LC_MESSAGES/python.po | 49 +---- lang/python/fa/LC_MESSAGES/python.po | 49 +---- lang/python/fi_FI/LC_MESSAGES/python.mo | Bin 8463 -> 7648 bytes lang/python/fi_FI/LC_MESSAGES/python.po | 51 +---- lang/python/fr/LC_MESSAGES/python.mo | Bin 9201 -> 8295 bytes lang/python/fr/LC_MESSAGES/python.po | 53 +----- lang/python/fr_CH/LC_MESSAGES/python.po | 49 +---- lang/python/gl/LC_MESSAGES/python.po | 49 +---- lang/python/gu/LC_MESSAGES/python.po | 49 +---- lang/python/he/LC_MESSAGES/python.mo | Bin 10061 -> 9147 bytes lang/python/he/LC_MESSAGES/python.po | 51 +---- lang/python/hi/LC_MESSAGES/python.mo | Bin 1596 -> 11347 bytes lang/python/hi/LC_MESSAGES/python.po | 178 ++++++++---------- lang/python/hr/LC_MESSAGES/python.mo | Bin 8896 -> 8030 bytes lang/python/hr/LC_MESSAGES/python.po | 51 +---- lang/python/hu/LC_MESSAGES/python.mo | Bin 9035 -> 8184 bytes lang/python/hu/LC_MESSAGES/python.po | 51 +---- lang/python/id/LC_MESSAGES/python.po | 49 +---- lang/python/is/LC_MESSAGES/python.po | 49 +---- lang/python/it_IT/LC_MESSAGES/python.po | 49 +---- lang/python/ja/LC_MESSAGES/python.mo | Bin 8186 -> 8919 bytes lang/python/ja/LC_MESSAGES/python.po | 70 ++----- lang/python/kk/LC_MESSAGES/python.po | 49 +---- lang/python/kn/LC_MESSAGES/python.po | 49 +---- lang/python/ko/LC_MESSAGES/python.mo | Bin 9298 -> 8396 bytes lang/python/ko/LC_MESSAGES/python.po | 51 +---- lang/python/lo/LC_MESSAGES/python.po | 49 +---- lang/python/lt/LC_MESSAGES/python.mo | Bin 9191 -> 8318 bytes lang/python/lt/LC_MESSAGES/python.po | 51 +---- lang/python/mk/LC_MESSAGES/python.po | 49 +---- lang/python/mr/LC_MESSAGES/python.po | 49 +---- lang/python/nb/LC_MESSAGES/python.po | 49 +---- lang/python/ne_NP/LC_MESSAGES/python.po | 49 +---- lang/python/nl/LC_MESSAGES/python.po | 49 +---- lang/python/pl/LC_MESSAGES/python.mo | Bin 5690 -> 5408 bytes lang/python/pl/LC_MESSAGES/python.po | 49 +---- lang/python/pt_BR/LC_MESSAGES/python.mo | Bin 9199 -> 8342 bytes lang/python/pt_BR/LC_MESSAGES/python.po | 51 +---- lang/python/pt_PT/LC_MESSAGES/python.mo | Bin 7323 -> 7452 bytes lang/python/pt_PT/LC_MESSAGES/python.po | 57 ++---- lang/python/ro/LC_MESSAGES/python.po | 49 +---- lang/python/ru/LC_MESSAGES/python.po | 49 +---- lang/python/sk/LC_MESSAGES/python.po | 49 +---- lang/python/sl/LC_MESSAGES/python.po | 49 +---- lang/python/sq/LC_MESSAGES/python.mo | Bin 8864 -> 8019 bytes lang/python/sq/LC_MESSAGES/python.po | 51 +---- lang/python/sr/LC_MESSAGES/python.po | 49 +---- lang/python/sr@latin/LC_MESSAGES/python.po | 49 +---- lang/python/sv/LC_MESSAGES/python.po | 49 +---- lang/python/th/LC_MESSAGES/python.po | 49 +---- lang/python/tr_TR/LC_MESSAGES/python.mo | Bin 8938 -> 8082 bytes lang/python/tr_TR/LC_MESSAGES/python.po | 51 +---- lang/python/uk/LC_MESSAGES/python.po | 49 +---- lang/python/ur/LC_MESSAGES/python.po | 49 +---- lang/python/uz/LC_MESSAGES/python.po | 49 +---- lang/python/zh_CN/LC_MESSAGES/python.po | 49 +---- lang/python/zh_TW/LC_MESSAGES/python.mo | Bin 8320 -> 7483 bytes lang/python/zh_TW/LC_MESSAGES/python.po | 53 +----- 82 files changed, 509 insertions(+), 2631 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index f159d4752..b31490417 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,8 +32,7 @@ msgstr "Mounting partitions." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -42,7 +41,7 @@ msgstr "Configuration Error" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "No partitions are defined for
{!s}
to use." @@ -211,22 +210,6 @@ msgstr "Configuring mkinitcpio." msgid "No root mount point is given for
{!s}
to use." msgstr "No root mount point is given for
{!s}
to use." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Creating initramfs with mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Process Failed" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Configuring encrypted swap." @@ -324,18 +307,6 @@ msgstr "Install bootloader." msgid "Remove live user from target system" msgstr "Remove live user from target system" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Creating initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Failed to run update-initramfs on the target" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "The exit code was {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Setting hardware clock." @@ -348,6 +319,10 @@ msgstr "Creating initramfs with dracut." msgid "Failed to run dracut on the target" msgstr "Failed to run dracut on the target" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "The exit code was {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Configuring initramfs." @@ -356,18 +331,6 @@ msgstr "Configuring initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Configuring OpenRC dmcrypt service." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Configuring LUKS key file." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Encrypted rootfs setup error" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs partition {!s} is LUKS but no passphrase found." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Writing fstab." diff --git a/lang/python/ar/LC_MESSAGES/python.mo b/lang/python/ar/LC_MESSAGES/python.mo index d44bd3613bed68a8dfc1f9fad955dfcbbab6b5c5..75d05ea24b6adc09b4b3a4db0dbd869e01d96881 100644 GIT binary patch delta 710 zcmX}qJ1j#{9LMp$K4_^&t7xfe+A39#L`)`02OP#S2oHBH9?KGnB_6#;XygU7@lGu zK41plFpEB~*%;T`*R1vKIg+6YT`U*a0Rotg<7bL z`oT30V+{-Vg_@u6JM$M%?>CTzY!8!IamOz(%KG+1Lnr&h6nb0DE{Q@GHU8FSHi|!( z!$iQ@ND(LKZ@T>h?5BT&TKEyC@f%Z^4w_A25f$NWOtHRIXr%E9wcsm`V;%FDY9V!IOxE9U3qb+;#Q%(AB{ndK=UCTe~AUO>H delta 765 zcmXxi%PWLY7{~Ev#xU-8<2INWmvP-#D+yueKTsr-lD}Y5lq5eJO z`1w`Y6kL7wgsPfC$rbuenrRg@ot%9bhc^nC4Sf&VFoia9Tcz2wmC?~@b?5(~@1QL= z2w`=uFLc-J%NjKxxPGHxmKQ(wPJ8{KiMgfah57im?>;|p;;g4GoegK**-D*;oV8Sf L2WRm_@tx-nNMK9F diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index e226bf074..11dc09b36 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" @@ -36,8 +36,7 @@ msgstr "جاري تركيب الأقسام" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "خطأ في الضبط" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -208,20 +207,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "العملية فشلت" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -320,18 +305,6 @@ msgstr "تثبيت محمل الإقلاع" msgid "Remove live user from target system" msgstr "إزالة المستخدم المباشر من النظام الهدف" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "كود الخروج كان {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "جاري إعداد ساعة الهاردوير" @@ -344,6 +317,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "كود الخروج كان {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -352,18 +329,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index 6cacaf7af9f624b2104cbaf7dddf65b6b38f0190..a349964df7e7a88dbee912248d96bd46f910e1c2 100644 GIT binary patch delta 1043 zcmY+@%}bO~6vy%7_~fKElP}|IO^svbOKN6nrbaL*5kW*77usT|RS~%v5ELe`2+}}? zik1m3%8kLKe}EeaK?GMKNCa*|(pD{W(f4;B6})i$+&j-a-gD16GuiZ}F}+pdeK1BV z^E`7Z$Ltm!1o*?)%QcJRU#!N6XLcR0VkJJtG91Tl%wR39;3eF}dW@X%_kF16Njztk zw%05od@zF*xQNZTip98p_&k(n_K(e_#=AVh8S^4y+0K0Sur5 zdWuobw+xG3KKO<;dI7Is__SFY_MmR^3>DxsUcfIH#bxZnZ5+mUz8_E;TiCzHMqEN= zY6trpNzYq8#XajV-00Ojpk{?puASjRO*ffiEGBKait{6#7o^X3BCe|f?DY)jFW_a9WsSG@oL delta 1120 zcmZY8Pe@cz6vy$C^E9VS(oq)r55kL z(faA_^m`l3PGdueA6lDdwg+Rl1BdW1X0Z+Da63N6GaSIL zsFXw-gZWw10dAmPg!;k)(u8XjeyY$pE7VV-}V!rM5Ai>S~ywwN8mG-@Fqm6|80`|sE1t9X)m z>o&6-o<|-0H7XLHFopHxLp3mn<9H!L{1y7AT-b}tNaS6CDYt5g09Q<`pOs)_ienRw}PK36Oxr)Q>% ce(uuLmHFAacsN!l7bZ)^od5sryG^U!KW%+y-v9sr diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index d5c40ef55..ad2ec77e2 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -212,20 +211,6 @@ msgstr "Configurando mkinitcpio." msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Configurando l'intercambéu cifráu." @@ -317,18 +302,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Fallu al executar update-initramfs nel destín" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "El códigu de salida foi {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Configurando'l reló de hardware." @@ -341,6 +314,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "Fallu al executar dracut nel destín" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "El códigu de salida foi {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -349,18 +326,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "Configurando'l serviciu dmcrypt d'OpenRC." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index c44a1f531..ccb6d0192 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 23cc5301c..7742ffbd5 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ca/LC_MESSAGES/python.mo b/lang/python/ca/LC_MESSAGES/python.mo index 52cfde3edd139b61f1578f79e803d4359e568e18..d235d0590842f5a5c1c7c5e11e19280082848872 100644 GIT binary patch delta 1627 zcmYk+Sx8h-9LMp0)1-}-+n717qqb*@TZ>wbHMUU*DlHaL^iU7hOB8J|K`%vt#BHT0 z2_o#lz`?g5OF{^O9(;))GN_0iqM}H8>H9l#g$|tiIp@sWv;5CF_tKXB*2KHK;58#{ zCYO-A0%iyBa*zipC(Udd=KAi#O6m`>2w!3ye#AnIq?^@at?wb!?{{zozQ#FdGtJhR zC9Hr#74>$UhsSUs-t_Au7^eOavvCq57z(8ZtU^ts8P(4&EXFfffHyE72XQWrVmZFW zYR0#}6mn@;l#%*lBX&@4N3HZes>2tk4kl0?PNF83m6>|K5_726qax6Tn$T&~!tSCL zHi~-xE0!|8*(|drD8mZu#s)l#gvf?)DSkzDICr+$N^C-P+>51n1vSCPScYSM`zLIs z9?UY^hpngy+{MH)3P}p>IDtE`hBzZg4r@cFf{MAlj950|2@Cu_CBAmyk znJq!R-=CLq5?4|0AZ(iW#W3+#2ZJ<3@h5J=e5Tiedr`mN#u&awt*nAsY{nR>!waZL zJ;g@+!ob3o(Ye6?^>p2~-Dtr~wC2 zhwn4$PzHEOAud5}*(ubXKfnrnh1$YzetS55wc9f?gFoGN>`+zas{~r{z$92(Es7@kh#{y)v zE47d{TgGx}BTub1n5x=3)M}&TwdC1k#&!2R9d%fzl2#uhYdbW)OWGr)s?; z=40oQLdN&PT{CW(3q4zDe0AM{1$QoHs6f&d=zQolO(kvbbn+51=iFUooh5g|IXCWW z#+9}8YD^BN?VRo{$hhhK&gk+EWu8ms&#DS|_p?qXJF{ICcd8C?`i6(}kbKR*o`e8vPA883TL}4`2hH!B#vU zJAQQe{z{z3^#QyK-@^sQ6wPTG)46aRXW*17V-nbb>i6QEcmT)aF`R_QQ4@ZHTF5W4 z|Dwj5T+LY6j&-;NYw;PZ$9*`J`OQ%p`oU?`L_gzP{1YeO^fBch&PPS43pe5pR3uKJ zp1**auzGBHf|;lZ+fn0oqsH5Tci8N;7>iGOqOFlzjB*n(H_A#5a^MNQaELlX?3Li0M_gCE7$zr{BC zS8*%OV)@$H^Vp1U;0F8(*I@(OybpWuaeM{0;T6=`cTFrWaN9)Uzmf|%E@)>b(Bkh{ z7)H2=n+AA++2keE$`>+<7Ve{de+Vs}$5r?bF2&^>yzcMC4m^k2*l2e72qx-@zXr^4 zK_Pq>7vYa_e{w@PdAgA`nWs?$?2bKxmj36c1^s~c;xIB){RDE!q)@rz#{IphaSj)0 zL`j57k_)&1uc5MfHvedvPSjaGg*t-$asOAGPrsJTQ_gf@69%X=KNw#>iR{T-LLJ>- zsErqESXL{Im8c7Ys0DnCn)nK~U zo!N9S=!b5`2Dx0w-MkwXeCq~5E-0<9ey%nsWNpFEIHB8oV~C+otJ{Xx*)~6L+xvIw za@zNDZS&MGjhis3wJE$ zWA`rFSYCwh1fdstxvbUm*2~*yYugK<&E~A{t zVO4F97Y?|A%`khPQ;2?3wyn+{wzdownr59|HPPWE0}UspFF zj)+T$JU?{8WNAvn!Ab6bn=XV-aC=lK$7ORX#lrtb!4KT$XdV>ZFE!XUSuWu+aTHDyVbyqg_#hL$v@EB^z=YHDl% diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index b9fd96871..d8ff64f9f 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" @@ -35,8 +35,7 @@ msgstr "Es munten les particions." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Error de configuració" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "No s'han definit particions perquè les usi
{!s}
." @@ -217,22 +216,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "No s'ha proporcionat el punt de muntatge perquè l'usi
{!s}
." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Es creen initramfs amb mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Ha fallat el procés." - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"El procés
mkinitcpio
ha fallat amb el codi d'error {!s}. L'ordre " -"era
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Es configura l'intercanvi encriptat." @@ -331,18 +314,6 @@ msgstr "S'instal·la el carregador d'arrencada." msgid "Remove live user from target system" msgstr "Suprimeix l'usuari de la sessió autònoma del sistema de destinació" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Es creen initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Ha fallat executar update-initramfs a la destinació." - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "El codi de sortida ha estat {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "S'estableix el rellotge del maquinari." @@ -355,6 +326,10 @@ msgstr "Es creen initramfs amb dracut." msgid "Failed to run dracut on the target" msgstr "Ha fallat executar dracut a la destinació." +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "El codi de sortida ha estat {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Es configuren initramfs." @@ -363,19 +338,6 @@ msgstr "Es configuren initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Es configura el sevei OpenRC dmcrypt." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Es configura el fitxer de clau LUKS." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Error de configuració de rootfs encriptat." - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" -"La partició de rootfs {!s} és LUKS però no se n'ha trobat cap contrasenya." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "S'escriu fstab." diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index 41bb10c11..5c242bf1b 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.mo b/lang/python/cs_CZ/LC_MESSAGES/python.mo index 5088700635a4bb263490c655df4c90bfd9088416..0ec2c6aef2df2adcadc33ad60f16c2e19188403e 100644 GIT binary patch delta 1627 zcmXxkOGs2v9LMp$Hff`#j^&t>*7(RuE%VV!r&2SehfHKt#6(FCgQ6hYWWnSvq84=t zT}X>4szuKsS_BbDL{ZdEC=eu+z}mD3Op?C8JJ$neKIfdd_dNdRoO^fsz1H|>p6`~C zI><%jy{Ts1c+JNTDL2h*2L?Q2SW5jqhVTQ{<2WwD!gR9+tn=(a{Xc{?_yzOP=9z6U zi(8OF8TBZZV=pepL9hM>7f>I^9Gt>J^!t+omZ2sRLG`mA7vn_?;s7qh$5?>FxD>x( zHRIbfg#ZmJGLjEA;vVWz)JpH5I(&=jU<}pa6l!AGnaTG{F_(G+DgxV36Y4`P>^5p) z!>IQsv6%7Avdo%b36|hNT#J{G5ZQCA!bwzz1@q0;U=yn2(^!l*P!oKDOYoi7K7kSH zzHGA?wxA|(8{?}eBq&623_G!wIIqMw9>9lq1XEd__U2Pl4-Af zIS=a)wqQ5LumWFuj-&d|qLVPzp(fN7r@*A`94e$&@EQ)FLRC($t8ou%Mg2%$mhkEy zaU1m+)N^fwM-k}7Mtp!;z;|4SLBiaRov7#IpDAc2GpN&E%t_L~&B!};1{LC~coJVB zi?(uJQpXYO!L!(fBdF)AxML?UhR1Oj8NybEleeZFIU8|1NMSdBJV1qX3R95pkbAhm zwvaV@#&*+Ie%F$H$*OHaZCjYUkvyNwJluPpj*9GTT2G;wT;evw-Cy@!s-%$2rWLaV ztRZXFd@8J!93gA6N(#S{_BW5rEp?Nkqb<;O)w?apYsY89O*()r-uQ0FH_)JKr~OmX zcJQ%t6F1N@$xURPXq^RZ4_{sP8vyPBovQ+=nyhVTSH(*@kaNhDWX`*L?l@-2ec}AL zU$X#iR%7Bt+P*nXMaH1>Cu6VElX*F@Fsm%pxs%(mib|J$@7ZRMbr|{6)P3RiphLY-kYLSJHB7AWU5jNsdr%wI=Bjlu^P`| zBYsF_+t zKrR%#hSFY58Es)J&ci)82Oq{Nd;;s}UmfQ{UKm5^=x1DxS8x_CD)(Ppjgp~u+=&Ay znfL(Z`R`FWEUWN4Sc1}FD@waPDD4g4OiW`V{i~M$1kuEi`ZFGZ$c)e!YCO@Baf(;P*VC9@=;&$wFWQaVqDA)y$3r`es}Q> zJcE4Hk9=ty&v0=o7d32QX}Aq#%^pB`@JZyOPVlt~$I!q(aS85XIx>MnDD^Wa1Nag( zj-w2`hV+mmwGLT+)rChf^B@x@I|Ul0BgxikVq%faKC#r(zn5k?PVEHC>Xl7=^Z(<`RE`pV zj$SD#C~L@OR$BdOhWdFl;y-SLY7mC?Dz_zm6$|G$;jGBk+r;DB(1XfCYHOY z+(pQ7aYblZ=_5f3{? z!qokC$_fQkPvd8$9}k;@I_}th1Nm&E-?8`SvQ};+ z;7+c(QrnwOQq3PTxicY0aeL4Xy63AFyW>^CRhz=;K0{kZB5CaR9xSwDSh+XCwvO8J zKFvzS4ux_fv6Q>F`f2xUb=}N=aedey6$b4m`ytcMl@T+w rWzvbvJZ27=mZ9@wxopVFWp&t0#H3B#@8q&W?6rGq7K~o3Z7KO1^gof* diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 752a7c60d..9215054e0 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" @@ -36,8 +36,7 @@ msgstr "Připojování oddílů." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "Chyba nastavení" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Pro
{!s}
nejsou zadány žádné oddíly." @@ -215,22 +214,6 @@ msgstr "Nastavování mkinitcpio." msgid "No root mount point is given for
{!s}
to use." msgstr "Pro
{!s}
není zadán žádný přípojný bod." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Vytváření initramfs pomocí mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Proces zhavaroval" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Proces
mkinitcpio
zhavaroval kódem chyby {!s}. Příkaz byl " -"
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Nastavování šifrovaného prostoru pro odkládání stránek paměti." @@ -334,18 +317,6 @@ msgstr "Instalace zavaděče systému." msgid "Remove live user from target system" msgstr "Odebrat uživatele živé relace z cílového systému" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Vytváření initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Na cíli se nepodařilo spustit update-initramfs" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Návratový kód byl {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Nastavování hardwarových hodin." @@ -358,6 +329,10 @@ msgstr "Vytváření initramfs s dracut." msgid "Failed to run dracut on the target" msgstr "Na cíli se nepodařilo spustit dracut" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Návratový kód byl {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Nastavování initramfs." @@ -366,18 +341,6 @@ msgstr "Nastavování initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Nastavování služby OpenRC dmcrypt." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Nastavování souboru s klíčem pro LUKS šifrování." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Chyba nastavení šifrovaného kořenového oddílu" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Kořenový oddíl {!s} je LUKS ale nebyla nalezena žádná heslová fráze." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Zapisování fstab." diff --git a/lang/python/da/LC_MESSAGES/python.mo b/lang/python/da/LC_MESSAGES/python.mo index 60e2bdda844d93314ab6976075153b56c8793987..81024c8f77d9da069859b08b8dfa362f29528e56 100644 GIT binary patch delta 1623 zcmXxkOGs2v9LMp$qvazT-#J?2Bg?cbt+eqmS!yNNL&&g*7CkH>qD4}a6%)~-CeE7Py-*sAoigGyoUw&!n^(r z!}JsUX8W)S6~G`yR?>*lXveR(9apo@;DT2080+u@)?*rBhOo`^BI>Niuvz!vQVbAP zDK?@eIPCSWqjKO85}Qq+j`A}qS%2rS|H}F-?$SV2sD3AED|=AMb`|x&EmY)Bu?jz- za>vij#9~Fb18Y#Za|v~%BgmZg3R#&_`8n zsBECFqjHN|TKKJ@Cd9h79yNIpwT?={yNfEsM5-p7Et+d1RY7Wgw`eO=w57A9Y_@@w zRIQp%g`0R`)GMi??N(9#=qPzh-J)Hqr*cB>7f=_KBYZa8qQy3O^P677TB@?QnyR7% z;$!C)-azAf;l5_du(fQ7{~ELDTS7no489$rBjfLN-s#cm9>Iglu|*d5-Gl5=+17}ZD-b*Ezo$` z2$2^=f@ahhh!|dYOOyml6b+Xk8cmG;0TNA66ED0mnn3gg`2Edn2#MjOXFhYz%$&nAx;9V*~oQ7!TqMJdYjt zec8zq;_GX%js87&JHCg@jVYP4oXnx)D&C1RtBskDt5EF$ybTZHWITrTcmg%yH>idD zQuaD(yoMUa!Y)i;A5O=oF^T)JiTTY@PV~T8)I>kwLcD@gan8i}!6m2&b>kMyq9XAb z>i!>46V}wm6U;+R*o7Lm7d2iMr{D;7Fuys#i574Uwd0>r5tvXH573Tx&|Zftu^*f9 zEnI@iNig31U3Fw*p8QRDK-+$k|ylsL=)^mh30jfg~!YN-(rgP zWqcABuzc<8MQp*txEa63hj9kmybCk<1ip+r@ORX^@17PfaK|*_zm^V<4(;qDTKFes z#t<&zwvqN8W|Lo_2A;wwT3{#Y`E95T9K{uQ8awd{F2hA6fXtzCyHQDd2>CPbbI=Ap zFL9zIx`axSO73dM8A!Cu22`lGqjI8voA3?PbHCz3tYKTqiDk&9%{J6{9%=*okf55w zsBu5Ud$Dwm6Ycab)CBcx?`~X;8fXw(aWD4Z3Do`9a2?KNo9fTw4m^c=uAcXyaoSJ| z>npdPMZL;*k@-sIZ%!17nH;pzPE`9*4s6a8P%AxvX*`1p>FlO>=bfnJ%i@Fh32MUY zXk)V#KerFHu-}jmz+A(%`u^*yU5TfWT!JCVc_2$yd{82*a9d}cC3sG6ak>8(ar%FhE9HUZMRy$C%)>8>c^qoVL zq>FVzQC=*dE>eS{u-8(%sAH)rrKPdaZ+7`K3b#Ukb6HK}eyYB2C6eClII7A9YG-s7 zhj=;Xyw#{wmsL{hlT%SXkv?X;x)l0{s47aNP1Gu?vRj#|WFt`wKW@=KkP2KyT|w24 z&&1KXs;y%u^*p|@*UCF1Rwg&-w1!)&-%hUa9lMxwvsTW{6@7as6Ii=*#ewj<>Zb6Y z>aC6I+ER;u7T zT|;?w_ZM1($xBn=HR(j>#+gH>i33*Y&UJ~wuAWgXSfvK*lHf}y?!SMto1g_ zO^1Kf?(N(XFQQ=k#auDxxt8v?a)A|XZRc>&ay_eH2SH)Lw*$w@c*AbG)%5mk2#-yi zJ^D)B2NNdi))x1|sqCOb99qM+#PRTKA{l;^m=#`3^vz%IJT++TV#i(~xbRNVRdno( zm5<`!JH>J&!j9zg;h|*Jl>hDiNb+DsQ+e@@dy6onW;L#i!mu$8fybRY2c2EF33w8KJTQRAe`SY(j7;m{!s} to use." msgstr "Der er ikke angivet nogle partitioner som
{!s}
skal bruge." @@ -217,22 +216,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "Der er ikke angivet noget rodmonteringspunkt som
{!s}
skal bruge." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Opretter initramfs med mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Processen mislykkedes" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Processen
mkinitcpio
mislykkedes med fejlkoden {!s}. Kommandoen " -"blev
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Konfigurerer krypteret swap." @@ -329,18 +312,6 @@ msgstr "Installér bootloader." msgid "Remove live user from target system" msgstr "Fjern livebruger fra målsystemet" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Opretter initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Kunne ikke køre update-initramfs på målet" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Afslutningskoden var {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Indstiller hardwareur." @@ -353,6 +324,10 @@ msgstr "Opretter initramfs med dracut." msgid "Failed to run dracut on the target" msgstr "Kunne ikke køre dracut på målet" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Afslutningskoden var {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Konfigurerer initramfs." @@ -361,19 +336,6 @@ msgstr "Konfigurerer initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Konfigurerer OpenRC dmcrypt-tjeneste." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Konfigurerer LUKS-nøglefil." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Fejl ved opsætning af krypteret rootfs" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" -"Rootfs-partitionen {!s} er LUKS men der blev ikke fundet nogen adgangskode." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Skriver fstab." diff --git a/lang/python/de/LC_MESSAGES/python.mo b/lang/python/de/LC_MESSAGES/python.mo index d0f2e4e58d3eb75a61f5a577d580e8048ba2bb81..7196846bc2bd6c224bc756ae394fecfecb47d2e6 100644 GIT binary patch delta 1623 zcmXxkOGs2v9LMqhjHZq6SCgYT`6x3p)6()WR#s*dA>`mAToghsN)T$36;pxWB8nO^ zg=pcT2zo$+s}=?JfFdwx*8`La!mv$L)~4_8-tpj>&pF3?&pqdV{`dZDyRswlDJSu| zQQE1is9~?!QM{DM4<#$fY(Hkl?ZZ;~cd!6o;THUY`4~txtHaH42T=dNiJNc+SD-C7 zYcPwLpGFz|4qSsLaUG7w`%f{K{uj)|MGTH=B~IgN ze2-N;-~Q3aW}qU)y|4)n(eFU*bP_e;bJPU0s0kNQ3(H7#?=QtH`gN!Xw4oL>jM~^O z)W)V!_s?Sy&o@gmYla|};9;!Cvq*^S5pKYF)PyV3&1$e2HSq~7!mFqSKExotjE{fC z5dFjqvp#G^E#MYLHqwaE=)hS#h_%FdJw~tx@8S{kvOS$$KXR#^#yvQS+Q1tuMjzq4 z;4!PjF#UTut{%cwO}`6u-AFF+-$mm#16BA9+tAPQWFPLv$$0-ODuh+6q7}nfhhtce zuTc^6aPaCkA-C8NGPRAMj&dUIl%M!3>)$d^i3_L@2Z&=nwxB}Wg-W_psL)=sO$ekXlR95%&rx##ae7cMdUc@h{mx7U!bo4 zjXL`@Qhz(vVg(N2KAgY-f^x8@w`K{MEke^C($6E^m0kCAk;cgPV(>@$rJ1C_j#3e^CTJH~g& znHX#bRS#n>rzj_MzKL$vTCkm3Ol_p5Q<>Iz&y!Kfx>UB&*hwvM1~`8eJy=C&wp0|( zrJ}RedHJYHSS?s#R8gX;tfi9ZdYhfHncpU=cD=!f2f-X~oqTJE3?NujU$}xeeL?_RkL?n&ebJtlb z0eNMegtFLFQddH>JY_ukDS O8|@69kL9kOP52Lq8j+X) delta 2365 zcmZwITWnNC7{KwNr9fNCrA1mU(kURK(xpm^T$YwnickK5zSHYZg?=7*ci3OfFUR$MiYf-)CV>C06w6E=!22)VD$f;a{{PLnEqyF_slo* z&75U_*B`y*pXx_Ht0Wtij?$RJziR*&6q~X z#D^%~{}Cl%&G;a|Jd}W)DD%cp=1b!w+=cDLSC7+>1$>0EV8=l3*IFodiC18w(1lWm^n&)s9z8#LA zz$pE*cn{8J`LeS|uoYj#P52q!icM_uI!xi6_!Mr#Ur^4zuRd7dwtDivnt=iXva|P5 zSxhlB5-{}{^n36#t>u*+^--bnu2 zY3yd81K&eQ<(aVG!VM#)x&!45vnXf$aOle@cj6FAioeC{@j}?2%T1-J)}mxMj&ga+ z{E-a5APu=hhfo6ifD7?AB%7+4tIb+e8_H3w#T4dHGVu*A!Ae#oJBy+ON+L;6LnzNb zkFt?>P~v=oH)8oa8j`wNwjpP^1lur$^1uOE<4*rPwR)|2i5`2KJ+*@CzJ;E2!5{rAP*d>!(io%c=6r zEmS#oDKe?N1)3@wkqakx>hdBBy}Yy#-(QvNsE;Z;meNDz_s2gw*$qFAei%$vI1rW8$a9KgLQKpp+K}`fowlR5#J!{{5?T)9a$j`_0?w z-|{MyvW~jUZv~f5E~Ffxlz|xwu?AHCEoL9I-Vt|#uRp{`!51T{ z-!3GKU=>L6RWWc`%bjg7M| ztv;f9ZO1j)thtmb@2$qIa|ev=T%61`whq?V8k0n|t}&UcvAwFM1I^tfCw2TthWYga zto(mT8)_P^D6eJ$_Whvj`-=Hvv#!oru1=bq4rWgjk|sz*ifCyg%ZaDihL+h@85t$R z_7yYiN4of2mH(jEI%7{~xQ+h*rrPy$y+FseGx?yg@<#VxN_g6&$hgUm49_@S`46qt BcB%jX diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index e315fb242..43cb42650 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" @@ -37,8 +37,7 @@ msgstr "Partitionen mounten." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,7 +46,7 @@ msgstr "Konfigurationsfehler" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" "Es sind keine Partitionen für
{!s}
zur Verwendung definiert." @@ -219,22 +218,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "Es ist kein Root-Mount-Punkt für
{!s}
zur Verwendung angegeben." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Erstelle initramfs mit mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Prozess fehlgeschlagen" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Der Prozess
mkinitcpio
ist mit dem Fehlercode {!s} " -"fehlgeschlagen. Der Befehl war
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Konfiguriere verschlüsseltes swap." @@ -331,18 +314,6 @@ msgstr "Installiere Bootloader." msgid "Remove live user from target system" msgstr "Entferne Live-Benutzer aus dem Zielsystem" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Erstelle initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Ausführen von update-initramfs auf dem Ziel schlug fehl" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Der Exit-Code war {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Einstellen der Hardware-Uhr." @@ -355,6 +326,10 @@ msgstr "Erstelle initramfs mit dracut." msgid "Failed to run dracut on the target" msgstr "Ausführen von dracut auf dem Ziel schlug fehl" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Der Exit-Code war {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "initramfs konfigurieren." @@ -363,18 +338,6 @@ msgstr "initramfs konfigurieren." msgid "Configuring OpenRC dmcrypt service." msgstr "Konfiguration des OpenRC dmcrypt-Dienstes." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "LUKS-Schlüsseldatei konfigurieren." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Verschlüsselter Rootfs-Setup-Fehler" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs-Partition {!s} ist LUKS, aber keine Passphrase gefunden." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Schreibe fstab." diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index fb9bd2e00..c4af77ef6 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index eb43ab0e1..5eef9a059 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index d03d672fa..f6e2ef898 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 271bdaeb5..583b3adf0 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Fito JB, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" @@ -38,8 +38,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -48,7 +47,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -214,20 +213,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -318,18 +303,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -342,6 +315,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -350,18 +327,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index 34103cda5..bc02a0f42 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" @@ -36,8 +36,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -208,20 +207,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -312,18 +297,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -336,6 +309,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -344,18 +321,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index 644265373..54151ce05 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/et/LC_MESSAGES/python.mo b/lang/python/et/LC_MESSAGES/python.mo index ba6dcdd148deeb9c8338a98cb9f94aebd9852f5e..8f796c2df3fb38472079d1f8b1fa77e0dc891efe 100644 GIT binary patch delta 168 zcmdnXf0Td1n)(bz28K7x3=E143=E;H3=CR8x*SMr1L;LTS`SE{gYy3ZX)z#QlZ}Bv z97sC=X%QeD0i*?ibS{uK1k&|DS_MdN1k$QN`Wled0MdVev<{F~WoKZ}2hu_8418b( eO+Wz|pumdFmW(>g918v=sd=SExtmj2BA5Xnrxq>% delta 159 zcmX@gzn6c)n)(Dr28K7x3=E143=F=k3=CR8Iv+@D1L;{nS`SDcgYv%uX)z#Qk&S^t z97tOLX%QeD0Hg(hbSjWG1k&X|S_Me21k$QN`W%qf0McK8v<{G#WoKZ}2hv{b418b( VRX_n5pumF7mW(>gn{!zrm;pHl5|jV{ diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index e36f9c39d..03705c5fb 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Madis, 2019 +# Madis Otenurm, 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Madis, 2019\n" +"Last-Translator: Madis Otenurm, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index c015db10b..5ced4ff83 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -210,20 +209,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -314,18 +299,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -338,6 +311,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -346,18 +323,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index 2e3707b34..85cab6ca6 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.mo b/lang/python/fi_FI/LC_MESSAGES/python.mo index b46237dde675512ca782769121253c28727ed5ce..07df789023245ada0695fdb56bba9e1ed4179c27 100644 GIT binary patch delta 1617 zcmXxk+e;K-7{~FaUA0xy%tIbp%QQQim6nIy(o8Y4kPeh(fl*fxbyr<%ZRf5kXi}nX zvJ+7d)!u0mh6eos6%vI=6m=m*5ZFcZ{mqOozVmtCnc4U7ypMCOX)F@|oSoETloo23 z+8i)DfJc(JP<|$xZN^`|(G;^%`j@c?A7d4cU;$2IHD*uuY(+hfVI@ApJRHMXv$*}C zQO1qRkl6yi+v!)Lc6tsq-~-eEL#P2qQ45fg_NT<)P~y7QPl5x zu^69Vg!%0)jro{7!)y&MLPBHvaT)fa27HYg@GEM7^bBu7OK>jz4XFFw7{$}L4+l^a z7i5}MUJ0hsbIU5OwNy^RR=an+kf!-E>_1cI>wMczkAkv2CR;%%vBB$Y2$0^ zh7H_2;4ADFC7X_|+3UL3gCf+Xo)&aFOA9X~#tUl$&XsVN O`$k{UvP66FaPU9f-<8h* delta 2317 zcmZwHZ%kEX9Ki7>gcK1nL=Xje{1<_6F+)Hg75^oHt3+6-Y#q1Y^xX5W?N;gt){tNP`zlY_5Gc5MOQuB?|h!;+;g5k zzvnskO52Ie>2Hg3PbQ`QLmBW4 z%0$j*{S2kQtGEP<<|?+TRunsGjM;tIxBd#K3DpF~;tYbY;X!b-e?ZTL4X z!`4Ej*5N)Rh3XXU#YV(A}jt2=}Q$dY6n)M3}B(0g<~jt{xQm#D6fe2b_Av4V<-!`fQ|Sw z%0QJIC^>{(ScMKsCQcx`m{#YgG;m`IM{pY1Hg$lfWRIT0jrb<+z-uTOXr#BjIE-=p z5aszA9lgIB@eg=pxz)Da<@v zg$%$SqUt7Q6MUiJYS&{mA>|$-k08NeA%WpP>Ly&k_+h$WrpSSkBD0pv$U(ccY^Na^ zkZsB#3W!`nvLjp3MBFG_smMXzNN7UJYC^WQlSoUd`GX6~Hmd^D|L7&1BNBdBX6bF65`^<(PWNbp}n()7!&dGN`Ggn4wpL+_}X@K%J96@uxogx9&!RZ9#cKtotf@}<&y=46LVI{qxHs! zVcEWA#vRY6o8;8^)VOQ;{?vHVvQ0add2ivnEuAxYN(4@LU*BA!t&Nc&kuYMaJ8, 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" @@ -35,8 +35,7 @@ msgstr "Yhdistä osiot." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Määritysvirhe" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Ei ole määritetty käyttämään osioita
{!s}
." @@ -214,22 +213,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "Root-juuri kiinnityspistettä
{!s}
ei ole annettu käytettäväksi." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Initramfs luominen mkinitcpion avulla." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Prosessi epäonnistui" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Prosessi
mkinitcpio
epäonnistui virhekoodilla {!s}. Komento oli " -"
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Salatun swapin määrittäminen." @@ -324,18 +307,6 @@ msgstr "Asenna bootloader." msgid "Remove live user from target system" msgstr "Poista Live-käyttäjä kohdejärjestelmästä" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Luodaan initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Kohteen update-initramfs suorittaminen epäonnistui" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Poistumiskoodi oli {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Laitteiston kellon asettaminen." @@ -348,6 +319,10 @@ msgstr "Initramfs luominen dracut:lla." msgid "Failed to run dracut on the target" msgstr "Dracut-ohjelman suorittaminen ei onnistunut" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Poistumiskoodi oli {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Määritetään initramfs." @@ -356,18 +331,6 @@ msgstr "Määritetään initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "OpenRC dmcrypt-palvelun määrittäminen." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "LUKS-avaintiedoston määrittäminen." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Salattu rootfs asennusvirhe" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs-osio {!s} on LUKS, mutta salasanaa ei löydy." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Fstab kirjoittaminen." diff --git a/lang/python/fr/LC_MESSAGES/python.mo b/lang/python/fr/LC_MESSAGES/python.mo index 9919ffc5343189787162aae63888c2a3c661969c..9595cd8011a721907e3d6492291a30e5434e18e9 100644 GIT binary patch delta 1627 zcmXxkUuex?9LMqR&dxSxV}F_bbDaG#!~7W=b9S&{hSD-)(k?dAE{Nh{89Ky;#A^Lw zOLDPY;KGzcYNnPYwIUa8P_i`C6iP}`-k;z3?Wt$4=lSjYor#W>*g$1sQf6lUNb%*Q|=K4B?pAraI#ZCHq>F&F!BE)L^-9LI(D z9xIvO{?f?eK}Bl(hhc1?-;CPnAZozpr~xKX1O7oREIlp$ehFsMuSP|n5w)Nm)W&Y1 zHa3oWe;OAszu9cFItXGh9>5wrgM`Q);4+*>4LE;}*($6<4SW|CM_c4esyyu@W zLf@Zm){YIR1>C~uavCuj%{Ym>u!=Y@!6@#>yV!v~wx_c@g#6S_;a0qa+Q3T;VSsR6 zNHAN9dVe^ZyuuX1RfX-SBk0W`{`EA5c@VHa zip*g_R;7W~q9)vrt8fH&;54>j4YRDktDd7+tN-I_jFz#jMKszx&!R#!gbL9!+=3tR zD3ySHR`Om%PTB4txf8Wf8X71eM8aSM6VOLh za;a>huB9@ETeKiW!yoV325h2+sOzaDyt@g8wiK$8b*8MNQBPI$G{0MPrYZ{6OwqZ` zl$A6Tc0LuhnHr($d{r9bxKSk0b(`Iy@M>cmwfhCsL-N=7Y`8_yXz=ED&sgW8Yp0A> zDWUSQa|<`n_+GfTfLrEXBOL=@UH2ORZvG^xK~e7L7`Cb7m2ym^D$2?^B`)a{&usF= zJr}O5d-W{#D0yF^Q=U5D{7!9ky3)?Y=FTqlIfLmvu{{~x0q0lVW9M7`ap!zNZ>+KK Tx6gSR9B?8~D5=b}rw{ zoc`Wj@clY$=6OHP#Iv|UsX=v~!h9ZF$2+mEOsPifM7dAlbUcRDcm`+VTPPiVfijTG zk^iBzH>aGoumfk|E}Vf+VGTZqbLn5bMnOI}kJ8aExETM%sW^X1_~BBN2yMb`*ozX0 z4^Zm=h|*zsMcBbYlny&k+U-GUuNQB_0c@pzb%cTp;A4~-UqXq%> zJNH-caa_dkWoFM}6TXUD@pF6-YnkRNi}4gEE}O6xvYMGKJFMNtBs?iPF$zl#WZ8b_=F(Bc8%X@Dir6jqu2B zAHo=Z6nPa_a9>Bb9>eXpMEXBRL1y-I9ataSbFXFg`%>SBT7xR0e7Lw(t zRFa#?MdVKMN^%o<%5Y`r&f=>0j?F!KpBd0er_aO+JImgv>2i(bIhkJVWE{`6(#gC& z;CQLR*JX1HH_CR_cV}#OAm^EccC%TJw|V3FIc;1w>lU_@ADZF%8SUp1mS>vAnizh! zyuE0aZqK=!!VJLMQR_&!$ncGkttE_Y;zkkB@-`x?h4rLFzO z*5lKODSN!8KOVorshZq^Zr3%ws}sJa`DD^HX_N8fHVj`F%fjT^ml{WFHk$sCA=@AA z_?D19UpujQUfk$h7!*H>*Z6p%@UGGG+k^1NnPeDUqeq53%kgfF@W=~xib*l9v1SWL z>rU;mh~a32UCVYdCJeO6GYO-;ft(2=p0, 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" @@ -43,8 +43,7 @@ msgstr "Montage des partitions." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -53,7 +52,7 @@ msgstr "Erreur de configuration" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" "Aucune partition n'est définie pour être utilisée par
{!s}
." @@ -228,22 +227,6 @@ msgstr "" "Aucun point de montage racine n'a été donné pour être utilisé par " "
{!s}
." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Création de l'initramfs avec mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Échec du processus" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Le processus
mkinitcpio
a échoué avec le code d'erreur {!s}. La " -"commande était
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Configuration du swap chiffrée." @@ -342,18 +325,6 @@ msgstr "Installation du bootloader." msgid "Remove live user from target system" msgstr "Supprimer l'utilisateur live du système cible" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "création du initramfs" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Erreur d'exécution de update-initramfs sur la cible." - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Le code de sortie était {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Configuration de l'horloge matériel." @@ -366,6 +337,10 @@ msgstr "Configuration du initramfs avec dracut." msgid "Failed to run dracut on the target" msgstr "Erreur d'exécution de dracut sur la cible." +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Le code de sortie était {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Configuration du initramfs." @@ -374,20 +349,6 @@ msgstr "Configuration du initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Configuration du service OpenRC dmcrypt." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Configuration de la clé de fichier LUKS." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Erreur du chiffrement du setup rootfs" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" -"La partition racine {!s} est de type LUKS mais aucune phrase de passe n'a " -"été trouvée." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Écriture du fstab." diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index 47ed6f847..fbda54e3c 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 817d036e4..089d3dd63 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -210,20 +209,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -314,18 +299,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -338,6 +311,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -346,18 +323,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index d591c8d01..84a31ec50 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/he/LC_MESSAGES/python.mo b/lang/python/he/LC_MESSAGES/python.mo index 6028c79209721d82fbd9774c2934b612bd38981d..423f053a942a181cf1c6eb9b8d2b3f89c1b01e42 100644 GIT binary patch delta 1636 zcmXxkOGs346vy%7IB7GJqv<$SrcPrI^U*`cUZa+k2|?LIEP7E$2oePqL1s)*REsj| z7P$x`TZ9`G2in*okO;yas|bq7g|&!UMHFuO{;uPJGoSx|=Fb0h&%JMUjy5O0cGAz}n2zIVtjCY21%^YMzb2? z)WGj>6J~J?YjG#)M6U6{+N=*X@eo$x+XBvC#W2Me+Hv7L>HwQiJ3WaiuB*t{_6T+T zGpxoBr~!Rcq@JEKJd91Kah{-V-8gFezgUA&2Guxi2^x%H=THOP#vUBRby!d3t=I3U zoerZW`iUCIPiHeW;3~X~jW~k4@i*$aZ4}4~?7|l~fNL<($*d}>$Ef0aiMsGRF2OL% z+=X>`8E+x~wd@GH#40?2XHd85D{jOXgWbckcm;htN*ebTQcm_9kLdXyr_s(A6|6!> zbsN*rL#ntG8c?g%#ELCsE$LNc1 zBW{)FA&;yzkZw3rp_1gsjGA<3slV6x<8O630+*7ZIi((_KiHMrn?3Az$`_0}MTMuF avBK-giwnEclUE|qH0M`Qelj;2pYfA(CMb$SM7COmxw5I*TD3L(qqUx`Rez}el*_f&bZxcz{+{P%G}e)GKj%EpdCtr4 zoagbQ4Oi>JKV&8LC{jH+j~tCxY6nhE;)nD>vQjnpVa&uyN)=GA$C+s0Qap$`cm+%F z+n7^Q?E96tnCrXoejLH&N`=)W3WZ#_i*s>Ss!|VN1xmdgr{O`If`gcg@1hL&CCWr@ z#{3JVznN+Dh2@xy&){@?0cYT==wN&`KtUe3gfh@|T!?pYDi)^O50;`ts0KG<8%iWD zptS!UWx%w__5ejF1D2!o>q6__SUb1cSNxD4|MXIKVwQIG+4qlD%N&cU~1*RNt3 z^;`HH&S(0vvi-OS`>-Crz{fF%WiG&0d%QjFQZKGPm}@j*kFlRCvL&xD3SOTU0BDek+Njg4{75E!If~A}^+Nus@acV!xz(;T)zK;&Pjzt*HNtBf@!1?GxS@9m^Pj&Od zoYY$=&wU!EAbWEY<&dPzQtDyMLm8+Z<3220iQy&+%PIVfk4gjXmf=?9S#=zxqYJneZ(}hoq1QFI4WGav4B{P> z6>rz}b9>QA{TzObH?R?h@~s7h)gKfj0!w+9D5^%32fA<`j^HM|hWpS#W9F&`u?jEa zPE6t?yU@VZ_!&kqnND88ew2P4>=Wl$)nSvo|4kH{xo{CBg!!DLI9x@R2}q(ZD~!{u zntfO$N*lUSy_zLBG#<%u`18#k0IR;i*$1mR>>+s2b@^Q3M zV$4jGgS4K^j#v{1>yXNJNs&VGuw%ht# zvMbiR&Bx994_4JH&hQ}T9`r5SD z=M5R|j@F>w;*8A9xmbFV>aaO7E;i;V^SJ(ZNls->XcPH5$0$8ZH%HAw<|v&r#u=JX958#i zIxNMrbUk98m1{D_kTi%?=DwB_<+8Mx5YzW^dlMX^ba#wC`u-=l(Zadwtl-jah+%tJ zOjPD@lz%)tG04{Z{^^ui^fR?%V^y<@;u^Q8KT>cKFjUX%#Q0P gxid_ip$8cFn5=l1mP6(Vr;5Cjojta9&dQ{}0ai!LH2?qr diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 61b5fdf83..d5b473aa4 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" @@ -36,8 +36,7 @@ msgstr "מחיצות מעוגנות." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "שגיאת הגדרות" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "לא הוגדרו מחיצות לשימוש של
{!s}
." @@ -213,22 +212,6 @@ msgstr "mkinitcpio מותקן." msgid "No root mount point is given for
{!s}
to use." msgstr "לא סופקה נקודת עגינת שורש לשימוש של
{!s}
." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "נוצר initramfs עם mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "התהליך נכשל" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"התהליך
mkinitcpio
נכשל עם קוד השגיאה {!s}. הפקודה הייתה " -"
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "מוגדר שטח החלפה מוצפן." @@ -328,18 +311,6 @@ msgstr "התקנת מנהל אתחול." msgid "Remove live user from target system" msgstr "הסרת משתמש חי ממערכת היעד" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "נוצר initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "הרצת update-initramfs על היעד נכשלה" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "קוד היציאה היה {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "שעון החומרה מוגדר." @@ -352,6 +323,10 @@ msgstr "נוצר initramfs עם dracut." msgid "Failed to run dracut on the target" msgstr "הרצת dracut על היעד נכשלה" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "קוד היציאה היה {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "initramfs מוגדר." @@ -360,18 +335,6 @@ msgstr "initramfs מוגדר." msgid "Configuring OpenRC dmcrypt service." msgstr "שירות dmcrypt ל־OpenRC מוגדר." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "קובץ מפתח ה־LUKS מוגדר." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "שגיאת התקנת מחיצת שורש מוצפנת" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "מחיצת השורש {!s} היא מסוג LUKS אך לא נמצאה מילת צופן." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "fstab נכתב." diff --git a/lang/python/hi/LC_MESSAGES/python.mo b/lang/python/hi/LC_MESSAGES/python.mo index 91f4c093205c87e6829d6a196d6bfe606b6d349b..3d3912fe542f18121f765a38567bc04107d61c8d 100644 GIT binary patch literal 11347 zcmcJUeT*Ds9mfZ#yc~#t@+OE61@sEtyK5;>t}Q}eDYUe<V~nInEMraf+j$v_An3f`0%{2c6>`XDM(7cmcQxybz4RFM^My*S`Wk z&GmcWr@#-uv%wQiu=8C2iXO{Bk#jS64mb&(0qzAq1HJ^F3BCz_9{ek~5d0r_D%js= z`wfFzxZVVcolk)x?{}b#e-{*aAAq9Q$tT+J^TAWNUIL2!Ye3QGPEhRH2Z~*9f-?Sn z@N=MZlH)7`&I8W}Zv`&{?*hd?2f$0f_d$_&<|iFz2wVn=+%hO~z5|MWFN5cSZ>9JD z4ld_<-pP)08+Z*U^X~%-;7`F#;Je^Pa1l;k0Dc|31^fwkJ9sq4N!*GcU7ZPVHTWPX z`o9Aj@C2NB=TVMxF}R)U#%Y#M$K$M(l%gI9xp2CoNC zheRdN1&6`kgV%ybonx=B1D9}pA1L$w927ZcoNMRX4DRFlMQ|OsfuL*vzXuM2?}9S_ zsRU;^_+{`i@Y~>G@VDS|;D5nQ;8T!vGx#5HE4a$oetSXD^KI}|a1hdrg8u;T1vf$3 z{otR#?O+Yk_~2ha@$bqDt=zXjk#p8XR;{Ml`Wr}505e)Y zi5s+XPT*L{A#syjl;0W)4(@WGxTLZEB$mP-=%;m0ZbE6NPfqwwF?T$AwxO#Gl!ZusO$Y;BKvlr>70j zRO=>bsP*rv^uDva7?!-NqGF*|ExCzjCf#WC{CM~BLA`H^Znm10u~1f6#+p|$34ZbtW8IfYPrWvf4f2BAm`s_T2F+=riW~1}sa6a8 z*%YgUC4Xch^G>F2dx__)u2m`% zraF;~g@L&v+|KaMJEVBkOzw8pxA=B)DO0~!{6JgDaxeyCC8k?{q zaUluAa%`$@aR=Hkb(~OYyi$iq@-$W6po9#zxzN$27Ki}jS477A$=&mvwSKuQPN-Ft zeKt~fZJif*lm`#JierA@75vhGv);~Xwo}{6pPFoly-KgVrEjRQ7QCdBelxg<;RKBksXKWl*^9p{WePd6s21=6D@8Cv%+RZ zBacW&ZP#lnb*_^oG5jri#e^VB4VECJJu(_mN@`_K$Ieo*nY*ouabZTugEpz?<<-c$ zN}RHMP|k!?wb;tl%HJv6kIksR(+gCmZUZ+*VbP0Y>j7n1Z2B+iFN#};%%HibKM5h- zg3-WRgvzXu(UO;zUdtidN2KLqt|R5{^oVzqr|wbO>h6@$ftQSj(T;pl4mexA zL_;{{Mx}A_SdlWYW5C&FS06IOE@V@9ls0FDd}^x%(TfqR%cbTGEa=FvbSW|TSr<}b z9zlXInsByFV?b=ma98?zm1;6!ph+#rB8%AVVKO#a4!67I7zvW7E~O&Rq5&yJn1ygM zA;Ar7ETkk+W8|hRBsL5ha>;blKe>BBreR#GR>KIEYVWE`+0!jU=AYI=F9Xu$S9&Sk zbf>e>jF0(6s%0)Ctx7F_ibN_`gBMn?Qy9c?nT?l&@*44}D9RWUFn z5{2hxwg^J>5$ZgvNuCfb+o3_?!Wq}hm!#Jcwpn(7^UV%#VjMKR7FHk+?mb^SH#)|i{tY}vYg(+z!F zJYij7V?64Y3M*@)aba6HZ2C5DDs1s~`ZA`lnl)$GEFM~PMPX=ZVdzS;XlVG-C6^5G z>)YVQNnu;$265RXHIVNHWci|@rNr5dtG*jt!RExhdbEO`v6*q2MTUgreCsU1hQDF`H zhZ2DqHcPkrNlVFLGv@bgF0(r?7uJSRB_1|GRWIWei}xuUxIu^S)#le6o$lEJ4%2qjJJ5a>QWdP< zGXZpXqx}eF9ZI(+tY4e;Ur0N4sabm@Vrr+{drf*{8a_{-sJJNs0jyhEI-@L+tJ9DZ z#Bj71n`ps%ZK-uG92>F{ZJ3D*aU^Eqt|zl%nLheukF>4nnFYbG>a1v_tkJ1@(?CpX zD`7pZ4x8~Y580{p>Y0ye)?Q8jIOl%3*?^hWnX~%blG{f5(cb->BV?y1(covw#%DCB zy^`o-N{H7p5~gg;@i<3aO$d1;n3e@ln9ObLQ!+ziscE)2D5s|-M`I5ia%3?<~GpGSbTb#ddeG%P7}~!wqo73K`Nn6Y)g7)O=S_IzCNjic|Ss}7Y{ZY z53<1ZJW2ZvM~~_m^s`epG{0=sLQzSg-VANOdg*zneIsLsJpfRR$@&J*VCkD5?!AyQ ztHm!iFk0HI`qrPaeACxnz(od82q}S5T3Lfw-dd}xtt<8Wq+JTO)D(J&9~_mB>J)X>V9O}MTvbR<`^#S$gVU$J=lUQ?@v9t2)gQ038+a>D(f-!_4}K3%-?ULgRyou4JRy*gb-8n{RO3y z>{Own?6Z;2#mtVIIv94%!QE3wF$E@Kk1%*{6H$pJDds#MUb7_6)>fj-@-7of@TJsc zZ+v=_`Un!zY4ecClZ<{E$?zUodo071rTR`WOA;GJF$_}V zxi)u!b6@=DEHl#&ZlakaIkrrF5Sq#Ysn^i8^+Hn#2xs@&!iNOQ`>b#&$GJN*VWxS` zu4WVu+(jdVkP-s*IGb}3Cauwke4-B7jk07Vfk6rT@F%rK&FEQnPGg*fURrFlET<2^ zOmf)7L7v%EoWXhC@iA zj|l2Y>YEi$B{`^a@Rux@k2M?A@jWU<#dAjFNrv`#;x;wNw!Py;&RiCSE_9J;F<)X& z;hJS(=^~?D9-l;tm4w)P>}Q6obf(*HHL;`o;T-XXy2Tob5H7_lxm45YGyThgk`oK= znd$pNhb}$WS|U!MAGey=`egN!%9IkGt##Mpm2p4YQDM{FmO(8S>^JhYqy1?kzf3gt z35lc_ciGlKJ?fXG7T$%KGZsxJV^jxY+FwWVbBZ~Q>@8aUa|v3DNwVRVw}5Iy{SYuK zZ|t&aGf26XeL1iqF)&>hkJRMprWy^%as0&!g{Nlq@2rM7*0Tl4i!_mXd#j2=+tx!S z9E*lF?h?zk&zOVC03B?&U(RBb`z&M~oqs#m&DYarYroKBBD*fa|NYrS(?1f)Qqtuk zkt#9=|B6AZMa(0c4Y5`!k-pc>ilBZ#qCrv(AQx>~$QX3(D3|$fOiE2#i1Oc!=IcO7 zM`lhd@U&VZL?_|t^h3^a%}h$Nbu4;XgjoJ%txWTrF^At=q@?_iIrZVRi}VxNVJp() WZfmzh!tP2MoE=n)pI4&So&N)sUOmMC delta 336 zcmX}mJ4?f06o>IsZ8Y`*jkF@t)S(463RO_5lNVeZgyQ5Nc&np>gCH(m!9`H~-NsW1dE}h*)6W(2BsXdQ{2V{{6y|B zm)aK05rs#b*$?c_J1GDF diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index c826795f3..55e9bebe8 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Panwar108 , 2018 +# Panwar108 , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Panwar108 , 2018\n" +"Last-Translator: Panwar108 , 2019\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,11 +23,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:150 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -35,169 +35,173 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "" +msgstr "विन्यास त्रुटि" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." -msgstr "" +msgstr "
{!s}
के उपयोग हेतु कोई विभाजन परिभाषित नहीं हैं।" #: 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 "" "systemctl {arg!s} call in chroot returned error code {num!s}." -msgstr "" +msgstr "chroot में systemctl {arg!s} कॉल त्रुटि कोड {num!s}।" #: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:76 msgid "Cannot enable systemd service {name!s}." -msgstr "" +msgstr "systemd सेवा {name!s} को सक्रिय नहीं किया जा सकता।" #: src/modules/services-systemd/main.py:74 msgid "Cannot enable systemd target {name!s}." -msgstr "" +msgstr "systemd टारगेट {name!s} को सक्रिय नहीं किया जा सकता।" #: src/modules/services-systemd/main.py:78 msgid "Cannot disable systemd target {name!s}." -msgstr "" +msgstr "systemd टारगेट {name!s} को निष्क्रिय नहीं किया जा सकता।" #: src/modules/services-systemd/main.py:80 msgid "Cannot mask systemd unit {name!s}." -msgstr "" +msgstr "systemd यूनिट {name!s} को मास्क नहीं किया जा सकता।" #: src/modules/services-systemd/main.py:82 msgid "" "Unknown systemd commands {command!s} and " "{suffix!s} for unit {name!s}." msgstr "" +"यूनिट {name!s} हेतु अज्ञात systemd कमांड {command!s} व " +"{suffix!s}।" #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "फ़ाइल सिस्टम माउंट से हटाएँ।" +msgstr "फ़ाइल सिस्टम माउंट से हटाना।" #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "" +msgstr "फाइल सिस्टम भरना।" #: src/modules/unpackfs/main.py:159 msgid "rsync failed with error code {}." -msgstr "" +msgstr "rsync त्रुटि कोड {} के साथ विफल।" #: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 msgid "Failed to unpack image \"{}\"" -msgstr "" +msgstr "इमेज फ़ाइल \"{}\" को खोलने में विफल" #: src/modules/unpackfs/main.py:221 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" +"unsqaushfs खोजने में विफल, सुनिश्चित करें कि squashfs-tools पैकेज इंस्टॉल है" #: src/modules/unpackfs/main.py:320 msgid "No mount point for root partition" -msgstr "" +msgstr "रुट विभाजन हेतु कोई माउंट पॉइंट नहीं है" #: src/modules/unpackfs/main.py:321 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -msgstr "" +msgstr "globalstorage में \"rootMountPoint\" कुंजी नहीं है, कुछ नहीं किया जाएगा" #: src/modules/unpackfs/main.py:326 msgid "Bad mount point for root partition" -msgstr "" +msgstr "रुट विभाजन हेतु ख़राब माउंट पॉइंट" #: src/modules/unpackfs/main.py:327 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" -msgstr "" +msgstr "रुट माउंट पॉइंट \"{}\" है, जो कि मौजूद नहीं है, कुछ नहीं किया जाएगा" #: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 #: src/modules/unpackfs/main.py:352 msgid "Bad unsquash configuration" -msgstr "" +msgstr "ख़राब unsquash विन्यास सेटिंग्स" #: src/modules/unpackfs/main.py:341 msgid "The filesystem for \"{}\" ({}) is not supported" -msgstr "" +msgstr "\"{}\" ({}) हेतु फ़ाइल सिस्टम समर्थित नहीं है" #: src/modules/unpackfs/main.py:348 msgid "The source filesystem \"{}\" does not exist" -msgstr "" +msgstr "\"{}\" स्रोत फ़ाइल सिस्टम मौजूद नहीं है" #: src/modules/unpackfs/main.py:353 msgid "The destination \"{}\" in the target system is not a directory" -msgstr "" +msgstr "लक्षित सिस्टम में \"{}\" स्थान कोई डायरेक्टरी नहीं है" #: src/modules/displaymanager/main.py:381 msgid "Cannot write KDM configuration file" -msgstr "" +msgstr "KDM विन्यास फ़ाइल राइट नहीं की जा सकती" #: src/modules/displaymanager/main.py:382 msgid "KDM config file {!s} does not exist" -msgstr "" +msgstr "KDM विन्यास फ़ाइल {!s} मौजूद नहीं है" #: src/modules/displaymanager/main.py:443 msgid "Cannot write LXDM configuration file" -msgstr "" +msgstr "LXDM विन्यास फ़ाइल राइट नहीं की जा सकती" #: src/modules/displaymanager/main.py:444 msgid "LXDM config file {!s} does not exist" -msgstr "" +msgstr "LXDM विन्यास फ़ाइल {!s} मौजूद नहीं है" #: src/modules/displaymanager/main.py:527 msgid "Cannot write LightDM configuration file" -msgstr "" +msgstr "LightDM विन्यास फ़ाइल राइट नहीं की जा सकती" #: src/modules/displaymanager/main.py:528 msgid "LightDM config file {!s} does not exist" -msgstr "" +msgstr "LightDM विन्यास फ़ाइल {!s} मौजूद नहीं है" #: src/modules/displaymanager/main.py:602 msgid "Cannot configure LightDM" -msgstr "" +msgstr "LightDM को विन्यस्त नहीं किया जा सकता" #: src/modules/displaymanager/main.py:603 msgid "No LightDM greeter installed." -msgstr "" +msgstr "कोई LightDM लॉगिन स्क्रीन इंस्टॉल नहीं है।" #: src/modules/displaymanager/main.py:634 msgid "Cannot write SLIM configuration file" -msgstr "" +msgstr "SLIM विन्यास फ़ाइल राइट नहीं की जा सकती" #: src/modules/displaymanager/main.py:635 msgid "SLIM config file {!s} does not exist" -msgstr "" +msgstr "SLIM विन्यास फ़ाइल {!s} मौजूद नहीं है" #: src/modules/displaymanager/main.py:750 msgid "No display managers selected for the displaymanager module." -msgstr "" +msgstr "चयनित डिस्प्ले प्रबंधक मॉड्यूल हेतु कोई डिस्प्ले प्रबंधक नहीं मिला।" #: src/modules/displaymanager/main.py:751 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" +"bothglobalstorage एवं displaymanager.conf में डिस्प्ले प्रबंधक सूची रिक्त या" +" अपरिभाषित है।" #: src/modules/displaymanager/main.py:831 msgid "Display manager configuration was incomplete" -msgstr "" +msgstr "डिस्प्ले प्रबंधक विन्यास अधूरा था" #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." -msgstr "" +msgstr "mkinitcpio को विन्यस्त करना।" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 @@ -206,79 +210,69 @@ msgstr "" #: src/modules/localecfg/main.py:145 src/modules/networkcfg/main.py:49 msgid "No root mount point is given for
{!s}
to use." msgstr "" - -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" +"
{!s}
के उपयोग हेतु कोई रुट माउंट पॉइंट प्रदान नहीं किया गया।" #: 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 "रन-लेवल {level!s} में सेवा {name!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 {arg!s} for service {name!s} in run-" "level {level!s}." msgstr "" +"रन-लेवल {level!s} में सेवा {name!s} हेतु अज्ञात सेवा-कार्य " +"{arg!s}।" #: src/modules/services-openrc/main.py:103 msgid "" "rc-update {arg!s} call in chroot returned error code {num!s}." -msgstr "" +msgstr "chroot में rc-update {arg!s} कॉल त्रुटि कोड {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 {path!s}, which does not " "exist." msgstr "" +"रनलेवल {level!s} हेतु पथ {path!s} है, जो कि मौजूद नहीं है।" #: 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 {path!s}, which does not " "exist." -msgstr "" +msgstr "सेवा {name!s} हेतु पथ {path!s} है, जो कि मौजूद नहीं है।" #: src/modules/plymouthcfg/main.py:36 msgid "Configure Plymouth theme" -msgstr "" +msgstr "Plymouth थीम विन्यस्त करना " #: src/modules/machineid/main.py:36 msgid "Generate machine-id." -msgstr "मशीन-आईडी उत्पन्न करें।" +msgstr "मशीन-आईडी उत्पन्न करना।" #: src/modules/packages/main.py:62 #, python-format @@ -287,7 +281,7 @@ msgstr "पैकेज (%(count)d / %(total)d) संसाधित किए #: src/modules/packages/main.py:64 src/modules/packages/main.py:74 msgid "Install packages." -msgstr "पैकेज इंस्टॉल करें।" +msgstr "पैकेज इंस्टॉल करना।" #: src/modules/packages/main.py:67 #, python-format @@ -305,59 +299,39 @@ msgstr[1] "%(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 "" - -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" +msgstr "लक्षित सिस्टम से लाइव उपयोक्ता को हटाना" #: 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 "त्रुटि कोड {}" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." -msgstr "" +msgstr "initramfs को विन्यस्त करना। " #: src/modules/openrcdmcryptcfg/main.py:34 msgid "Configuring OpenRC dmcrypt service." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -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." @@ -369,8 +343,8 @@ msgstr "डमी पाइथन प्रक्रिया की चरण #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "" +msgstr "स्थानिकी को विन्यस्त करना।" #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "नेटवर्क विन्यास सेटिंग्स संचित करना।" diff --git a/lang/python/hr/LC_MESSAGES/python.mo b/lang/python/hr/LC_MESSAGES/python.mo index ad429694e17936fbf185b8176961ae0129ad61f8..7bbf2f3f2d8a6a962907404f33e7afb4eef2e1b9 100644 GIT binary patch delta 1637 zcmXxkTS!zv9LMp$yW3^eENk;t>Z)m}UCeu{X;vncWt3gfD0>K^w+PCD^(lG?p$=V; z@}Y+;q3gaxL3bY?|0b@%_qZ5su35cV z+%hN>QSZQIcnX)}4Zl8ui>OcHeEf^q7!G?cEJ6*W5!KIrT!QB?1FvHQA7CcF#C-gU zD|x^DqmWL+ie&GPG2BhP12xmzs19GFI+#Fp_!l*>v=s08LR>(-8Wn+7)PQ?P{?Da_^lW~pWkkcS0$2y5^>5+Zwo+)B7sQy)N0baWB%*G#8q&zfh4#XLKvD9aTS#JMj@}DW|avO9@{KcB1-?U!xGE@CvnQCXxSIh-qtt`KXZA z<6%638o(%OfZtGSoJv^Qu^aWmVcdrwu?NfPT>bZRVVl@}+@SOSf)J(1=)0dkzajhYTysE87MJ-BRN1jKfJNKN=L2cHVq<3u~7q|`X`SZ@D>e@sz zN#UGHYba>l_*B?NawAzsQmNI$icw3+DRomN*BDt*)Lv22Ug5LhCM{o!|9*EZ>S<8u zs@>b($A^!dn>c~S_rg793ZIsQl`_7%?l%D34LeH(l9opMWs53)Qgnl4?E~#KEhDSv zU9{$$LibD9q(+i69*HJC&#nqOCCN9O-^rcM@sz$qB(*5u+)nFF?3v#kcE+-Xou}DH doXt7?iO7<{fK!}zJ-DZR>y@SDiIV(*;D393l!yQT delta 2349 zcmZ|QTWl0n7{KvEL10VE9kxKF2at-klqxOPT3Vr8%B2m}2E=Gjx6^jI?aVqe%Qa?G zqdpL-l2wD4P#a_7lTm935Cus}BvCZs(L_wt7sUjgL|?%FH#5Qdz)8>k&Y7J#m+ySD zy;1*lQ|`v>N$)613$>K`c7al9EP99!%DKr(HRJi%NmGQQV!>G$Fs9Ksnmf(!67lnK8@S;%j( z_fW=LSjbpdkMr?4oQp4E5?{wM=2vHE$O9KqCi(>{@h_Z(%ceyS)}lnH8TVojN+d3z z-2W5GgoQ=X1m!3b)}xHuhB96c&cq{F!~E(v4Oze?lpX(y5`n43(E!!>F#RUnh$&ox z!&r-#kx;5TcmS)XE5)BW!AAwYk23x@SdBMv4VDtloJ`n8Lnb(k5}J2$F@6$XzlL@6 zZ{qW~g5}H3Uc;4m8e8xx?#2?f`51QNK70#1@OPB6Z=M}3uwypy-@*l#3$n8>P~&a9 zHi2*vw^sT;Gn-h=(^WW#5`j;#7O$ghU@8YKktmOS5oM>Ra6SHjazqJsxdE3aiNEZi zg9|e78~6l%758r;W2?nvn(Vj+WuhG@xzH2)Dwfk9iM@)lz*{KEI*SjvzXBy$x1)@c z%F&P;2T>;Y5Le^5xc?`zXf=VSb$LEe8&V=Wg9${D_g6YweOa;g*wE%S!&vGipJbyNwV zL`MoQNB9YB-zK8CCnf0QqI1aDm$05nab}^c!shYejLLxDVA3_Jjbml zyOP|HB0H13kRrz_Mjwiq)N%Hi41?Up6^*RYtn zidsNzpsuG%!cH44p4>ih`mSepw&}EWM0eZ$R#m<|@lkTKXPLludbI7>foBG~eSOFd zdh_2W%JTmt+Dn_9ly@W(SY6t4-GFa>E68TF<$11`-%~g^*ULIOo9QxvwetQDqh|~2 z3g+v&jAzvkq~&rdW4m>$q@SNYYeCHt|K%$EOs}O=?!bU?y7VFAN4Fp2tLVlm)#|w^ z%lGwG!*aXwe-yp4VQ;jEjPU|Huw6&X{o3|*xV6q~pdD9djPGZ9J>y%t+s!&%RjO^* zj{L~9rK2Z{*Cmos6#DzJV?&OmS-BfnX~J=S{)KsM!9n90r_UM}4?n*>sq>4Hh52L2 zeHE>4k7r#ONgJJU{lFaT@8fo(uZ-B;p3S3fPaLV0CVxHoW@D?H_N*Wr(pMyG5U#U0RoR))-K$7TgtKhtORyQ3W?!v&>LEFKWjy0WshVMzBF&+6(lnx{MM ze)FJ^-XGs~^LH1X+B80@DVyDdQDqPbRi!rlcJxHXa~(5w(qhR+O~&=oCJOED1r?)X Ii%w7c7a)mi`Tzg` diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index 43b67a4b1..94461e40e 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" @@ -35,8 +35,7 @@ msgstr "Montiranje particija." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Greška konfiguracije" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Nema definiranih particija za
{!s}
korištenje." @@ -216,22 +215,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "Nijedna root točka montiranja nije definirana za
{!s}
korištenje." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Stvaranje initramfs s mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Proces nije uspio" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Proces
mkinitcpio
nije uspio s kodom pogreške {!s}. Naredba je " -"bila
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Konfiguriranje šifriranog swapa." @@ -331,18 +314,6 @@ msgstr "Instalirajte bootloader." msgid "Remove live user from target system" msgstr "Uklonite live korisnika iz ciljnog sustava" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Stvaranje initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Pokretanje ažuriranja-initramfs na ciljanom sustavu nije uspjelo" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Izlazni kod bio je {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Postavljanje hardverskog sata." @@ -355,6 +326,10 @@ msgstr "Stvaranje initramfs s dracut." msgid "Failed to run dracut on the target" msgstr "Nije uspjelo pokretanje dracuta na ciljanom sustavu" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Izlazni kod bio je {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Konfiguriranje initramfs." @@ -363,18 +338,6 @@ msgstr "Konfiguriranje initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Konfiguriranje servisa OpenRC dmcrypt." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Konfiguriranje LUKS ključne datoteke." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Pogreška postavljanja šifriranog rootfs-a" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs particija {!s} je LUKS, ali nije pronađena zaporka." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Zapisujem fstab." diff --git a/lang/python/hu/LC_MESSAGES/python.mo b/lang/python/hu/LC_MESSAGES/python.mo index c56dc4aecfd8c82aff865f4ba8931669a102fed6..a77df9a5aba74765bc24707a9afcbd6c0cfb3b1f 100644 GIT binary patch delta 1643 zcmXxkOGs2v9LMp0 zAF6un@oC zdgix(G*e^TW4#h6OJ9uFkanU$wK?hF4J=_=rLD5zf&S zW|g>){)4p0_`h*I{SLyW1)oYM{<~@1iawad?ev#W3u$1PyYLb!5>r@?TE$+dK=n^! zC61#ec!%1+5^ASG5`m^QU@7iJCHu)N;$KGNIuADDBKF270hXy9*P$YD2pjPX zp2X+Km{!ICwqPsjwp>7+^$cp~C1l_+?7~5OirR4=AAW4aPTl`b8rs2a)Iw&E+%XST z$)(al-9%+>v?xl)CwOrgp zi*~9|VfRsYQk$r{k}3+biV}+i*KKx7EuY({oUHo>)I%LHuMM|ov#rtjP1kS>RiV>4 zt0?@u?A*c)G~O5PQE@XD#``rk8)wTC=p|*x+%&zB`&8K`Ouki z>)bb?jzh({o)HYs#?{3*Wr<_XQeuxYkaRwrkzC?&Cj7(UgDHD_&dco2&X=4%r$6^% eI5Th3(f>EI2t-eM_IKuXF5mfP z`bX=Pw%qlxrLQQ;7HTc^Scy_etQf`*<%8i$wd47sr6ZJ@#_<-MgbpsmBUpo%unE5@ zI(lSyeJ#%8{C*sdr*MfRW;Sn5-gE$e-q6~NiWg_1f z{TrpfN#*o~EjR(6#BsO>BX}66GQN6?hCFZqWuWhHF8+>VaQdk5!9^$$YR9eEjS`6u zQSQHnGGKW{IKV8F0b5Y|?Lg_T8>_J&n;2g`PeUef5oN_UP$Dq0GVGucr*OOumtzd; z@NHa#myl4ZTet%otCZqTy}-{Ld>y6#Pq7hi;$o~NoH-e=gN6*SA0;%e;{AB0c>W7) z=J+P=#Mw+=RyKeQcpSIjXSfM#Smpzm!0mVxyYOd}y>A~IPOxh%@n6dcn-j9KbExq* zJUE1K5x318zr<)Vz;&F9QF@UH@4$7~Up&5uEgWA%nMf@gzXp3zB6J34RLUt1e?Bev2|-1y9TQX($6P$H&n?nc#Vp=Wn2NIG)~RV$G=W37m=t zkVUKGC<{7^i!k>I4H@t+l#UvBx(S~`7O#$>~EUAP=y!&bbCjF(g6n4V;38!`vgixR5CC?PzB^57NRgClep(td2^_!w@* zt0=ir&%+X#y%@t2XkjUx(S=H56~2h=^8UX`qlFVcp-iNnpCPz{Dj}C55s-)FJ(eO9 zYNkF+m1m^LswGJ^l^_LCkr3ZqB-!sSb&MbEuk1-Xm2C{l8h-iy1Y01h;o}&T(xS2g z*-zO5A{o5r5PVn`N`oTXB*`t?Dn&BBf+~w0N|lmZ92)F-v8fi&Aph|^d(%q z&+>ZwFUzL-f0lLDu1m+9{)}hFwPV{JS6$P~X0+)zw&QOue`cJMP3vqXZg^(Hzg^_t zFK;fHpqn#}+0vJk)3J~a&@q@-C0kkZJjY(H`C)7uBj7tHXVdseYr+@U)rgF;d>#pz~xQAJ;(?qIwl8cZ@Xa z3OcwGO1;-kc~RANZwLOA$tPFbp0z}@a5`oc@, 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" @@ -38,8 +38,7 @@ msgstr "Partíciók csatolása." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -48,7 +47,7 @@ msgstr "Konfigurációs hiba" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Nincsenek partíciók meghatározva a
{!s}
használatához." @@ -219,22 +218,6 @@ msgstr "mkinitcpio konfigurálása." msgid "No root mount point is given for
{!s}
to use." msgstr "Nincs root csatolási pont megadva a
{!s}
használatához." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "initramfs létrehozása mkinitcpio utasítással." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Folyamat elhalt" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"
mkinitcpio
folyamat elhalt, hibakód {!s}. A parancs " -"
{!s}
volt." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Titkosított swap konfigurálása." @@ -331,18 +314,6 @@ msgstr "Rendszerbetöltő telepítése." msgid "Remove live user from target system" msgstr "Éles felhasználó eltávolítása a cél rendszerből" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "initramfs létrehozása." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Nem sikerült futtatni update-initramfs a célon." - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "A kilépési kód {} volt." - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Rendszeridő beállítása." @@ -355,6 +326,10 @@ msgstr "initramfs létrehozása ezzel: dracut." msgid "Failed to run dracut on the target" msgstr "dracut futtatása nem sikerült a célon." +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "A kilépési kód {} volt." + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "initramfs konfigurálása." @@ -363,18 +338,6 @@ msgstr "initramfs konfigurálása." msgid "Configuring OpenRC dmcrypt service." msgstr "OpenRC dmcrypt szolgáltatás konfigurálása." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "LUKS kulcs fájl konfigurálása." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Titkosított rootfs telepítési hiba" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "A rootfs partíció {!s} az LUKS de nem található a jelszó." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "fstab írása." diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index 4763d81fb..f06076b0a 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" @@ -37,8 +37,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,7 +46,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -211,20 +210,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -313,18 +298,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -337,6 +310,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -345,18 +322,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 8aa035ee5..fdfb49daa 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index 4ff0f84e3..bd9ed4338 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" @@ -37,8 +37,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,7 +46,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -214,20 +213,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -320,18 +305,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "Rimuovi l'utente live dal sistema di destinazione" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -344,6 +317,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -352,18 +329,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index c49f8a384e02c70576b396e09531dc893679cd31..462a4d73cbe219ab898db8e8702f0edd2506660c 100644 GIT binary patch delta 3090 zcmbu9S!`5Q7{||41PX=HR$A6_DY!z*R-iyBi!7odpq*&64~#RnbYMDDW`RP{VP-@j z^aU(1c>|TR0o$&?xf#Tqt&@Uv%UjGp($LJ z!d1`%4?q|E3(keB4W*uk?XVe+Cc7DMA4F7j7S@T$6bm;u7SaHd;bG{2Im|^&8S|L( zF)`WWL9U`kpY+ytD8U#^37Uqt%S0@yA5)q&J7%(&&%`YwYF}+hWL1&g+SmJTSW7J> zYJL^A+@g>iNg0dNunoO{qP<4SS5^x*+3U$uX>A%CW0t%0LMD zOWK1IsQ6#l$Ba{E_Xed_{B`Z}0sF6brz{u~nWE+r*<^+^_#I4XJZWZWaN9qq$9fXA!}y2~R?9#_~jT3o?3V?)nXPqObDZkNwzc>RXEAs7gRji4Eh1pTJR zFoVHB(2#eG7JsCXFDg{pRA^HuY&N>XzO1Qfw_)quzEd6fuFyIoZOvmu{N7|izby`{ zv;TgpIk(pOJ$I|MZ$M$m60gta^{+7^O-8-fXQtl|RU|tGyyPfuas|WQus7fj8Lpsd zc+7e)!COo7Mq3l|=377JZNB4)N0(VE2bLv|52|%Un_S@rqn^Zq5x>veV3LCk(lfjv zBb{K2ymeioiN?kTue-tU1k8}(M6g69Z%V8}IsF;KcI7-&wXxCV_jKo**^jNd z-WEL0Iu1qZ>%Gm_^|1A$T;c9yE0TBTS3AZ#Yn{uN84r1bfsogzj)Wr(EN52D-{fit z1S;HtinUEOR@0D+(R8orSVzW1ug$6ByHmS9(XnLerH^#%fR1(Qc&APr(TPuVJSo@2 zj%<4xI@bEz={-8OSI1j*>{A_U)3HN(Yg}boyW8KhHMg{IwuAr0;nvt~_)M-W_{lLi z+uJ&ESSNN`j~0#^WZ*$3+I9S-j(1t>3yYEyi~e?4j}1L;O)K_TUl+e`ohlh`oh%)h zmpZgl$8o-s9Fo73ICGrUO+mA!#jb>`$oSZ=r%qqq(<$2UUSgLm$%{JvhK_%r6CFB{ zM3vNumoI;MBrD8e9ecr+=M^2dFl|+iSZh5rvdumy-w&Id+&n5L=Sk5RfsgCN0i8H@ z!zt0R6XJ*XW3AZ^>3LoVt3v|X8rLz)u0>bs?ft2PMA>GIDH`tl;??d`^8c*$NMm#9 zf@p6+r(WD9p5pJ>`ViE~?%ovp{ z_KdumAZ$t_@(5bA1`5H8l!p%_8kHc%zxYFf;821jCMFmX&=|kJy-N{wa61KRM`V||wZzLSDkoWLK{0b$K1-ZP7vvY~Rtn7_s#dVaKPbQuc z`bMnA9-M>Ma2^&jOSyj;C6s$mw(KmH;1!g!ayMC@#q4F^3LKBiP|ie00r8iWb#akH zb`<3heTfpPA5mU>fc(@b9!kWjkj1C~GKR8HwxAnh_zh0Q2I4*+H{&=whtmEAPQrT; z3bNvIMwd|4V->dH)3_g>!OJ)UU3?O<;#nw>Sc41k05;)uY{MBWe=8nD>32L~k$#^? ziQHzCej@!8)>8NhWuV2xQ6{tzrNJST6@QJ@n97Ngf##zeUK=Hpd4y{*R-sI66VAjl z$Qspe*o$b9K%FTdPvZa*!lFOMc8L zB~HJbgSzCsAloOQm;VYr9Fsz zC}h-|OxtbW$+YIINK7VR2E*R4*Y7i=z2OZR&Jthg2pc}X5imocKwHoZd5l(nhtFN9 zRyMp~A09S3zI%9+%Z`nh5cgzPyGAsb>pZO;?OtP=Pa9($-;Z_2}49ZSA?;+c$80-_6r~c5h){#=~{mHATgCZPCVQ zxAt`p?CKxr+^eJAI(jG(NNt_dv6zl+)7HCAp<7$MI`$#`+oy~At3H>3tdA0HZl2zu zqsRZTN8CMpFSga0)Hb`Ncv}2iaZ`%zDfN!~->4fp)~#cGGPrd{M?3Aty!?oSPDfb^ zbJ;P_bMjUf)8zMAV!nEdWoRp|V+VDN>vkPI@$Ws-(GLdOsz-*f_WZX)TI`l}Stp$} z+E+`rXCyb2b=f&3g^NxkHZ-xFPVa9sTfHSJuQGFXAa=}o`z-ah-`}aDJvzFR`8(5o YM_YE>995lSn?|j@vTS7hc=<%v-&7>, YEAR. # # Translators: -# UTUMI Hirosi , 2019 # ブラシックデービッド, 2019 # Takefumi Nagata, 2019 +# UTUMI Hirosi , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Takefumi Nagata, 2019\n" +"Last-Translator: UTUMI Hirosi , 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,8 +37,7 @@ msgstr "パーティションのマウント。" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,9 +46,9 @@ msgstr "コンフィグレーションエラー" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." -msgstr "" +msgstr "
{!s}
に使用するパーティションが定義されていません。" #: src/modules/services-systemd/main.py:35 msgid "Configure systemd services" @@ -64,6 +63,7 @@ msgstr "サービスが変更できません" msgid "" "systemctl {arg!s} call in chroot returned error code {num!s}." msgstr "" +"chroot で systemctl {arg!s} を呼び出すと、エラーコード {num!s} が返されました。" #: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:76 @@ -80,13 +80,15 @@ msgstr "systemd でターゲット {name!s}が停止できません #: src/modules/services-systemd/main.py:80 msgid "Cannot mask systemd unit {name!s}." -msgstr "" +msgstr "systemd ユニット {name!s} をマスクできません。" #: src/modules/services-systemd/main.py:82 msgid "" "Unknown systemd commands {command!s} and " "{suffix!s} for unit {name!s}." msgstr "" +"ユニット {name!s} に対する未知の systemd コマンド {command!s} と " +"{suffix!s}。" #: src/modules/umount/main.py:40 msgid "Unmount file systems." @@ -94,7 +96,7 @@ msgstr "ファイルシステムをアンマウントする。" #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "" +msgstr "ファイルシステムを埋める。" #: src/modules/unpackfs/main.py:159 msgid "rsync failed with error code {}." @@ -209,21 +211,6 @@ msgstr "mkinitcpioを設定中" msgid "No root mount point is given for
{!s}
to use." msgstr "
{!s}
を使用するのにルートマウントポイントが与えられていません。" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "mkinitcpioとinitramfsを作成中" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "プロセスを失敗しました" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"
mkinitcpio
プロセスがエラーコード {!s} により失敗しました。 コマンドは
{!s}
でした。" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "暗号化したswapを設定中" @@ -249,11 +236,12 @@ msgid "" "Unknown service-action {arg!s} for service {name!s} in run-" "level {level!s}." msgstr "" +"ランレベル {level!s} 内のサービス {name!s} に対する未知のサービスアクション {arg!s}。" #: src/modules/services-openrc/main.py:103 msgid "" "rc-update {arg!s} call in chroot returned error code {num!s}." -msgstr "" +msgstr "chrootで rc-update {arg!s} を呼び出すとエラーコード {num!s} が返されました。" #: src/modules/services-openrc/main.py:110 msgid "Target runlevel does not exist" @@ -263,7 +251,7 @@ msgstr "ターゲットとするランレベルは存在しません" msgid "" "The path for runlevel {level!s} is {path!s}, which does not " "exist." -msgstr "" +msgstr "ランレベル {level!s} のパスが {path!s} です。これは存在しません。" #: src/modules/services-openrc/main.py:119 msgid "Target service does not exist" @@ -273,7 +261,7 @@ msgstr "ターゲットとするサービスは存在しません" msgid "" "The path for service {name!s} is {path!s}, which does not " "exist." -msgstr "" +msgstr "サービス {name!s} のパスが {path!s} です。これは存在しません。" #: src/modules/plymouthcfg/main.py:36 msgid "Configure Plymouth theme" @@ -312,18 +300,6 @@ msgstr "ブートローダーをインストール" msgid "Remove live user from target system" msgstr "ターゲットシステムからliveユーザーを消去" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "initramfsを作成中" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "ターゲット上の initramfs のアップデートに失敗" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "停止コードは {} でした" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "ハードウェアクロックの設定" @@ -336,6 +312,10 @@ msgstr "dracutとinitramfsを作成中" msgid "Failed to run dracut on the target" msgstr "ターゲット上で dracut の実行に失敗" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "停止コードは {} でした" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "initramfsを設定中" @@ -344,18 +324,6 @@ msgstr "initramfsを設定中" msgid "Configuring OpenRC dmcrypt service." msgstr "OpenRC dmcryptサービスを設定中" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "LUKSキーファイルを設定中" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "暗号化したrootfsセットアップエラー" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs のパーティションは {!s} LUKS ですが、パスフレーズが見つかりません。" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "fstabを書き込み中" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index 3e98b3368..6d0bc8364 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index b73c03f02..0f5e704ca 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ko/LC_MESSAGES/python.mo b/lang/python/ko/LC_MESSAGES/python.mo index 5a79cb0a126fef06db9da28270a4091c9c2a4ee1..fc0658fd0d5c4ff6cf01f5b586b3b2d8221d3d1c 100644 GIT binary patch delta 1643 zcmXxkSx8h-9LMp0<7keWxuuReI;EMFEv7A|EmN6ViB>`p6-L1j*$zb+OhHkBFL@~i zqo9b0ply2cDU*z%APT|?iXIB09(szb9{T?7j0etq&bfE)S^ocX@9U-)p~%N9??t0D zQj4hV9DfDk*0Y1lS{DS%DA8%HJ^Wuh4_b=lde1((HlFb&G zMJ$&_Dg9O~!^1cY`{Mmam`(o+PQ+34qt6$cuoShBdek_Zun@a27ke=W?_eGdVF`Y~ zO6Iq}G%~qRkrMmkV%$K#6}8iAr~#j#2KbB`a1^z$^wik%Q!s;m4JrZ+s0AHIZR`qa zV?(Itzhi*;&C<;3pcp6P7MzbKkPz7eoQdC21LjRIn~Qa*fjcpP7f=hli^cdfe*G)f z)Ay#EZN(630aq|Gi$;`2D}KfntRl|SF@l@%7IvVA?J0LVk-yq8T!rUQ8+eI9^byVj z6;U=4~$$ZR*G8r@{?yJu0j!4KZvg>a6gVx<%+-l3Mrl z^7gr3!lmdIr#q)4I+9eK;FPEIIlofcop9>OXii$G$GMh%Ji2jW*yp^>zwZSS%5*Wc+ zI19QKm^AB1j?<`UgJzh2)s*>%&D2a;(`5g|y*uSUIZo5m_jh+Stdz@zqfp^1=|xKtJJ3{2j;Q)YRCE^H3sGj+?L+B@!1= zp8p9+CnDJFR4Vl1Yloj7ZiNNUeSO-NoiSre>7^^T3 z-^F=&1qr3Pja#rNLn;1Lki(Ps4od%@Vi6iRA9D$3KnAR!Ap`723C$sV3_plp{}M|$ zH}ECQXZo_TR-A=z<3{`p*JC!zEWjFk0XuOk{(_SG@^P^VZXHMb%edg?f~@QuYWxj7 zBM299+sb(}qgCNelohX{7uf@QaWx*s>G&hA#Uv6g6RAMC--l~(7$tJWtnxXm%p(3X zX!LVoCVquBl$|A!DMX^GHY4d(+fX9pLfLftkw4YPL2`c)<-M?x+OYs}zT{VGGWS}`5WajH}2f9%vegmbWBwm(&=AvxMT9g#F zqonG6loSue&u`!Y&I7k-$Yz_t*3QRGC>`!WnZOAw!cTBB-oiP!lHQhKBTDWs;XX`b zRN3usqV)3~&cvnz(Qm}0o6uBLUl6k=O~+M7$p_iTB+r@3U^`$vd`3?xCk@o zWhJh`m$4HU;;-n!0>a_NFiL-^Q)4Mzgs;l?znX@f8<$a5nnwah;M3H{sZu1T%*R@p zoG+%9P*+iT%_@8xRwOhMB(;J%k9vP8yZ?lC9^+eKmK>E+NvBnob4;PiW|L2eA4jVs z#?3(4NV0MwYlRxD$jCmBA{$y#D&d#1mda0yDy5F3N(s!5Y5iu$n^u0=e-D(UoIOL8 z&q{W(Y`*xv2t4L&JzetfZu8jOE zm(%aH*Vp*;E~mdPbS-&u=uUEF?h03xx6$KwRBNx>?dPt~;cxJ0hu7=&hBl<^8}Ds! z=>|`=-S3!nuZw{XQ%Vvtb&1F8D6QWvm#aKZcS)g~hcd=aD9-ckwdu`u4qfH0ueZCZ z^)91+L>;3XgIBT(WclWJa(_&>36zaTAtTVpSG5^t--Hd zZtb!Ae4aY5-RICX?gm%2O;xO06Y5KyGH@_`S#pl`XtX(^qrsrrdr1$UKV`O@(PreJ zEp$EeZ2CVlHjZBk*|R21>oMB9to!QT61k;~6G0<%_g<(uYj>X6-4zWFMvrtEojrF0 zX0}AkW8K;eM~vg)(4DL!GmK!9`Px47aHrYQ^Pkvhvm+8c^oB)npfmfsgh1?7ZGPOv zaMp^=-gEiGr<)3N^sQ6T?tU39+SOw8^_VS#W_#rSBhL%5Ui+hm+RXOzMn{{`5wU6G zWUF!Pg4x^j?+lnnTjiO|j);1ocbQ?ZKlDmYczrw{L^9fO+H4KSXV;WZ#0spWFjezJ i6QR, 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" @@ -36,8 +36,7 @@ msgstr "파티션 마운트 중." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "구성 오류" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "사용할
{!s}
에 대해 정의된 파티션이 없음." @@ -211,22 +210,6 @@ msgstr "mkinitcpio 구성 중." msgid "No root mount point is given for
{!s}
to use." msgstr "
{!s}
에서 사용할 루트 마운트 지점이 제공되지 않음." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "mkinitcpio를 사용하여 initramfs 만드는 중." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "프로세스 실패" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"오류 코드 {!s}이(가) 포함된 프로세스
mkinitcpio
가 실패했습니다. 명령은 " -"
{!s}
입니다" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "암호화된 스왑 구성 중." @@ -317,18 +300,6 @@ msgstr "부트로더 설치." msgid "Remove live user from target system" msgstr "대상 시스템에서 라이브 사용자 제거" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "initramfs를 만드는 중." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "대상에서 update-initramfs 실행 실패" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "종료 코드 {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "하드웨어 클럭 설정 중." @@ -341,6 +312,10 @@ msgstr "dracut을 사용하여 initramfs 만들기." msgid "Failed to run dracut on the target" msgstr "대상에서 dracut을 실행하지 못함" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "종료 코드 {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "initramfs 구성 중." @@ -349,18 +324,6 @@ msgstr "initramfs 구성 중." msgid "Configuring OpenRC dmcrypt service." msgstr "OpenRC dmcrypt 서비스 구성 중." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "LUKS 키 파일 구성 중." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "암호화된 rootfs 설정 오류" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs 파티션 {!s}은(는) LUKS이지만 암호구문을 찾을 수 없음." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "fstab 쓰기." diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index 1671e9608..d61c2778f 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -305,18 +290,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -329,6 +302,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -337,18 +314,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/lt/LC_MESSAGES/python.mo b/lang/python/lt/LC_MESSAGES/python.mo index e2d60c86f80578dd6c6b9866586422ba5078b18a..2bd7d661b8b47c71440cf9518c2dd01b409b7523 100644 GIT binary patch delta 1631 zcmXxkSxA&o7{>9p(Z6;8L(3L|b}aBB5`rw6?kcDtz9NH= z@S>2Qz@eK6l0>LLm%kp9n^@xb|h=X^7BmiN48zO_s?g+FB^UN=e$ zwSc9^rL?7@ZD7w->aCjBVR!ao?qv z&iwX|MmjIbQet1M!*=>@sGSa=1{_5VFpe7V4{Bk7)Y$J!a5nuKR0KAn7SxN{SU+lG zBdFg`U?KCH%`~frA}q!|Sc_+n5ZMqe!3orWIca8F&YJm^12%p8@f5is+ zi2<{{*o<00KZcjmh|p-maombk#CZ{haTgBae)O?Do!ueit9A-E;04qMUSSB63Fnt- zW{Yt*{QzN-N3k5Aq89ukllW_ZG?o*>c5K8R)PO^{2ESt+mNUD~t_wHed91+KSc#KZ zjTIcc`iD?CaE%9Z+C9|7Pf*GJF`M`+RDXG)vk4NvDr`n2RZrY2s2mu?`8bN2cmkD- z`J}!Eti=v&M;+N6R1Uq3fBp+uqh;_TSr(?Dt}RON=s zTIvcabGf1g)lw5A)>wJg?kPwj51 z=&ZGC{wi!8wSlT|t89$n!kIyvTk6Vko(eff?vhe3b;SH_xT34v9G~BG4OdZh?Gz1_ z66y@siv9DY(ypg+%UqIjl*YfV3pcp%PFI7XYo;5Z+?Xm0Xe3Z|%;dXEKplz8T=K?U z5tod58F}dMOz;+@^m)HiwtHQv=OS4%OMTuzpf}Pn>v6JI6CCkYud`H0D<)sK^6nQ6~Bp=i#3?7H5o%9&A9#P%Cc6ohX@j z7v=u1Q6?-YjV73lGGP0!xD30n z22WxGo<~xtZs5aMH%ck~)RX+&fiIwp{{hzFbzFqiq%$iMc2JQC_MxQaC{D%K^Zl2w zk@j`mhI3fH?Cb!}$K%+JAL1sgWSes_fe+$SxE-&dy!+O1(E_)RBmXUQICRL)-a?JP z;?*Ifi@ZHV`wwOl+j)8(zJ{{k&rzQL9W^fDMK|GAl<|(?a{LUJ;&^s94cl-H+7;w~ z0hKd!)ZzEI5X(7P(r!hbRr^ui;WH=`zlw4eawwU)f|5x&neysp;hne%<#1;69>*%$ zXK)r?mJ5=q8z?EQ;ci*bBBV{L5Foz^V{fxKcFt#lzt3#Q1FRsIvu@is77&em*)}~IQ zJoi2>#b2-o=aT=`codm0tG=S5=_uew9+-jrsWyHj0}eLhA>4zPP!`rgI%J{Sa0?zl zIecHDY-ld&u&@nx-~h^aReTD30IC63$@kwvrJjz1C_8%(hv0HTG9pC=WS!v|koGd7 zkyuM`dss&E+fHbLq=mbbS2MV@3~o@bVgB%6F?lDggrrVNGf_gwPUU`UDKQJ^j^#F z4n8WL7W`G*S-slsax*DE9@DPl_+0hkembS&uIso#Tgl@S+_bIJshIKO^KTB(|8_}Z zLAh>Bx$&mnq;z+sET?gSw1ZJ&C)L+@kJjq@yW_gc>FqUkOz$;bbo+iTMK{)}dtIk1 z?sU3ZjKg_GOlm=mSbzVUt69Ix3(kgYunK&<9VrW*LZQAaME_HR&{J# zADkLFz5nU5zT%1bn_ZLiFZAmKgB!0lsI2&8N=G`Gb}iFu24%xG>6o+2*nTijp@VA` zR?UT%tc06(eCK9LatB;vCml~GdyEw`!F`p7gEuOx$J~;a%atD&OpUhn--d6=&jWhq z@-ROe97&DQJJNfc|4R;|q>P_&bA8&5d%3=3Z|+!dvg*^8e4@N03$pBt7bPm=nlMxI lv~O}pER*Ib^5h%6%Sl>n!0Rz7-y~e~NUqQ8-(6i+_%D$0Wl;bC diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 2a876e187..40932607b 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Moo, 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" @@ -35,8 +35,7 @@ msgstr "Prijungiami skaidiniai." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Konfigūracijos klaida" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Nėra apibrėžta jokių skaidinių, skirtų
{!s}
naudojimui." @@ -217,22 +216,6 @@ msgstr "" "Nėra nurodyta jokių šaknies prijungimo taškų, skirtų
{!s}
" "naudojimui." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Sukuriama initramfs naudojant mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Procesas patyrė nesėkmę" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Procesas
mkinitcpio
patyrė nesėkmę su klaidos kodu {!s}. Komanda " -"buvo
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Konfigūruojamas šifruotas sukeitimų skaidinys." @@ -334,18 +317,6 @@ msgstr "Įdiegti paleidyklę." msgid "Remove live user from target system" msgstr "Šalinti demonstracinį naudotoją iš paskirties sistemos" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Sukuriama initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Nepavyko paskirties vietoje paleisti update-initramfs" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Išėjimo kodas buvo {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Nustatomas aparatinės įrangos laikrodis." @@ -358,6 +329,10 @@ msgstr "Sukuriama initramfs naudojant dracut." msgid "Failed to run dracut on the target" msgstr "Nepavyko paskirties vietoje paleisti dracut" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Išėjimo kodas buvo {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Konfigūruojama initramfs." @@ -366,18 +341,6 @@ msgstr "Konfigūruojama initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Konfigūruojama OpenRC dmcrypt tarnyba." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Konfigūruojamas LUKS raktų failas." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Šifruoto rootfs sąrankos klaida" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs skaidinys {!s} yra LUKS, tačiau nerasta jokios slaptafrazės." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Rašoma fstab." diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index b847e7f10..188a74ad9 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index d8b4f1cac..3c570148e 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index b9ab8b7b9..cd50bfad6 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index 0f63dcd5d..0377c110f 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index eb7e6a754..0a7c305fb 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -209,20 +208,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -313,18 +298,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -337,6 +310,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -345,18 +322,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/pl/LC_MESSAGES/python.mo b/lang/python/pl/LC_MESSAGES/python.mo index ea1d342693fcc31e4e4f7db0a09b9f82a2d295a8..79c4cbd7d0b5792637bd8b474cbeaf71546c6523 100644 GIT binary patch delta 1123 zcmXxjPe@cz6vy%7%rrVRHsee>W?KH8F`XGTB9u(A9B5Hse+U;6Z3xTuXQ3EW6X3q^G0riF|(yK0>}z zwrLvru!nWHh-YvGGq{Nt@Bs6eikj8nFlyW#yo*op9DWI&|3FRr6E*$_lbEbDyNoT^ z#{BkxhE_g}Ih;p*_!~Ci7GA|a*n(H8%(`(Ld+`nG{Uy}+&A>w(q+b^!Yj_U}_!%$a zHr6t~Rh=|DjpuO`3#bX7VKXjbB4oCPIr=+s#$sjl@q)6b4Bf;ooJ1|q!y+yR{XJAh z8kj7FMJy}zBQ$jO6Q~rvLY>hp>TExu#;v1vxQG21=Rj2pCDc(pMD6rBDpTvI34aIu z82MMf88_$<310RlJD4we^EPV=ioGO3=8-eOX#6ezJWb>gi}~#TY7&Em5~+H zf_HHU!_58^uj3{Bm?r-!svRC^$8lz3tYz^Q4xnCmi<)R3`9Z9MOPM00ZsB@YJ5vEG zv^eV3Em}Vk`*EQxDm14uuKIIDq_%=gxzO&FdY$M0hy)ESQ0aCxfU1dRF6~^Q-&MP( zzKoJF%Ebls=(3?BQ&3WNjiYp-^V0vUIK{=^;-Zf`*|qF(*A)~=aM9z>L}n_yj_A0* Z6ulktYhtCS_cAf*XOagYzdqd>{s+ABTfqPT delta 1281 zcmY+^OGs2v9LMp$LOp*6wbRF_ z=cZAa^O5FtSd2PDyK~9EY8zuf85l&pFo{}-3aa};)O`yo&~`kJ2T_@Ni_0;{s5&N(WZ=*`_9@&$H3dnyG7bQeLf!k1l9->k5pwk;)D3@@2VOyZNCfwJ&>TFuyMz>+N@Y, 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" @@ -37,8 +37,7 @@ msgstr "Montowanie partycji." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,7 +46,7 @@ msgstr "Błąd konfiguracji" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -217,20 +216,6 @@ msgstr "Konfigurowanie mkinitcpio." msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Tworzenie initramfs z mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Błąd procesu" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -325,18 +310,6 @@ msgstr "Instalacja programu rozruchowego." msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Tworzenie initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -349,6 +322,10 @@ msgstr "Tworzenie initramfs z dracut." msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Konfigurowanie initramfs." @@ -357,18 +334,6 @@ msgstr "Konfigurowanie initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Konfigurowanie pliku klucza LUKS." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Zapisywanie fstab." diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index 39de8487c8829d2b6b85d9e4e9fa77b5f331b3f0..a004f563d372fcb11c7dbb55f77a7853798d7bc7 100644 GIT binary patch delta 1633 zcmXxkTS!zv9LMp0>sGp!rk1x#%}uj1Q`0VL=~`+;Wtdr1LLnqXQsI+UY)}si6%mJS z5Eep31r;s5>_bG+g`g;epn|{$D-env3Z$35zjKZQv!9uB&d$vF|7Xsxwo8%d*UaEW zqqI@yQ9A=>`|)g$AIhw0W}7g>cP|#xzm56$23O!1=3?G-vl^`S?M2ke`%f{8{urj?1mZ+BjI;4R=HPQI z#4lLR{PvGV1{cag-h*}6LBAdKro*TKU!VpUMGZKCT3A}D_y1y?MZX3Wffm$)22n3I zgnF^(sQ-`SeC9WsVO9?XxBz!!EgnZgWRGwuj-v+5nQ2yu^{9al;e5P+THpgLz*qkD zZ`eRTm}a&YBd7%oVRRXdIE{83#VuGxoEKvhci|n}hXGzsx$8k5wE^6KG1LpZ#Ue~0 zoad*QEx}IuiA=LDOeb8`cmTEVt69W<8;vJiDAfZjs})z`Mm&L<;H7^(mD%-N2X4gy z)SJD=wK$c8H{p6z|1>Hh&ycm*XH;ayQ7H}O5PxlkQl2WqR#YetqyBh~ALh23sNJ1F z-5emSc5-t z6^7aBns5*5`cYIQZlNangL3b#vWDyNJ4mI+M!0ZVLF`xSJK+qUbbH^>UiuEjpJf z6&~)d_QPaR$Vj#Esjy~h165&FY4NZUWTWdeyG1*_j!Np?RO+H~&S%3dI?54$emCT+ zxu9dGyr?K#$!^R0^6|ZJkC}F|_6VsozPj#F0{5#pRSilxRcX*^nk+gwNz^4&ZC33g zww3qYS57&FZf=wgi$9*$mE@F$t~h@~olbA+$@uIU;ea!oHW=TY{yoL%$s3vyaW3R$ eIh*o#Iq&k%#81tA7H|>;F=xlTh4BZ4O~L;b%$7y~ delta 2342 zcmZwITWl0n9LMoPsYpv(q##?M$SGAspi6~m_Owh?qqlBx=wQA@LGZG|B^lO~gp#LF0>w8pUW76VwMTiHUxHvxC9lNzZ;}&YV4$ z|M}1MK>LN|g>P%iUo?~$wVt}a%$Po`x`7YM2g8i%#1BKuZ!~5y_c0ugKF-FyScj*u z1-}j*IlT0IDbA#QC*F)laGo&*bApRT8ZP0jIHAIr+i?-Y?N3~s{+K8=%@-@L+wzHkCH(GNHSFXAX{98vn>98`olaXt2+ zB5@qm{~OeVl~tt)rl2NlLyg;o8m|X$!d=+H{N_0>w1AILJ3fbs!0_tQ0L?g&`wm=) zacsa>aSonBLTN7H1K3<+41Z=1AJg$5YW&mKjOTGK))UTxChX!u6YNBV<^bM;Z-?!l zV=MRPaT88u`P$i2*n}@(3_ry+SjRT+z$D&_`*1V!bRLRaDRx|y73~;!ZnPdg+GSt@Gwr%b6kcKIq(&jK#l(vs{Kz?zxnKPEpCnw zf9>oY8t%s5a1l-;vvl8wipWu9bLJE(GGCz1`VX9h)nw#UYzpm0MYMqW{>!L{y@!0o zd=@@Grw%&HA*3*yHjUVZbCJ!MJhEuB8+Dei;X`;9HSv5_p-|t4Gx15(cmqhZ%~z<2 ze-7{e3h!&kI(?5ys&X2&lUaBVZooM1M>cOR<6Im~rw6eU zl?z9(8Lwalr!ik8gu-7loJ zQkPTd9+Z)M#;BG`&`bw)4)xliWW2UCFn^E`I-^dicBZm~%I{B*JUZXuRF(1)!TYVe zP*xM!Ak=!KB-L@M%%EyRI%kztRDN25%??!qrJxY1=W!no;9g8nTZ>?S@|0#=ZW2C!Mf6oNTH4!#pZ=jGA@6 z7k9H+yUby^iQ=zSPb^qpT13Y2bE#a)OI!7~sjLmQwk4mlY0qYyY&O&DJ6YEzy?iJn%yG#}yMi>-gL9sqLOkuz+4?yK56(FhI1}5qY!tWn^sebYx=jLL@!C zgM9|wymT_vllPs$HwIr1TEcL+#3z->ISH@0scuh0(BJW_yVH&5bB=#~XuhjEQ&x!C zOlfc4{|Ct?ovpoIUg5ExjSmhaQa!<}ihHoiXctY#2U|_-U}K;p8jD zV-p@--cFo|VrfHRT!Uy19xX+)pEF6j>E3+5W0Q(zQz=-Qj%|Bs@+IL6G}kA~{{i~H BZ~XuO diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 9059b758f..f9630896b 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" @@ -36,8 +36,7 @@ msgstr "Montando partições." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "Erro de Configuração." #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Sem partições definidas para uso por
{!s}
." @@ -218,22 +217,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "Nenhum ponto de montagem para o root fornecido para uso por
{!s}
." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Criando initramfs com mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "O Processo Falhou" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"O processo
mkinitcpio
falhou com o código de erro {!s}. O comando" -" foi
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Configurando swap encriptada." @@ -334,18 +317,6 @@ msgstr "Instalar bootloader." msgid "Remove live user from target system" msgstr "Remover usuário live do sistema de destino" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Criando initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "Erro ao executar update-initramfs no alvo" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "O código de saída foi {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Configurando relógio de hardware." @@ -358,6 +329,10 @@ msgstr "Criando initramfs com dracut." msgid "Failed to run dracut on the target" msgstr "Erro ao executar dracut no alvo" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "O código de saída foi {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Configurando initramfs." @@ -366,18 +341,6 @@ msgstr "Configurando initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Configurando serviço dmcrypt do OpenRC." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Configurando o arquivo de chave do LUKS." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Erro de configuração de rootfs encriptado" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "A partição Rootfs {!s} é LUKS mas nenhuma frase-chave foi encontrada." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Escrevendo fstab." diff --git a/lang/python/pt_PT/LC_MESSAGES/python.mo b/lang/python/pt_PT/LC_MESSAGES/python.mo index a1760e7bd4eac0342be5ba265ed2d7e0aa5ee845..60d342d6e242279944db636a824f390eb2f137f6 100644 GIT binary patch delta 1472 zcmYM!OGs2v7{Kw*$4qLznn}w{9m~>uHmT*S=tY_ND7BK3aMZ~`2QLmP;lf!IxQUW9 z6B26GqDX=vS`-zJ6Af)y}x_z+8)KM*4>1?tS@mD&q@EEYl7wzd!$YVYUO*klAg1CC+=%ya6F$R2oWl($ zvElz6*i8SD%SAf(M^ImwvL2X4?f4byiytu=zo5?WH|oGk;=%)OK^^#I)B)VX419vs zIEUGov|gkf-B>{X(!+%|G=aPEDQYBEFcTBv!wnT;4fQ%~$1yCzPuPTx1d#^p#9jCp z+i)H`urx6o`bj)W{Q(AbWZ$@OVFB@-iV&&CbJUlau3F9X^Kk+-QZKL>=W!<%IYf?Q zD;~xf)D9N$80HX0olqa1!f~v`B`5K(;v$`R?Z>mI^-0vVe2cUppHVwrwM-#{G+EuK zxzLFG#AnqwP~8ronR7U6Z&5k5!lZ~-r& zlT_b>BX}MkVFShx9)0gD_TyFT#qXGf7YUax%_wR=FHx5y_>&8kT*x7_L~>?KW+G}* zGGVjqv#dfA*_^e`OrzrB(5UImw2*IRVaJ&}N_T}ur^dYd|CFcupZ?A55sf6gS#(Ks z)|DLkVbYoDXm$H((a>pzYb10wQ5;${S2Q8D=+<2;x{C;)xx|Uq%|gtQli`{s3Evsv zqh=P}w`+xMZhqnRA{)ajMBQ8-qAPX|P2T)awrwEF?l-zTesAbXj58vx(=Z18hNs&b z2wjW)YRjq}>M>kLJb_`4-)FdLd{q0a+CiT&7`mM_ZL^sTgfdgABhn04mnRVL_ISFD VfUDcA*HsAGn|2;W|FAU^1q}nq^@gYC=D1Azhe(L0pelumqTrHT)!xgtqz^T|9{I{HA%8Z`%MqMG zmEad{#Y`q)?bhhpo5IOG(ShFJ(D~p{V7Nax*whzZOuiixzLs7T6@H)5 G?EMS%E`pZ; diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index 3fb39b9e6..dcefb6c66 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -5,17 +5,17 @@ # # Translators: # Nuno Amorim , 2018 -# Hugo Carvalho , 2019 # Ricardo Simões , 2019 +# Hugo Carvalho , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Ricardo Simões , 2019\n" +"Last-Translator: Hugo Carvalho , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,8 +37,7 @@ msgstr "A montar partições." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,7 +46,7 @@ msgstr "Erro de configuração" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "Nenhuma partição está definida para
{!s}
usar." @@ -218,20 +217,6 @@ msgstr "A configurar o mkintcpio." msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -325,24 +310,12 @@ msgstr[1] "A remover %(num)d pacotes." #: src/modules/bootloader/main.py:51 msgid "Install bootloader." -msgstr "" +msgstr "Instalar o carregador de arranque." #: src/modules/removeuser/main.py:34 msgid "Remove live user from target system" msgstr "Remover utilizador ativo do sistema de destino" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -355,6 +328,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "A configurar o initramfs." @@ -363,18 +340,6 @@ msgstr "A configurar o initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" @@ -389,7 +354,7 @@ msgstr "Passo Dummy python {}" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "" +msgstr "A configurar o local." #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index d5866ca40..36a8ba3d0 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" @@ -36,8 +36,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -208,20 +207,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -314,18 +299,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -338,6 +311,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -346,18 +323,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index d4198ca14..46e90df6c 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -315,18 +300,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -339,6 +312,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -347,18 +324,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 955951f29..82bab4642 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Dušan Kazik , 2018\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" @@ -35,8 +35,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -315,18 +300,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -339,6 +312,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -347,18 +324,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 9ed9c5784..6c3f25699 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/sq/LC_MESSAGES/python.mo b/lang/python/sq/LC_MESSAGES/python.mo index 64347c01fd699538256981fae15bb298f46f193a..1ae01a16eea811ee6b591317e23c103b5294275d 100644 GIT binary patch delta 1627 zcmXxkZ)nX?9LMqR?yk+fo0(zT9hC|SQSv#Kh^M{h1X0{F|dA4E+{Q)e%SGW+rU_OS@&7v6b+>iSI6Ra+G!tZ!WXCsKBFcaMFp0Xk^FrLX48+NGSG+$s1voZ ztEi1VNB#aA7P7usrr9zm!eZQkHQ0ru$R6T6{Dzt^Z-QABE<;Ux2n+END!_YKgfG4E zuUJRlpJmpHF;oCoF+QJ0f<_a5#tm3ap66g3Tkt0CLLb}H+3i6dwd1%N&!9H&2E!O2 zon0wrbFrEJKu*%XSV4aiX;Z-6lgWQAjVlZ&#qY5mf1)Ce5T-nWi}5zresjMJ;gA>pw+evaiUL_8YZM1{Xtjs63baPp1)MKxfm2bMdtIzys8+evP_hLm0+? zsDQ%cTX&}gwZK7a!)~m^52z!{WD*5lg(Sf?q5^1-(;&Nc!W%e;+Szr~jy|CR3h=a! zDvDZYx7R<0Yw7o+p8JmLFpp@r>N!*(Pf-6K#s!!|8q|+B(9mT$jQrNlV;FCsUXzzt zi^JG~C8SFM^q?lXg?d{CaSK+mO-+0Xcj6t~hZ9(YN2~*tflIhv?|(my7y~01#t5sX zAm1VPa)GU&E}|-hDyyh9RKGfuQ&2GXgztYc*{jg{15cOdTmbD3->kCjjpD0BF0zO{RV)0eB;!h=q;$Cu2IJ;Wtd9U@o<0L zS6N5yo(uQFJy+f4dJQHXrEN=f%7VSluVAyYKjUO#N@l6g>C5U&Y?+u6a60o7&Vf*y a^CNU2@wniQ&v{jN);T+^IB~ydB=tWtJd{-c delta 2281 zcmZ|QTWl0n7{KvEsX(tl!7YUfr&ORSELB=ArB;*{q|}zQ&=|aR+MVrAm)%)rW`%-e zy+ji)h-Q>TP1MF1O`4dP8blInnm(W*=z}jxqz}Lg@}Ni}XiV_`%?^e{J?WX>IcH|h z=`CDH$7d+jj$ecp&QxkC^)6h94z9t&xBw@x z0ndcao|V7fimPegkGJB-xL&E88mCZ8!&ST;7ZoYB0ym-56F3hK<7^zkD*O~>z*8s_ zxe$6CrN4#6^o1=L!QD6?_hKc!fJ+!(y-Pt}7)KfC9InLQaW2-Dz=iBLOs;~+{T zPM|!07G=QV()<9+Q3h;5>9+@^zd@XX!`Q(1>Lm&?fv-?jd>$nNv&!-v)Z=Z`+i)We zU=6;9jW~gXQeDMIu)bU={?sd6?!tFa`ag;FcnQ~HHQ~(3fISpsfc+?;If{$%ld%0X zHdDWZk76Cumz6z_tMF~?!msfmT);B#z&JjPuVEivMA`fHiu?roDu{n84K@w3vd>WC zulUq7!bRM6Qh$}v#Phfk*VBtk*u*A$4kh&C*n($JCS1kFi@mrGeU$f3;Rd`IA^vp~ zYFW0-xC3Q?C&T&&$fDF~ls%k68R$2ZLs-rUtj0QAhHWTYm&7~KM|o}>`BOh|k;8f! zHJ0YMD_gJ%nUw0rb!Z{cQX?n>kD+vY5+BE3Fp8b@wjK|m?C~*_6`nzYsIDQ8suE_+ z?x|%c^+w!)xh@K_@)uENJchETQz!$MvOKA4+=`tj&mF~foWNaJ%BW&LO2m$%Oz<0& z=da;vtmR;B#2%zQr;bqIPo3Z*Gy4%WUcn_epGy-qpoccf#4ez8cn!O;PSYtKL>cfq zd;~Yr{fAsBjNiw&La_5xS2o-?xNMLLB~!P}?ZW z7D?jE3l1dP9i*brdVC-(%emlqshQFwr~Se3MhAA1`Ck+Kw8|H-oGd55j4bf&+-!fw?#|* zKZ<&*+tLHhaKj}p8J@Z7pDxCZ6*m_|baTcr zTT)4B9>`dB^J=O4<#VeVYTQFny)$9z0Xvm4(lNcyaPyBJR@U8Sx={JoiSWDlW+{z)NwnTjzv{Z$2NbYWa-%J zWk1b|Bzf7~GdZf0!;>GGZX$R$>OU5l^sh&%{40?fe{p5simgV!mD1UvnB@+cL*|Y3 zd%PHT6J~(2G4U{^Z)<= diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index 5ba1cbf07..2eaca42fc 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" @@ -35,8 +35,7 @@ msgstr "Po montohen pjesë." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Gabim Formësimi" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "S’ka pjesë të përkufizuara për
{!s}
për t’u përdorur." @@ -216,22 +215,6 @@ msgid "No root mount point is given for
{!s}
to use." msgstr "" "S’është dhënë pikë montimi rrënjë për
{!s}
për t’u përdorur." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Po krijohet initramfs me mkinitcpio." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "Procesi Dështoi" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"Procesi
mkinitcpio
dështoi me kod gabimi {!s}. Urdhri qe " -"
{!s}
." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Po formësohet pjesë swap e fshehtëzuar." @@ -330,18 +313,6 @@ msgstr "Instalo ngarkues nisjesh." msgid "Remove live user from target system" msgstr "Hiq përdoruesin live nga sistemi i synuar" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Po krijohet initramfs." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "S’u arrit të xhirohej update-initramfs mbi objektivin" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Kodi i daljes qe {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Po caktohet ora hardware." @@ -354,6 +325,10 @@ msgstr "Po krijohet initramfs me dracut." msgid "Failed to run dracut on the target" msgstr "S’u arrit të xhirohej dracut mbi objektivin" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Kodi i daljes qe {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Po formësohet initramfs." @@ -362,18 +337,6 @@ msgstr "Po formësohet initramfs." msgid "Configuring OpenRC dmcrypt service." msgstr "Po formësohet shërbim OpenRC dmcrypt." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "Po formësohet kartelë kyçesh LUKS." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Gabim ujdisjeje rootfs të fshehtëzuar" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Pjesa rootfs {!s} është LUKS, por s’u gjet frazëkalim." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Po shkruhet fstab." diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index ed037af81..7ee71668a 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" @@ -35,8 +35,7 @@ msgstr "Монтирање партиција." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Грешка поставе" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -207,20 +206,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -313,18 +298,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -337,6 +310,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -345,18 +322,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Уписивање fstab." diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 1f08cddfd..74c8f2782 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -309,18 +294,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -333,6 +306,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -341,18 +318,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index f618e8767..1e83eabe8 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index e584eb538..a41b2ac35 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -305,18 +290,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -329,6 +302,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -337,18 +314,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.mo b/lang/python/tr_TR/LC_MESSAGES/python.mo index 1e461e3703eaf251d0a67bdb622e650fb625af37..1197e1a652ed7f3b1114ee43e2d6667936d6597f 100644 GIT binary patch delta 1639 zcmXxkTS!zv9LMp$yIZE_YPqecxvtv9w5yjg-7+f^f-*`nO6VeGQ4c}%kO><^6x2g` z2n)h46wymT3(Q(snGNeGT*RIac8poQ!#?X4P1kv=jCJd7O*=I0 zS*=;z!co^OAsOrWDIedNMATt~YFwbIL|0iU7<7(fj;jG9<5W90r4%%)w9%0LrpLS3kZ z^`RE_1ayAI@1JBTarIBEeeFp6oU z^F)eSIkwThJ<)6f21%FB!Vc6HoXa8qi>chDLo@!38ZgZCG~i~e!(Ob$*QmWuWfr=w z7&XzISdOPq3%Z|de?^^v5I@{%6{rj^#VBqMlYey_p<@# zyaP3%ExCTF?#;f9$(DhqU3p|Qiz!fAZ_ApL`tl2BnKp#;l`iXO}jH~Bj z8&={m)Ij%86MKtG@Gt7R7_UMj?#1PJ1GS(ZSc4HxvNGO^x<1}RMFTxXz5j!#Q|hNd z)hbXaZN@!#0LiKi;B@?r+KLD#upT>5_g}z$_zZVpEwkoQyM%PvLtLx(|2-AmIGcQz z;ciSpzC&(cum)lQp&M1SGOZ?{24ykPOhk!AL?*$oZVOXUhjp|pq_UJKb{%o|>t?K) zQa)NVnbD$Dv8BeR!j=&+LTOcL8o{Qa_LR5O6>V1?!A`m@Rj1AfpAA=(^~U7$U5abz z&}r7eQqjkUkDV)7{ALi!l+Me1LfgYv*Bvl$2WyNf6dk^K#7Z@iMcd^k^rmpG-8Q<6 zYF{`X?rWw)xP)-U>kAbn-i)pCd(+d;dcV?Jz0QooiO~2`pLaRfl~|v(D9yVw`IGk{ fuie{{-x8N?6NPL3Q z{(F=G%O-{c%t0Bj4W-{+l>T<%oj8EajIUmxAQSiuWyP0KA~3!@?4SwnrrwS#upb+6 z2$$eFB$VnpZpWqyrT9~W{LIIrDE)tqO?VBL;&j4UkO6xs$N>9LLh~BlgD0Zv7qON4 zHGB-`F@0ItAzX;BV-J3To3NH;-iry`hDUG*{*1EsomJrkcT^Go^<1#IAS?SAHU5e( z77;Gu_6YSi8Lbb0$Hmx1FZK8guEe)cCVUB{zrRuXTg%3`;M3TQr%}$%FDUKC*ARc1 z=_ZzaAMQn2(c4k|Yox9E3uVPsoHz;nT-4YR)t^KO^&l?5Q&Ig#l!;DaRM~<>sBtSw zPI`{?~v4|snKQ2NEX&hzd2eA#`LuvODuEA;!&N|$NkK-FC6aEt= zB9(Nq1Xtin+>I^xA<|DlU8Nuc)Db88RBb4ye>*ZKbr5AshA@Q}k?mE>wNi7i2W2n! z;0pW{<@xKF!+Q2BiAPZSzk$q6RrBs{miNDzf;@N#Wh>5M5z1_5lO;*$88>*3r7rDT z$q$lc@{%gaJ!DOmf!fKk^4pV4^!C)i_`z39Le@!U8-pYv<@*!7j&eZxI0mUCvI6B` zZXgrDAk+}-vFxiPIUlm1MN%PcB=czrwsDMHAQhH|28S*x2Kz6E=k~OQ$||zF-*TYj zZHfLxs1C}qr;=oAmXRgIl1f8@56{}DEay$Ob{uc0dVs=1(Ty(bCiA~0__WGNl|7dI zEGNssD<-cdFDJ{nm@ra4wr@;D*Vc`_I%N*%gq1d9eqZUkHR~MH@T}}EZDlRbF)|5P z@3p+7|5a(df1|W-dV99t8OV8NTsyYyao07yd`_E=V>^C#*|Sred{*akalbqYq(+a{oD#0#?)rV z?l)amZ!nl{+`l^Uxt1;AByxu1S)OHQwY1lktAnNO%zHX(>zv`bxuj#brcT)TY&@oV zyE^>i6K0IOR6eD2e$dp&8cEM^bli3a40m)`4;Z=8;WTp@9d;;;4iDH)%zvl)O4+8H zEAXwF`l1fsuF223aLh_LX4=eVtP4Z`#U_<^^67j=Ck;>f^e@*OsQrIzbkdBQ3C|qq zsQsY0Aqdf}0m7AQx=foHOBUzn>KmH$MmxjOg2uN3q^-CWQ==aRjrCgN!jQqt8TTpw zx4PrYqfo^yH>G!;Kbby%CUgEw7%z#y0-Z2YhDWd*J8kHlOgw9343, 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" @@ -35,8 +35,7 @@ msgstr "Disk bölümleri bağlanıyor." #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "Yapılandırma Hatası" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "
{!s}
kullanması için hiçbir bölüm tanımlanmadı." @@ -215,22 +214,6 @@ msgstr "Mkinitcpio yapılandırılıyor." msgid "No root mount point is given for
{!s}
to use." msgstr "
{!s}
kullanması için kök bağlama noktası verilmedi." -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "Mkinitcpio ile initramfs oluşturuluyor." - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "İşlem Başarısız" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" -"
Mkinitcpio
işlemi {!s} hata koduyla başarısız oldu. Komut " -"
{!s}
idi." - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "Şifreli takas alanı yapılandırılıyor." @@ -325,18 +308,6 @@ msgstr "Önyükleyici kur." msgid "Remove live user from target system" msgstr "Liveuser kullanıcısını hedef sistemden kaldırın" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "Initramfs oluşturuluyor." - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "update-initramfs hedefte çalıştırılamadı" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "Çıkış kodu {} idi" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "Donanım saati ayarlanıyor." @@ -349,6 +320,10 @@ msgstr "Dracut ile initramfs oluşturuluyor." msgid "Failed to run dracut on the target" msgstr "Hedef üzerinde dracut çalıştırılamadı" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "Çıkış kodu {} idi" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "Initramfs yapılandırılıyor." @@ -357,18 +332,6 @@ msgstr "Initramfs yapılandırılıyor." msgid "Configuring OpenRC dmcrypt service." msgstr "OpenRC dmcrypt servisi yapılandırılıyor." -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "LUKS anahtar dosyası yapılandırılıyor." - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "Şifrelenmiş rootfs kurulum hatası" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs disk bölümü {!s} LUKS, fakat parola bulunamadı." - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "Fstab dosyasına yazılıyor." diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 47033db11..98788d9c3 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" @@ -36,8 +36,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -46,7 +45,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -214,20 +213,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -322,18 +307,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -346,6 +319,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -354,18 +331,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index b4415d41c..48d98d4dd 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -307,18 +292,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -331,6 +304,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -339,18 +316,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 415882529..f174f0ce5 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" @@ -31,8 +31,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -41,7 +40,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -203,20 +202,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -305,18 +290,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -329,6 +302,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -337,18 +314,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index eae99810e..a7760096f 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" @@ -37,8 +37,7 @@ msgstr "" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -47,7 +46,7 @@ msgstr "" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -209,20 +208,6 @@ msgstr "" msgid "No root mount point is given for
{!s}
to use." msgstr "" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "" @@ -311,18 +296,6 @@ msgstr "" msgid "Remove live user from target system" msgstr "" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "" @@ -335,6 +308,10 @@ msgstr "" msgid "Failed to run dracut on the target" msgstr "" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "" @@ -343,18 +320,6 @@ msgstr "" msgid "Configuring OpenRC dmcrypt service." msgstr "" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.mo b/lang/python/zh_TW/LC_MESSAGES/python.mo index 54b7a355585c281bfcaf9bc10458be67288a2633..d1525888b32a169961de94b675a464fd98291d78 100644 GIT binary patch delta 1646 zcmYk+Sx8h-9LMp0GgCU2=B|^Cj#*~5y0w@sQ`tzOLPeJOVD;cj5EVhTFaz}v(aI(A zAzJJqLMm{2%9lbSiUND7FbF2F1>c2;pzrU_4LZz!KIh!!-2YkbO+-hV<6rUvH;fV^ z<`cVpW(V+6fImv^EVCV$=h=%3Xg|Pt_y!wr5=$|ZVb+NCp8crvw{RtnV-Z@W*;=!> z6;r9A-GvMBI4;IPul*bgXiwr?{DmP52Gb9$LM76I>Zcpa@H7_VO)SL6Sb}3%fuC_1 z&$r)H@;FeFmAJQtPT#)(b7?oCW}p?7&?(fwZleY^ zhPr)@*nxG-^Ae2XUVMms=wosz;~64tW!!}7pdGt$0ND=q9<>=$ z*oHIdB#ND=2VBD*9Kl1FO}13+D5~GfxRK}EeJX1?@D=r5mXX#BQ*T&4OOLM)!33Ex^Ht}D13cBU$nWyC6CyBc1pMn6$Yus_{paA%a6cXugoo%8#yO|LjDva88xa8Ok}8+%>m85d1lM?%SQKKZc(ruNJHhINwVi aITNKFPFtuyIT6bBIeX`yNM?pl`u_qSkCnXu delta 2369 zcmZwIdr(wW9Ki9TkP3)~DT-Mfw9rbC6w!ppcZwz^rH(b_1`F&cyW8ExN7gJl1wNo; zE@q;mp)@f%f{LRAiP=BZG}cTr^#?QcNABH+{?k9@IMY<$-`;E5;|ym%=bU@*dHl|~ zm;U+n3qwDRNj|7ZW#mcZ)}cym#*z2&L+Tx-R4IPqm^@sm$<)hmA{sawn{fhO#R433 z96iFmz658|z8%M5C(ctUqy{KVq2U%jf)A!BH5C`2)NAkoY{t>pj#+pPWx%gdCK7i1 z6Q#e2sq}>rFgUmc?$4-B9T^fOM!-!KEGq}dP7L5WZ)uElDUNc5rH z|0BwPsUz(Ha#02>LFu;~rN3&tA9r8@PxW*D=-I- z;~cz-gi_tYmoR^nQv9hVexAT1DE)td`FIlxaT4JS$$;e)WPt4`p?M!4#xAG*8WvN( zi7(?crY|dd2WMa#mf@H998O@Fk6{&Vzyr7m<0yMyI>w&hrZL2S2@O6PWMvmn<1e^t z2;m}b>#3WJCf-Du=wf=2GvGp5`A(DxUBCkT%JC1!*&Kk`wAUbAtD`8-b!QTPIXp2M zWbcw#zN|bOrCx&UhT4ckO;w`|v=wxZCYpnCUlGc9&!cSd zmJkKmqgIp~KSPF5Bi#{uLVs!YNpr#csxV<|2~6J?<9aUMh${39)-_6%9xZ#hVE=$wBMY6WH4 zQ%Mq9i6*<0NPLYGDWBg(PB{-{%ZE$TTne&(l2(ydllfnh__Xr9P`PAzRno~b$^3s( z3&>BAGtAYgyT%%IUR~#}bOqfr{_djZ zVrucwOkM0Z+$FV}rMbfI@fFXMx;ZK%s~{)vR-S&L#;q%SwY4s9rQYTW*thTGl6_;I zT4VSs+<|~z=3=^)=8ciN=dZOV;ddE9PtfD@YPnx~0y?p@*Xn}W>(hQ$AmFbtTmiSP z^3{1O^Hlk&6=r+dw_k5gDm^?P|XuPo{-f}i_sx{KS=X(8a z^V@O#vm$3sT1Pv>m#;)yJN4alXsf?3dV2reh;hHN?=`n(y0mraytVH`tGglE_V%5q z#X8SeU2XBE?%1gg^M}luDRdk?(iQ1E9PZs`9lsQ7Z~AW(3&&3w8j2l07(LJs?c8tm zz4!kS)mHDtSj!>1^Kk#k=!sA5uvi`EA_osKyGT=GxW6O1yYJsImYLfF*!Mciu$yB2 z$K$8XSF, YEAR. # # Translators: -# Jeff Huang , 2019 +# 黃柏諺 , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-18 15:54+0200\n" +"POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Jeff Huang , 2019\n" +"Last-Translator: 黃柏諺 , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,8 +35,7 @@ msgstr "正在掛載分割區。" #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 -#: src/modules/luksbootkeyfile/main.py:51 src/modules/fstab/main.py:312 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" @@ -45,7 +44,7 @@ msgstr "設定錯誤" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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/luksbootkeyfile/main.py:52 src/modules/fstab/main.py:313 +#: src/modules/fstab/main.py:313 msgid "No partitions are defined for
{!s}
to use." msgstr "沒有分割區被定義為
{!s}
以供使用。" @@ -209,20 +208,6 @@ msgstr "正在設定 mkinitcpio。" msgid "No root mount point is given for
{!s}
to use." msgstr "沒有給定的根掛載點
{!s}
以供使用。" -#: src/modules/initcpio/main.py:33 -msgid "Creating initramfs with mkinitcpio." -msgstr "正在使用 mkinitcpio 建立 initramfs。" - -#: src/modules/initcpio/main.py:47 -msgid "Process Failed" -msgstr "處理失敗" - -#: src/modules/initcpio/main.py:48 -msgid "" -"Process
mkinitcpio
failed with error code {!s}. The command was " -"
{!s}
." -msgstr "處理程序
mkinitcpio
帶著錯誤代碼 {!s} 失敗。指令為
{!s}
。" - #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." msgstr "正在設定已加密的 swap。" @@ -311,18 +296,6 @@ msgstr "安裝開機載入程式。" msgid "Remove live user from target system" msgstr "從目標系統移除 live 使用者" -#: src/modules/initramfs/main.py:35 -msgid "Creating initramfs." -msgstr "正在建立 initramfs。" - -#: src/modules/initramfs/main.py:49 -msgid "Failed to run update-initramfs on the target" -msgstr "在目標上執行 update-initramfs 失敗" - -#: src/modules/initramfs/main.py:50 src/modules/dracut/main.py:59 -msgid "The exit code was {}" -msgstr "結束碼為 {}" - #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." msgstr "正在設定硬體時鐘。" @@ -335,6 +308,10 @@ msgstr "正在使用 dracut 建立 initramfs。" msgid "Failed to run dracut on the target" msgstr "在目標上執行 dracut 失敗" +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "結束碼為 {}" + #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." msgstr "正在設定 initramfs。" @@ -343,18 +320,6 @@ msgstr "正在設定 initramfs。" msgid "Configuring OpenRC dmcrypt service." msgstr "正在設定 OpenRC dmcrypt 服務。" -#: src/modules/luksbootkeyfile/main.py:35 -msgid "Configuring LUKS key file." -msgstr "正在設定 LUKS 金鑰檔案。" - -#: src/modules/luksbootkeyfile/main.py:74 -msgid "Encrypted rootfs setup error" -msgstr "已加密的 rootfs 設定錯誤" - -#: src/modules/luksbootkeyfile/main.py:75 -msgid "Rootfs partition {!s} is LUKS but no passphrase found." -msgstr "Rootfs 分割區 {!s} 是 LUKS 但找不到通關密語。" - #: src/modules/fstab/main.py:38 msgid "Writing fstab." msgstr "正在寫入 fstab。" From 8a545941d484ea29b6e44b604477473293c79892 Mon Sep 17 00:00:00 2001 From: apt-ghetto Date: Mon, 29 Jul 2019 16:01:30 +0200 Subject: [PATCH 068/626] Remove flake8 errors Remove the flake8 errors. This commit does not change any behaviour. --- src/modules/fstab/main.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index abbd3d524..f793c9b7f 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -162,7 +162,6 @@ class FstabGenerator(object): return None mapper_name = partition["luksMapperName"] - mount_point = partition["mountPoint"] luks_uuid = partition["luksUuid"] if not mapper_name or not luks_uuid: return None @@ -266,12 +265,12 @@ class FstabGenerator(object): self.root_is_ssd = is_ssd if filesystem == "btrfs" and "subvol" in partition: - options="subvol={},".format(partition["subvol"]) + options + options = "subvol={},".format(partition["subvol"]) + options if has_luks: - device="/dev/mapper/" + partition["luksMapperName"] + device = "/dev/mapper/" + partition["luksMapperName"] else: - device="UUID=" + partition["uuid"] + device = "UUID=" + partition["uuid"] return dict(device=device, mount_point=mount_point, @@ -308,13 +307,17 @@ def run(): root_mount_point = global_storage.value("rootMountPoint") if not partitions: - libcalamares.utils.warning("partitions is empty, {!s}".format(partitions)) + libcalamares.utils.warning("partitions is empty, {!s}" + .format(partitions)) return (_("Configuration Error"), - _("No partitions are defined for
{!s}
to use." ).format("fstab")) + _("No partitions are defined for
{!s}
to use.") + .format("fstab")) if not root_mount_point: - libcalamares.utils.warning("rootMountPoint is empty, {!s}".format(root_mount_point)) + libcalamares.utils.warning("rootMountPoint is empty, {!s}" + .format(root_mount_point)) return (_("Configuration Error"), - _("No root mount point is given for
{!s}
to use." ).format("fstab")) + _("No root mount point is given for
{!s}
to use.") + .format("fstab")) mount_options = conf["mountOptions"] ssd_extra_mount_options = conf.get("ssdExtraMountOptions", {}) From 0f5ff9a5174499e42a547a7f7813d508cfbcd05a Mon Sep 17 00:00:00 2001 From: apt-ghetto Date: Mon, 29 Jul 2019 16:06:52 +0200 Subject: [PATCH 069/626] Add possibility to set mount options for the ESP Added new configuration "efiMountOptions" to fstab.conf When generating the fstab entry for the ESP, take the mount options from the new configuration or fall back to "mountOptions". --- src/modules/fstab/fstab.conf | 5 +++++ src/modules/fstab/main.py | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/modules/fstab/fstab.conf b/src/modules/fstab/fstab.conf index 11adff2ed..06a935e3a 100644 --- a/src/modules/fstab/fstab.conf +++ b/src/modules/fstab/fstab.conf @@ -12,6 +12,11 @@ mountOptions: default: defaults,noatime btrfs: defaults,noatime,space_cache,autodefrag +# Mount options to use for the EFI System Partition. If not defined, it +# takes either the value of *vfat*, or if also missing, *default* from +# *mountOptions* +efiMountOptions: umask=0077 + # If a filesystem is on an SSD, add the following options. If a specific # filesystem is listed here, use those options, otherwise no additional # options are set (i.e. there is no *default* like in *mountOptions*). diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index f793c9b7f..4a696f46b 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -246,8 +246,8 @@ class FstabGenerator(object): if not mount_point: mount_point = "swap" - options = self.mount_options.get(filesystem, - self.mount_options["default"]) + options = self.get_mount_options(filesystem, mount_point) + if is_ssd: extra = self.ssd_extra_mount_options.get(filesystem) @@ -295,6 +295,16 @@ class FstabGenerator(object): if partition["mountPoint"]: mkdir_p(self.root_mount_point + partition["mountPoint"]) + def get_mount_options(self, filesystem, mount_point): + efiMountPoint = libcalamares.globalstorage.value("efiSystemPartition") + job_config = libcalamares.job.configuration + + if (mount_point == efiMountPoint and "efiMountOptions" in job_config): + return job_config["efiMountOptions"] + + return self.mount_options.get(filesystem, + self.mount_options["default"]) + def run(): """ Configures fstab. From fff86f1115346b8959a0b3069e7fa70e152287e5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 13:23:23 +0200 Subject: [PATCH 070/626] Changes: Credits for newly-merged patches --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES b/CHANGES index a73684e6a..a3c14296c 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,8 @@ website will have to do for older versions. # 3.2.12 (unreleased) # This release contains contributions from (alphabetically by first name): + - Bill Auger + - embar ## Core ## From 8f7d183a0c1eaa5f4279a355f74f616d9c5f2a58 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 14:41:42 +0200 Subject: [PATCH 071/626] libcalamaresui: don't always fail - The paste-branch was merged too soon. Now undoing the damage. --- src/libcalamaresui/ViewManager.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index b0f2b00a8..ae146d0bd 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -137,8 +137,6 @@ ViewManager::ViewManager( QObject* parent ) if (Calamares::Settings::instance()->disableCancel()) m_quit->setVisible( false ); - -onInstallationFailed("amessage","somedetails"); // TODO: remove this } From d49ddf6463ce51643b6cdfc6d32a4313f222cd59 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 15:09:25 +0200 Subject: [PATCH 072/626] libcalamaresui: factor out the pastebin functionality - While called from the ViewManager (to post the debug log) this isn't really part of the ViewManager itself, so factor out the pasting code into its own file. --- src/libcalamaresui/CMakeLists.txt | 1 + src/libcalamaresui/ViewManager.cpp | 86 +++++--------------------- src/libcalamaresui/utils/Paste.cpp | 99 ++++++++++++++++++++++++++++++ src/libcalamaresui/utils/Paste.h | 30 +++++++++ 4 files changed, 144 insertions(+), 72 deletions(-) create mode 100644 src/libcalamaresui/utils/Paste.cpp create mode 100644 src/libcalamaresui/utils/Paste.h diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index f6c8c9ac7..703a8bbe1 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -16,6 +16,7 @@ set( calamaresui_SOURCES utils/CalamaresUtilsGui.cpp utils/DebugWindow.cpp utils/ImageRegistry.cpp + utils/Paste.cpp utils/qjsonmodel.cpp utils/qjsonitem.cpp diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index ae146d0bd..b1334ecfa 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -21,23 +21,23 @@ #include "ViewManager.h" -#include "utils/Logger.h" #include "viewpages/BlankViewStep.h" #include "viewpages/ViewStep.h" + +#include "Branding.h" #include "ExecutionViewStep.h" #include "JobQueue.h" -#include "utils/Retranslator.h" -#include "Branding.h" #include "Settings.h" +#include "utils/Logger.h" +#include "utils/Paste.h" +#include "utils/Retranslator.h" + #include #include #include #include #include -#include -#include -#include namespace Calamares { @@ -193,9 +193,7 @@ ViewManager::insertViewStep( int before, ViewStep* step ) void ViewManager::onInstallationFailed( const QString& message, const QString& details ) { -bool shouldOfferWebPaste = true; // TODO: config var -QString ficheHost = "termbin.com"; // TODO: config var -quint16 fichePort = 9999; // TODO: config var + bool shouldOfferWebPaste = true; // TODO: config var cError() << "Installation failed:"; cDebug() << "- message:" << message; @@ -205,8 +203,6 @@ quint16 fichePort = 9999; // TODO: config var ? tr( "Setup Failed" ) : tr( "Installation Failed" ); QString pasteMsg = tr( "Would you like to paste the install log to the web?" ); - QString pasteUrlFmt = tr( "Install log posted to:\n%1" ); - QString pasteUrlTitle = tr( "Install Log Paste URL" ); QString text = "

" + message + "

"; if ( !details.isEmpty() ) text += "

" + details + "

"; @@ -235,7 +231,7 @@ quint16 fichePort = 9999; // TODO: config var cDebug() << "Calamares will quit when the dialog closes."; connect( msgBox, &QMessageBox::buttonClicked, - [msgBox, ficheHost, fichePort, pasteUrlFmt, pasteUrlTitle] ( QAbstractButton* button ) + [msgBox] ( QAbstractButton* button ) { if ( button->text() != tr( "&Yes" ) ) { @@ -243,69 +239,15 @@ quint16 fichePort = 9999; // TODO: config var return; } - QFile pasteSourceFile( Logger::logFile() ); - if ( !pasteSourceFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) + // TODO: host and port should be configurable + QString pasteUrlMsg = CalamaresUtils::pastebin( msgBox, QStringLiteral( "termbin.com" ), 9999 ); + + QString pasteUrlTitle = tr( "Install Log Paste URL" ); + if ( pasteUrlMsg.isEmpty() ) { - cError() << "Could not open log file"; - return; + pasteUrlMsg = tr( "The upload was unsuccessful. No web-paste was done." ); } - QByteArray pasteData; - while ( !pasteSourceFile.atEnd() ) - { - pasteData += pasteSourceFile.readLine(); - } - - QTcpSocket* socket = new QTcpSocket(msgBox); - socket->connectToHost( ficheHost, fichePort ); - - if ( !socket->waitForConnected() ) - { - cError() << "Could not connect to paste server"; - socket->close(); - return; - } - - cDebug() << "Connected to paste server"; - - socket->write( pasteData ); - - if ( !socket->waitForBytesWritten() ) - { - cError() << "Could not write to paste server"; - socket->close(); - return; - } - - cDebug() << "Paste data written to paste server"; - - if ( !socket->waitForReadyRead() ) - { - cError() << "No data from paste server"; - socket->close(); - return; - } - - cDebug() << "Reading response from paste server"; - - char resp[1024]; resp[0] = '\0'; - qint64 nBytesRead = socket->readLine(resp, 1024); - socket->close(); - - QUrl pasteUrl = QUrl( QString( resp ).trimmed(), QUrl::StrictMode ); - QString pasteUrlStr = pasteUrl.toString() ; - QRegularExpression pasteUrlRegex( "^http[s]?://" + ficheHost ); - QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrlStr ); - - if ( nBytesRead < 8 || !pasteUrl.isValid() || - !pasteUrlRegex.match( pasteUrlStr ).hasMatch() ) - { - cError() << "No data from paste server"; - return; - } - - cDebug() << pasteUrlMsg; - QMessageBox* pasteUrlMsgBox = new QMessageBox(); pasteUrlMsgBox->setIcon( QMessageBox::Critical ); pasteUrlMsgBox->setWindowTitle( pasteUrlTitle ); diff --git a/src/libcalamaresui/utils/Paste.cpp b/src/libcalamaresui/utils/Paste.cpp new file mode 100644 index 000000000..7833d18d6 --- /dev/null +++ b/src/libcalamaresui/utils/Paste.cpp @@ -0,0 +1,99 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Bill Auger + * + * 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 . + */ + +#include "Paste.h" + +#include "utils/Logger.h" + +#include +#include +#include +#include + +namespace CalamaresUtils +{ + +QString +pastebin( QObject* parent, const QString& ficheHost, int fichePort ) +{ + QString pasteUrlFmt = parent->tr( "Install log posted to:\n%1" ); + QFile pasteSourceFile( Logger::logFile() ); + if ( !pasteSourceFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { + cError() << "Could not open log file"; + return QString(); + } + + QByteArray pasteData; + while ( !pasteSourceFile.atEnd() ) + { + pasteData += pasteSourceFile.readLine(); + } + + QTcpSocket* socket = new QTcpSocket( parent ); + socket->connectToHost( ficheHost, fichePort ); + + if ( !socket->waitForConnected() ) + { + cError() << "Could not connect to paste server"; + socket->close(); + return QString(); + } + + cDebug() << "Connected to paste server"; + + socket->write( pasteData ); + + if ( !socket->waitForBytesWritten() ) + { + cError() << "Could not write to paste server"; + socket->close(); + return QString(); + } + + cDebug() << "Paste data written to paste server"; + + if ( !socket->waitForReadyRead() ) + { + cError() << "No data from paste server"; + socket->close(); + return QString(); + } + + cDebug() << "Reading response from paste server"; + + char resp[ 1024 ]; + resp[ 0 ] = '\0'; + qint64 nBytesRead = socket->readLine( resp, 1024 ); + socket->close(); + + QUrl pasteUrl = QUrl( QString( resp ).trimmed(), QUrl::StrictMode ); + QString pasteUrlStr = pasteUrl.toString(); + QRegularExpression pasteUrlRegex( "^http[s]?://" + ficheHost ); + QString pasteUrlMsg = QString( pasteUrlFmt ).arg( pasteUrlStr ); + + if ( nBytesRead < 8 || !pasteUrl.isValid() || !pasteUrlRegex.match( pasteUrlStr ).hasMatch() ) + { + cError() << "No data from paste server"; + return QString(); + } + + cDebug() << "Paste server results:" << pasteUrlMsg; + return pasteUrlMsg; +} +} // namespace CalamaresUtils diff --git a/src/libcalamaresui/utils/Paste.h b/src/libcalamaresui/utils/Paste.h new file mode 100644 index 000000000..4def700fd --- /dev/null +++ b/src/libcalamaresui/utils/Paste.h @@ -0,0 +1,30 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Bill Auger + * + * 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 . + */ + +#ifndef UTILS_PASTE_H +#define UTILS_PASTE_H + +class QObject; +class QString; + +namespace CalamaresUtils +{ +QString pastebin( QObject* parent, const QString& ficheHost, int fichePort ); +} + +#endif From 630694b2425759c28123e997cbcf58f6950b8ae0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 15:12:05 +0200 Subject: [PATCH 073/626] libcalamaresui: apply coding style to viewmanager --- src/libcalamaresui/ViewManager.cpp | 155 ++++++++++++++++------------- src/libcalamaresui/ViewManager.h | 7 +- 2 files changed, 89 insertions(+), 73 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index b1334ecfa..bb39f325a 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -112,9 +112,7 @@ ViewManager::ViewManager( QObject* parent ) m_next = makeButton( m_widget, "go-next" ); m_quit = makeButton( m_widget, "dialog-cancel" ); - CALAMARES_RETRANSLATE( - updateButtonLabels(); - ) + CALAMARES_RETRANSLATE( updateButtonLabels(); ) QBoxLayout* bottomLayout = new QHBoxLayout; mainLayout->addLayout( bottomLayout ); @@ -128,15 +126,19 @@ ViewManager::ViewManager( QObject* parent ) connect( m_back, &QPushButton::clicked, this, &ViewManager::back ); m_back->setEnabled( false ); - connect( m_quit, &QPushButton::clicked, this, - [this]() { if ( this->confirmCancelInstallation() ) qApp->quit(); } ); - connect( JobQueue::instance(), &JobQueue::failed, - this, &ViewManager::onInstallationFailed ); - connect( JobQueue::instance(), &JobQueue::finished, - this, &ViewManager::next ); + connect( m_quit, &QPushButton::clicked, this, [this]() { + if ( this->confirmCancelInstallation() ) + { + qApp->quit(); + } + } ); + connect( JobQueue::instance(), &JobQueue::failed, this, &ViewManager::onInstallationFailed ); + connect( JobQueue::instance(), &JobQueue::finished, this, &ViewManager::next ); - if (Calamares::Settings::instance()->disableCancel()) + if ( Calamares::Settings::instance()->disableCancel() ) + { m_quit->setVisible( false ); + } } @@ -160,7 +162,9 @@ ViewManager::addViewStep( ViewStep* step ) insertViewStep( m_steps.size(), step ); // If this is the first inserted view step, update status of "Next" button if ( m_steps.count() == 1 ) + { m_next->setEnabled( step->isNextEnabled() ); + } } @@ -170,18 +174,20 @@ ViewManager::insertViewStep( int before, ViewStep* step ) m_steps.insert( before, step ); QLayout* layout = step->widget()->layout(); if ( layout ) + { layout->setContentsMargins( 0, 0, 0, 0 ); + } m_stack->insertWidget( before, step->widget() ); connect( step, &ViewStep::enlarge, this, &ViewManager::enlarge ); - connect( step, &ViewStep::nextStatusChanged, - this, [this]( bool status ) - { + connect( step, &ViewStep::nextStatusChanged, this, [this]( bool status ) { ViewStep* vs = qobject_cast< ViewStep* >( sender() ); if ( vs ) { if ( vs == m_steps.at( m_currentStep ) ) + { m_next->setEnabled( status ); + } } } ); @@ -193,21 +199,24 @@ ViewManager::insertViewStep( int before, ViewStep* step ) void ViewManager::onInstallationFailed( const QString& message, const QString& details ) { - bool shouldOfferWebPaste = true; // TODO: config var + bool shouldOfferWebPaste = true; // TODO: config var cError() << "Installation failed:"; cDebug() << "- message:" << message; cDebug() << "- details:" << details; - QString heading = Calamares::Settings::instance()->isSetupMode() - ? tr( "Setup Failed" ) - : tr( "Installation Failed" ); + QString heading + = Calamares::Settings::instance()->isSetupMode() ? tr( "Setup Failed" ) : tr( "Installation Failed" ); QString pasteMsg = tr( "Would you like to paste the install log to the web?" ); QString text = "

" + message + "

"; if ( !details.isEmpty() ) + { text += "

" + details + "

"; + } if ( shouldOfferWebPaste ) + { text += "

" + pasteMsg + "

"; + } QMessageBox* msgBox = new QMessageBox(); msgBox->setIcon( QMessageBox::Critical ); @@ -230,9 +239,7 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail msgBox->show(); cDebug() << "Calamares will quit when the dialog closes."; - connect( msgBox, &QMessageBox::buttonClicked, - [msgBox] ( QAbstractButton* button ) - { + connect( msgBox, &QMessageBox::buttonClicked, [msgBox]( QAbstractButton* button ) { if ( button->text() != tr( "&Yes" ) ) { QApplication::quit(); @@ -250,33 +257,36 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail QMessageBox* pasteUrlMsgBox = new QMessageBox(); pasteUrlMsgBox->setIcon( QMessageBox::Critical ); - pasteUrlMsgBox->setWindowTitle( pasteUrlTitle ); + pasteUrlMsgBox->setWindowTitle( pasteUrlTitle ); pasteUrlMsgBox->setStandardButtons( QMessageBox::Close ); pasteUrlMsgBox->setText( pasteUrlMsg ); pasteUrlMsgBox->show(); connect( pasteUrlMsgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); - }); + } ); } void -ViewManager::onInitFailed( const QStringList& modules) +ViewManager::onInitFailed( const QStringList& modules ) { // Because this means the installer / setup program is broken by the distributor, // don't bother being precise about installer / setup wording. QString title( tr( "Calamares Initialization Failed" ) ); - QString description( tr( "%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution." ) ); + QString description( tr( "%1 can not be installed. Calamares was unable to load all of the configured modules. " + "This is a problem with the way Calamares is being used by the distribution." ) ); QString detailString; if ( modules.count() > 0 ) { description.append( tr( "
The following modules could not be loaded:" ) ); QStringList details; - details << QLatin1Literal("
    "); - for( const auto& m : modules ) - details << QLatin1Literal("
  • ") << m << QLatin1Literal("
  • "); - details << QLatin1Literal("
"); + details << QLatin1Literal( "
    " ); + for ( const auto& m : modules ) + { + details << QLatin1Literal( "
  • " ) << m << QLatin1Literal( "
  • " ); + } + details << QLatin1Literal( "
" ); detailString = details.join( QString() ); } @@ -311,10 +321,8 @@ ViewManager::currentStepIndex() const static inline bool stepIsExecute( const ViewStepList& steps, int index ) { - return - ( 0 <= index ) && - ( index < steps.count() ) && - ( qobject_cast< ExecutionViewStep* >( steps.at( index ) ) != nullptr ); + return ( 0 <= index ) && ( index < steps.count() ) + && ( qobject_cast< ExecutionViewStep* >( steps.at( index ) ) != nullptr ); } void @@ -329,11 +337,10 @@ ViewManager::next() // Special case when the user clicks next on the very last page in a view phase // and right before switching to an execution phase. // Depending on Calamares::Settings, we show an "are you sure" prompt or not. - if ( settings->showPromptBeforeExecution() && stepIsExecute( m_steps, m_currentStep+1 ) ) + if ( settings->showPromptBeforeExecution() && stepIsExecute( m_steps, m_currentStep + 1 ) ) { - QString title = settings->isSetupMode() - ? tr( "Continue with setup?" ) - : tr( "Continue with installation?" ); + QString title + = settings->isSetupMode() ? tr( "Continue with setup?" ) : tr( "Continue with installation?" ); QString question = settings->isSetupMode() ? tr( "The %1 setup program is about to make changes to your " "disk in order to set up %2.
You will not be able " @@ -341,21 +348,21 @@ ViewManager::next() : tr( "The %1 installer is about to make changes to your " "disk in order to install %2.
You will not be able " "to undo these changes." ); - QString confirm = settings->isSetupMode() - ? tr( "&Set up now" ) - : tr( "&Install now" ); + QString confirm = settings->isSetupMode() ? tr( "&Set up now" ) : tr( "&Install now" ); - int reply = - QMessageBox::question( m_widget, - title, - question.arg( *Calamares::Branding::ShortProductName, *Calamares::Branding::ShortVersionedName ), - confirm, - tr( "Go &back" ), - QString(), - 0, - 1 ); + int reply = QMessageBox::question( + m_widget, + title, + question.arg( *Calamares::Branding::ShortProductName, *Calamares::Branding::ShortVersionedName ), + confirm, + tr( "Go &back" ), + QString(), + 0, + 1 ); if ( reply == 1 ) + { return; + } } m_currentStep++; @@ -376,7 +383,7 @@ ViewManager::next() m_next->setEnabled( false ); m_back->setEnabled( false ); } - updateCancelEnabled( !settings->disableCancel() && !(executing && settings->disableCancelDuringExec() ) ); + updateCancelEnabled( !settings->disableCancel() && !( executing && settings->disableCancelDuringExec() ) ); } else { @@ -397,9 +404,7 @@ ViewManager::updateButtonLabels() { const auto* const settings = Calamares::Settings::instance(); - QString nextIsInstallationStep = settings->isSetupMode() - ? tr( "&Set up" ) - : tr( "&Install" ); + QString nextIsInstallationStep = settings->isSetupMode() ? tr( "&Set up" ) : tr( "&Install" ); QString quitOnCompleteTooltip = settings->isSetupMode() ? tr( "Setup is complete. Close the setup program." ) : tr( "The installation is complete. Close the installer." ); @@ -408,7 +413,7 @@ ViewManager::updateButtonLabels() : tr( "Cancel installation without changing the system." ); // If we're going into the execution step / install phase, other message - if ( stepIsExecute( m_steps, m_currentStep+1 ) ) + if ( stepIsExecute( m_steps, m_currentStep + 1 ) ) { m_next->setText( nextIsInstallationStep ); setButtonIcon( m_next, "run-install" ); @@ -434,8 +439,11 @@ ViewManager::updateButtonLabels() else { if ( settings->disableCancel() ) + { m_quit->setVisible( false ); // In case we went back from final - updateCancelEnabled( !settings->disableCancel() && !( stepIsExecute( m_steps, m_currentStep ) && settings->disableCancelDuringExec() ) ); + } + updateCancelEnabled( !settings->disableCancel() + && !( stepIsExecute( m_steps, m_currentStep ) && settings->disableCancelDuringExec() ) ); m_quit->setText( tr( "&Cancel" ) ); m_quit->setToolTip( cancelBeforeInstallationTooltip ); @@ -456,46 +464,53 @@ ViewManager::back() emit currentStepChanged(); } else if ( !step->isAtBeginning() ) + { step->back(); - else return; + } + else + { + return; + } m_next->setEnabled( m_steps.at( m_currentStep )->isNextEnabled() ); m_back->setEnabled( m_steps.at( m_currentStep )->isBackEnabled() ); if ( m_currentStep == 0 && m_steps.first()->isAtBeginning() ) + { m_back->setEnabled( false ); + } updateButtonLabels(); } -bool ViewManager::confirmCancelInstallation() +bool +ViewManager::confirmCancelInstallation() { const auto* const settings = Calamares::Settings::instance(); // When we're at the very end, then it's always OK to exit. if ( isAtVeryEnd() ) + { return true; + } // Not at the very end, cancel/quit might be disabled if ( settings->disableCancel() ) + { return false; + } if ( settings->disableCancelDuringExec() && stepIsExecute( m_steps, m_currentStep ) ) + { return false; + } // Otherwise, confirm cancel/quit. - QString title = settings->isSetupMode() - ? tr( "Cancel setup?" ) - : tr( "Cancel installation?" ); - QString question = settings->isSetupMode() - ? tr( "Do you really want to cancel the current setup process?\n" - "The setup program will quit and all changes will be lost." ) - : tr( "Do you really want to cancel the current install process?\n" - "The installer will quit and all changes will be lost." ); - QMessageBox mb( QMessageBox::Question, - title, - question, - QMessageBox::Yes | QMessageBox::No, - m_widget ); + QString title = settings->isSetupMode() ? tr( "Cancel setup?" ) : tr( "Cancel installation?" ); + QString question = settings->isSetupMode() ? tr( "Do you really want to cancel the current setup process?\n" + "The setup program will quit and all changes will be lost." ) + : tr( "Do you really want to cancel the current install process?\n" + "The installer will quit and all changes will be lost." ); + QMessageBox mb( QMessageBox::Question, title, question, QMessageBox::Yes | QMessageBox::No, m_widget ); mb.setDefaultButton( QMessageBox::No ); mb.button( QMessageBox::Yes )->setText( tr( "&Yes" ) ); mb.button( QMessageBox::No )->setText( tr( "&No" ) ); @@ -510,4 +525,4 @@ ViewManager::updateCancelEnabled( bool enabled ) emit cancelEnabled( enabled ); } -} // namespace +} // namespace Calamares diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index c9f554ee8..fca74a367 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -133,7 +133,8 @@ private: bool isAtVeryEnd() const { - return ( m_currentStep >= m_steps.count() ) || ( m_currentStep == m_steps.count() - 1 && m_steps.last()->isAtEnd() ); + return ( m_currentStep >= m_steps.count() ) + || ( m_currentStep == m_steps.count() - 1 && m_steps.last()->isAtEnd() ); } static ViewManager* s_instance; @@ -148,6 +149,6 @@ private: QPushButton* m_quit; }; -} +} // namespace Calamares -#endif // VIEWMANAGER_H +#endif // VIEWMANAGER_H From fac9ccde888e231b718fad6d0f6a27363c69047a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 15:15:41 +0200 Subject: [PATCH 074/626] libcalamaresui: document magic constants in question() --- src/libcalamaresui/ViewManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index bb39f325a..d9a03fee6 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -357,8 +357,8 @@ ViewManager::next() confirm, tr( "Go &back" ), QString(), - 0, - 1 ); + 0 /* default first button, i.e. confirm */, + 1 /* escape is second button, i.e. cancel */ ); if ( reply == 1 ) { return; From 675a35bb2e925c62a141cdaa9177537af8d83f99 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 15:28:17 +0200 Subject: [PATCH 075/626] libcalamaresui: when displaying pasted URL, don't be fancy - Just call the static method and then quit, rather than being careful about allocations. --- src/libcalamaresui/ViewManager.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index d9a03fee6..5b932e6d4 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -239,7 +239,9 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail msgBox->show(); cDebug() << "Calamares will quit when the dialog closes."; - connect( msgBox, &QMessageBox::buttonClicked, [msgBox]( QAbstractButton* button ) { + connect( msgBox, &QMessageBox::buttonClicked, [this,msgBox]( QAbstractButton* button ) { + cDebug() << "Button role:" << msgBox->buttonRole( button ); + if ( button->text() != tr( "&Yes" ) ) { QApplication::quit(); @@ -255,14 +257,10 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail pasteUrlMsg = tr( "The upload was unsuccessful. No web-paste was done." ); } - QMessageBox* pasteUrlMsgBox = new QMessageBox(); - pasteUrlMsgBox->setIcon( QMessageBox::Critical ); - pasteUrlMsgBox->setWindowTitle( pasteUrlTitle ); - pasteUrlMsgBox->setStandardButtons( QMessageBox::Close ); - pasteUrlMsgBox->setText( pasteUrlMsg ); - pasteUrlMsgBox->show(); - - connect( pasteUrlMsgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); + QMessageBox::critical(nullptr, + pasteUrlTitle, + pasteUrlMsg); + QApplication::quit(); } ); } From 2aae30f51728ff9c78f4317c52da2f82dba11391 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 15:43:20 +0200 Subject: [PATCH 076/626] libcalamaresui: don't rely on translations to interpret button - Keep the debug-failure-call in the code, but commented out - Check ButtonRole, rather than the button's text, to see which one it is. --- src/libcalamaresui/ViewManager.cpp | 35 ++++++++++++++---------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 5b932e6d4..4b1842bfc 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -139,6 +139,8 @@ ViewManager::ViewManager( QObject* parent ) { m_quit->setVisible( false ); } + + // onInstallationFailed( "Tile of Failure", "Body of Failure"); // for testing paste functionality } @@ -199,7 +201,7 @@ ViewManager::insertViewStep( int before, ViewStep* step ) void ViewManager::onInstallationFailed( const QString& message, const QString& details ) { - bool shouldOfferWebPaste = true; // TODO: config var + bool shouldOfferWebPaste = false; // TODO: config var cError() << "Installation failed:"; cDebug() << "- message:" << message; @@ -240,26 +242,21 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail cDebug() << "Calamares will quit when the dialog closes."; connect( msgBox, &QMessageBox::buttonClicked, [this,msgBox]( QAbstractButton* button ) { - cDebug() << "Button role:" << msgBox->buttonRole( button ); - - if ( button->text() != tr( "&Yes" ) ) + if ( msgBox->buttonRole( button ) == QMessageBox::ButtonRole::YesRole ) { - QApplication::quit(); - return; + // TODO: host and port should be configurable + QString pasteUrlMsg = CalamaresUtils::pastebin( msgBox, QStringLiteral( "termbin.com" ), 9999 ); + + QString pasteUrlTitle = tr( "Install Log Paste URL" ); + if ( pasteUrlMsg.isEmpty() ) + { + pasteUrlMsg = tr( "The upload was unsuccessful. No web-paste was done." ); + } + + QMessageBox::critical(nullptr, + pasteUrlTitle, + pasteUrlMsg); } - - // TODO: host and port should be configurable - QString pasteUrlMsg = CalamaresUtils::pastebin( msgBox, QStringLiteral( "termbin.com" ), 9999 ); - - QString pasteUrlTitle = tr( "Install Log Paste URL" ); - if ( pasteUrlMsg.isEmpty() ) - { - pasteUrlMsg = tr( "The upload was unsuccessful. No web-paste was done." ); - } - - QMessageBox::critical(nullptr, - pasteUrlTitle, - pasteUrlMsg); QApplication::quit(); } ); } From 566be48f1601b8ecec604dfc808ef9d041adce47 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 15:46:37 +0200 Subject: [PATCH 077/626] libcalamaresui: rename and document pastebin method --- src/libcalamaresui/ViewManager.cpp | 3 ++- src/libcalamaresui/utils/Paste.cpp | 2 +- src/libcalamaresui/utils/Paste.h | 10 ++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 4b1842bfc..b27b36f80 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -245,7 +245,7 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail if ( msgBox->buttonRole( button ) == QMessageBox::ButtonRole::YesRole ) { // TODO: host and port should be configurable - QString pasteUrlMsg = CalamaresUtils::pastebin( msgBox, QStringLiteral( "termbin.com" ), 9999 ); + QString pasteUrlMsg = CalamaresUtils::sendLogToPastebin( msgBox, QStringLiteral( "termbin.com" ), 9999 ); QString pasteUrlTitle = tr( "Install Log Paste URL" ); if ( pasteUrlMsg.isEmpty() ) @@ -253,6 +253,7 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail pasteUrlMsg = tr( "The upload was unsuccessful. No web-paste was done." ); } + // TODO: make the URL clickable, or copy it to the clipboard automatically QMessageBox::critical(nullptr, pasteUrlTitle, pasteUrlMsg); diff --git a/src/libcalamaresui/utils/Paste.cpp b/src/libcalamaresui/utils/Paste.cpp index 7833d18d6..6fead59e6 100644 --- a/src/libcalamaresui/utils/Paste.cpp +++ b/src/libcalamaresui/utils/Paste.cpp @@ -29,7 +29,7 @@ namespace CalamaresUtils { QString -pastebin( QObject* parent, const QString& ficheHost, int fichePort ) +sendLogToPastebin( QObject* parent, const QString& ficheHost, int fichePort ) { QString pasteUrlFmt = parent->tr( "Install log posted to:\n%1" ); QFile pasteSourceFile( Logger::logFile() ); diff --git a/src/libcalamaresui/utils/Paste.h b/src/libcalamaresui/utils/Paste.h index 4def700fd..2ac77f2f3 100644 --- a/src/libcalamaresui/utils/Paste.h +++ b/src/libcalamaresui/utils/Paste.h @@ -24,7 +24,13 @@ class QString; namespace CalamaresUtils { -QString pastebin( QObject* parent, const QString& ficheHost, int fichePort ); -} + +/** @brief Send the current log file to a pastebin + * + * Returns the (string) URL that the pastebin gives us. + */ +QString sendLogToPastebin( QObject* parent, const QString& ficheHost, int fichePort ); + +} // namespace CalamaresUtils #endif From 58de7cea94f35c991d37b01f49c9bc4693818a9c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Mar 2018 13:36:16 +0100 Subject: [PATCH 078/626] [calamares] Allow test-loading of View modules The view modules need a QApplication, not just a core application, and a ViewManager instance, so create those before really loading the module. --- src/calamares/testmain.cpp | 39 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/calamares/testmain.cpp b/src/calamares/testmain.cpp index 0f07e6e13..5671a591e 100644 --- a/src/calamares/testmain.cpp +++ b/src/calamares/testmain.cpp @@ -30,7 +30,9 @@ #include "Job.h" #include "JobQueue.h" #include "Settings.h" +#include "ViewManager.h" +#include #include #include #include @@ -40,26 +42,10 @@ struct ModuleConfig { - QString - moduleName() const - { - return m_module; - } - QString - configFile() const - { - return m_jobConfig; - } - QString - language() const - { - return m_language; - } - QString - globalConfigFile() const - { - return m_globalConfig; - } + QString moduleName() const { return m_module; } + QString configFile() const { return m_jobConfig; } + QString language() const { return m_language; } + QString globalConfigFile() const { return m_globalConfig; } QString m_module; QString m_jobConfig; @@ -202,6 +188,7 @@ int main( int argc, char* argv[] ) { QCoreApplication a( argc, argv ); + QApplication* aw = nullptr; ModuleConfig module = handle_args( a ); if ( module.moduleName().isEmpty() ) @@ -233,6 +220,13 @@ main( int argc, char* argv[] ) return 1; } + cDebug() << " .. got" << m->name() << m->typeString() << m->interfaceString(); + if ( m->type() == Calamares::Module::Type::View ) + { + aw = new QApplication( argc, argv ); + (void)Calamares::ViewManager::instance( nullptr ); + } + if ( !m->isLoaded() ) { m->loadSelf(); @@ -268,5 +262,10 @@ main( int argc, char* argv[] ) ++count; } + if ( aw ) + { + delete aw; + } + return failure_count ? 1 : 0; } From 20cf0c8f3da81b362679b3ebe835275f77fd4645 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Aug 2018 14:50:29 -0400 Subject: [PATCH 079/626] [libcalamaresui] Remove unused code - This operator is declared, yet never defined or used. The definition was removed in fb44fb97b6. --- src/libcalamaresui/modulesystem/Module.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/libcalamaresui/modulesystem/Module.h b/src/libcalamaresui/modulesystem/Module.h index ae3b31e6d..e4101b767 100644 --- a/src/libcalamaresui/modulesystem/Module.h +++ b/src/libcalamaresui/modulesystem/Module.h @@ -28,13 +28,6 @@ #include -namespace Calamares -{ -class Module; -} - -void operator>>( const QVariantMap& moduleDescriptor, Calamares::Module* m ); - namespace Calamares { @@ -193,8 +186,6 @@ private: QString m_name; QString m_directory; QString m_instanceId; - - friend void ::operator>>( const QVariantMap& moduleDescriptor, Calamares::Module* m ); }; } // namespace Calamares From c19ce26e5ff78dea9db76b19679a7814e355ae22 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Jul 2018 06:11:57 -0400 Subject: [PATCH 080/626] [libcalamares] Expand GlobalStorage with load() - Counterpart to save(), for JSON-style dumps --- src/libcalamares/GlobalStorage.cpp | 27 +++++++++++++++++++++++++++ src/libcalamares/GlobalStorage.h | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/src/libcalamares/GlobalStorage.cpp b/src/libcalamares/GlobalStorage.cpp index 73236a311..99be39246 100644 --- a/src/libcalamares/GlobalStorage.cpp +++ b/src/libcalamares/GlobalStorage.cpp @@ -22,6 +22,7 @@ #include "utils/Logger.h" #include "utils/Yaml.h" +#include "utils/Units.h" #include #include @@ -37,6 +38,8 @@ namespace bp = boost::python; #endif +using CalamaresUtils::operator""_MiB; + namespace Calamares { GlobalStorage::GlobalStorage() @@ -110,6 +113,30 @@ GlobalStorage::save(const QString& filename) return true; } +bool +GlobalStorage::load( const QString& filename ) +{ + QFile f( filename ); + if ( !f.open( QFile::ReadOnly ) ) + return false; + + QJsonParseError e; + QJsonDocument d = QJsonDocument::fromJson( f.read( 1_MiB ), &e ); + if ( d.isNull() ) + cWarning() << filename << e.errorString(); + else if ( !d.isObject() ) + cWarning() << filename << "Not suitable JSON."; + else + { + auto map = d.toVariant().toMap(); + for( auto i = map.constBegin() ; i != map.constEnd() ; ++i ) + { + insert( i.key(), *i ); + } + return true; + } + return false; +} bool GlobalStorage::saveYaml( const QString& filename ) diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h index 2c31a8f47..89ebb5050 100644 --- a/src/libcalamares/GlobalStorage.h +++ b/src/libcalamares/GlobalStorage.h @@ -70,6 +70,14 @@ public: */ bool save( const QString& filename ); + /** @brief Adds the keys from the given JSON file + * + * No tidying, sanitization, or censoring is done. + * The JSON file is read and each key is added as a value to + * the global storage. + */ + bool load( const QString& filename ); + /** @brief write as YAML to the given filename * * See also save(), above. From 4652df06439e672b3ec17ac0850f285d1202456e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Aug 2018 05:57:26 -0400 Subject: [PATCH 081/626] CMake: allow required modules in calamares_add_plugin - Add a REQUIRES keyword - Write out values to the descriptor - Add some documentation for the function as a whole --- CMakeModules/CalamaresAddPlugin.cmake | 41 +++++++++++++++++++++------ 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/CMakeModules/CalamaresAddPlugin.cmake b/CMakeModules/CalamaresAddPlugin.cmake index 1d749d51c..9c7b9d90e 100644 --- a/CMakeModules/CalamaresAddPlugin.cmake +++ b/CMakeModules/CalamaresAddPlugin.cmake @@ -21,8 +21,8 @@ # Convenience function for creating a C++ (qtplugin) module for Calamares. # This function provides cmake-time feedback about the plugin, adds # targets for compilation and boilerplate information, and creates -# a module.desc with standard values if none is provided (which only -# happens for very unusual plugins). +# a module.desc with standard values (if the module.desc file exists, +# that one is used instead, which happens only for unusual plugins). # # Usage: # @@ -34,16 +34,35 @@ # UI ui-file... # LINK_LIBRARIES lib... # LINK_PRIVATE_LIBRARIES lib... -# COMPILE_DEFINITIONS def... -# RESOURCES resource-file +# [COMPILE_DEFINITIONS def...] +# [RESOURCES resource-file] +# [REQUIRES module-name...] # [NO_INSTALL] # [SHARED_LIB] # [EMERGENCY] # ) # -# The COMPILE_DEFINITIONS are set on the resulting module with a suitable -# flag (i.e. `-D`) so only state the name (optionally, also the value) -# without a `-D` prefixed to it. +# Function parameters: +# - COMPILE_DEFINITIONS +# Definitions are set on the resulting module with a suitable +# flag (i.e. `-D`) so only state the name (optionally, also the value) +# without a `-D` prefixed to it. +# - RESOURCES +# One (single!) filename for the RCC file for the plugin. +# - REQUIRES +# One or more names of modules which are added to the *requiredModules* +# key in the descriptor. See *Module Requirements* in the module +# documentation. +# - NO_INSTALL +# If this is set, the module is not installed by default; use this to +# build testing modules or unit-testing modules. +# - SHARED_LIB +# In unusual circumstances, this function is used to add a library +# rather than a normal Calamares module / plugin. +# - EMERGENCY +# If this is set, the module is marked as an *emergency* module in the +# descriptor. See *Emergency Modules* in the module documentation. +# include( CMakeParseArguments ) include( CalamaresAddLibrary ) @@ -54,7 +73,7 @@ function( calamares_add_plugin ) set( NAME ${ARGV0} ) set( options NO_INSTALL SHARED_LIB EMERGENCY ) set( oneValueArgs NAME TYPE EXPORT_MACRO RESOURCES ) - set( multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS ) + set( multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS REQUIRES ) cmake_parse_arguments( PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) set( PLUGIN_NAME ${NAME} ) set( PLUGIN_DESTINATION ${CMAKE_INSTALL_LIBDIR}/calamares/modules/${PLUGIN_NAME} ) @@ -142,6 +161,12 @@ function( calamares_add_plugin ) set( _type ${PLUGIN_TYPE} ) file( WRITE ${_file} "# AUTO-GENERATED metadata file\n# Syntax is YAML 1.2\n---\n" ) file( APPEND ${_file} "type: \"${_type}\"\nname: \"${PLUGIN_NAME}\"\ninterface: \"qtplugin\"\nload: \"lib${target}.so\"\n" ) + if ( PLUGIN_REQUIRES ) + file( APPEND ${_file} "requiredModules:\n" ) + foreach( _r ${PLUGIN_REQUIRES} ) + file( APPEND ${_file} " - ${_r}\n" ) + endforeach() + endif() if ( PLUGIN_EMERGENCY ) file( APPEND ${_file} "emergency: true\n" ) endif() From b0bcdba867b8100dbcee22959138b62638ddf054 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Aug 2018 06:01:04 -0400 Subject: [PATCH 082/626] [unpackfs] Needs mount before it - The mount module must happen before unpackfs because that (mount) module sets up the root mount point (in /tmp) and some other variables needed later. --- src/modules/unpackfs/module.desc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/unpackfs/module.desc b/src/modules/unpackfs/module.desc index 67a56b06c..4b3086e44 100644 --- a/src/modules/unpackfs/module.desc +++ b/src/modules/unpackfs/module.desc @@ -4,3 +4,5 @@ type: "job" name: "unpackfs" interface: "python" script: "main.py" +requiredModules: + - mount From 2bb66b8b9ba4f44028d9fe4d1e20d632519c3f3c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Aug 2018 14:10:40 -0400 Subject: [PATCH 083/626] [preservefiles] Example with REQUIRES - preservefiles generally needs to have the target filesystems mounted, so that it can preserve to them; but you can also configure it such that there is no need for mounted filesystems (e.g. in OEM setup). - Add an example line in CMakeLists.txt to show how that would be done. --- src/modules/preservefiles/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/preservefiles/CMakeLists.txt b/src/modules/preservefiles/CMakeLists.txt index c1021eeda..f6cd98008 100644 --- a/src/modules/preservefiles/CMakeLists.txt +++ b/src/modules/preservefiles/CMakeLists.txt @@ -8,6 +8,7 @@ calamares_add_plugin( preservefiles PreserveFiles.cpp LINK_PRIVATE_LIBRARIES calamares + # REQUIRES mount # To set the rootMountPoint SHARED_LIB EMERGENCY ) From 82055f68542be8e3564b088e1c4e551857eac313 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 14:31:25 +0200 Subject: [PATCH 084/626] [netinstall] Logging; code duplication - If there was an error, the network reply was never deleted - Improve logging to show where data is coming from --- src/modules/netinstall/NetInstallPage.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index dfa94744d..fa45f0c42 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -74,6 +74,9 @@ NetInstallPage::readGroups( const QByteArray& yamlData ) void NetInstallPage::dataIsHere( QNetworkReply* reply ) { + cDebug() << "NetInstall group data received" << reply->url(); + reply->deleteLater(); + // If m_required is *false* then we still say we're ready // even if the reply is corrupt or missing. if ( reply->error() != QNetworkReply::NoError ) @@ -92,7 +95,6 @@ NetInstallPage::dataIsHere( QNetworkReply* reply ) cDebug() << Logger::SubEntry << "Url: " << reply->url().toString(); cDebug() << Logger::SubEntry << "Headers: " << reply->rawHeaderList(); ui->netinst_status->setText( tr( "Network Installation. (Disabled: Received invalid groups data)" ) ); - reply->deleteLater(); emit checkReady( !m_required ); return; } @@ -101,7 +103,6 @@ NetInstallPage::dataIsHere( QNetworkReply* reply ) ui->groupswidget->header()->setSectionResizeMode( 0, QHeaderView::ResizeToContents ); ui->groupswidget->header()->setSectionResizeMode( 1, QHeaderView::Stretch ); - reply->deleteLater(); emit checkReady( true ); } @@ -120,6 +121,7 @@ NetInstallPage::selectedPackages() const void NetInstallPage::loadGroupList( const QString& confUrl ) { + cDebug() << "NetInstall loading groups from" << confUrl; QNetworkRequest request; request.setUrl( QUrl( confUrl ) ); // Follows all redirects except unsafe ones (https to http). From bedff6b252504e249193904364ec475939db15bc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 14:39:09 +0200 Subject: [PATCH 085/626] [netinstall] Log immediate failures - If the request is immediately bad (e.g. because of a botched url) then log that fact; in this case no finished() is ever emitted. --- src/modules/netinstall/NetInstallPage.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index fa45f0c42..a4f52d5b7 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -132,7 +132,13 @@ NetInstallPage::loadGroupList( const QString& confUrl ) connect( &m_networkManager, &QNetworkAccessManager::finished, this, &NetInstallPage::dataIsHere ); - m_networkManager.get( request ); + auto* rq = m_networkManager.get( request ); + if ( rq->error() ) + { + cDebug() << Logger::Continuation << "request failed immediately," << rq->errorString(); + rq->deleteLater(); + ui->netinst_status->setText( tr( "Network Installation. (Disabled: Incorrect configuration)" ) ); + } } void From cac07c1472fdbec47eaa05458598c13e3a83b011 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 22:47:42 +0200 Subject: [PATCH 086/626] [libcalamares] Use std::chrono::seconds for timeouts - Distinguish just-an-int from seconds all across the API --- src/libcalamares/ProcessJob.cpp | 2 +- src/libcalamares/ProcessJob.h | 6 ++-- src/libcalamares/PythonJobApi.cpp | 4 ++- .../utils/CalamaresUtilsSystem.cpp | 22 +++++++-------- src/libcalamares/utils/CalamaresUtilsSystem.h | 28 +++++++++---------- src/libcalamares/utils/CommandList.cpp | 12 ++++---- src/libcalamares/utils/CommandList.h | 22 ++++++++------- 7 files changed, 51 insertions(+), 45 deletions(-) diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index 47fcee05d..f952fefe6 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -31,7 +31,7 @@ namespace Calamares { ProcessJob::ProcessJob( const QString& command, const QString& workingPath, bool runInChroot, - int secondsTimeout, + std::chrono::seconds secondsTimeout, QObject* parent ) : Job( parent ) , m_command( command ) diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index 224ebdaf0..84f84e550 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -22,6 +22,8 @@ #include "Job.h" +#include + namespace Calamares { class ProcessJob : public Job @@ -31,7 +33,7 @@ public: explicit ProcessJob( const QString& command, const QString& workingPath, bool runInChroot = false, - int secondsTimeout = 30, + std::chrono::seconds secondsTimeout = std::chrono::seconds(30), QObject* parent = nullptr ); virtual ~ProcessJob() override; @@ -43,7 +45,7 @@ private: QString m_command; QString m_workingPath; bool m_runInChroot; - int m_timeoutSec; + std::chrono::seconds m_timeoutSec; }; } // namespace Calamares diff --git a/src/libcalamares/PythonJobApi.cpp b/src/libcalamares/PythonJobApi.cpp index 8e8b8b2ab..750d8ea73 100644 --- a/src/libcalamares/PythonJobApi.cpp +++ b/src/libcalamares/PythonJobApi.cpp @@ -89,11 +89,13 @@ _target_env_command( const std::string& stdin, int timeout ) { + // Since Python doesn't give us the type system for distinguishing + // seconds from other integral types, massage to seconds here. return CalamaresUtils::System::instance()-> targetEnvCommand( args, QString(), QString::fromStdString( stdin ), - timeout ); + std::chrono::seconds( timeout ) ); } int diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 4fe571e6d..894c434be 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -219,7 +219,7 @@ System::runCommand( } process.closeWriteChannel(); - if ( !process.waitForFinished( timeoutSec ? ( timeoutSec * 1000 ) : -1 ) ) + if ( !process.waitForFinished( timeoutSec > std::chrono::seconds::zero() ? ( std::chrono::milliseconds( timeoutSec ).count() ) : -1 ) ) { cWarning().noquote().nospace() << "Timed out. Output so far:\n" << process.readAllStandardOutput(); @@ -249,7 +249,7 @@ QString System::targetPath( const QString& path ) const { QString completePath; - + if ( doChroot() ) { Calamares::GlobalStorage* gs = Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr; @@ -259,14 +259,14 @@ System::targetPath( const QString& path ) const cWarning() << "No rootMountPoint in global storage, cannot create target file" << path; return QString(); } - + completePath = gs->value( "rootMountPoint" ).toString() + '/' + path; } else { completePath = QStringLiteral( "/" ) + path; } - + return completePath; } @@ -278,32 +278,32 @@ System::createTargetFile( const QString& path, const QByteArray& contents ) cons { return QString(); } - + QFile f( completePath ); if ( f.exists() ) { return QString(); } - + QIODevice::OpenMode m = #if QT_VERSION >= QT_VERSION_CHECK( 5, 11, 0 ) // New flag from Qt 5.11, implies WriteOnly QIODevice::NewOnly | #endif QIODevice::WriteOnly | QIODevice::Truncate; - + if ( !f.open( m ) ) { return QString(); } - + if ( f.write( contents ) != contents.size() ) { f.close(); f.remove(); return QString(); } - + f.close(); return QFileInfo( f ).canonicalFilePath(); } @@ -371,7 +371,7 @@ System::doChroot() const } Calamares::JobResult -ProcessResult::explainProcess( int ec, const QString& command, const QString& output, int timeout ) +ProcessResult::explainProcess( int ec, const QString& command, const QString& output, std::chrono::seconds timeout ) { using Calamares::JobResult; @@ -401,7 +401,7 @@ ProcessResult::explainProcess( int ec, const QString& command, const QString& ou return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command failed to finish." ), QCoreApplication::translate( "ProcessResult", "Command %1 failed to finish in %2 seconds." ) .arg( command ) - .arg( timeout ) + .arg( timeout.count() ) + outputMessage ); //Any other exit code diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index d39bcaab1..5b10f7d1a 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -62,16 +62,16 @@ public: * @param timeout Timeout passed to the process runner, for explaining * error code -4 (timeout). */ - static Calamares::JobResult explainProcess( int errorCode, const QString& command, const QString& output, int timeout ); + static Calamares::JobResult explainProcess( int errorCode, const QString& command, const QString& output, std::chrono::seconds timeout ); /// @brief Convenience wrapper for explainProcess() - inline Calamares::JobResult explainProcess( const QString& command, int timeout ) const + inline Calamares::JobResult explainProcess( const QString& command, std::chrono::seconds timeout ) const { return explainProcess( getExitCode(), command, getOutput(), timeout ); } /// @brief Convenience wrapper for explainProcess() - inline Calamares::JobResult explainProcess( const QStringList& command, int timeout ) const + inline Calamares::JobResult explainProcess( const QStringList& command, std::chrono::seconds timeout ) const { return explainProcess( getExitCode(), command.join( ' ' ), getOutput(), timeout ); } @@ -207,40 +207,40 @@ public: return targetEnvOutput( QStringList{ command }, output, workingPath, stdInput, timeoutSec ); } - + /** @brief Gets a path to a file in the target system, from the host. - * + * * @param path Path to the file; this is interpreted * from the root of the target system (whatever that may be, * but / in the chroot, or / in OEM modes). - * + * * @return The complete path to the target file, from * the root of the host system, or empty on failure. - * + * * For instance, during installation where the target root is * mounted on /tmp/calamares-something, asking for targetPath("/etc/passwd") * will give you /tmp/calamares-something/etc/passwd. - * + * * No attempt is made to canonicalize anything, since paths might not exist. - */ + */ DLLEXPORT QString targetPath( const QString& path ) const; - + /** @brief Create a (small-ish) file in the target system. - * + * * @param path Path to the file; this is interpreted * from the root of the target system (whatever that may be, * 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. - * + * * @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 QString createTargetFile( const QString& path, const QByteArray& contents ) const; - + /** * @brief getTotalMemoryB returns the total main memory, in bytes. * diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 9916c71fe..414cfa9e5 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -35,10 +35,10 @@ namespace CalamaresUtils static CommandLine get_variant_object( const QVariantMap& m ) { QString command = CalamaresUtils::getString( m, "command" ); - int timeout = CalamaresUtils::getInteger( m, "timeout", CommandLine::TimeoutNotSet ); + int timeout = CalamaresUtils::getInteger( m, "timeout", -1 ); if ( !command.isEmpty() ) - return CommandLine( command, timeout ); + return CommandLine( command, timeout >= 0 ? std::chrono::seconds( timeout ) : CommandLine::TimeoutNotSet() ); cWarning() << "Bad CommandLine element" << m; return CommandLine(); } @@ -50,7 +50,7 @@ static CommandList_t get_variant_stringlist( const QVariantList& l ) for ( const auto& v : l ) { if ( v.type() == QVariant::String ) - retl.append( CommandLine( v.toString(), CommandLine::TimeoutNotSet ) ); + retl.append( CommandLine( v.toString(), CommandLine::TimeoutNotSet() ) ); else if ( v.type() == QVariant::Map ) { auto command( get_variant_object( v.toMap() ) ); @@ -65,13 +65,13 @@ static CommandList_t get_variant_stringlist( const QVariantList& l ) return retl; } -CommandList::CommandList( bool doChroot, int timeout ) +CommandList::CommandList( bool doChroot, std::chrono::seconds timeout ) : m_doChroot( doChroot ) , m_timeout( timeout ) { } -CommandList::CommandList::CommandList( const QVariant& v, bool doChroot, int timeout ) +CommandList::CommandList::CommandList( const QVariant& v, bool doChroot, std::chrono::seconds timeout ) : CommandList( doChroot, timeout ) { if ( v.type() == QVariant::List ) @@ -155,7 +155,7 @@ Calamares::JobResult CommandList::run() QStringList shell_cmd { "/bin/sh", "-c" }; shell_cmd << processed_cmd; - int timeout = i->timeout() >= 0 ? i->timeout() : m_timeout; + std::chrono::seconds timeout = i->timeout() >= std::chrono::seconds::zero() ? i->timeout() : m_timeout; ProcessResult r = System::runCommand( location, shell_cmd, QString(), QString(), timeout ); diff --git a/src/libcalamares/utils/CommandList.h b/src/libcalamares/utils/CommandList.h index 3dccdec6a..7453ae6ce 100644 --- a/src/libcalamares/utils/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -24,6 +24,8 @@ #include #include +#include + namespace CalamaresUtils { @@ -31,23 +33,23 @@ namespace CalamaresUtils * Each command can have an associated timeout in seconds. The timeout * defaults to 10 seconds. Provide some convenience naming and construction. */ -struct CommandLine : public QPair< QString, int > +struct CommandLine : public QPair< QString, std::chrono::seconds > { - enum { TimeoutNotSet = -1 }; + static inline constexpr std::chrono::seconds TimeoutNotSet() { return std::chrono::seconds(-1); } /// An invalid command line CommandLine() - : QPair< QString, int >( QString(), TimeoutNotSet ) + : QPair( QString(), TimeoutNotSet() ) { } CommandLine( const QString& s ) - : QPair< QString, int >( s, TimeoutNotSet ) + : QPair( s, TimeoutNotSet() ) { } - CommandLine( const QString& s, int t ) - : QPair< QString, int >( s, t) + CommandLine( const QString& s, std::chrono::seconds t ) + : QPair( s, t) { } @@ -56,7 +58,7 @@ struct CommandLine : public QPair< QString, int > return first; } - int timeout() const + std::chrono::seconds timeout() const { return second; } @@ -82,8 +84,8 @@ class CommandList : protected CommandList_t { public: /** @brief empty command-list with timeout to apply to entries. */ - CommandList( bool doChroot = true, int timeout = 10 ); - CommandList( const QVariant& v, bool doChroot = true, int timeout = 10 ); + CommandList( bool doChroot = true, std::chrono::seconds timeout = std::chrono::seconds( 10 ) ); + CommandList( const QVariant& v, bool doChroot = true, std::chrono::seconds timeout = std::chrono::seconds( 10 ) ); ~CommandList(); bool doChroot() const @@ -106,7 +108,7 @@ protected: private: bool m_doChroot; - int m_timeout; + std::chrono::seconds m_timeout; } ; } // namespace From e2504627aaf3420ec7ee0b9f6ccc5c76a306c8a7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 22:51:52 +0200 Subject: [PATCH 087/626] [libcalamaresui] Chase timeout-type into the UI library (TODO: move ProcessJobModule to libcalamares, it has no UI dependency) --- src/libcalamaresui/modulesystem/ProcessJobModule.cpp | 9 ++++++--- src/libcalamaresui/modulesystem/ProcessJobModule.h | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp index f15e5c457..74c195b6b 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp @@ -72,10 +72,13 @@ ProcessJobModule::initFrom( const QVariantMap& moduleDescriptor ) m_command = moduleDescriptor.value( "command" ).toString(); } - m_secondsTimeout = 30; + m_secondsTimeout = std::chrono::seconds( 30 ); if ( moduleDescriptor.contains( "timeout" ) && !moduleDescriptor.value( "timeout" ).isNull() ) { - m_secondsTimeout = moduleDescriptor.value( "timeout" ).toInt(); + int sec = moduleDescriptor.value( "timeout" ).toInt(); + if ( sec < 0 ) + sec = 0; + m_secondsTimeout = std::chrono::seconds( sec ); } m_runInChroot = false; @@ -88,7 +91,7 @@ ProcessJobModule::initFrom( const QVariantMap& moduleDescriptor ) ProcessJobModule::ProcessJobModule() : Module() - , m_secondsTimeout( 30 ) + , m_secondsTimeout( std::chrono::seconds( 30 ) ) , m_runInChroot( false ) { } diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index 9c20aa4f4..96fb2ed47 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -24,6 +24,8 @@ #include "UiDllMacro.h" +#include + namespace Calamares { @@ -46,7 +48,7 @@ private: QString m_command; QString m_workingPath; - int m_secondsTimeout; + std::chrono::seconds m_secondsTimeout; bool m_runInChroot; job_ptr m_job; }; From a0854a999e4c4a1a5020d0f9316b13b6b7dc00fb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 22:59:06 +0200 Subject: [PATCH 088/626] Modules: chase API change, use std::chrono::seconds --- .../ContextualProcessJob.cpp | 2 +- src/modules/initcpio/InitcpioJob.cpp | 6 ++-- src/modules/initramfs/InitramfsJob.cpp | 6 ++-- .../luksbootkeyfile/LuksBootKeyFileJob.cpp | 4 +-- src/modules/shellprocess/ShellProcessJob.cpp | 2 +- src/modules/shellprocess/Tests.cpp | 35 +++++++++++-------- src/modules/tracking/TrackingJobs.cpp | 2 +- src/modules/users/CreateUserJob.cpp | 6 ++-- 8 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp index 428e54cd5..5d6b20afc 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.cpp +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -170,7 +170,7 @@ ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) continue; } - CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, timeout ); + CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, std::chrono::seconds( timeout ) ); binding->append( valueString, commands ); } diff --git a/src/modules/initcpio/InitcpioJob.cpp b/src/modules/initcpio/InitcpioJob.cpp index 38017d83e..38f3a8961 100644 --- a/src/modules/initcpio/InitcpioJob.cpp +++ b/src/modules/initcpio/InitcpioJob.cpp @@ -74,8 +74,8 @@ InitcpioJob::exec() cDebug() << "Updating initramfs with kernel" << m_kernel; auto r = CalamaresUtils::System::instance()->targetEnvCommand( - { "mkinitcpio", "-p", m_kernel }, QString(), QString(), 0 ); - return r.explainProcess( "mkinitcpio", 10 ); + { "mkinitcpio", "-p", m_kernel }, QString(), QString() /* no timeout , 0 */ ); + return r.explainProcess( "mkinitcpio", std::chrono::seconds( 10 ) /* fake timeout */ ); } void @@ -89,7 +89,7 @@ InitcpioJob::setConfigurationMap( const QVariantMap& configurationMap ) else if ( m_kernel == "$uname" ) { auto r = CalamaresUtils::System::runCommand( - CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), 3 ); + CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), std::chrono::seconds( 3 ) ); if ( r.getExitCode() == 0 ) { m_kernel = r.getOutput(); diff --git a/src/modules/initramfs/InitramfsJob.cpp b/src/modules/initramfs/InitramfsJob.cpp index 01d400443..af8e07ca7 100644 --- a/src/modules/initramfs/InitramfsJob.cpp +++ b/src/modules/initramfs/InitramfsJob.cpp @@ -63,8 +63,8 @@ InitramfsJob::exec() // And then do the ACTUAL work. auto r = CalamaresUtils::System::instance()->targetEnvCommand( - { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 0 ); - return r.explainProcess( "update-initramfs", 10 ); + { "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString() /* no timeout, 0 */ ); + return r.explainProcess( "update-initramfs", std::chrono::seconds( 10 ) /* fake timeout */ ); } @@ -79,7 +79,7 @@ InitramfsJob::setConfigurationMap( const QVariantMap& configurationMap ) else if ( m_kernel == "$uname" ) { auto r = CalamaresUtils::System::runCommand( - CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), 3 ); + CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), std::chrono::seconds( 3 ) ); if ( r.getExitCode() == 0 ) { m_kernel = r.getOutput(); diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index 292c768a9..9bcea6538 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -71,7 +71,7 @@ struct LuksDevice * Given a list of partitions (as set up by the partitioning module, * so there's maps with keys inside), returns just the list of * luks passphrases for each device. - */ + */ static QList< LuksDevice > getLuksDevices( const QVariantList& list ) { @@ -130,7 +130,7 @@ static bool setupLuks( const LuksDevice& d ) { auto r = CalamaresUtils::System::instance()->targetEnvCommand( - { "cryptsetup", "luksAddKey", d.device, keyfile }, QString(), d.passphrase, 15 ); + { "cryptsetup", "luksAddKey", d.device, keyfile }, QString(), d.passphrase, std::chrono::seconds( 15 ) ); if ( r.getExitCode() != 0 ) { cWarning() << "Could not configure LUKS keyfile on" << d.device << ':' << r.getOutput() << "(exit code" diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index d688540ae..ba3e9a299 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -75,7 +75,7 @@ ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "script" ) ) { - m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !dontChroot, timeout ); + m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !dontChroot, std::chrono::seconds( timeout ) ); if ( m_commands->isEmpty() ) cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey(); } diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index 488f4a7af..149fbc2d3 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -34,6 +34,8 @@ QTEST_GUILESS_MAIN( ShellProcessTests ) using CommandList = CalamaresUtils::CommandList; +using std::operator""s; + ShellProcessTests::ShellProcessTests() { @@ -68,8 +70,9 @@ ShellProcessTests::testProcessListSampleConfig() CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 3 ); - QCOMPARE( cl.at(0).timeout(), -1 ); - QCOMPARE( cl.at(2).timeout(), 3600 ); // slowloris + + QCOMPARE( cl.at(0).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); + QCOMPARE( cl.at(2).timeout(), 3600s ); // slowloris } void ShellProcessTests::testProcessListFromList() @@ -105,9 +108,10 @@ script: "ls /tmp" )" ); CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 1 ); - QCOMPARE( cl.at(0).timeout(), 10 ); + QCOMPARE( cl.at(0).timeout(), 10s ); QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); // Not a string @@ -118,7 +122,6 @@ script: false CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( cl1.isEmpty() ); QCOMPARE( cl1.count(), 0 ); - } void ShellProcessTests::testProcessFromObject() @@ -130,9 +133,10 @@ script: )" ); CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 1 ); - QCOMPARE( cl.at(0).timeout(), 20 ); + QCOMPARE( cl.at(0).timeout(), 20s ); QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); } @@ -148,9 +152,9 @@ script: CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 2 ); - QCOMPARE( cl.at(0).timeout(), 12 ); + QCOMPARE( cl.at(0).timeout(), 12s ); QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); - QCOMPARE( cl.at(1).timeout(), -1 ); // not set + QCOMPARE( cl.at(1).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); // not set } void ShellProcessTests::testRootSubstitution() @@ -182,30 +186,31 @@ script: QVERIFY( gs != nullptr ); qDebug() << "Expect WARNING, ERROR, WARNING"; + // Doesn't use @@ROOT@@, so no failures - QVERIFY( bool(CommandList(plainScript, false, 10 ).run()) ); + QVERIFY( bool(CommandList(plainScript, false, 10s ).run()) ); // Doesn't use @@ROOT@@, but does chroot, so fails - QVERIFY( !bool(CommandList(plainScript, true, 10 ).run()) ); + QVERIFY( !bool(CommandList(plainScript, true, 10s ).run()) ); // Does use @@ROOT@@, which is not set, so fails - QVERIFY( !bool(CommandList(rootScript, false, 10 ).run()) ); + QVERIFY( !bool(CommandList(rootScript, false, 10s ).run()) ); // .. fails for two reasons - QVERIFY( !bool(CommandList(rootScript, true, 10 ).run()) ); + QVERIFY( !bool(CommandList(rootScript, true, 10s ).run()) ); gs->insert( "rootMountPoint", "/tmp" ); // Now that the root is set, two variants work .. still can't // chroot, unless the rootMountPoint contains a full system, // *and* we're allowed to chroot (ie. running tests as root). qDebug() << "Expect no output."; - QVERIFY( bool(CommandList(plainScript, false, 10 ).run()) ); - QVERIFY( bool(CommandList(rootScript, false, 10 ).run()) ); + QVERIFY( bool(CommandList(plainScript, false, 10s ).run()) ); + QVERIFY( bool(CommandList(rootScript, false, 10s ).run()) ); qDebug() << "Expect ERROR"; // But no user set yet - QVERIFY( !bool(CommandList(userScript, false, 10 ).run()) ); + QVERIFY( !bool(CommandList(userScript, false, 10s ).run()) ); // Now play dangerous games with shell expansion gs->insert( "username", "`id -u`" ); - QVERIFY( bool(CommandList(userScript, false, 10 ).run()) ); + QVERIFY( bool(CommandList(userScript, false, 10s ).run()) ); } diff --git a/src/modules/tracking/TrackingJobs.cpp b/src/modules/tracking/TrackingJobs.cpp index 7875ee6db..53884445e 100644 --- a/src/modules/tracking/TrackingJobs.cpp +++ b/src/modules/tracking/TrackingJobs.cpp @@ -125,7 +125,7 @@ sed -i "s,URI =.*,URI = http://releases.neon.kde.org/meta-release/${MACHINE_ID}, sed -i "s,URI_LTS =.*,URI_LTS = http://releases.neon.kde.org/meta-release-lts/${MACHINE_ID}," /etc/update-manager/meta-release true )x"), - 1); + std::chrono::seconds( 1 ) ); if ( r == 0 ) return Calamares::JobResult::ok(); diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index d7e356231..788ba0195 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -158,7 +158,7 @@ CreateUserJob::exec() if ( commandResult.getExitCode() ) { cError() << "useradd failed" << commandResult.getExitCode(); - return commandResult.explainProcess( useradd, 10 /* bogus timeout */ ); + return commandResult.explainProcess( useradd, std::chrono::seconds( 10 ) /* bogus timeout */ ); } commandResult = CalamaresUtils::System::instance()->targetEnvCommand( @@ -166,7 +166,7 @@ CreateUserJob::exec() if ( commandResult.getExitCode() ) { cError() << "usermod failed" << commandResult.getExitCode(); - return commandResult.explainProcess( "usermod", 10 ); + return commandResult.explainProcess( "usermod", std::chrono::seconds( 10 ) /* bogus timeout */ ); } QString userGroup = QString( "%1:%2" ).arg( m_userName ).arg( m_userName ); @@ -176,7 +176,7 @@ CreateUserJob::exec() if ( commandResult.getExitCode() ) { cError() << "chown failed" << commandResult.getExitCode(); - return commandResult.explainProcess( "chown", 10 ); + return commandResult.explainProcess( "chown", std::chrono::seconds( 10 ) /* bogus timeout */ ); } return Calamares::JobResult::ok(); From 518320051599365706f7880b4b4892c3d63e0a06 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 23:05:42 +0200 Subject: [PATCH 089/626] [tracking] Apply current coding style --- src/modules/tracking/TrackingJobs.cpp | 61 ++++---- src/modules/tracking/TrackingPage.cpp | 167 +++++++++++++--------- src/modules/tracking/TrackingPage.h | 4 +- src/modules/tracking/TrackingType.h | 4 +- src/modules/tracking/TrackingViewStep.cpp | 36 +++-- src/modules/tracking/TrackingViewStep.h | 19 ++- 6 files changed, 174 insertions(+), 117 deletions(-) diff --git a/src/modules/tracking/TrackingJobs.cpp b/src/modules/tracking/TrackingJobs.cpp index 53884445e..8652b8e6f 100644 --- a/src/modules/tracking/TrackingJobs.cpp +++ b/src/modules/tracking/TrackingJobs.cpp @@ -38,22 +38,26 @@ TrackingInstallJob::~TrackingInstallJob() delete m_networkManager; } -QString TrackingInstallJob::prettyName() const +QString +TrackingInstallJob::prettyName() const { return tr( "Installation feedback" ); } -QString TrackingInstallJob::prettyDescription() const +QString +TrackingInstallJob::prettyDescription() const { return prettyName(); } -QString TrackingInstallJob::prettyStatusMessage() const +QString +TrackingInstallJob::prettyStatusMessage() const { return tr( "Sending installation feedback." ); } -Calamares::JobResult TrackingInstallJob::exec() +Calamares::JobResult +TrackingInstallJob::exec() { m_networkManager = new QNetworkAccessManager(); @@ -66,16 +70,13 @@ Calamares::JobResult TrackingInstallJob::exec() request.setRawHeader( "User-Agent", "Mozilla/5.0 (compatible; Calamares)" ); QTimer timeout; - timeout.setSingleShot(true); + timeout.setSingleShot( true ); QEventLoop loop; - connect( m_networkManager, &QNetworkAccessManager::finished, - this, &TrackingInstallJob::dataIsHere ); - connect( m_networkManager, &QNetworkAccessManager::finished, - &loop, &QEventLoop::quit ); - connect( &timeout, &QTimer::timeout, - &loop, &QEventLoop::quit ); + connect( m_networkManager, &QNetworkAccessManager::finished, this, &TrackingInstallJob::dataIsHere ); + connect( m_networkManager, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit ); + connect( &timeout, &QTimer::timeout, &loop, &QEventLoop::quit ); m_networkManager->get( request ); // The semaphore is released when data is received timeout.start( 5000 /* ms */ ); @@ -93,46 +94,52 @@ Calamares::JobResult TrackingInstallJob::exec() return Calamares::JobResult::ok(); } -void TrackingInstallJob::dataIsHere( QNetworkReply* reply ) +void +TrackingInstallJob::dataIsHere( QNetworkReply* reply ) { cDebug() << "Installation feedback request OK"; reply->deleteLater(); } -QString TrackingMachineNeonJob::prettyName() const +QString +TrackingMachineNeonJob::prettyName() const { return tr( "Machine feedback" ); } -QString TrackingMachineNeonJob::prettyDescription() const +QString +TrackingMachineNeonJob::prettyDescription() const { return prettyName(); } -QString TrackingMachineNeonJob::prettyStatusMessage() const +QString +TrackingMachineNeonJob::prettyStatusMessage() const { return tr( "Configuring machine feedback." ); } -Calamares::JobResult TrackingMachineNeonJob::exec() +Calamares::JobResult +TrackingMachineNeonJob::exec() { - int r = CalamaresUtils::System::instance()->targetEnvCall( - "/bin/sh", - QString(), // Working dir - QString( -R"x(MACHINE_ID=`cat /etc/machine-id` + int r = CalamaresUtils::System::instance()->targetEnvCall( "/bin/sh", + QString(), // Working dir + QString( + R"x(MACHINE_ID=`cat /etc/machine-id` sed -i "s,URI =.*,URI = http://releases.neon.kde.org/meta-release/${MACHINE_ID}," /etc/update-manager/meta-release sed -i "s,URI_LTS =.*,URI_LTS = http://releases.neon.kde.org/meta-release-lts/${MACHINE_ID}," /etc/update-manager/meta-release true -)x"), - std::chrono::seconds( 1 ) ); +)x" ), + std::chrono::seconds( 1 ) ); if ( r == 0 ) return Calamares::JobResult::ok(); else if ( r > 0 ) - return Calamares::JobResult::error( tr( "Error in machine feedback configuration." ), - tr( "Could not configure machine feedback correctly, script error %1." ).arg( r ) ); + return Calamares::JobResult::error( + tr( "Error in machine feedback configuration." ), + tr( "Could not configure machine feedback correctly, script error %1." ).arg( r ) ); else - return Calamares::JobResult::error( tr( "Error in machine feedback configuration." ), - tr( "Could not configure machine feedback correctly, Calamares error %1." ).arg( r ) ); + return Calamares::JobResult::error( + tr( "Error in machine feedback configuration." ), + tr( "Could not configure machine feedback correctly, Calamares error %1." ).arg( r ) ); } diff --git a/src/modules/tracking/TrackingPage.cpp b/src/modules/tracking/TrackingPage.cpp index 924ac43d9..82ee6b01d 100644 --- a/src/modules/tracking/TrackingPage.cpp +++ b/src/modules/tracking/TrackingPage.cpp @@ -21,18 +21,18 @@ #include "ui_page_trackingstep.h" #include "Branding.h" -#include "JobQueue.h" #include "GlobalStorage.h" -#include "utils/Logger.h" -#include "utils/CalamaresUtilsGui.h" -#include "utils/Retranslator.h" +#include "JobQueue.h" #include "ViewManager.h" +#include "utils/CalamaresUtilsGui.h" +#include "utils/Logger.h" +#include "utils/Retranslator.h" #include #include #include -TrackingPage::TrackingPage(QWidget *parent) +TrackingPage::TrackingPage( QWidget* parent ) : QWidget( parent ) , ui( new Ui::TrackingPage ) { @@ -40,14 +40,22 @@ TrackingPage::TrackingPage(QWidget *parent) ui->setupUi( this ); CALAMARES_RETRANSLATE( - ui->retranslateUi( this ); - ui->generalExplanation->setText( tr( "Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area." ).arg( *StringEntry::ShortProductName ) ); - ui->installExplanation->setText( tr( "By selecting this you will send information about your installation and hardware. This information will only be sent once after the installation finishes." ) ); - ui->machineExplanation->setText( tr( "By selecting this you will periodically send information about your installation, hardware and applications, to %1." ).arg( *StringEntry::ShortProductName ) ); - ui->userExplanation->setText( tr( "By selecting this you will regularly send information about your installation, hardware, applications and usage patterns, to %1." ).arg( *StringEntry::ShortProductName ) ); - ) + ui->retranslateUi( this ); ui->generalExplanation->setText( + tr( "Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with " + "the last two options below), get continuous information about preferred applications. To see what " + "will be sent, please click the help icon next to each area." ) + .arg( *StringEntry::ShortProductName ) ); + ui->installExplanation->setText( + tr( "By selecting this you will send information about your installation and hardware. This information " + "will only be sent once after the installation finishes." ) ); + ui->machineExplanation->setText( tr( "By selecting this you will periodically send information about " + "your installation, hardware and applications, to %1." ) + .arg( *StringEntry::ShortProductName ) ); + ui->userExplanation->setText( tr( "By selecting this you will regularly send information about your " + "installation, hardware, applications and usage patterns, to %1." ) + .arg( *StringEntry::ShortProductName ) ); ) - QButtonGroup *group = new QButtonGroup( this ); + QButtonGroup* group = new QButtonGroup( this ); group->setExclusive( true ); group->addButton( ui->noneRadio ); group->addButton( ui->installRadio ); @@ -56,114 +64,143 @@ TrackingPage::TrackingPage(QWidget *parent) ui->noneRadio->setChecked( true ); } -void TrackingPage::enableTrackingOption(TrackingType t, bool enabled) +void +TrackingPage::enableTrackingOption( TrackingType t, bool enabled ) { QWidget* group = nullptr; switch ( t ) { - case TrackingType::InstallTracking: - group = ui->installGroup; - break; - case TrackingType::MachineTracking: - group = ui->machineGroup; - break; - case TrackingType::UserTracking: - group = ui->userGroup; - break; + case TrackingType::InstallTracking: + group = ui->installGroup; + break; + case TrackingType::MachineTracking: + group = ui->machineGroup; + break; + case TrackingType::UserTracking: + group = ui->userGroup; + break; } if ( group != nullptr ) { if ( enabled ) + { group->show(); + } else + { group->hide(); + } } else - cWarning() << "unknown tracking option" << int(t); + { + cWarning() << "unknown tracking option" << int( t ); + } } -bool TrackingPage::getTrackingOption(TrackingType t) +bool +TrackingPage::getTrackingOption( TrackingType t ) { bool enabled = false; // A tracking type is enabled if it is checked, or // any higher level is checked. -#define ch(x) ui->x->isChecked() +#define ch( x ) ui->x->isChecked() switch ( t ) { - case TrackingType::InstallTracking: - enabled = ch(installRadio) || ch(machineRadio) || ch(userRadio); - break; - case TrackingType::MachineTracking: - enabled = ch(machineRadio) || ch(userRadio); - break; - case TrackingType::UserTracking: - enabled = ch(userRadio); - break; + case TrackingType::InstallTracking: + enabled = ch( installRadio ) || ch( machineRadio ) || ch( userRadio ); + break; + case TrackingType::MachineTracking: + enabled = ch( machineRadio ) || ch( userRadio ); + break; + case TrackingType::UserTracking: + enabled = ch( userRadio ); + break; } #undef ch return enabled; } -void TrackingPage::setTrackingPolicy(TrackingType t, QString url) +void +TrackingPage::setTrackingPolicy( TrackingType t, QString url ) { - QToolButton *button = nullptr; - switch( t ) + QToolButton* button = nullptr; + switch ( t ) { - case TrackingType::InstallTracking: - button = ui->installPolicyButton; - break; - case TrackingType::MachineTracking: - button = ui->machinePolicyButton; - break; - case TrackingType::UserTracking: - button = ui->userPolicyButton; - break; + case TrackingType::InstallTracking: + button = ui->installPolicyButton; + break; + case TrackingType::MachineTracking: + button = ui->machinePolicyButton; + break; + case TrackingType::UserTracking: + button = ui->userPolicyButton; + break; } if ( button != nullptr ) if ( url.isEmpty() ) + { button->hide(); + } else { - connect( button, &QToolButton::clicked, [url]{ QDesktopServices::openUrl( url ); } ); - cDebug() << "Tracking policy" << int(t) << "set to" << url; + connect( button, &QToolButton::clicked, [url] { QDesktopServices::openUrl( url ); } ); + cDebug() << "Tracking policy" << int( t ) << "set to" << url; } - else - cWarning() << "unknown tracking option" << int(t); -} - -void TrackingPage::setGeneralPolicy( QString url ) -{ - if ( url.isEmpty() ) - ui->generalPolicyLabel->hide(); else { - ui->generalPolicyLabel->show(); - ui->generalPolicyLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); - ui->generalPolicyLabel->show(); - connect( ui->generalPolicyLabel, &QLabel::linkActivated, [url]{ QDesktopServices::openUrl( url ); } ); + cWarning() << "unknown tracking option" << int( t ); } } -void TrackingPage::setTrackingLevel(const QString& l) +void +TrackingPage::setGeneralPolicy( QString url ) +{ + if ( url.isEmpty() ) + { + ui->generalPolicyLabel->hide(); + } + else + { + ui->generalPolicyLabel->show(); + ui->generalPolicyLabel->setTextInteractionFlags( Qt::TextBrowserInteraction ); + ui->generalPolicyLabel->show(); + connect( ui->generalPolicyLabel, &QLabel::linkActivated, [url] { QDesktopServices::openUrl( url ); } ); + } +} + +void +TrackingPage::setTrackingLevel( const QString& l ) { QString level = l.toLower(); QRadioButton* button = nullptr; - if (level.isEmpty() || level == "none") + if ( level.isEmpty() || level == "none" ) + { button = ui->noneRadio; - else if (level == "install") + } + else if ( level == "install" ) + { button = ui->installRadio; - else if (level == "machine") + } + else if ( level == "machine" ) + { button = ui->machineRadio; - else if (level == "user") + } + else if ( level == "user" ) + { button = ui->userRadio; + } if ( button != nullptr ) + { button->setChecked( true ); + } else + { cWarning() << "unknown default tracking level" << l; + } } diff --git a/src/modules/tracking/TrackingPage.h b/src/modules/tracking/TrackingPage.h index ac667d5e6..560115b92 100644 --- a/src/modules/tracking/TrackingPage.h +++ b/src/modules/tracking/TrackingPage.h @@ -21,8 +21,8 @@ #include "TrackingType.h" -#include #include +#include namespace Ui { @@ -61,4 +61,4 @@ private: Ui::TrackingPage* ui; }; -#endif //TRACKINGPAGE_H +#endif //TRACKINGPAGE_H diff --git a/src/modules/tracking/TrackingType.h b/src/modules/tracking/TrackingType.h index 5c97e8485..02dbd934e 100644 --- a/src/modules/tracking/TrackingType.h +++ b/src/modules/tracking/TrackingType.h @@ -24,6 +24,6 @@ enum class TrackingType InstallTracking, MachineTracking, UserTracking -} ; +}; -#endif //TRACKINGTYPE_H +#endif //TRACKINGTYPE_H diff --git a/src/modules/tracking/TrackingViewStep.cpp b/src/modules/tracking/TrackingViewStep.cpp index cb48b340b..a51864ea9 100644 --- a/src/modules/tracking/TrackingViewStep.cpp +++ b/src/modules/tracking/TrackingViewStep.cpp @@ -21,20 +21,21 @@ #include "TrackingJobs.h" #include "TrackingPage.h" -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" -#include "utils/Logger.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" #include "utils/Variant.h" #include #include -CALAMARES_PLUGIN_FACTORY_DEFINITION( TrackingViewStepFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( TrackingViewStepFactory, registerPlugin< TrackingViewStep >(); ) /** @brief Is @p s a valid machine-tracking style. */ -static bool isValidStyle( const QString& s ) +static bool +isValidStyle( const QString& s ) { static QStringList knownStyles { "neon" }; return knownStyles.contains( s ); @@ -51,7 +52,9 @@ TrackingViewStep::TrackingViewStep( QObject* parent ) TrackingViewStep::~TrackingViewStep() { if ( m_widget && m_widget->parent() == nullptr ) + { m_widget->deleteLater(); + } } @@ -97,11 +100,12 @@ TrackingViewStep::isAtEnd() const } -void TrackingViewStep::onLeave() +void +TrackingViewStep::onLeave() { - m_installTracking.userEnabled = m_widget->getTrackingOption( TrackingType::InstallTracking ); - m_machineTracking.userEnabled = m_widget->getTrackingOption( TrackingType::MachineTracking ); - m_userTracking.userEnabled = m_widget->getTrackingOption( TrackingType::UserTracking ); + m_installTracking.userEnabled = m_widget->getTrackingOption( TrackingType::InstallTracking ); + m_machineTracking.userEnabled = m_widget->getTrackingOption( TrackingType::MachineTracking ); + m_userTracking.userEnabled = m_widget->getTrackingOption( TrackingType::UserTracking ); cDebug() << "Install tracking:" << m_installTracking.enabled(); cDebug() << "Machine tracking:" << m_machineTracking.enabled(); cDebug() << " User tracking:" << m_userTracking.enabled(); @@ -123,10 +127,7 @@ TrackingViewStep::jobs() const memory.setNum( s->getTotalMemoryB().first ); disk.setNum( s->getTotalDiskB() ); - installUrl - .replace( "$CPU", s->getCpuDescription() ) - .replace( "$MEMORY", memory ) - .replace( "$DISK", disk ); + installUrl.replace( "$CPU", s->getCpuDescription() ).replace( "$MEMORY", memory ).replace( "$DISK", disk ); cDebug() << Logger::SubEntry << "install-tracking URL" << installUrl; @@ -137,13 +138,16 @@ TrackingViewStep::jobs() const { Q_ASSERT( isValidStyle( m_machineTrackingStyle ) ); if ( m_machineTrackingStyle == "neon" ) + { l.append( Calamares::job_ptr( new TrackingMachineNeonJob() ) ); + } } return l; } -QVariantMap TrackingViewStep::setTrackingOption(const QVariantMap& configurationMap, const QString& key, TrackingType t) +QVariantMap +TrackingViewStep::setTrackingOption( const QVariantMap& configurationMap, const QString& key, TrackingType t ) { bool settingEnabled = false; @@ -159,8 +163,8 @@ QVariantMap TrackingViewStep::setTrackingOption(const QVariantMap& configuration trackingConfiguration.settingEnabled = settingEnabled; trackingConfiguration.userEnabled = false; - m_widget->enableTrackingOption(t, settingEnabled); - m_widget->setTrackingPolicy(t, CalamaresUtils::getString( config, "policy" ) ); + m_widget->enableTrackingOption( t, settingEnabled ); + m_widget->setTrackingPolicy( t, CalamaresUtils::getString( config, "policy" ) ); return config; } @@ -176,7 +180,9 @@ TrackingViewStep::setConfigurationMap( const QVariantMap& configurationMap ) config = setTrackingOption( configurationMap, "machine", TrackingType::MachineTracking ); auto s = CalamaresUtils::getString( config, "style" ); if ( isValidStyle( s ) ) + { m_machineTrackingStyle = s; + } setTrackingOption( configurationMap, "user", TrackingType::UserTracking ); diff --git a/src/modules/tracking/TrackingViewStep.h b/src/modules/tracking/TrackingViewStep.h index aaaf3bbae..dc952253a 100644 --- a/src/modules/tracking/TrackingViewStep.h +++ b/src/modules/tracking/TrackingViewStep.h @@ -21,9 +21,9 @@ #include "TrackingType.h" +#include #include #include -#include #include #include @@ -65,12 +65,13 @@ private: struct TrackingEnabled { bool settingEnabled; // Enabled in config file - bool userEnabled; // User checked "yes" + bool userEnabled; // User checked "yes" TrackingEnabled() : settingEnabled( false ) , userEnabled( false ) - {} + { + } bool enabled() const { return settingEnabled && userEnabled; } }; @@ -78,15 +79,21 @@ private: inline TrackingEnabled& tracking( TrackingType t ) { - if (t == TrackingType::UserTracking) + if ( t == TrackingType::UserTracking ) + { return m_userTracking; - else if (t == TrackingType::MachineTracking) + } + else if ( t == TrackingType::MachineTracking ) + { return m_machineTracking; + } else + { return m_installTracking; + } } }; CALAMARES_PLUGIN_FACTORY_DECLARATION( TrackingViewStepFactory ) -#endif // TRACKINGVIEWSTEP_H +#endif // TRACKINGVIEWSTEP_H From d36373230266e7ee5c0fbf17815fdb2663c77849 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 23:07:45 +0200 Subject: [PATCH 090/626] [tracking] Use std::chrono where appropriate --- src/modules/tracking/TrackingJobs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/tracking/TrackingJobs.cpp b/src/modules/tracking/TrackingJobs.cpp index 8652b8e6f..26f0b67aa 100644 --- a/src/modules/tracking/TrackingJobs.cpp +++ b/src/modules/tracking/TrackingJobs.cpp @@ -27,6 +27,8 @@ #include #include +#include + TrackingInstallJob::TrackingInstallJob( const QString& url ) : m_url( url ) , m_networkManager( nullptr ) @@ -79,7 +81,7 @@ TrackingInstallJob::exec() connect( &timeout, &QTimer::timeout, &loop, &QEventLoop::quit ); m_networkManager->get( request ); // The semaphore is released when data is received - timeout.start( 5000 /* ms */ ); + timeout.start( std::chrono::milliseconds( 5000 ) ); loop.exec(); From a0430f76b74a11b44a865b28bb894a958e05f470 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 23:10:20 +0200 Subject: [PATCH 091/626] [shellprocess] Apply current coding style --- src/modules/shellprocess/ShellProcessJob.cpp | 17 ++-- src/modules/shellprocess/ShellProcessJob.h | 2 +- src/modules/shellprocess/Tests.cpp | 92 ++++++++++---------- 3 files changed, 57 insertions(+), 54 deletions(-) diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index ba3e9a299..59d37d34b 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -18,13 +18,13 @@ #include "ShellProcessJob.h" -#include #include +#include #include #include "CalamaresVersion.h" -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" #include "utils/CommandList.h" #include "utils/Logger.h" @@ -55,7 +55,7 @@ Calamares::JobResult ShellProcessJob::exec() { - if ( ! m_commands || m_commands->isEmpty() ) + if ( !m_commands || m_commands->isEmpty() ) { cWarning() << "No commands to execute" << moduleInstanceKey(); return Calamares::JobResult::ok(); @@ -71,16 +71,23 @@ ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) bool dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); int timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); if ( timeout < 1 ) + { timeout = 10; + } if ( configurationMap.contains( "script" ) ) { - m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !dontChroot, std::chrono::seconds( timeout ) ); + m_commands = new CalamaresUtils::CommandList( + configurationMap.value( "script" ), !dontChroot, std::chrono::seconds( timeout ) ); if ( m_commands->isEmpty() ) + { cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey(); + } } else + { cWarning() << "No script given for ShellProcessJob" << moduleInstanceKey(); + } } -CALAMARES_PLUGIN_FACTORY_DEFINITION( ShellProcessJobFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( ShellProcessJobFactory, registerPlugin< ShellProcessJob >(); ) diff --git a/src/modules/shellprocess/ShellProcessJob.h b/src/modules/shellprocess/ShellProcessJob.h index 3111fc26e..b9a255d95 100644 --- a/src/modules/shellprocess/ShellProcessJob.h +++ b/src/modules/shellprocess/ShellProcessJob.h @@ -50,4 +50,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( ShellProcessJobFactory ) -#endif // SHELLPROCESSJOB_H +#endif // SHELLPROCESSJOB_H diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index 149fbc2d3..943a70957 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -37,13 +37,9 @@ using CommandList = CalamaresUtils::CommandList; using std::operator""s; -ShellProcessTests::ShellProcessTests() -{ -} +ShellProcessTests::ShellProcessTests() {} -ShellProcessTests::~ShellProcessTests() -{ -} +ShellProcessTests::~ShellProcessTests() {} void ShellProcessTests::initTestCase() @@ -66,16 +62,16 @@ ShellProcessTests::testProcessListSampleConfig() } } - CommandList cl( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 3 ); - QCOMPARE( cl.at(0).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); - QCOMPARE( cl.at(2).timeout(), 3600s ); // slowloris + QCOMPARE( cl.at( 0 ).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); + QCOMPARE( cl.at( 2 ).timeout(), 3600s ); // slowloris } -void ShellProcessTests::testProcessListFromList() +void +ShellProcessTests::testProcessListFromList() { YAML::Node doc = YAML::Load( R"(--- script: @@ -83,8 +79,7 @@ script: - "ls /nonexistent" - "/bin/false" )" ); - CommandList cl( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 3 ); @@ -95,52 +90,51 @@ script: - false - "ls /nonexistent" )" ); - CommandList cl1( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl1( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl1.isEmpty() ); QCOMPARE( cl1.count(), 2 ); // One element ignored } -void ShellProcessTests::testProcessListFromString() +void +ShellProcessTests::testProcessListFromString() { YAML::Node doc = YAML::Load( R"(--- script: "ls /tmp" )" ); - CommandList cl( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 1 ); - QCOMPARE( cl.at(0).timeout(), 10s ); - QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); + QCOMPARE( cl.at( 0 ).timeout(), 10s ); + QCOMPARE( cl.at( 0 ).command(), QStringLiteral( "ls /tmp" ) ); // Not a string doc = YAML::Load( R"(--- script: false )" ); - CommandList cl1( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl1( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( cl1.isEmpty() ); QCOMPARE( cl1.count(), 0 ); } -void ShellProcessTests::testProcessFromObject() +void +ShellProcessTests::testProcessFromObject() { YAML::Node doc = YAML::Load( R"(--- script: command: "ls /tmp" timeout: 20 )" ); - CommandList cl( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 1 ); - QCOMPARE( cl.at(0).timeout(), 20s ); - QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); + QCOMPARE( cl.at( 0 ).timeout(), 20s ); + QCOMPARE( cl.at( 0 ).command(), QStringLiteral( "ls /tmp" ) ); } -void ShellProcessTests::testProcessListFromObject() +void +ShellProcessTests::testProcessListFromObject() { YAML::Node doc = YAML::Load( R"(--- script: @@ -148,34 +142,36 @@ script: timeout: 12 - "-/bin/false" )" ); - CommandList cl( - CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 2 ); - QCOMPARE( cl.at(0).timeout(), 12s ); - QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); - QCOMPARE( cl.at(1).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); // not set + QCOMPARE( cl.at( 0 ).timeout(), 12s ); + QCOMPARE( cl.at( 0 ).command(), QStringLiteral( "ls /tmp" ) ); + QCOMPARE( cl.at( 1 ).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); // not set } -void ShellProcessTests::testRootSubstitution() +void +ShellProcessTests::testRootSubstitution() { YAML::Node doc = YAML::Load( R"(--- script: - "ls /tmp" )" ); QVariant plainScript = CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ); - QVariant rootScript = CalamaresUtils::yamlMapToVariant( - YAML::Load( R"(--- + QVariant rootScript = CalamaresUtils::yamlMapToVariant( YAML::Load( R"(--- script: - "ls @@ROOT@@" -)" ) ).toMap().value( "script" ); - QVariant userScript = CalamaresUtils::yamlMapToVariant( - YAML::Load( R"(--- +)" ) ) + .toMap() + .value( "script" ); + QVariant userScript = CalamaresUtils::yamlMapToVariant( YAML::Load( R"(--- script: - mktemp -d @@ROOT@@/calatestXXXXXXXX - "chown @@USER@@ @@ROOT@@/calatest*" - rm -rf @@ROOT@@/calatest* -)" ) ).toMap().value( "script" ); +)" ) ) + .toMap() + .value( "script" ); if ( !Calamares::JobQueue::instance() ) (void)new Calamares::JobQueue( nullptr ); @@ -188,29 +184,29 @@ script: qDebug() << "Expect WARNING, ERROR, WARNING"; // Doesn't use @@ROOT@@, so no failures - QVERIFY( bool(CommandList(plainScript, false, 10s ).run()) ); + QVERIFY( bool( CommandList( plainScript, false, 10s ).run() ) ); // Doesn't use @@ROOT@@, but does chroot, so fails - QVERIFY( !bool(CommandList(plainScript, true, 10s ).run()) ); + QVERIFY( !bool( CommandList( plainScript, true, 10s ).run() ) ); // Does use @@ROOT@@, which is not set, so fails - QVERIFY( !bool(CommandList(rootScript, false, 10s ).run()) ); + QVERIFY( !bool( CommandList( rootScript, false, 10s ).run() ) ); // .. fails for two reasons - QVERIFY( !bool(CommandList(rootScript, true, 10s ).run()) ); + QVERIFY( !bool( CommandList( rootScript, true, 10s ).run() ) ); gs->insert( "rootMountPoint", "/tmp" ); // Now that the root is set, two variants work .. still can't // chroot, unless the rootMountPoint contains a full system, // *and* we're allowed to chroot (ie. running tests as root). qDebug() << "Expect no output."; - QVERIFY( bool(CommandList(plainScript, false, 10s ).run()) ); - QVERIFY( bool(CommandList(rootScript, false, 10s ).run()) ); + QVERIFY( bool( CommandList( plainScript, false, 10s ).run() ) ); + QVERIFY( bool( CommandList( rootScript, false, 10s ).run() ) ); qDebug() << "Expect ERROR"; // But no user set yet - QVERIFY( !bool(CommandList(userScript, false, 10s ).run()) ); + QVERIFY( !bool( CommandList( userScript, false, 10s ).run() ) ); // Now play dangerous games with shell expansion gs->insert( "username", "`id -u`" ); - QVERIFY( bool(CommandList(userScript, false, 10s ).run()) ); + QVERIFY( bool( CommandList( userScript, false, 10s ).run() ) ); } From 8186d5730a332d2397ad1d3b9fe53bb1e653c989 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Aug 2019 23:10:49 +0200 Subject: [PATCH 092/626] [contextualprocess] Apply current coding style --- .../ContextualProcessJob.cpp | 42 +++++++++++++------ .../contextualprocess/ContextualProcessJob.h | 4 +- src/modules/contextualprocess/Tests.cpp | 13 ++---- 3 files changed, 36 insertions(+), 23 deletions(-) diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp index 5d6b20afc..1be4950c9 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.cpp +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -18,22 +18,22 @@ #include "ContextualProcessJob.h" -#include #include +#include #include #include "CalamaresVersion.h" -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" #include "utils/CommandList.h" #include "utils/Logger.h" #include "utils/Variant.h" -struct ValueCheck : public QPair +struct ValueCheck : public QPair< QString, CalamaresUtils::CommandList* > { ValueCheck( const QString& value, CalamaresUtils::CommandList* commands ) - : QPair(value, commands) + : QPair< QString, CalamaresUtils::CommandList* >( value, commands ) { } @@ -47,7 +47,7 @@ struct ValueCheck : public QPair QString value() const { return first; } CalamaresUtils::CommandList* commands() const { return second; } -} ; +}; struct ContextualProcessBinding { @@ -67,7 +67,9 @@ struct ContextualProcessBinding { checks.append( ValueCheck( value, commands ) ); if ( value == QString( "*" ) ) + { wildcard = commands; + } } Calamares::JobResult run( const QString& value ) const @@ -75,19 +77,23 @@ struct ContextualProcessBinding 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 checks; - CalamaresUtils::CommandList* wildcard{ nullptr }; -} ; + QList< ValueCheck > checks; + CalamaresUtils::CommandList* wildcard { nullptr }; +}; ContextualProcessBinding::~ContextualProcessBinding() @@ -129,10 +135,14 @@ ContextualProcessJob::exec() { Calamares::JobResult r = binding->run( gs->value( binding->variable ).toString() ); if ( !r ) + { return r; + } } else + { cWarning() << "ContextualProcess checks for unknown variable" << binding->variable; + } } return Calamares::JobResult::ok(); } @@ -144,13 +154,17 @@ ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) bool dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); int timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); if ( timeout < 1 ) + { timeout = 10; + } for ( QVariantMap::const_iterator iter = configurationMap.cbegin(); iter != configurationMap.cend(); ++iter ) { QString variableName = iter.key(); if ( variableName.isEmpty() || ( variableName == "dontChroot" ) || ( variableName == "timeout" ) ) + { continue; + } if ( iter.value().type() != QVariant::Map ) { @@ -166,11 +180,13 @@ ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) QString valueString = valueiter.key(); if ( variableName.isEmpty() ) { - cWarning() << moduleInstanceKey() << "variable" << variableName << "unrecognized value" << valueiter.key(); + cWarning() << moduleInstanceKey() << "variable" << variableName << "unrecognized value" + << valueiter.key(); continue; } - CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, std::chrono::seconds( timeout ) ); + CalamaresUtils::CommandList* commands + = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, std::chrono::seconds( timeout ) ); binding->append( valueString, commands ); } @@ -184,12 +200,14 @@ ContextualProcessJob::count() } int -ContextualProcessJob::count(const QString& variableName) +ContextualProcessJob::count( const QString& variableName ) { for ( const ContextualProcessBinding* binding : m_commands ) if ( binding->variable == variableName ) + { return binding->checks.count(); + } return -1; } -CALAMARES_PLUGIN_FACTORY_DEFINITION( ContextualProcessJobFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( ContextualProcessJobFactory, registerPlugin< ContextualProcessJob >(); ) diff --git a/src/modules/contextualprocess/ContextualProcessJob.h b/src/modules/contextualprocess/ContextualProcessJob.h index fbc102058..2efbc5082 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.h +++ b/src/modules/contextualprocess/ContextualProcessJob.h @@ -49,9 +49,9 @@ public: int count( const QString& variableName ); private: - QList m_commands; + QList< ContextualProcessBinding* > m_commands; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( ContextualProcessJobFactory ) -#endif // CONTEXTUALPROCESSJOB_H +#endif // CONTEXTUALPROCESSJOB_H diff --git a/src/modules/contextualprocess/Tests.cpp b/src/modules/contextualprocess/Tests.cpp index 51319c220..f62726775 100644 --- a/src/modules/contextualprocess/Tests.cpp +++ b/src/modules/contextualprocess/Tests.cpp @@ -31,13 +31,9 @@ QTEST_GUILESS_MAIN( ContextualProcessTests ) using CommandList = CalamaresUtils::CommandList; -ContextualProcessTests::ContextualProcessTests() -{ -} +ContextualProcessTests::ContextualProcessTests() {} -ContextualProcessTests::~ContextualProcessTests() -{ -} +ContextualProcessTests::~ContextualProcessTests() {} void ContextualProcessTests::initTestCase() @@ -63,7 +59,6 @@ ContextualProcessTests::testProcessListSampleConfig() ContextualProcessJob job; job.setConfigurationMap( CalamaresUtils::yamlMapToVariant( doc ).toMap() ); - QCOMPARE(job.count(), 1); // Only "firmwareType" - QCOMPARE(job.count("firmwareType"), 4); + QCOMPARE( job.count(), 1 ); // Only "firmwareType" + QCOMPARE( job.count( "firmwareType" ), 4 ); } - From d76c33bd3aa7e7b7fa59118a590f3ccd1bc1213e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 09:19:15 +0200 Subject: [PATCH 093/626] [tracking] Tidy code some more --- src/modules/tracking/TrackingJobs.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/modules/tracking/TrackingJobs.cpp b/src/modules/tracking/TrackingJobs.cpp index 26f0b67aa..bf71b541a 100644 --- a/src/modules/tracking/TrackingJobs.cpp +++ b/src/modules/tracking/TrackingJobs.cpp @@ -124,24 +124,32 @@ TrackingMachineNeonJob::prettyStatusMessage() const Calamares::JobResult TrackingMachineNeonJob::exec() { - int r = CalamaresUtils::System::instance()->targetEnvCall( "/bin/sh", - QString(), // Working dir - QString( - R"x(MACHINE_ID=`cat /etc/machine-id` + static const auto script = QStringLiteral( + R"x( +MACHINE_ID=`cat /etc/machine-id` sed -i "s,URI =.*,URI = http://releases.neon.kde.org/meta-release/${MACHINE_ID}," /etc/update-manager/meta-release sed -i "s,URI_LTS =.*,URI_LTS = http://releases.neon.kde.org/meta-release-lts/${MACHINE_ID}," /etc/update-manager/meta-release true -)x" ), +)x" ); + int r = CalamaresUtils::System::instance()->targetEnvCall( "/bin/sh", + QString(), // Working dir + script, std::chrono::seconds( 1 ) ); if ( r == 0 ) + { return Calamares::JobResult::ok(); + } else if ( r > 0 ) + { return Calamares::JobResult::error( tr( "Error in machine feedback configuration." ), tr( "Could not configure machine feedback correctly, script error %1." ).arg( r ) ); + } else + { return Calamares::JobResult::error( tr( "Error in machine feedback configuration." ), tr( "Could not configure machine feedback correctly, Calamares error %1." ).arg( r ) ); + } } From f1c133813cafe3d9f1e465624f7f3e19723db832 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 09:25:45 +0200 Subject: [PATCH 094/626] Changes: credits for recent PRs --- CHANGES | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGES b/CHANGES index a3c14296c..c84f245b0 100644 --- a/CHANGES +++ b/CHANGES @@ -6,13 +6,25 @@ website will have to do for older versions. # 3.2.12 (unreleased) # This release contains contributions from (alphabetically by first name): + - apt-ghetto - Bill Auger - embar ## Core ## + - Preliminary work to allow jobs to have a *weight* assigned to them + has been added. This will allow the progress bar to better reflect + progress by the amount of work done rather than purely by the + number of jobs. (Thanks to Bill Auger) + - Preliminary work has been added to post the installation log to a + pastebin for bug reporting. (Thanks to Bill Auger) + ## Modules ## + - *fstab* A new configuration key *efiMountOptions* has been added, to + allow setting filesystem options specifically for the EFI partition. + (Thanks to apt-ghetto) + # 3.2.11 (2019-07-06) # From dab841df0224ddf6b03a447cfe05b2a5edde9acc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 09:27:54 +0200 Subject: [PATCH 095/626] [fstab] Tighten up the *efiMountOptions* documentation --- src/modules/fstab/fstab.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/fstab/fstab.conf b/src/modules/fstab/fstab.conf index 06a935e3a..b2f3de361 100644 --- a/src/modules/fstab/fstab.conf +++ b/src/modules/fstab/fstab.conf @@ -12,9 +12,9 @@ mountOptions: default: defaults,noatime btrfs: defaults,noatime,space_cache,autodefrag -# Mount options to use for the EFI System Partition. If not defined, it -# takes either the value of *vfat*, or if also missing, *default* from -# *mountOptions* +# Mount options to use for the EFI System Partition. If not defined, the +# *mountOptions* for *vfat* are used, or if that is not set either, +# *default* from *mountOptions*. efiMountOptions: umask=0077 # If a filesystem is on an SSD, add the following options. If a specific From f4034f629aa42b243acf1ee54c0908d09a031e46 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 09:32:31 +0200 Subject: [PATCH 096/626] CI: keep Esperanto in the "incomplete" list - Since QLocale does not support Esperanto, we can't effectively load it. --- ci/txstats.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ci/txstats.py b/ci/txstats.py index d29e7dc75..2edf1dd5b 100644 --- a/ci/txstats.py +++ b/ci/txstats.py @@ -56,6 +56,11 @@ def get_tx_stats(token): return 1 suppressed_languages = ( "es_ES", ) # In Transifex, but not used + # Some languages go into the "incomplete" list by definition, + # regardless of their completion status: this can have various reasons. + incomplete_languages = ( + "eo", # Not supported by QLocale + ) all_langs = [] @@ -66,6 +71,8 @@ def get_tx_stats(token): if lang_name in suppressed_languages: continue stats = languages[lang_name]["translated"]["percentage"] + if lang_name in incomplete_languages: + stats = 0.0 all_langs.append((stats, lang_name)) output_langs(all_langs, "complete", lambda s : s == 1.0) From d98788a40503fcf529e7ef3489b0648b71454c9d Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 2 Aug 2019 09:35:59 +0200 Subject: [PATCH 097/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ast.ts | 24 ++++++++++++------------ lang/calamares_cs_CZ.ts | 8 ++++---- lang/calamares_ru.ts | 14 +++++++------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index 75702a383..a9a310990 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -117,7 +117,7 @@ Set up - + Configuración @@ -243,7 +243,7 @@ Cancel setup without changing the system. - + Encaboxa la configuración ensin camudar el sistema. @@ -253,7 +253,7 @@ Setup Failed - + Falló la configuración @@ -283,12 +283,12 @@ &Set up now - + &Configurar agora &Set up - + &Configurar @@ -408,7 +408,7 @@ L'instalador va colar y van perdese tolos cambeos. %1 Setup Program - + Programa de configuración de %1 @@ -477,7 +477,7 @@ L'instalador va colar y van perdese tolos cambeos. %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + %1 va redimensionase a %2MB y va crease una partición nueva de %3MB pa %4. @@ -1202,22 +1202,22 @@ L'instalador va colar y van perdese tolos cambeos. has at least %1 GiB available drive space - + tien polo menos %1 GiB d'espaciu disponible nel discu There is not enough drive space. At least %1 GiB is required. - + Nun hai espaciu abondu nel discu. Ríquense polo menos %1 GiB. has at least %1 GiB working memory - + tien polo menos %1 GiB memoria de trabayu The system does not have enough working memory. At least %1 GiB is required. - + El sistema nun tien abonda memoria de trabayu. Ríquense polo menos %1 GiB. @@ -2901,7 +2901,7 @@ Salida: This is an overview of what will happen once you start the setup procedure. - + Esto ye una previsualización de lo que va asoceder nel momentu qu'anicies el procesu de configuración. diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index beb4142fe..0b82ac35a 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -1536,7 +1536,7 @@ Instalační program bude ukončen a všechny změny ztraceny. No partitions are defined. - + Nejsou definovány žádné oddíly. @@ -1548,17 +1548,17 @@ Instalační program bude ukončen a všechny změny ztraceny. Root partition %1 is LUKS but no passphrase has been set. - + Kořenový oddíl %1 je LUKS, ale nebyla nastavena žádná heslová fráze. Could not create LUKS key file for root partition %1. - + Nedaří se vytvořit LUKS klíč pro kořenový oddíl %1. Could configure LUKS key file on partition %1. - + Nedaří se nastavit LUKS klíč pro oddíl %1.
diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 4de6cc2aa..92533e925 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -99,7 +99,7 @@ Reload Stylesheet - + Перезагрузить таблицу стилей @@ -130,7 +130,7 @@ Job failed (%1) - + Задание не успешно (%1) @@ -220,7 +220,7 @@ System-requirements checking is complete. - + Проверка соответствия системным требованиям завершена. @@ -243,7 +243,7 @@ Cancel setup without changing the system. - + Отменить установку без изменения системы. @@ -524,7 +524,7 @@ The installer will quit and all changes will be lost. Reuse Swap - + Использовать существующий раздел подкачки @@ -2545,12 +2545,12 @@ Output: The filesystem %1 must be resized, but cannot. - + Необходимо, но не удаётся изменить размер файловой системы %1 The device %1 must be resized, but cannot - + Необходимо, но не удаётся изменить размер устройства %1 From 05daa225427f0edaafb89ada6ab8c604775f23fb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 09:40:25 +0200 Subject: [PATCH 098/626] CMake: update language lists --- CMakeLists.txt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cae89fc91..153def42a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,13 +104,15 @@ set( CALAMARES_DESCRIPTION_SUMMARY # checks for new languages and misspelled ones are done (that is, # copy these four lines to four backup lines, add "p", and then update # the original four lines with the current translations). -set( _tx_complete ca cs_CZ da de fr he hr hu ko lt pt_BR sq tr_TR - zh_TW ) -set( _tx_good ast en_GB es es_MX et fi_FI gl id it_IT ja nl pl - pt_PT ro ru sk zh_CN ) -set( _tx_ok ar bg el es_PR eu hi is mr nb sl sr sr@latin sv th - uk ) -set( _tx_incomplete be ca@valencia eo fa fr_CH gu kk kn lo mk ne_NP ur uz ) +# +# Total 60 languages +set( _tx_complete ca cs_CZ da de fi_FI fr he hi hr hu ja ko lt + pt_BR sq tr_TR zh_TW ) +set( _tx_good ast en_GB es es_MX et gl id it_IT nl pl pt_PT ru sk + zh_CN ) +set( _tx_ok ar bg el es_PR eu is mr nb ro sl sr sr@latin sv th uk ) +set( _tx_incomplete be ca@valencia eo fa fr_CH gu kk kn lo mk ne_NP + ur uz ) ### Required versions # From 735d5d2683454cc84cd77f57f0f92e7f517f9e6b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 10:57:12 +0200 Subject: [PATCH 099/626] [packagechooser] Add stub of module Package chooser is a **low density** package selector -- unlike netinstall which offers a high density tree view -- for picking zero, one, or more items from a small collection of packages. This can be used, e.g., for "pick exactly one desktop environment", "pick zero or more text editors" which can then be installed by another module. The UI is big and shiny (rather than netinstall's text-based tree view) and isn't suitable for more than a dozen or so items. --- src/modules/packagechooser/CMakeLists.txt | 27 +++++ .../packagechooser/PackageChooserPage.cpp | 33 +++++ .../packagechooser/PackageChooserPage.h | 39 ++++++ .../packagechooser/PackageChooserViewStep.cpp | 113 ++++++++++++++++++ .../packagechooser/PackageChooserViewStep.h | 60 ++++++++++ src/modules/packagechooser/Tests.cpp | 38 ++++++ src/modules/packagechooser/Tests.h | 36 ++++++ src/modules/packagechooser/page_package.ui | 59 +++++++++ 8 files changed, 405 insertions(+) create mode 100644 src/modules/packagechooser/CMakeLists.txt create mode 100644 src/modules/packagechooser/PackageChooserPage.cpp create mode 100644 src/modules/packagechooser/PackageChooserPage.h create mode 100644 src/modules/packagechooser/PackageChooserViewStep.cpp create mode 100644 src/modules/packagechooser/PackageChooserViewStep.h create mode 100644 src/modules/packagechooser/Tests.cpp create mode 100644 src/modules/packagechooser/Tests.h create mode 100644 src/modules/packagechooser/page_package.ui diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt new file mode 100644 index 000000000..0c739012a --- /dev/null +++ b/src/modules/packagechooser/CMakeLists.txt @@ -0,0 +1,27 @@ +find_package( Qt5 COMPONENTS Core Gui Widgets REQUIRED ) + +calamares_add_plugin( packagechooser + TYPE viewmodule + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + PackageChooserPage.cpp + PackageChooserViewStep.cpp + UI + page_package.ui + LINK_PRIVATE_LIBRARIES + calamaresui + SHARED_LIB +) + +if( ECM_FOUND AND BUILD_TESTING ) + ecm_add_test( + Tests.cpp + TEST_NAME + packagechooosertest + LINK_LIBRARIES + ${CALAMARES_LIBRARIES} + Qt5::Core + Qt5::Test + ) + calamares_automoc( packagechooosertest) +endif() diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp new file mode 100644 index 000000000..2f83e6728 --- /dev/null +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -0,0 +1,33 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "PackageChooserPage.h" + +#include "ui_page_package.h" + +#include "utils/Logger.h" +#include "utils/Retranslator.h" + +#include + +PackageChooserPage::PackageChooserPage( QWidget* parent ) + : QWidget( parent ) + , ui( new Ui::PackageChooserPage ) +{ + ui->setupUi( this ); +} diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h new file mode 100644 index 000000000..1bc46bef3 --- /dev/null +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -0,0 +1,39 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef PACKAGECHOOSERPAGE_H +#define PACKAGECHOOSERPAGE_H + +#include + +namespace Ui +{ +class PackageChooserPage; +} + +class PackageChooserPage : public QWidget +{ + Q_OBJECT +public: + explicit PackageChooserPage( QWidget* parent = nullptr ); + +private: + Ui::PackageChooserPage* ui; +}; + +#endif // PACKAGECHOOSERPAGE_H diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp new file mode 100644 index 000000000..db45bea0b --- /dev/null +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -0,0 +1,113 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "PackageChooserViewStep.h" + +#include "PackageChooserPage.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" +#include "utils/Variant.h" + +#include +#include + +CALAMARES_PLUGIN_FACTORY_DEFINITION( PackageChooserViewStepFactory, registerPlugin< PackageChooserViewStep >(); ) + +PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) + : Calamares::ViewStep( parent ) + , m_widget( nullptr ) +{ + emit nextStatusChanged( false ); +} + + +PackageChooserViewStep::~PackageChooserViewStep() +{ + if ( m_widget && m_widget->parent() == nullptr ) + { + m_widget->deleteLater(); + } +} + + +QString +PackageChooserViewStep::prettyName() const +{ + return tr( "Packages" ); +} + + +QWidget* +PackageChooserViewStep::widget() +{ + if ( !m_widget ) + { + m_widget = new PackageChooserPage( nullptr ); + } + return m_widget; +} + + +bool +PackageChooserViewStep::isNextEnabled() const +{ + return true; +} + + +bool +PackageChooserViewStep::isBackEnabled() const +{ + return true; +} + + +bool +PackageChooserViewStep::isAtBeginning() const +{ + return true; +} + + +bool +PackageChooserViewStep::isAtEnd() const +{ + return true; +} + + +void +PackageChooserViewStep::onLeave() +{ +} + +Calamares::JobList +PackageChooserViewStep::jobs() const +{ + Calamares::JobList l; + return l; +} + +void +PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap ) +{ +} diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h new file mode 100644 index 000000000..a32d4caab --- /dev/null +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -0,0 +1,60 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef PACKAGECHOOSERVIEWSTEP_H +#define PACKAGECHOOSERVIEWSTEP_H + +#include +#include +#include + +#include +#include +#include + +class PLUGINDLLEXPORT PackageChooserViewStep : public Calamares::ViewStep +{ + Q_OBJECT + +public: + explicit PackageChooserViewStep( QObject* parent = nullptr ); + virtual ~PackageChooserViewStep() override; + + QString prettyName() const override; + + QWidget* widget() override; + + bool isNextEnabled() const override; + bool isBackEnabled() const override; + + bool isAtBeginning() const override; + bool isAtEnd() const override; + + void onLeave() override; + + Calamares::JobList jobs() const override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + QWidget* m_widget; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) + +#endif // PACKAGECHOOSERVIEWSTEP_H diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp new file mode 100644 index 000000000..c016f1808 --- /dev/null +++ b/src/modules/packagechooser/Tests.cpp @@ -0,0 +1,38 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Tests.h" + +#include + +QTEST_GUILESS_MAIN( PackageChooserTests ) + +PackageChooserTests::PackageChooserTests() {} + +PackageChooserTests::~PackageChooserTests() {} + +void +PackageChooserTests::initTestCase() +{ +} + +void +PackageChooserTests::testBogus() +{ + QVERIFY( true ); +} diff --git a/src/modules/packagechooser/Tests.h b/src/modules/packagechooser/Tests.h new file mode 100644 index 000000000..bc257f5a5 --- /dev/null +++ b/src/modules/packagechooser/Tests.h @@ -0,0 +1,36 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef PACKAGECHOOSERTESTS_H +#define PACKAGECHOOSERTESTS_H + +#include + +class PackageChooserTests : public QObject +{ + Q_OBJECT +public: + PackageChooserTests(); + ~PackageChooserTests() override; + +private Q_SLOTS: + void initTestCase(); + void testBogus(); +}; + +#endif diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui new file mode 100644 index 000000000..18c2f81fd --- /dev/null +++ b/src/modules/packagechooser/page_package.ui @@ -0,0 +1,59 @@ + + + PackageChooserPage + + + + 0 + 0 + 400 + 300 + + + + Form + + + + + 9 + 19 + 341 + 261 + + + + + + + + + + + + TextLabel + + + + + + + TextLabel + + + + + + + TextLabel + + + + + + + + + + + From 727290f75e9286e6819122295f5955c117f8406b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 11:09:12 +0200 Subject: [PATCH 100/626] [packagechooser] Handle translation events (stub) --- src/modules/packagechooser/PackageChooserPage.cpp | 11 +++++++++++ src/modules/packagechooser/PackageChooserPage.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 2f83e6728..5524bd103 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -30,4 +30,15 @@ PackageChooserPage::PackageChooserPage( QWidget* parent ) , ui( new Ui::PackageChooserPage ) { ui->setupUi( this ); + CALAMARES_RETRANSLATE( + updateLabels(); + ) +} + +void +PackageChooserPage::updateLabels() +{ + ui->productName->setText( QString() ); + ui->productScreenshot->hide(); + ui->productDescription->setText( tr( "Please pick a product from the list." ) ); } diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 1bc46bef3..02c46fc3e 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -32,6 +32,9 @@ class PackageChooserPage : public QWidget public: explicit PackageChooserPage( QWidget* parent = nullptr ); +public slots: + void updateLabels(); + private: Ui::PackageChooserPage* ui; }; From d1a85ba5ca5f333e1564d3a5f7a8e29127ccf8ff Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 13:05:46 +0200 Subject: [PATCH 101/626] [packagechooser] Add a model for the list to use - Model contents currently hard-coded --- src/modules/packagechooser/CMakeLists.txt | 1 + .../packagechooser/PackageChooserPage.cpp | 18 +++- .../packagechooser/PackageChooserPage.h | 4 + .../packagechooser/PackageChooserViewStep.cpp | 35 +++++++ .../packagechooser/PackageChooserViewStep.h | 14 ++- src/modules/packagechooser/PackageModel.cpp | 93 +++++++++++++++++++ src/modules/packagechooser/PackageModel.h | 62 +++++++++++++ 7 files changed, 220 insertions(+), 7 deletions(-) create mode 100644 src/modules/packagechooser/PackageModel.cpp create mode 100644 src/modules/packagechooser/PackageModel.h diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index 0c739012a..525921602 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -6,6 +6,7 @@ calamares_add_plugin( packagechooser SOURCES PackageChooserPage.cpp PackageChooserViewStep.cpp + PackageModel.cpp UI page_package.ui LINK_PRIVATE_LIBRARIES diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 5524bd103..215adeeef 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -30,9 +30,7 @@ PackageChooserPage::PackageChooserPage( QWidget* parent ) , ui( new Ui::PackageChooserPage ) { ui->setupUi( this ); - CALAMARES_RETRANSLATE( - updateLabels(); - ) + CALAMARES_RETRANSLATE( updateLabels(); ) } void @@ -42,3 +40,17 @@ PackageChooserPage::updateLabels() ui->productScreenshot->hide(); ui->productDescription->setText( tr( "Please pick a product from the list." ) ); } + +void +PackageChooserPage::setModel( QAbstractItemModel* model ) +{ + ui->products->setModel( model ); +} + +void +PackageChooserPage::currentChanged( const QModelIndex& current ) +{ + updateLabels(); + cDebug() << "Current updated to" << current.row(); + cDebug() << ui->products->model()->data( current, Qt::DisplayRole ); +} diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 02c46fc3e..db5540312 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -19,6 +19,7 @@ #ifndef PACKAGECHOOSERPAGE_H #define PACKAGECHOOSERPAGE_H +#include #include namespace Ui @@ -32,8 +33,11 @@ class PackageChooserPage : public QWidget public: explicit PackageChooserPage( QWidget* parent = nullptr ); + void setModel( QAbstractItemModel* model ); + public slots: void updateLabels(); + void currentChanged( const QModelIndex& current ); private: Ui::PackageChooserPage* ui; diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index db45bea0b..3ff2ac636 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -19,6 +19,7 @@ #include "PackageChooserViewStep.h" #include "PackageChooserPage.h" +#include "PackageModel.h" #include "GlobalStorage.h" #include "JobQueue.h" @@ -35,6 +36,7 @@ CALAMARES_PLUGIN_FACTORY_DEFINITION( PackageChooserViewStepFactory, registerPlug PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( nullptr ) + , m_model( nullptr ) { emit nextStatusChanged( false ); } @@ -46,6 +48,7 @@ PackageChooserViewStep::~PackageChooserViewStep() { m_widget->deleteLater(); } + delete m_model; } @@ -62,6 +65,10 @@ PackageChooserViewStep::widget() if ( !m_widget ) { m_widget = new PackageChooserPage( nullptr ); + if ( m_model ) + { + hookupModel(); + } } return m_widget; } @@ -110,4 +117,32 @@ PackageChooserViewStep::jobs() const void PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { + // TODO: use the configurationMap + + if ( !m_model ) + { + + m_model = new PackageListModel( nullptr ); + m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop" } ); + m_model->addPackage( + PackageItem { "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop" } ); + + + if ( m_widget ) + { + hookupModel(); + } + } +} + +void +PackageChooserViewStep::hookupModel() +{ + if ( !m_model || !m_widget ) + { + cError() << "Can't hook up model until widget and model both exist."; + return; + } + + m_widget->setModel( m_model ); } diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index a32d4caab..56fbf5d3a 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -19,14 +19,17 @@ #ifndef PACKAGECHOOSERVIEWSTEP_H #define PACKAGECHOOSERVIEWSTEP_H -#include -#include -#include +#include "PluginDllMacro.h" +#include "utils/PluginFactory.h" +#include "viewpages/ViewStep.h" #include #include #include +class PackageChooserPage; +class PackageListModel; + class PLUGINDLLEXPORT PackageChooserViewStep : public Calamares::ViewStep { Q_OBJECT @@ -52,7 +55,10 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; private: - QWidget* m_widget; + void hookupModel(); + + PackageChooserPage* m_widget; + PackageListModel* m_model; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp new file mode 100644 index 000000000..1f6346666 --- /dev/null +++ b/src/modules/packagechooser/PackageModel.cpp @@ -0,0 +1,93 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "PackageModel.h" + +#include "utils/Logger.h" + +PackageItem +PackageItem::fromAppStream( const QString& filename ) +{ + // TODO: implement this + return PackageItem {}; +} + +PackageItem::PackageItem() {} + +PackageItem::PackageItem( const QString& a_id, + const QString& a_package, + const QString& a_name, + const QString& a_description ) + : id( a_id ) + , package( a_package ) + , name( a_name ) + , description( a_description ) +{ +} + + +PackageListModel::PackageListModel( QObject* parent ) + : QAbstractListModel( parent ) +{ +} + +PackageListModel::PackageListModel( PackageList&& items, QObject* parent ) + : QAbstractListModel( parent ) + , m_packages( std::move( items ) ) +{ +} + +PackageListModel::~PackageListModel() {} + +void +PackageListModel::addPackage( PackageItem&& p ) +{ + int c = m_packages.count(); + beginInsertRows( QModelIndex(), c, c ); + m_packages.append( p ); + endInsertRows(); +} + +int +PackageListModel::rowCount( const QModelIndex& index ) const +{ + // For lists, valid indexes have zero children; only the root index has them + return index.isValid() ? 0 : m_packages.count(); +} + +QVariant +PackageListModel::data( const QModelIndex& index, int role ) const +{ + cDebug() << "Data" << m_packages.count() << index.isValid() << ( index.isValid() ? index.row() : -1 ); + if ( !index.isValid() ) + { + return QVariant(); + } + int row = index.row(); + if ( row >= m_packages.count() || row < 0 ) + { + return QVariant(); + } + + if ( role == Qt::DisplayRole ) + { + return m_packages[ row ].name; + } + + return QVariant(); +} diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h new file mode 100644 index 000000000..c00e55c0a --- /dev/null +++ b/src/modules/packagechooser/PackageModel.h @@ -0,0 +1,62 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef PACKAGEMODEL_H +#define PACKAGEMODEL_H + +#include +#include +#include + +struct PackageItem +{ + QString id; + // TODO: may need more than one + QString package; + // TODO: name and description are localized + QString name; + QString description; + // TODO: may be more than one + // QPixmap screenshot; + + PackageItem(); + PackageItem( const QString& id, const QString& package, const QString& name, const QString& description ); + + // TODO: implement this + PackageItem fromAppStream( const QString& filename ); +}; + +using PackageList = QVector< PackageItem >; + +class PackageListModel : public QAbstractListModel +{ +public: + PackageListModel( PackageList&& items, QObject* parent ); + PackageListModel( QObject* parent ); + virtual ~PackageListModel(); + + void addPackage( PackageItem&& p ); + + int rowCount( const QModelIndex& index ) const override; + QVariant data( const QModelIndex& index, int role ) const override; + +private: + PackageList m_packages; +}; + +#endif From f8d159dfa49dbd820ed3a3945e0d46da4e953a61 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 15:32:14 +0200 Subject: [PATCH 102/626] [packagechooser] Massage layout a bit --- src/modules/packagechooser/page_package.ui | 91 ++++++++++++---------- 1 file changed, 49 insertions(+), 42 deletions(-) diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui index 18c2f81fd..1ba032ed2 100644 --- a/src/modules/packagechooser/page_package.ui +++ b/src/modules/packagechooser/page_package.ui @@ -1,58 +1,65 @@ PackageChooserPage - + 0 0 400 - 300 + 500 + + + 0 + 1 + + Form - - - - 9 - 19 - 341 - 261 - - - - - - - - - - - - TextLabel - - - - - - - TextLabel - - - - - - - TextLabel - - - - - - - + + + + + + + + 0 + 1 + + + + + + + + + + TextLabel + + + + + + + TextLabel + + + + + + + TextLabel + + + + + + + + From dc5cdbb38cad5206b03893beba169506529f507c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 16:07:47 +0200 Subject: [PATCH 103/626] [packagechooser] Update other parts of the window on selection --- .../packagechooser/PackageChooserPage.cpp | 44 ++++++++++++++----- .../packagechooser/PackageChooserPage.h | 5 ++- src/modules/packagechooser/PackageModel.cpp | 1 - src/modules/packagechooser/PackageModel.h | 9 +++- 4 files changed, 45 insertions(+), 14 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 215adeeef..a474e7536 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -28,29 +28,51 @@ PackageChooserPage::PackageChooserPage( QWidget* parent ) : QWidget( parent ) , ui( new Ui::PackageChooserPage ) + , m_introduction( QString(), + QString(), + tr( "Package Selection" ), + tr( "Please pick a product from the list. The selected product will be installed." ) ) { ui->setupUi( this ); CALAMARES_RETRANSLATE( updateLabels(); ) } +void +PackageChooserPage::currentChanged( const QModelIndex& index ) +{ + if ( !index.isValid() || !ui->products->selectionModel()->hasSelection() ) + { + ui->productName->setText( m_introduction.name ); + ui->productScreenshot->setPixmap( m_introduction.screenshot ); + ui->productDescription->setText( m_introduction.description ); + } + else + { + ui->productName->setText( QString::number( index.row() ) ); + ui->productScreenshot->hide(); + ui->productDescription->setText( "derp" ); + } +} + void PackageChooserPage::updateLabels() { - ui->productName->setText( QString() ); - ui->productScreenshot->hide(); - ui->productDescription->setText( tr( "Please pick a product from the list." ) ); + if ( ui && ui->products && ui->products->selectionModel() ) + { + currentChanged( ui->products->selectionModel()->currentIndex() ); + } + else + { + currentChanged( QModelIndex() ); + } } void PackageChooserPage::setModel( QAbstractItemModel* model ) { ui->products->setModel( model ); -} - -void -PackageChooserPage::currentChanged( const QModelIndex& current ) -{ - updateLabels(); - cDebug() << "Current updated to" << current.row(); - cDebug() << ui->products->model()->data( current, Qt::DisplayRole ); + connect( ui->products->selectionModel(), + &QItemSelectionModel::selectionChanged, + this, + &PackageChooserPage::updateLabels ); } diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index db5540312..031abad69 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -19,6 +19,8 @@ #ifndef PACKAGECHOOSERPAGE_H #define PACKAGECHOOSERPAGE_H +#include "PackageModel.h" + #include #include @@ -36,11 +38,12 @@ public: void setModel( QAbstractItemModel* model ); public slots: + void currentChanged( const QModelIndex& index ); void updateLabels(); - void currentChanged( const QModelIndex& current ); private: Ui::PackageChooserPage* ui; + PackageItem m_introduction; }; #endif // PACKAGECHOOSERPAGE_H diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 1f6346666..86e18aa88 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -73,7 +73,6 @@ PackageListModel::rowCount( const QModelIndex& index ) const QVariant PackageListModel::data( const QModelIndex& index, int role ) const { - cDebug() << "Data" << m_packages.count() << index.isValid() << ( index.isValid() ? index.row() : -1 ); if ( !index.isValid() ) { return QVariant(); diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index c00e55c0a..67715e197 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -21,6 +21,7 @@ #include #include +#include #include struct PackageItem @@ -32,9 +33,15 @@ struct PackageItem QString name; QString description; // TODO: may be more than one - // QPixmap screenshot; + QPixmap screenshot; + /// @brief Create blank PackageItem PackageItem(); + /** @brief Creates a PackageItem from given strings + * + * This constructor sets all the text members, + * but leaves the screenshot blank. Set that separately. + */ PackageItem( const QString& id, const QString& package, const QString& name, const QString& description ); // TODO: implement this From a32dcdad869d1544e46d6e7651d2768967e2983d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 16:25:26 +0200 Subject: [PATCH 104/626] [packagechooser] Support multiple selection modes --- .../packagechooser/PackageChooserPage.cpp | 12 ++++++- .../packagechooser/PackageChooserPage.h | 2 +- .../packagechooser/PackageChooserViewStep.cpp | 32 +++++++++++++++++-- .../packagechooser/PackageChooserViewStep.h | 3 ++ src/modules/packagechooser/PackageModel.h | 8 +++++ 5 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index a474e7536..307b1b861 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -25,7 +25,7 @@ #include -PackageChooserPage::PackageChooserPage( QWidget* parent ) +PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent ) : QWidget( parent ) , ui( new Ui::PackageChooserPage ) , m_introduction( QString(), @@ -35,6 +35,16 @@ PackageChooserPage::PackageChooserPage( QWidget* parent ) { ui->setupUi( this ); CALAMARES_RETRANSLATE( updateLabels(); ) + + switch( mode ) + { + case PackageChooserMode::Optional: + case PackageChooserMode::Exclusive: + ui->products->setSelectionMode( QAbstractItemView::SingleSelection ); + case PackageChooserMode::Multiple: + case PackageChooserMode::RequiredMultiple: + ui->products->setSelectionMode( QAbstractItemView::ExtendedSelection ); + } } void diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 031abad69..483fd5d0a 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -33,7 +33,7 @@ class PackageChooserPage : public QWidget { Q_OBJECT public: - explicit PackageChooserPage( QWidget* parent = nullptr ); + explicit PackageChooserPage( PackageChooserMode mode, QWidget* parent = nullptr ); void setModel( QAbstractItemModel* model ); diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 3ff2ac636..2a5cc8073 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -37,6 +37,7 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( nullptr ) , m_model( nullptr ) + , m_mode( PackageChooserMode::Optional ) { emit nextStatusChanged( false ); } @@ -64,7 +65,7 @@ PackageChooserViewStep::widget() { if ( !m_widget ) { - m_widget = new PackageChooserPage( nullptr ); + m_widget = new PackageChooserPage( m_mode, nullptr ); if ( m_model ) { hookupModel(); @@ -77,7 +78,34 @@ PackageChooserViewStep::widget() bool PackageChooserViewStep::isNextEnabled() const { - return true; + if ( !m_model ) + { + return false; + } + + if ( !m_widget ) + { + // No way to have changed anything + return true; + } + + switch( m_mode ) + { + case PackageChooserMode::Optional: + // zero or one + return false; + case PackageChooserMode::Exclusive: + // exactly one + return false; + case PackageChooserMode::Multiple: + // zero or more + return true; + case PackageChooserMode::RequiredMultiple: + // one or more + return false; + } + + NOTREACHED return true; } diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index 56fbf5d3a..ed33c3e46 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -23,6 +23,8 @@ #include "utils/PluginFactory.h" #include "viewpages/ViewStep.h" +#include "PackageModel.h" + #include #include #include @@ -59,6 +61,7 @@ private: PackageChooserPage* m_widget; PackageListModel* m_model; + PackageChooserMode m_mode; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 67715e197..6d150802f 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -24,6 +24,14 @@ #include #include +enum class PackageChooserMode +{ + Optional, // zero or one + Exclusive, // exactly one + Multiple, // zero or more + RequiredMultiple // one or more +}; + struct PackageItem { QString id; From 86e2e6242f999c79650d60d7d9cddffe5f666ec9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 16:26:10 +0200 Subject: [PATCH 105/626] [packagechooser] Warn about weird calling orders --- src/modules/packagechooser/PackageChooserViewStep.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 2a5cc8073..705958849 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -70,6 +70,10 @@ PackageChooserViewStep::widget() { hookupModel(); } + else + { + cWarning() << "PackageChooser Widget created before model."; + } } return m_widget; } From 2272d2ab430d866e21c4cd6291a212fbea56a2ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 16:43:10 +0200 Subject: [PATCH 106/626] [packagechooser] Add selection modes - Introduce different selection modes (most don't work yet) - Use model data in the main widget --- .../packagechooser/PackageChooserPage.cpp | 22 +++++++++------- .../packagechooser/PackageChooserViewStep.cpp | 26 +++++++++---------- src/modules/packagechooser/PackageModel.cpp | 10 ++++++- src/modules/packagechooser/PackageModel.h | 9 ++++++- 4 files changed, 42 insertions(+), 25 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 307b1b861..174f7efe1 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -36,14 +36,14 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent ui->setupUi( this ); CALAMARES_RETRANSLATE( updateLabels(); ) - switch( mode ) + switch ( mode ) { - case PackageChooserMode::Optional: - case PackageChooserMode::Exclusive: - ui->products->setSelectionMode( QAbstractItemView::SingleSelection ); - case PackageChooserMode::Multiple: - case PackageChooserMode::RequiredMultiple: - ui->products->setSelectionMode( QAbstractItemView::ExtendedSelection ); + case PackageChooserMode::Optional: + case PackageChooserMode::Exclusive: + ui->products->setSelectionMode( QAbstractItemView::SingleSelection ); + case PackageChooserMode::Multiple: + case PackageChooserMode::RequiredMultiple: + ui->products->setSelectionMode( QAbstractItemView::ExtendedSelection ); } } @@ -58,9 +58,11 @@ PackageChooserPage::currentChanged( const QModelIndex& index ) } else { - ui->productName->setText( QString::number( index.row() ) ); - ui->productScreenshot->hide(); - ui->productDescription->setText( "derp" ); + const auto* model = ui->products->model(); + + ui->productName->setText( model->data( index, PackageListModel::NameRole ).toString() ); + ui->productScreenshot->setPixmap( model->data( index, PackageListModel::ScreenshotRole ).value< QPixmap >() ); + ui->productDescription->setText( model->data( index, PackageListModel::DescriptionRole ).toString() ); } } diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 705958849..e125cdba4 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -93,20 +93,20 @@ PackageChooserViewStep::isNextEnabled() const return true; } - switch( m_mode ) + switch ( m_mode ) { - case PackageChooserMode::Optional: - // zero or one - return false; - case PackageChooserMode::Exclusive: - // exactly one - return false; - case PackageChooserMode::Multiple: - // zero or more - return true; - case PackageChooserMode::RequiredMultiple: - // one or more - return false; + case PackageChooserMode::Optional: + // zero or one + return false; + case PackageChooserMode::Exclusive: + // exactly one + return false; + case PackageChooserMode::Multiple: + // zero or more + return true; + case PackageChooserMode::RequiredMultiple: + // one or more + return false; } NOTREACHED return true; diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 86e18aa88..fc19fda47 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -83,10 +83,18 @@ PackageListModel::data( const QModelIndex& index, int role ) const return QVariant(); } - if ( role == Qt::DisplayRole ) + if ( role == Qt::DisplayRole /* Also PackageNameRole */ ) { return m_packages[ row ].name; } + else if ( role == DescriptionRole ) + { + return m_packages[ row ].description; + } + else if ( role == ScreenshotRole ) + { + return m_packages[ row ].screenshot; + } return QVariant(); } diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 6d150802f..61e2864a9 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -27,7 +27,7 @@ enum class PackageChooserMode { Optional, // zero or one - Exclusive, // exactly one + Exclusive, // exactly one Multiple, // zero or more RequiredMultiple // one or more }; @@ -70,6 +70,13 @@ public: int rowCount( const QModelIndex& index ) const override; QVariant data( const QModelIndex& index, int role ) const override; + enum Roles : int + { + NameRole = Qt::DisplayRole, + DescriptionRole = Qt::UserRole, + ScreenshotRole + }; + private: PackageList m_packages; }; From 7609546d8bebd96d037a1e8eb77c0dc779ca746d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 17:02:02 +0200 Subject: [PATCH 107/626] [packagechooser] Add screenshots for example --- src/modules/packagechooser/CMakeLists.txt | 2 ++ .../packagechooser/PackageChooserPage.cpp | 3 +++ src/modules/packagechooser/images/gnome.png | Bin 0 -> 5739 bytes src/modules/packagechooser/images/kde.png | Bin 0 -> 4678 bytes .../packagechooser/images/no-selection.png | Bin 0 -> 4618 bytes src/modules/packagechooser/packagechooser.qrc | 7 +++++++ 6 files changed, 12 insertions(+) create mode 100644 src/modules/packagechooser/images/gnome.png create mode 100644 src/modules/packagechooser/images/kde.png create mode 100644 src/modules/packagechooser/images/no-selection.png create mode 100644 src/modules/packagechooser/packagechooser.qrc diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index 525921602..483092800 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -7,6 +7,8 @@ calamares_add_plugin( packagechooser PackageChooserPage.cpp PackageChooserViewStep.cpp PackageModel.cpp + RESOURCES + packagechooser.qrc UI page_package.ui LINK_PRIVATE_LIBRARIES diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 174f7efe1..23d3b837b 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -33,6 +33,9 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent tr( "Package Selection" ), tr( "Please pick a product from the list. The selected product will be installed." ) ) { + m_introduction.screenshot = QPixmap( QStringLiteral( ":/images/no-selection.png" ) ); + cDebug() << m_introduction.screenshot; + ui->setupUi( this ); CALAMARES_RETRANSLATE( updateLabels(); ) diff --git a/src/modules/packagechooser/images/gnome.png b/src/modules/packagechooser/images/gnome.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f3901e14aeafc94babdf08bb5ffeb99af836a7 GIT binary patch literal 5739 zcmeI0XHb*hw#HwIfKnq!kzTDdK|s0z1Bi$esnU@m7>aZhkQO?Eq5=Yn2>3^O2^}O< zsY(egKnO*8@9plK^Xc6C`F^=`XOc-~&s+9hd#&gBtsVL3p&IRl%NHOBqSa7W)rBAu z@RtOlq5wZn+;i=~&v{pM;};M_*G&A9B;BB6hahH74b{8)KA%=_uUwhzIVsoIR_m@* zX^N}~p64Z(3(aoMy(h-h!4t#O8D`QKHN^Wh#sqPlif_=%S&icdpKKYYXO`^H{l^|3 zE2J#1>*_kfNVDEar}Ajg+-dh$Z<=-A+eZngTod)Js+-?UU$eJ6vkV`bT&o%naPfB8 zGuEQwRaU+K=c%-^>ZTYJ!PE-z=(3Upsaw%Nd|~4MTLX4UIOxPeQ#fz+2ks5j4dOMb$GPeHYXpi7zadf#SO%9cwp03lNcmFPOt-8b zy!lz*?A2@6BEefnift%|3N7M){=5s;5sJaX8Vs;BHOlw+OXYLYllE|znqfxp(hg*z%Y9HvV{d zzQnh0Y1svPGn^X=olMc^Uuv@E+t{O5T+UsP~Ru{yo;Mbt6%l* z-PcqojBaa@=h9Hb%3<7Gs@qt_bKO?CnXlX@e?P+gZ$@|9F+P3zRJYB^PMjTTX=#BS zy?KzKsIYi~#bTp_gM)LC$10s!8gHAcUd(4I+VO@Ol{qB1Rz1<-EbN@U2y*rPE%Vao z4#=p~PD{1nuCr9C5gKWx-}cDZ_)g{vX2i|vg6O0hh6vAEIMqfoqc&?m0Ra&`w!)k$ z^*rkEW4Fj$0EM%YlZt@>GyKaVRczjp?C987!lzFhzjr3u`mKs>ki_SEvtL491H zrv8n^vXrM_-DT5=`QztTUB=ZVG`D(ge;`Nk(nc&d)Pxsf7B*qp*fH-tJvqX=%4F&; zA)KYyPY-$n5&07*dz0LQjaBK&JV8fm4HnPn?HKh)iv0JGpA=t>7VR{g?2h^D3>wm! zp1mox??ueOGd8FwLUIcWj+%Uu_q|x+EfmI(o0q3zW|lUf*d>rnYT5Z-`0wAp zV$LUNX=%eHPou4t8mi;EaDfmjE32}Dr#COE*3{rr+6z6l#Z>q%BF>5lO-K5a=qHt0X2(pGV4a72^($PYDgqfe^F3KsCE1f zgu=kesq4E$>_~YeBqXl0N8^z3qvL*g2Kh~+7mWd z&8)L&H{ra&s7S^uzy2KTe|_UP=i;FXnr0*CKpi;IOW2*&-UA3W@`>NE$Zc;q3)oqi;dR9L|@+ZVxQxcdtFdr-^-N%@?cn6<^KIB zV%|Qb*BclZi0JC-a?|ok1fDVBL!cc|fx)TV_SdZv-oF<*N#zbw*V4M=>FHTAd6Afb zKv0ZJ?bvql9~Jy7mhp9Jo}T4EYuVC|8W%h+cy4Qt&Fp&eaAS7T2+`$+YAbW7C2g$e2+4rV%ZmBY+ zWPd3tVmLe9Yv3Q}#62)JW~1Yhj{shSaWc*~=t{XwU0Ao9f-j%ed2mAGb6czbk%dLP zpyvCSh5Hhz-Qn7ShyCOGf<7lZ*o~5{r-Kp zws!BjTXz3KXdB_@H_Z?0RlTq1Owq{Ls-^zNo-^$*eSQ7URaJNRP~=E7`@zA%K5i`l zwa}lV_F1JoSqLid0$x^ov|59Ct2i?|%d4cs?Tz#NFw^rF5wMeIfybk`TN@i8;Jdj! zOAaaFF)=g(LPFDON{6u3nl(i-xyRAh$b!0@j&@guE1t7Y_$>(oxgrm_`?s2omz;u< z@{8l;o6OYkFAPsaSZd8h-;0=C$mm7I2Obkj#^U8@pu{WPtk~Tkx71^Cnp#LnhlrXKwM>li?KF?;E=wCL@erK z>gyG^cXt8xSf3sr5UK5t~N}@ zr=(mS7#yT^`Flk>UDeA=>Q8?^sH)#%W6_{uWI)Qxd5dK3pmv$u-Q8UeHlKnGXtFN; zj7GDptgKW5cOueIW+oqSX-;5JaZ5|P-mBx0y#c$Wn6n{CTG85dQX)MR=WWHdiAMiWqpFBLPEz1l)aEQ_vWywnBSMHSt0>o`JG?9__+K(=e5!v=2W`kgO@ARVp&Mpco?WYXJ(RC7uaCJX)Ap; z_yEu7bH9fzfpP$!-Q|&x^Nd0~a&qiIA~I~zx19krd`%gW=jA0at#B4E;s=S!=K!#M zYrYo+L<%6UAr&v*X$;0^cJGKNkpP8$n4%vZ7IGFgoF3-(bZqbJe96vkZH%Mg^Jft- z{{d{rAw??Fp2fB5;MTSxaYZ)lwuD>>-YIURMtx~ zPH5m%p%|+X;pBzI-8BSXlTPV1__YfFh&)+b%;BB>oJEY#sQn zhu=Ero19ddn`ikG8wTeEzF6WMyUFeE1-}h@G9C{gR*G9TXRXfmpxEtyYq0E9|`6 zeye}|0y(MA;X)250A~lzLTvQz?ygQlL0uiEqoX5*hb_khtqi=buCBekT{$qYVcFmv zGZpzd&=!8sxa8;Ohs(eA*_`RX7&^uw)YMQ5tM6vG8mR_`hMEW)u7r4AaI3nyy0V#> zSu<9_cXLKO%|#~gRGy4yqIUa_=G7ZF2qPz~0-=q>eExN#P}QRjjq_rUijD>er8JG5 znV)R+WH|)7{dO&6~5GzUM4xsL4t9yX+N1R8VyHJnDe_qwqU^YR6}F=Aw$5 z3Gu3BD2FLrkn|%{)9B4jcMosxPGlIOamCB#?DT}#^0Xfw2PlE2Lu&f%>yC~NfTGek z4dqpm@kZdGRU4`5+S>Gr80YN0LW){cOEN$Bo z3>|}`qfx(p{ffwU0U8dtR{G={QU5sT2rLcz_nH?GjPxW0ZeWXmyx?jX<*)VtHS9qj#{9(lyq9wF<@F5J^izV~KAHgPGX_ySM92r-h1) zZuae*xkwQSXQ!2344NQR&8K5pqFJ7z?-B<7{0Zii^HTLl8yp<0^jNrPP-q_O@{+(# z{10S>&qRfSi}cCU)$uAKATLW@C7tU|MJ+Bq8+qO=PtkY@9)UNLyQQSn@3S#PwayrL zPfLpya0<8(?qSvj_}CT=+hTA&Y? zj7D=SM#55njnxi+l^%OAKl#_8v9VWl9?BNFicFQ@jg+D_lKm{3joSRR)`;rgGxmKl>&)c06N(au*DmOscutuf?#0R9e_O4`fkZQ zH=+R+3S?6mbotV!ZqqrwO#kHN6}u4-6B0ZLIAoi5{TAox5I3(pIco@5($s58uEyVA z)$YU^z581o_veo;pg1zU><00=H-i0Q@8-Ca!~11S>*oZ0)uQDTVSo4h26Zb}46K!`25* zBWgIm%X86#3S1B2K86GZ1;N8ElPL#dQ1muLsw#J4Nl8s51oT=ugil08UHD;COv-)O zhq6Vh8j3;I#OQ1c=xO7>eJ~H6TthLCrer6Ju!j2q;~yCr0lhiQAm60L<$$#nin!}i zyFqcf-=>tAolUV;yF~|_)Oy!W05pU%GqyzJ^`3ks4Gv4f*(B`RkTp2waWcB-uoW_`2Pd{3B>=G<56@*V%BsHyKKUj4^EFEje8GO J3*eT){{=a!jIsa# literal 0 HcmV?d00001 diff --git a/src/modules/packagechooser/images/kde.png b/src/modules/packagechooser/images/kde.png new file mode 100644 index 0000000000000000000000000000000000000000..02f3e70ea21282afa79d367f05d602c33cb5ddd3 GIT binary patch literal 4678 zcmds5`8(9%*M7z@p)riDu_Q}mvM*V(O`$9)dka(c>?9;vMwVpCGKf-5WDD6^F!m-C z%34CUB!rA4vc8Y+`!9UoU*5T{xn{2C^DO5%=RWtj&*!%J>60Ang6seQ4r3z&O8^k? zF9NWl;E#Pkp&R^R^EWzw6#&fJ-7g|t1|tLjcFow}n03g*g^?THsh?47fb*{C5V<;^pPzI;P%4bLvXdcq;*tByU$6EO#PN_;y?z zDlIK-{QLXV98>XBCBO<8e~0}hYo;ITyShpOQGW6Sol}q3p6~vLRs~e{A!-d^h#bnNfcRvMEL4r1^ylo))eyNB*6# z)Ov>lm|Oa{fwZiwfv>N;Q^mR3iwEwWs0dkdN-Y+*_%39;AUY{Y5Kl?g1-4}u?GMeU0eyRU;9Q@I8~Tn zU=@Jvo?DSx!Mm|!eTXv<7o*+bH+!go9gE!2ktfpnC!D`eO-(E|?x>X?rbLAu$otQ! zia1{4aWaZiA-Hzw{UItY!k+u&dyu@uJ$}#57fWQaEjbspG}%_Q zcCHNT>E%`7-Xm_6Xy&8{(Br|iJ@q%PWgn?q|5==Q#LM=U@3Q36{Crg7=5O+|Y0)`p z0Z@6RcI5Z~_`SSb5jbmUUl-Ez=c=JNmY0_|GeV>?j#7(o%|d)x2zEp$x_67F-Mc4P z**kVoD|o)Cg}e`oxh1D{=zg>cK&q;#v9pmLJ`|oGuIlP-9-Dufq+7Z9&_!F4%8ZUZ zK5(Rr>-|(fc1{k{`Sa)RJzQK{nwuq@YQ$V{)TL!t3by3E-NmA#P?@)>(aXhHM}=eC&7$6C#mflJ?WJ9Voh zy@<__&CTVm!lEMO6>XoTe_=Qcf6?GyU-2(7${1u5sHv&R-+!ZtgwP0ED`zZpH9K%k zwk5R{*%a??WC=H-F_#Z|&kVjOm}oOQ$UW1Ww^uwRo}r5z930$*-)PvfS$0tJQW_fE z578E(Dr$}aMU$308e8&uLh(91l0I{d&`E| zR&5g?Bz#+{7DFgHx1vkVzi9n466SN|=%bmTS2B$_YaTR-_tU3OdBVWC^-gnHtsmiWLrTkB&@H8B8yEfD&pQ|DmgP&1}^P= z9$nIMgv1*ZXzDG?uP@E}2C_#C=eEDbooQ<1 zGfK>*V>or!fK~n}ERmh<$#*p2Pqflmlh=G-^3AdoLl_QtRHU1ml$zgYXLFg7NmAZ z5Cywg2AwYqoqzr_7}~%w3N48P(T`Fgmx?gKNR>C0TIK?u6W4s-4h|)D(TXYX@ z;xO?h))E~72@JUhlR5M}zP|txOaNQ*qetQYx~vLLx5RM>#YA4(bxd%u+DED$G~Y6s zf)MRMiyk_(2PitdWt|_bw+pHDO=^pd*jmrd%{6e}pNo-167C5!nW>M&T&xexuB#K~ z;NUp!^}fCRjXtMNj9=rHEu6(KxeswQAi&(hLX3vicyt;vfJsH~PQTTeiLKSKeHZpT zJNaIK)Q3MgxD;X^$i{k$o~iC9l7EIOPvf;r7M8#pSC$~+f2?jSLAG<~FSN)p6*I&` zMuMX*F9yr6EnfWdYs4-PpR2fQk14>;2WuVA<~n@%FfJxdS#pPEHk56ADa3zcp=$C? z>|Wtb7gos~zF7?D;LGvMIg#W4jMuZaX2u*AUV+*f9?d+iOumL~xBD=;NNgw|Z0 zc7oZLW16j+`~BoIc@+{tlyt=Fv%~zCirvAy??%01Kp3+pcws0OI_S21Y;Pt-0xuz< zAIO$pF}%Ro*eWb6By~)26ES(3k^`VO2(?SQReqPOZEXV>sggKAfs=5$VHy|_ZCJp2 zS&;;$Y;)E#+DptZr={S?9SS1(v=@Llx%#8Cxze=*MqAMG_fu6Olcy}dptp;34)U@HF0>IqB<4&)dh$MwqO zy(!@P#l#$a3==_lT!|39Vbuw9-|=Vvvz!i5npn+A3mI!x5{-7$`)f5;Z+q?OjAi@< z$yI63*uL4A4{kif6ItRZti#t+`qMbT;AQaP!Gi}32Az{EA6;nZc_+t9Ll`3obzt|G zFY!4!;$eRWFYg+i2#s!+B)n*EH>vy6YpM~sT?aQVeFMske0=0!9!Sy9ImOaKpr{04 z{|q7;iWPn$s>k)`UGc&tQFBwMED+5PD&;u%_+p zra<=7UY~giuVSeJtm~QG`N=Ki&TW_yyQQjK+EIj~ zMhCfZ$}aIU%DVxJf_L&?V>otF^)A6xcnHT8!zLLU8ym;%&40T^1}@V#K@n)3;KAMRWZy4@7y}1j6vJWg&J&(QBQmKv!)Fub%HKW8`_$84|B?5$?pdi3z?VG=YeD>+&ep`z@by z$2~8o3L0t%pU~Hj&TivCMSp1s*IHj)Oe!gn-BmkD)Wf&vQSPejRl{;HJ$c$c0$B6^ zQ#hsNpAKx&yx0n5Nbx#xl7#bSB>*(Mivg1z=0)GwR{7$COzw@^t(1|N5 z86B=`q54I%;DrR0%OB(Aqj?LyO9If>AUNOu%xYk(q`aJ~*`YgaIS6{Y`K3pnLB_EJ zXJAjCTlqHA^YrYNclVQHnJSktm6esJG%ug*|Mba`9>?J=dK~WvXHEEzcW3JlY=!-u z9}F3f+LN4;;@Ey&3%XU>rX58(uY-VE?FwVOnLn~BXwH_I31Rhd*aEJ8X08T0A0Xa3 zDM4xfa(zSR#^0vt<@*7@5}`v(Vk;32ZfBps`t)kORzxRsJaT7)YR$=35ycvm2A_RK z1F#KoEVLcbo`&!B5p+Ugf3mtFn>qyuvix+Y+5FZX*c96uS9!!kQ_e$E?tjp#yXZ&0 z##9Qcd8F|t0|lg+urZmR>xdeTG~pD+#W0)Xs`AtY-kXH zA_d};1*VtVnR+srJiIkzNamk-J?xwMLx}8LfqU&Y_7NrCFXgI^Tv-?%=r8O4HCnIL z-qDd7n&h1o2XQ&{Mt~r58dlIhH(Z8Q-@?iKD1r=A6ruJPv%T@_{~YgQ0gvB~Ak>bG zmTDmeC_a7WHa2{t;j2U|g$yGiyvv{p$z65mXa1Ad?_PRHKP-DIM5_p2t8gt zzM!?O9CeP}?gxkd)^|p4!9Uqz-AWCVWI92G(@0da&B z*?-1zaCg3>@y8lh#Pe3|>OG{nSRHzEjSGv5>2qa`zV9`SeRj_$lbRxnXP)_1ymIO@ zhgzuIk#25jd9$ox-Q)p_5rqmv)S?$qH9V3HFQDwzXD-S`fSp!F#8&A1*BYMi^*>6R z!fB&8pw2~ZL9>CU>KxbWFG9^I3v~}9=*b@kek!7xIQskh9TrFHL*?fKabit%hbQsc0_la`iNERpKX(jJkexY&TS z^mKvHx{=yzhv2<&=$tcDUD!rRqR==8cR2%?nk7HqE<-se*g!AS$%@;I&>EAaxxEmBQnN4LOkZ21jjYh%zNUG*G;dyzWK&dJd}X`|VU<`9vm)?kKO2Og zejK_vflnrPPW9C6T|_tR*HWx+l)DhC{SmRTvDG`<8)jO2EWFZu*xX!q>h1jM(>G@E za?kK4m=N;h}{P@1eAU$y9xRTi1*-t zoV%yz@ngpj5T8oH^XFh@D*@1%SMx2iT+XW#SkzyJZ(^V+~MZ`0KaA_JOBUy literal 0 HcmV?d00001 diff --git a/src/modules/packagechooser/images/no-selection.png b/src/modules/packagechooser/images/no-selection.png new file mode 100644 index 0000000000000000000000000000000000000000..f9dbbbac45d0b03667f66be54664fdc5dce71983 GIT binary patch literal 4618 zcmdUz`9IX_-^Z`d3}Xx?OF4F<(?XW0oJca3?4d~|q!E>jecxwDp#^n>BZPfr!@*sl;kBG`?sSKf7Y!|h>s$r}K4^Y;gOERPlkK%mA*Punsel`($FTihU# zllHrbqLrb^qGx^Q&W^vNP?;g@{A0>V#|uyb_uB-U1HR0!62~x6B2Z&YldXFS&KMGS z;Yi)$^VY5ZxBtsPhczBf;?0q8w^zN#F=-m$gA37{ES+KB3FILUi zH-cW#k(v3gTebJ4jV-}6F5WxTRBouXlOv=2C@4@ZZgGk08Za<&dE=!;qdxEkRhC;H&E?~_&HV@1!I z2Bg5#4Rr~4^mZ?Ig48| zyoGCT?4mWvUz3D6n#xQb<2;%AODTjmb)^j^Gb*)1pBldyr`Q^YzFbxeD&@lS($chN z6p_hb`%N6@14eRGAgo9@Ut4H-falatL%s7lo}MvVErb3A_~?I+C)vN zOp~2gtieiJlTtvZ%CFOVy_AgXK!Gl4|K!cP0m-ndkJhyoZ3 zp2HjjaY|M?ErCV>DG_A!V)^*!&{Sc=u*L#cobF1roHv^GtV7fn$v^L2x-9WIAT}CR zUEY<6YB@3QQ_)wuF;3NpTEwP10bo zYOH%&;a@`z7sX$y(4R_nbv0&m{h^>TRnwpTh`h!+Qw}G8P}5IMirnwm+$=+m^4H{2 zz8&2sxTJg-dG-njxKS)F5!+r4KuwV@U@F|_#K~FV8UtejQiYKVlVN>@U@rAdU#~st zb1$5K0};da8p(Fl0`p5Vve}A1t7gZOibKsi8|Im0(c|a(H99lXAIrL?Rd?|PWLw4? zYr6^A(Hjo6yQMSaI8_E8Kianu%D)HroL$%3-I-~2XYCYO{gy3CDmS|F-RAnlq}x!F z*scA86X%?w@)E7O&$qd3awvo5LwQfKp2vHn{FqcXCIq%M3^p< zRCT7Ji6$9ajovvCTdW+d;$Xcuy~-+|=7Ged)BstmHe{^b5Y&6-2HegcKDstn5MD0q zz?{6SNs+>hqu5#kQekE$&AaCp%dIb}qWTg!We>&*HEg9qTw{z8B%vRd(6Of4 zdcO~6j!2)4?!)EFrRg^IqRDe1J3b}So)GqN<%u1l$jQYu%~R4rW6a>xnP_kMg2K~Id=-ItNr>hqR;l=x4KkV7%@fQT-cz7 zVJe*8+zOQZLGe1jZuaRA7NVIJ-YBO_qIILTLgTulAek9ge|)rPt{iP$7&SyK8o6-r zRp_2f2gn}6J}HYMx;=i_;-<}1FovYeAQM9@wAnRTL4Rnhc`$zT;~}}BX9HsSayJ{< z(EyNvnmqip+He(w%8>7l`o7)$O<4bG^u(o3R~8Yyn!mW$R04r)0sPLI=##f2-C~Pd zO2nWSgQiZWb?$U!Eq`C+T=fsfxKd}TY?MpyYNw(SO#Fb0H^gM=YzJ0KveI;FLXyul z27XRDGFdpo+MJ!RQ6nf#+7sS^2h1y#&Ki%1AtO-6$ZuSD3$FtEVyly1qnqYDB{X~n z9hT5hJyXhlbG5g_M;3Xk2wabBc|qpj6gj6KrRDeH2CPQa@EXYiK};gc;H@Y&yp%DYKVfgBbe#K= zO*fQ<{kT)J7*KY7!(NV()eo?gpK&JEvNNmwl=BLpq#W#lYo0Xd>}Jd4!d>1Og1Zalz&#!nHN|)YeL|b2t6i86nlRHRhat z_}NPI5^n3^hEg;iU<`I>&+^-wDlV#&ZxZRg_@;rO;YwEne63`j%R%nbWg##!d*5mF z-m|6>QKAQv%JLhEi>f(-nI84|Z*)TQMM^HqpIUZSX0K$#K(C#zS9gZr*3&C|7nDn? zp&j4jjmfLVpQCd}2CAVz)num+unbxt#8b$r4ain-g3`rXg{|QlSIoB{Y^Sg8`x3p* zLd#)6f+9JA=k>-q^P}{lm*CRO6#;EqU~vuj4E7Tms#fn72b~$VUtk}-&rAA9xun$a z!?~PS%pmh~%_SvI!X1g50}cRr-W+bt%L>{*{L#6%ltaXHTp+odb9Vm+Pn0T{A*t)x z@n!)yR^hKSM2#)q;H2`V_3mRsuJzuAYTW{rczM)jzY_1H6!^*xQO#;Gmz4^wl?|V~ zgRpKB*88VP!*7W>41F3y{<<*7S$1&rF9)%U7_lXGT9P(jJ+ZV5>y&Z7c&pY&1sM!p ztAOkyrMrjUmrIfB(mB38t$yXVo)n}yEFmam#;n{*wsl}q^-^>IRyh= zh56U`@-9AJDgWx1O01knk)t2{RGjpUIaTCCm`gRXP9q4NFB3fMd|q^vR6a95NE;oG zf}Vf$QXLjNa(!QRV}8Rv2O#^`W${HqPDZK;SAk9y+cH4P~WQI!@ch<6a)!a=kz; zh3iNztZ9~pSdBF{l-(k|rq+wALJgGgPdEI|3(R?>(_*`h+l=^*gvgDW^sFlGo*m^)w-{m zakHe>7hz{i^a4IIAMx&mlR8LP{gJm3;tumEVQ(qIw4~IeVKn#tR9zjz%C7z2ZWV1k zdvC$Nn_moYWQ_CR6Z^xKhyGyIvCq;+`wv7`B=U8iL>I8bC9m|5$K^r7wFc|JVjC|d z!yK1V*pVW{Zu9G)z;~gpZo=pf%lC<_ggS`WF0Tr83=BByPGKWO6140t)@ zdaMZEOMR9-Ud;73Xn5+9g6VOW|u43a_;v36O0Q)L+b-#C(7Aw#}<53Kk* zsav#2{R2zdQ{cmiJ4*!^*(B&w;oA!WC8d&?XQDO#rj~Xw7%kBJ%%&ikr6!gLpfwO} z`JG}8I3q1c7n&GV>EaimIo0DY5!H3Vrc0~%1?YbmC^=7^RCLp-B~#i!x7vQ!-$3-? z4(R?fLcU(?{`TFWB1C>E)FDq?p8a2{VxGW3dK^og3rn3Ec}%+)*Zb4dKwVP4FPT0{ z(sTbj`%&u;*PmMdO<2hl*T}A)b}68YsYM~@Z7&>Ri~lbKV~h8oTPs&es%@TqNqI2+ zTk}6X5|aYA;&P^hx+x%asGmm0Nu*&T@N*~u>2bS*wBlb=!Xf)g^3^{UAforW$6+q@ z0Fmg4Kg*fz#R>Ur?_Rk zSM;?WC6+b)P}s}|DXjt%4bir1*q~~YYPqDUN3bUXKZXjaa%@!jiFZWwtsnaM^_k_r zmIDCFS|L3@Ejw;%uAUjR?et_<05xev_osK+fmC$dg?pTQS}Qrx@8_)F0hap-yyE^? zSwt+u5z}Mia$0+c82OvbPsg|*EnXeKur6DVqJN0_U6n(YaE1(X7$sWtJbcFVCEU&{ z$ZdP+3^(3)2%u2$M~%(eRI-{$62jB*6I(ewQLA6LG=8}!0XM!YtDZTn@Wtvy9>}|y zcGgR;T|k|4TJ2W@1gJf8C!cZfbV4ej`YH(VumO$*&y?+anpRc#QE?Xxvv@ zL@cz1fA2A2Ur(P*ee>R*{gra^JA*qY`$*|B%MD^6{M`(513Avh-P2=I6z?piePOsN xBVY5l{veK&2QXRX_CK=1zjxaI)n&&PvHiG~mG*{#Gy8G}7@aoLd#Qtu_z$sg6Py45 literal 0 HcmV?d00001 diff --git a/src/modules/packagechooser/packagechooser.qrc b/src/modules/packagechooser/packagechooser.qrc new file mode 100644 index 000000000..9212c2f93 --- /dev/null +++ b/src/modules/packagechooser/packagechooser.qrc @@ -0,0 +1,7 @@ + + + images/no-selection.png + images/kde.png + images/gnome.png + + From 86d8db6bbf92e77981532d9409a685b953711fe3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 17:06:03 +0200 Subject: [PATCH 108/626] [packagechooser] Enforce selection mode on the next-button --- .../packagechooser/PackageChooserPage.cpp | 7 +++++++ .../packagechooser/PackageChooserPage.h | 5 +++++ .../packagechooser/PackageChooserViewStep.cpp | 18 +++++++++--------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 23d3b837b..f0f7cb04c 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -80,6 +80,7 @@ PackageChooserPage::updateLabels() { currentChanged( QModelIndex() ); } + emit selectionChanged(); } void @@ -91,3 +92,9 @@ PackageChooserPage::setModel( QAbstractItemModel* model ) this, &PackageChooserPage::updateLabels ); } + +bool +PackageChooserPage::hasSelection() const +{ + return ui && ui->products && ui->products->selectionModel() && ui->products->selectionModel()->hasSelection(); +} diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 483fd5d0a..8f9fde11f 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -37,10 +37,15 @@ public: void setModel( QAbstractItemModel* model ); + bool hasSelection() const; + public slots: void currentChanged( const QModelIndex& index ); void updateLabels(); +signals: + void selectionChanged(); + private: Ui::PackageChooserPage* ui; PackageItem m_introduction; diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index e125cdba4..1379f5dd6 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -37,7 +37,7 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( nullptr ) , m_model( nullptr ) - , m_mode( PackageChooserMode::Optional ) + , m_mode( PackageChooserMode::Exclusive ) { emit nextStatusChanged( false ); } @@ -66,6 +66,10 @@ PackageChooserViewStep::widget() if ( !m_widget ) { m_widget = new PackageChooserPage( m_mode, nullptr ); + connect( m_widget, &PackageChooserPage::selectionChanged, [=]() { + emit nextStatusChanged( this->isNextEnabled() ); + } ); + if ( m_model ) { hookupModel(); @@ -96,17 +100,13 @@ PackageChooserViewStep::isNextEnabled() const switch ( m_mode ) { case PackageChooserMode::Optional: - // zero or one - return false; - case PackageChooserMode::Exclusive: - // exactly one - return false; case PackageChooserMode::Multiple: - // zero or more + // zero or one OR zero or more return true; + case PackageChooserMode::Exclusive: case PackageChooserMode::RequiredMultiple: - // one or more - return false; + // exactly one OR one or more + return m_widget->hasSelection(); } NOTREACHED return true; From ab7374628b9eed73650c0b6260b155499e6fe2cd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 17:17:53 +0200 Subject: [PATCH 109/626] [packagechooser] Use sample screenshots --- .../packagechooser/PackageChooserViewStep.cpp | 4 ++-- src/modules/packagechooser/PackageModel.cpp | 13 +++++++++++++ src/modules/packagechooser/PackageModel.h | 6 ++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 1379f5dd6..9b3c174da 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -155,9 +155,9 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap { m_model = new PackageListModel( nullptr ); - m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop" } ); + m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop", ":/images/kde.png" } ); m_model->addPackage( - PackageItem { "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop" } ); + PackageItem { "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop", ":/images/gnome.png" } ); if ( m_widget ) diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index fc19fda47..7798b33bd 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -40,6 +40,19 @@ PackageItem::PackageItem( const QString& a_id, { } +PackageItem::PackageItem( const QString& a_id, + const QString& a_package, + const QString& a_name, + const QString& a_description, + const QString& screenshotPath ) + : id( a_id ) + , package( a_package ) + , name( a_name ) + , description( a_description ) + , screenshot( screenshotPath ) +{ +} + PackageListModel::PackageListModel( QObject* parent ) : QAbstractListModel( parent ) diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 61e2864a9..7db668df4 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -52,6 +52,12 @@ struct PackageItem */ PackageItem( const QString& id, const QString& package, const QString& name, const QString& description ); + PackageItem( const QString& id, + const QString& package, + const QString& name, + const QString& description, + const QString& screenshotPath ); + // TODO: implement this PackageItem fromAppStream( const QString& filename ); }; From 9d026862a87748d3caeeabd88be92c8c981e10e6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 23:20:45 +0200 Subject: [PATCH 110/626] [packagechooser] Provide names for selection mode --- src/modules/packagechooser/PackageModel.cpp | 20 ++++++++++++++++++++ src/modules/packagechooser/PackageModel.h | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 7798b33bd..3546d9e42 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -20,6 +20,26 @@ #include "utils/Logger.h" +const NamedEnumTable< PackageChooserMode >& +roleNames() +{ + static const NamedEnumTable< PackageChooserMode > names { + { "optional", PackageChooserMode::Optional }, + { "exclusive", PackageChooserMode::Exclusive }, + { "multiple", PackageChooserMode::Multiple }, + { "requiredmultiple", + PackageChooserMode::RequiredMultiple }, + // and a bunch of aliases + { "zero-or-one", PackageChooserMode::Optional }, + { "radio", PackageChooserMode::Exclusive }, + { "one", PackageChooserMode::Exclusive }, + { "set", PackageChooserMode::Multiple }, + { "zero-or-more", PackageChooserMode::Multiple }, + { "required", PackageChooserMode::RequiredMultiple }, + { "one-or-more", PackageChooserMode::RequiredMultiple } }; + return names; +} + PackageItem PackageItem::fromAppStream( const QString& filename ) { diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 7db668df4..ed5ac4b24 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -19,6 +19,8 @@ #ifndef PACKAGEMODEL_H #define PACKAGEMODEL_H +#include "utils/NamedEnum.h" + #include #include #include @@ -32,6 +34,8 @@ enum class PackageChooserMode RequiredMultiple // one or more }; +const NamedEnumTable< PackageChooserMode >& roleNames(); + struct PackageItem { QString id; From fb3204262c596343a1bea200fc7af0d8555c3b44 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 2 Aug 2019 23:24:35 +0200 Subject: [PATCH 111/626] [packagechooser] Remove unneeded forward declaration --- src/modules/packagechooser/PackageChooserViewStep.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index ed33c3e46..3947298ba 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -30,7 +30,6 @@ #include class PackageChooserPage; -class PackageListModel; class PLUGINDLLEXPORT PackageChooserViewStep : public Calamares::ViewStep { From 042852218f53dbf491a68c75f9e727d3a66e2f2d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 14:52:38 +0200 Subject: [PATCH 112/626] [license] Apply current coding style --- src/modules/license/LicensePage.cpp | 80 +++++++++++++------------ src/modules/license/LicensePage.h | 4 +- src/modules/license/LicenseViewStep.cpp | 18 +++--- src/modules/license/LicenseViewStep.h | 4 +- src/modules/license/LicenseWidget.cpp | 65 ++++++++++---------- src/modules/license/LicenseWidget.h | 4 +- 6 files changed, 89 insertions(+), 86 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 3c241e467..2cc025f83 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -21,11 +21,11 @@ #include "LicensePage.h" -#include "ui_LicensePage.h" #include "LicenseWidget.h" +#include "ui_LicensePage.h" -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" #include "ViewManager.h" #include "utils/CalamaresUtilsGui.h" @@ -36,10 +36,10 @@ #include #include +#include #include #include #include -#include #include #include @@ -47,11 +47,11 @@ const NamedEnumTable< LicenseEntry::Type >& LicenseEntry::typeNames() { - static const NamedEnumTable< LicenseEntry::Type > names{ - { QStringLiteral( "software" ), LicenseEntry::Type::Software}, + static const NamedEnumTable< LicenseEntry::Type > names { + { QStringLiteral( "software" ), LicenseEntry::Type::Software }, { QStringLiteral( "driver" ), LicenseEntry::Type::Driver }, { QStringLiteral( "gpudriver" ), LicenseEntry::Type::GpuDriver }, - { QStringLiteral( "browserplugin" ), LicenseEntry::Type::BrowserPlugin}, + { QStringLiteral( "browserplugin" ), LicenseEntry::Type::BrowserPlugin }, { QStringLiteral( "codec" ), LicenseEntry::Type::Codec }, { QStringLiteral( "package" ), LicenseEntry::Type::Package } }; @@ -59,10 +59,12 @@ LicenseEntry::typeNames() return names; } -LicenseEntry::LicenseEntry(const QVariantMap& conf) +LicenseEntry::LicenseEntry( const QVariantMap& conf ) { if ( !conf.contains( "id" ) || !conf.contains( "name" ) || !conf.contains( "url" ) ) + { return; + } m_id = conf[ "id" ].toString(); m_prettyName = conf[ "name" ].toString(); @@ -75,7 +77,9 @@ LicenseEntry::LicenseEntry(const QVariantMap& conf) QString typeString = conf.value( "type", "software" ).toString(); m_type = typeNames().find( typeString, ok ); if ( !ok ) + { cWarning() << "License entry" << m_id << "has unknown type" << typeString << "(using 'software')"; + } } bool @@ -85,7 +89,7 @@ LicenseEntry::isLocal() const } -LicensePage::LicensePage(QWidget *parent) +LicensePage::LicensePage( QWidget* parent ) : QWidget( parent ) , m_isNextEnabled( false ) , m_allLicensesOptional( false ) @@ -119,9 +123,7 @@ LicensePage::LicensePage(QWidget *parent) connect( ui->acceptCheckBox, &QCheckBox::toggled, this, &LicensePage::checkAcceptance ); - CALAMARES_RETRANSLATE( - ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); - ) + CALAMARES_RETRANSLATE( ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); ) } @@ -132,41 +134,40 @@ LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) m_entries.clear(); m_entries.reserve( entriesList.count() ); - const bool required = std::any_of( entriesList.cbegin(), entriesList.cend(), []( const LicenseEntry& e ){ return e.m_required; }); + const bool required + = std::any_of( entriesList.cbegin(), entriesList.cend(), []( const LicenseEntry& e ) { return e.m_required; } ); if ( entriesList.isEmpty() ) + { m_allLicensesOptional = true; + } else + { m_allLicensesOptional = !required; + } checkAcceptance( false ); - CALAMARES_RETRANSLATE( - if ( required ) - { - ui->mainText->setText( tr( "

License Agreement

" - "This setup procedure will install proprietary " - "software that is subject to licensing terms." ) ); - ui->additionalText->setText( tr( "Please review the End User License " - "Agreements (EULAs) above.
" - "If you do not agree with the terms, the setup procedure cannot continue." ) ); - } - else - { - ui->mainText->setText( tr( "

License Agreement

" - "This setup procedure can install proprietary " - "software that is subject to licensing terms " - "in order to provide additional features and enhance the user " - "experience." ) ); - ui->additionalText->setText( tr( "Please review the End User License " - "Agreements (EULAs) above.
" - "If you do not agree with the terms, proprietary software will not " - "be installed, and open source alternatives will be used instead." ) ); - } - ui->retranslateUi( this ); + CALAMARES_RETRANSLATE( if ( required ) { + ui->mainText->setText( tr( "

License Agreement

" + "This setup procedure will install proprietary " + "software that is subject to licensing terms." ) ); + ui->additionalText->setText( tr( "Please review the End User License " + "Agreements (EULAs) above.
" + "If you do not agree with the terms, the setup procedure cannot continue." ) ); + } else { + ui->mainText->setText( tr( "

License Agreement

" + "This setup procedure can install proprietary " + "software that is subject to licensing terms " + "in order to provide additional features and enhance the user " + "experience." ) ); + ui->additionalText->setText( tr( "Please review the End User License " + "Agreements (EULAs) above.
" + "If you do not agree with the terms, proprietary software will not " + "be installed, and open source alternatives will be used instead." ) ); + } ui->retranslateUi( this ); - for ( const auto& w : m_entries ) - w->retranslateUi(); - ) + for ( const auto& w + : m_entries ) w->retranslateUi(); ) for ( const LicenseEntry& entry : entriesList ) { @@ -190,7 +191,8 @@ LicensePage::updateGlobalStorage( bool v ) Calamares::JobQueue::instance()->globalStorage()->insert( "licenseAgree", v ); } -void LicensePage::checkAcceptance( bool checked ) +void +LicensePage::checkAcceptance( bool checked ) { updateGlobalStorage( checked ); diff --git a/src/modules/license/LicensePage.h b/src/modules/license/LicensePage.h index e595f7ad8..bd9543937 100644 --- a/src/modules/license/LicensePage.h +++ b/src/modules/license/LicensePage.h @@ -24,8 +24,8 @@ #include "utils/NamedEnum.h" -#include #include +#include namespace Ui { @@ -101,4 +101,4 @@ private: QList< LicenseWidget* > m_entries; }; -#endif //LICENSEPAGE_H +#endif //LICENSEPAGE_H diff --git a/src/modules/license/LicenseViewStep.cpp b/src/modules/license/LicenseViewStep.cpp index f5f4b6e2b..89cddf27f 100644 --- a/src/modules/license/LicenseViewStep.cpp +++ b/src/modules/license/LicenseViewStep.cpp @@ -19,29 +19,30 @@ #include "LicenseViewStep.h" -#include "LicensePage.h" -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" +#include "LicensePage.h" #include "utils/Logger.h" #include -CALAMARES_PLUGIN_FACTORY_DEFINITION( LicenseViewStepFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( LicenseViewStepFactory, registerPlugin< LicenseViewStep >(); ) LicenseViewStep::LicenseViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new LicensePage ) { emit nextStatusChanged( false ); - connect( m_widget, &LicensePage::nextStatusChanged, - this, &LicenseViewStep::nextStatusChanged ); + connect( m_widget, &LicensePage::nextStatusChanged, this, &LicenseViewStep::nextStatusChanged ); } LicenseViewStep::~LicenseViewStep() { if ( m_widget && m_widget->parent() == nullptr ) + { m_widget->deleteLater(); + } } @@ -97,18 +98,21 @@ void LicenseViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { QList< LicenseEntry > entriesList; - if ( configurationMap.contains( "entries" ) && - configurationMap.value( "entries" ).type() == QVariant::List ) + if ( configurationMap.contains( "entries" ) && configurationMap.value( "entries" ).type() == QVariant::List ) { const auto entries = configurationMap.value( "entries" ).toList(); for ( const QVariant& entryV : entries ) { if ( entryV.type() != QVariant::Map ) + { continue; + } LicenseEntry entry( entryV.toMap() ); if ( entry.isValid() ) + { entriesList.append( entry ); + } } } diff --git a/src/modules/license/LicenseViewStep.h b/src/modules/license/LicenseViewStep.h index a4fabc8e1..957110f3d 100644 --- a/src/modules/license/LicenseViewStep.h +++ b/src/modules/license/LicenseViewStep.h @@ -20,9 +20,9 @@ #ifndef LICENSEPAGEPLUGIN_H #define LICENSEPAGEPLUGIN_H +#include #include #include -#include #include #include @@ -58,4 +58,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( LicenseViewStepFactory ) -#endif // LICENSEPAGEPLUGIN_H +#endif // LICENSEPAGEPLUGIN_H diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 238d57b07..25509be95 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -34,10 +34,12 @@ static QString loadLocalFile( const QUrl& u ) { if ( !u.isLocalFile() ) + { return QString(); + } QFile file( u.path() ); - if ( !file.open(QIODevice::ReadOnly | QIODevice::Text) ) + if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) { cWarning() << "Could not load license file" << u.path(); return QString(); @@ -108,11 +110,10 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) retranslateUi(); } -LicenseWidget::~LicenseWidget() -{ -} +LicenseWidget::~LicenseWidget() {} -void LicenseWidget::retranslateUi() +void +LicenseWidget::retranslateUi() { QString productDescription; switch ( m_entry.m_type ) @@ -120,40 +121,40 @@ void LicenseWidget::retranslateUi() case LicenseEntry::Type::Driver: //: %1 is an untranslatable product name, example: Creative Audigy driver productDescription = tr( "%1 driver
" - "by %2" ) - .arg( m_entry.m_prettyName ) - .arg( m_entry.m_prettyVendor ); + "by %2" ) + .arg( m_entry.m_prettyName ) + .arg( m_entry.m_prettyVendor ); break; case LicenseEntry::Type::GpuDriver: //: %1 is usually a vendor name, example: Nvidia graphics driver productDescription = tr( "%1 graphics driver
" - "by %2" ) - .arg( m_entry.m_prettyName ) - .arg( m_entry.m_prettyVendor ); + "by %2" ) + .arg( m_entry.m_prettyName ) + .arg( m_entry.m_prettyVendor ); break; case LicenseEntry::Type::BrowserPlugin: productDescription = tr( "%1 browser plugin
" - "by %2" ) - .arg( m_entry.m_prettyName ) - .arg( m_entry.m_prettyVendor ); + "by %2" ) + .arg( m_entry.m_prettyName ) + .arg( m_entry.m_prettyVendor ); break; case LicenseEntry::Type::Codec: productDescription = tr( "%1 codec
" - "by %2" ) - .arg( m_entry.m_prettyName ) - .arg( m_entry.m_prettyVendor ); + "by %2" ) + .arg( m_entry.m_prettyName ) + .arg( m_entry.m_prettyVendor ); break; case LicenseEntry::Type::Package: productDescription = tr( "%1 package
" - "by %2" ) - .arg( m_entry.m_prettyName ) - .arg( m_entry.m_prettyVendor ); + "by %2" ) + .arg( m_entry.m_prettyName ) + .arg( m_entry.m_prettyVendor ); break; case LicenseEntry::Type::Software: productDescription = tr( "%1
" - "by %2" ) - .arg( m_entry.m_prettyName ) - .arg( m_entry.m_prettyVendor ); + "by %2" ) + .arg( m_entry.m_prettyName ) + .arg( m_entry.m_prettyVendor ); } m_label->setText( productDescription ); updateExpandToolTip(); @@ -173,7 +174,9 @@ LicenseWidget::expandClicked() // Show/hide based on the new arrow direction. if ( m_fullText ) + { m_fullText->setHidden( m_expandLicenseButton->arrowType() == Qt::UpArrow ); + } updateExpandToolTip(); } @@ -186,21 +189,15 @@ LicenseWidget::updateExpandToolTip() { const bool isNowCollapsed = m_expandLicenseButton->arrowType() == Qt::UpArrow; - m_expandLicenseButton->setToolTip( - isNowCollapsed - ? tr( "Shows the complete license text" ) - : tr( "Hide license text" ) - ) ; - m_viewLicenseLabel->setText( - isNowCollapsed - ? tr( "Show license agreement" ) - : tr( "Hide license agreement" ) ); + m_expandLicenseButton->setToolTip( isNowCollapsed ? tr( "Shows the complete license text" ) + : tr( "Hide license text" ) ); + m_viewLicenseLabel->setText( isNowCollapsed ? tr( "Show license agreement" ) : tr( "Hide license agreement" ) ); } else { m_expandLicenseButton->setToolTip( tr( "Opens the license agreement in a browser window." ) ); - m_viewLicenseLabel->setText( tr( "View license agreement" ) - .arg( m_entry.m_url.toString() ) ); + m_viewLicenseLabel->setText( + tr( "View license agreement" ).arg( m_entry.m_url.toString() ) ); } } diff --git a/src/modules/license/LicenseWidget.h b/src/modules/license/LicenseWidget.h index c43233da4..e11d7a746 100644 --- a/src/modules/license/LicenseWidget.h +++ b/src/modules/license/LicenseWidget.h @@ -39,7 +39,7 @@ public: private: void expandClicked(); // "slot" to toggle show/hide of local license text - void viewClicked(); // "slot" to open link + void viewClicked(); // "slot" to open link void updateExpandToolTip(); LicenseEntry m_entry; @@ -47,5 +47,5 @@ private: QLabel* m_viewLicenseLabel; QToolButton* m_expandLicenseButton; QLabel* m_fullText; -} ; +}; #endif From 76077743afdd838739cdf80cacf4c2ce26c3f54c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 15:45:00 +0200 Subject: [PATCH 113/626] [packagechooser] Add configuration setting for selection mode - Add a *mode* key to the configuration file - Change some names around to be more consistent (not user-visible) --- .../packagechooser/PackageChooserViewStep.cpp | 10 ++++++++++ src/modules/packagechooser/PackageModel.cpp | 17 ++++++++--------- src/modules/packagechooser/PackageModel.h | 4 ++-- src/modules/packagechooser/packagechooser.conf | 9 +++++++++ 4 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 src/modules/packagechooser/packagechooser.conf diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 9b3c174da..09fa488aa 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -150,6 +150,16 @@ void PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { // TODO: use the configurationMap + QString mode = CalamaresUtils::getString( configurationMap, "mode" ); + bool ok = false; + if ( !mode.isEmpty() ) + { + m_mode = roleNames().find( mode, ok ); + } + if ( !ok ) + { + m_mode = PackageChooserMode::Required; + } if ( !m_model ) { diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 3546d9e42..484b4de3b 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -25,17 +25,16 @@ roleNames() { static const NamedEnumTable< PackageChooserMode > names { { "optional", PackageChooserMode::Optional }, - { "exclusive", PackageChooserMode::Exclusive }, - { "multiple", PackageChooserMode::Multiple }, - { "requiredmultiple", - PackageChooserMode::RequiredMultiple }, + { "required", PackageChooserMode::Required }, + { "optionalmultiple", PackageChooserMode::OptionalMultiple }, + { "requiredmultiple", PackageChooserMode::RequiredMultiple }, // and a bunch of aliases { "zero-or-one", PackageChooserMode::Optional }, - { "radio", PackageChooserMode::Exclusive }, - { "one", PackageChooserMode::Exclusive }, - { "set", PackageChooserMode::Multiple }, - { "zero-or-more", PackageChooserMode::Multiple }, - { "required", PackageChooserMode::RequiredMultiple }, + { "radio", PackageChooserMode::Required }, + { "one", PackageChooserMode::Required }, + { "set", PackageChooserMode::OptionalMultiple }, + { "zero-or-more", PackageChooserMode::OptionalMultiple }, + { "multiple", PackageChooserMode::RequiredMultiple }, { "one-or-more", PackageChooserMode::RequiredMultiple } }; return names; } diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index ed5ac4b24..76e43ef44 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -29,8 +29,8 @@ enum class PackageChooserMode { Optional, // zero or one - Exclusive, // exactly one - Multiple, // zero or more + Required, // exactly one + OptionalMultiple, // zero or more RequiredMultiple // one or more }; diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf new file mode 100644 index 000000000..f08d07895 --- /dev/null +++ b/src/modules/packagechooser/packagechooser.conf @@ -0,0 +1,9 @@ +# Configuration for the low-density software chooser +--- +# Software selection mode, to set whether the software packages +# can be chosen singly, or multiply. +# +# Possible modes are "optional", "required" (for zero or one) +# or "optionalmultiple", "requiredmultiple" (for zero-or-more +# or one-or-more). +mode: required From 2fd2e90bf02ecf1704d1795ccde3057cac1e0eca Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 21:29:28 +0200 Subject: [PATCH 114/626] [calamares] Always run module tester with verbose logging --- src/calamares/testmain.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/calamares/testmain.cpp b/src/calamares/testmain.cpp index 5671a591e..bf03d771d 100644 --- a/src/calamares/testmain.cpp +++ b/src/calamares/testmain.cpp @@ -51,13 +51,14 @@ struct ModuleConfig QString m_jobConfig; QString m_globalConfig; QString m_language; + QString m_branding; }; static ModuleConfig handle_args( QCoreApplication& a ) { QCommandLineOption debugLevelOption( - QStringLiteral( "D" ), "Verbose output for debugging purposes (0-8).", "level" ); + QStringLiteral( "D" ), "Verbose output for debugging purposes (0-8), ignored.", "level" ); QCommandLineOption globalOption( QStringList() << QStringLiteral( "g" ) << QStringLiteral( "global " ), QStringLiteral( "Global settings document" ), "global.yaml" ); @@ -82,21 +83,7 @@ handle_args( QCoreApplication& a ) parser.process( a ); - if ( parser.isSet( debugLevelOption ) ) - { - bool ok = true; - unsigned int l = parser.value( debugLevelOption ).toUInt( &ok ); - unsigned int dlevel = 0; - if ( !ok ) - { - dlevel = Logger::LOGVERBOSE; - } - else - { - dlevel = l; - } - Logger::setupLogLevel( dlevel ); - } + Logger::setupLogLevel( Logger::LOGVERBOSE ); const QStringList args = parser.positionalArguments(); if ( args.isEmpty() ) From f53aaa8bf3af14902495ce2a376c388d41c35726 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 21:52:15 +0200 Subject: [PATCH 115/626] [calamares] Fix module loader for ViewModules - The ViewManager needs branding information, which wasn't initialized -- leading to crashes. Add -b option to give a specific branding, and default to something take makes sense when testing modules from the build directory. - Allows the module to load; doesn't show the UI though. --- src/calamares/testmain.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/calamares/testmain.cpp b/src/calamares/testmain.cpp index bf03d771d..17a05d6de 100644 --- a/src/calamares/testmain.cpp +++ b/src/calamares/testmain.cpp @@ -26,6 +26,7 @@ #include "utils/Logger.h" #include "utils/Yaml.h" +#include "Branding.h" #include "GlobalStorage.h" #include "Job.h" #include "JobQueue.h" @@ -68,6 +69,10 @@ handle_args( QCoreApplication& a ) QCommandLineOption langOption( QStringList() << QStringLiteral( "l" ) << QStringLiteral( "language" ), QStringLiteral( "Language (global)" ), "languagecode" ); + QCommandLineOption brandOption( QStringList() << QStringLiteral( "b" ) << QStringLiteral( "branding" ), + QStringLiteral( "Branding directory" ), + "path/to/branding.desc", + "src/branding/default/branding.desc" ); QCommandLineParser parser; parser.setApplicationDescription( "Calamares module tester" ); @@ -78,6 +83,7 @@ handle_args( QCoreApplication& a ) parser.addOption( globalOption ); parser.addOption( jobOption ); parser.addOption( langOption ); + parser.addOption( brandOption ); parser.addPositionalArgument( "module", "Path or name of module to run." ); parser.addPositionalArgument( "job.yaml", "Path of job settings document to use.", "[job.yaml]" ); @@ -104,7 +110,11 @@ handle_args( QCoreApplication& a ) jobSettings = args.at( 1 ); } - return ModuleConfig { args.first(), jobSettings, parser.value( globalOption ), parser.value( langOption ) }; + return ModuleConfig { args.first(), + jobSettings, + parser.value( globalOption ), + parser.value( langOption ), + parser.value( brandOption ) }; } } @@ -211,6 +221,7 @@ main( int argc, char* argv[] ) if ( m->type() == Calamares::Module::Type::View ) { aw = new QApplication( argc, argv ); + (void)new Calamares::Branding( module.m_branding ); (void)Calamares::ViewManager::instance( nullptr ); } From e8f342c0a526f3fdeaa9f84a82048b21808e17d7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 22:22:21 +0200 Subject: [PATCH 116/626] [calamares] Add test-loader option for UI --- src/calamares/testmain.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/calamares/testmain.cpp b/src/calamares/testmain.cpp index 17a05d6de..bdd271c81 100644 --- a/src/calamares/testmain.cpp +++ b/src/calamares/testmain.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include @@ -53,6 +54,7 @@ struct ModuleConfig QString m_globalConfig; QString m_language; QString m_branding; + bool m_ui; }; static ModuleConfig @@ -73,6 +75,8 @@ handle_args( QCoreApplication& a ) QStringLiteral( "Branding directory" ), "path/to/branding.desc", "src/branding/default/branding.desc" ); + QCommandLineOption uiOption( QStringList() << QStringLiteral( "U" ) << QStringLiteral( "ui" ), + QStringLiteral( "Enable UI" ) ); QCommandLineParser parser; parser.setApplicationDescription( "Calamares module tester" ); @@ -84,6 +88,7 @@ handle_args( QCoreApplication& a ) parser.addOption( jobOption ); parser.addOption( langOption ); parser.addOption( brandOption ); + parser.addOption( uiOption ); parser.addPositionalArgument( "module", "Path or name of module to run." ); parser.addPositionalArgument( "job.yaml", "Path of job settings document to use.", "[job.yaml]" ); @@ -114,7 +119,8 @@ handle_args( QCoreApplication& a ) jobSettings, parser.value( globalOption ), parser.value( langOption ), - parser.value( brandOption ) }; + parser.value( brandOption ), + parser.isSet( uiOption ) }; } } @@ -221,8 +227,9 @@ main( int argc, char* argv[] ) if ( m->type() == Calamares::Module::Type::View ) { aw = new QApplication( argc, argv ); + QMainWindow* mw = module.m_ui ? new QMainWindow() : nullptr; (void)new Calamares::Branding( module.m_branding ); - (void)Calamares::ViewManager::instance( nullptr ); + (void)Calamares::ViewManager::instance( mw ); } if ( !m->isLoaded() ) From f2fb49ce2664320730c3ebdcaa705631c92c8f45 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 22:27:06 +0200 Subject: [PATCH 117/626] [calamares] Fix test-loader runtime - Some view steps expect the module manager to be there, avoid startup warnings by creating one. --- src/calamares/testmain.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/calamares/testmain.cpp b/src/calamares/testmain.cpp index bdd271c81..57f466e65 100644 --- a/src/calamares/testmain.cpp +++ b/src/calamares/testmain.cpp @@ -33,6 +33,8 @@ #include "Settings.h" #include "ViewManager.h" +#include "modulesystem/ModuleManager.h" + #include #include #include @@ -229,6 +231,7 @@ main( int argc, char* argv[] ) aw = new QApplication( argc, argv ); QMainWindow* mw = module.m_ui ? new QMainWindow() : nullptr; (void)new Calamares::Branding( module.m_branding ); + (void)new Calamares::ModuleManager( QStringList(), nullptr ); (void)Calamares::ViewManager::instance( mw ); } From ff6c6a360b1058c243c9a3f3561b7909a5e19c3d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 23:06:39 +0200 Subject: [PATCH 118/626] [calamares] Make UI work for test-loader - Need to create just one QApplication (subclass) with the right parameters for the UI to work. - If the UI is enabled and it's a View module, then show the widget rather than running the jobs. --- src/calamares/testmain.cpp | 49 ++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/src/calamares/testmain.cpp b/src/calamares/testmain.cpp index 57f466e65..885915041 100644 --- a/src/calamares/testmain.cpp +++ b/src/calamares/testmain.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -96,8 +97,6 @@ handle_args( QCoreApplication& a ) parser.process( a ); - Logger::setupLogLevel( Logger::LOGVERBOSE ); - const QStringList args = parser.positionalArguments(); if ( args.isEmpty() ) { @@ -189,13 +188,38 @@ load_module( const ModuleConfig& moduleConfig ) return module; } +/** @brief Create the right kind of QApplication + * + * Does primitive parsing of argv[] to find the --ui option and returns + * a UI-enabled application if it does. + * + * @p argc must be a reference (to main's argc) because the QCoreApplication + * constructors take a reference as well, and that would otherwise be a + * reference to a temporary. + */ +QCoreApplication* +createApplication( int& argc, char* argv[] ) +{ + for ( int i = 1; i < argc; ++i ) + { + if ( !qstrcmp( argv[ i ], "--ui" ) || !qstrcmp( argv[ i ], "-U" ) ) + { + auto* aw = new QApplication( argc, argv ); + aw->setQuitOnLastWindowClosed( true ); + return aw; + } + } + return new QCoreApplication( argc, argv ); +} + int main( int argc, char* argv[] ) { - QCoreApplication a( argc, argv ); - QApplication* aw = nullptr; + QCoreApplication* aw = createApplication( argc, argv ); - ModuleConfig module = handle_args( a ); + Logger::setupLogLevel( Logger::LOGVERBOSE ); + + ModuleConfig module = handle_args( *aw ); if ( module.moduleName().isEmpty() ) { return 1; @@ -203,6 +227,7 @@ main( int argc, char* argv[] ) std::unique_ptr< Calamares::Settings > settings_p( new Calamares::Settings( QString(), true ) ); std::unique_ptr< Calamares::JobQueue > jobqueue_p( new Calamares::JobQueue( nullptr ) ); + QMainWindow* mw = nullptr; auto gs = jobqueue_p->globalStorage(); if ( !module.globalConfigFile().isEmpty() ) @@ -228,8 +253,8 @@ main( int argc, char* argv[] ) cDebug() << " .. got" << m->name() << m->typeString() << m->interfaceString(); if ( m->type() == Calamares::Module::Type::View ) { - aw = new QApplication( argc, argv ); - QMainWindow* mw = module.m_ui ? new QMainWindow() : nullptr; + mw = module.m_ui ? new QMainWindow() : nullptr; + (void)new Calamares::Branding( module.m_branding ); (void)new Calamares::ModuleManager( QStringList(), nullptr ); (void)Calamares::ViewManager::instance( mw ); @@ -246,6 +271,16 @@ main( int argc, char* argv[] ) return 1; } + if ( mw ) + { + QWidget* w = Calamares::ViewManager::instance()->currentStep()->widget(); + w->setParent( mw ); + mw->setCentralWidget( w ); + w->show(); + mw->show(); + return aw->exec(); + } + using TR = Logger::DebugRow< const char*, const QString >; cDebug() << "Module metadata" << TR( "name", m->name() ) << TR( "type", m->typeString() ) From 87d7b2a5c072966422f19985a450449420ecdd31 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 23:24:30 +0200 Subject: [PATCH 119/626] [packagechooser] Allow setting an ID for the module's GS key --- src/modules/packagechooser/PackageChooserViewStep.cpp | 6 ++++-- src/modules/packagechooser/PackageChooserViewStep.h | 3 +++ src/modules/packagechooser/packagechooser.conf | 9 +++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 09fa488aa..a8dd0e8d0 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -149,7 +149,6 @@ PackageChooserViewStep::jobs() const void PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { - // TODO: use the configurationMap QString mode = CalamaresUtils::getString( configurationMap, "mode" ); bool ok = false; if ( !mode.isEmpty() ) @@ -160,7 +159,10 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap { m_mode = PackageChooserMode::Required; } - + + m_id = CalamaresUtils::getString( configurationMap, "id" ); + + // TODO: replace this hard-coded model if ( !m_model ) { diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index 3947298ba..e410e547b 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -60,7 +60,10 @@ private: PackageChooserPage* m_widget; PackageListModel* m_model; + + // Configuration PackageChooserMode m_mode; + QString m_id; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index f08d07895..fd100ab27 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -1,5 +1,14 @@ # Configuration for the low-density software chooser --- +# The packagechooser writes a GlobalStorage value for the choice that +# has been made. The key is *packagechooser_*. If *id* is set here, +# it is substituted into the key name. If it is not set, the module's +# instance name is used; see the *instances* section of `settings.conf`. +# If there is just one packagechooser module, and no *id* is set, +# resulting GS key is probably *packagechooser_packagechooser*. +# +# id: "" + # Software selection mode, to set whether the software packages # can be chosen singly, or multiply. # From b711c791bdb9cc4f660a0cd3546391c4dd16eba0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 23:28:55 +0200 Subject: [PATCH 120/626] [packagechooser] Fix build, tidy code --- src/modules/packagechooser/PackageChooserPage.cpp | 4 ++-- .../packagechooser/PackageChooserViewStep.cpp | 14 +++++++------- .../packagechooser/PackageChooserViewStep.h | 2 +- src/modules/packagechooser/PackageModel.cpp | 3 ++- src/modules/packagechooser/PackageModel.h | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index f0f7cb04c..d267e4885 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -42,9 +42,9 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent switch ( mode ) { case PackageChooserMode::Optional: - case PackageChooserMode::Exclusive: + case PackageChooserMode::Required: ui->products->setSelectionMode( QAbstractItemView::SingleSelection ); - case PackageChooserMode::Multiple: + case PackageChooserMode::OptionalMultiple: case PackageChooserMode::RequiredMultiple: ui->products->setSelectionMode( QAbstractItemView::ExtendedSelection ); } diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index a8dd0e8d0..47b6f84d0 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -37,7 +37,7 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( nullptr ) , m_model( nullptr ) - , m_mode( PackageChooserMode::Exclusive ) + , m_mode( PackageChooserMode::Required ) { emit nextStatusChanged( false ); } @@ -100,10 +100,10 @@ PackageChooserViewStep::isNextEnabled() const switch ( m_mode ) { case PackageChooserMode::Optional: - case PackageChooserMode::Multiple: + case PackageChooserMode::OptionalMultiple: // zero or one OR zero or more return true; - case PackageChooserMode::Exclusive: + case PackageChooserMode::Required: case PackageChooserMode::RequiredMultiple: // exactly one OR one or more return m_widget->hasSelection(); @@ -159,17 +159,17 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap { m_mode = PackageChooserMode::Required; } - + m_id = CalamaresUtils::getString( configurationMap, "id" ); - + // TODO: replace this hard-coded model if ( !m_model ) { m_model = new PackageListModel( nullptr ); m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop", ":/images/kde.png" } ); - m_model->addPackage( - PackageItem { "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop", ":/images/gnome.png" } ); + m_model->addPackage( PackageItem { + "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop", ":/images/gnome.png" } ); if ( m_widget ) diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index e410e547b..55ed2d4d5 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -60,7 +60,7 @@ private: PackageChooserPage* m_widget; PackageListModel* m_model; - + // Configuration PackageChooserMode m_mode; QString m_id; diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 484b4de3b..eb783259b 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -35,7 +35,8 @@ roleNames() { "set", PackageChooserMode::OptionalMultiple }, { "zero-or-more", PackageChooserMode::OptionalMultiple }, { "multiple", PackageChooserMode::RequiredMultiple }, - { "one-or-more", PackageChooserMode::RequiredMultiple } }; + { "one-or-more", PackageChooserMode::RequiredMultiple } + }; return names; } diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 76e43ef44..dfb922e59 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -73,7 +73,7 @@ class PackageListModel : public QAbstractListModel public: PackageListModel( PackageList&& items, QObject* parent ); PackageListModel( QObject* parent ); - virtual ~PackageListModel(); + virtual ~PackageListModel() override; void addPackage( PackageItem&& p ); From c59ffc77652231f67bc0ba93240532927b1b321c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 23:33:34 +0200 Subject: [PATCH 121/626] [packagechooser] Set default ID as documented --- src/modules/packagechooser/PackageChooserViewStep.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 47b6f84d0..9edfa9416 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -161,6 +161,12 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap } m_id = CalamaresUtils::getString( configurationMap, "id" ); + if ( m_id.isEmpty() ) + { + // Not set, so use the instance id + // TODO: use a stronger type than QString for structured IDs + m_id = moduleInstanceKey().split( '@' ).last(); + } // TODO: replace this hard-coded model if ( !m_model ) From 140c0db7a48b89af9e7a6b4c36a7a0ee0ae9467c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 23:51:00 +0200 Subject: [PATCH 122/626] [packagechooser] Set GlobalStorage packagechooser_ --- .../packagechooser/PackageChooserPage.cpp | 21 +++++++++++++++++++ .../packagechooser/PackageChooserPage.h | 6 ++++++ .../packagechooser/PackageChooserViewStep.cpp | 9 ++++++++ src/modules/packagechooser/PackageModel.cpp | 4 ++++ src/modules/packagechooser/PackageModel.h | 3 ++- .../packagechooser/packagechooser.conf | 3 +++ 6 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index d267e4885..265ce3b53 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -98,3 +98,24 @@ PackageChooserPage::hasSelection() const { return ui && ui->products && ui->products->selectionModel() && ui->products->selectionModel()->hasSelection(); } + +QStringList +PackageChooserPage::selectedPackageIds() const +{ + if ( !( ui && ui->products && ui->products->selectionModel() ) ) + { + return QStringList(); + } + + const auto* model = ui->products->model(); + QStringList ids; + for ( const auto& index : ui->products->selectionModel()->selectedIndexes() ) + { + QString pid = model->data( index, PackageListModel::IdRole ).toString(); + if ( !pid.isEmpty() ) + { + ids.append( pid ); + } + } + return ids; +} diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 8f9fde11f..401de903b 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -37,7 +37,13 @@ public: void setModel( QAbstractItemModel* model ); + /// @brief Is anything selected? bool hasSelection() const; + /** @brief Get the list of selected ids + * + * This list may be empty (if none is selected). + */ + QStringList selectedPackageIds() const; public slots: void currentChanged( const QModelIndex& index ); diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 9edfa9416..9d32884c7 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -137,6 +137,15 @@ PackageChooserViewStep::isAtEnd() const void PackageChooserViewStep::onLeave() { + QString key = QStringLiteral( "packagechooser_%1" ).arg( m_id ); + QString value; + if ( m_widget->hasSelection() ) + { + value = m_widget->selectedPackageIds().join( ',' ); + } + Calamares::JobQueue::instance()->globalStorage()->insert( key, value ); + + cDebug() << "PackageChooser" << key << "selected" << value; } Calamares::JobList diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index eb783259b..aa8dd39fc 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -128,6 +128,10 @@ PackageListModel::data( const QModelIndex& index, int role ) const { return m_packages[ row ].screenshot; } + else if ( role == IdRole ) + { + return m_packages[ row ].id; + } return QVariant(); } diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index dfb922e59..7f8fff8ec 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -84,7 +84,8 @@ public: { NameRole = Qt::DisplayRole, DescriptionRole = Qt::UserRole, - ScreenshotRole + ScreenshotRole, + IdRole }; private: diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index fd100ab27..b4e48c995 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -7,6 +7,9 @@ # If there is just one packagechooser module, and no *id* is set, # resulting GS key is probably *packagechooser_packagechooser*. # +# The GS value is a comma-separated list of the IDs of the selected +# packages, or an empty string if none is selected. +# # id: "" # Software selection mode, to set whether the software packages From 047a300a5181a03dd11c1a3b6862f3301236f301 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 3 Aug 2019 23:55:29 +0200 Subject: [PATCH 123/626] [packagechooser] Remove unneeded debug --- src/modules/packagechooser/PackageChooserPage.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 265ce3b53..63307d095 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -34,7 +34,6 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent tr( "Please pick a product from the list. The selected product will be installed." ) ) { m_introduction.screenshot = QPixmap( QStringLiteral( ":/images/no-selection.png" ) ); - cDebug() << m_introduction.screenshot; ui->setupUi( this ); CALAMARES_RETRANSLATE( updateLabels(); ) From d5275d5e10cac56db5f3f573a5ecf54b681850e4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 00:08:41 +0200 Subject: [PATCH 124/626] [packagechooser] Allow the model to set the introductory text --- .../packagechooser/PackageChooserPage.cpp | 20 +++++++++++++++++++ .../packagechooser/PackageChooserViewStep.cpp | 11 ++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 63307d095..60becf64f 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -86,6 +86,26 @@ void PackageChooserPage::setModel( QAbstractItemModel* model ) { ui->products->setModel( model ); + + // Check if any of the items in the model is the "none" option. + // If so, copy its values into the introduction / none item. + for ( int r = 0; r < model->rowCount(); ++r ) + { + auto index = model->index( r, 0 ); + if ( index.isValid() ) + { + QVariant v = model->data( index, PackageListModel::IdRole ); + if ( v.isValid() && v.toString().isEmpty() ) + { + m_introduction.name = model->data( index, PackageListModel::NameRole ).toString(); + m_introduction.description = model->data( index, PackageListModel::DescriptionRole ).toString(); + m_introduction.screenshot = model->data( index, PackageListModel::ScreenshotRole ).value< QPixmap >(); + currentChanged( QModelIndex() ); + break; + } + } + } + connect( ui->products->selectionModel(), &QItemSelectionModel::selectionChanged, this, diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 9d32884c7..8515d03a9 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -144,7 +144,7 @@ PackageChooserViewStep::onLeave() value = m_widget->selectedPackageIds().join( ',' ); } Calamares::JobQueue::instance()->globalStorage()->insert( key, value ); - + cDebug() << "PackageChooser" << key << "selected" << value; } @@ -180,8 +180,15 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap // TODO: replace this hard-coded model if ( !m_model ) { - m_model = new PackageListModel( nullptr ); + m_model->addPackage( PackageItem { QString(), + QString(), + "No Desktop", + "Please pick a desktop environment from the list. " + "If you don't want to install a desktop, that's fine, " + "your system will start up in text-only mode and you can " + "install a desktop environment later.", + ":/images/no-selection.png" } ); m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop", ":/images/kde.png" } ); m_model->addPackage( PackageItem { "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop", ":/images/gnome.png" } ); From adb939b2e82617003b16a81d0622d1bd45192843 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 00:11:50 +0200 Subject: [PATCH 125/626] [packagechooser] Word-wrap package descriptions --- src/modules/packagechooser/page_package.ui | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui index 1ba032ed2..17a960549 100644 --- a/src/modules/packagechooser/page_package.ui +++ b/src/modules/packagechooser/page_package.ui @@ -53,6 +53,12 @@ TextLabel + + true + + + true +
From beeda24423e53469bc918b02a475641247e4227f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 08:52:33 -0400 Subject: [PATCH 126/626] [libcalamaresui] Fix build of the PythonQt bindings - Change to std::chrono::seconds wasn't tried against the (optional) PythonQt bindings, leading to build failure. Reported by Phil (Manjaro). FIXES #1210 --- src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp index efb3da2a1..69027d018 100644 --- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp +++ b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp @@ -57,7 +57,7 @@ Utils::target_env_call( const QString& command, int timeout ) const { return CalamaresUtils::System::instance()-> - targetEnvCall( command, QString(), stdin, timeout ); + targetEnvCall( command, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); } @@ -67,7 +67,7 @@ Utils::target_env_call( const QStringList& args, int timeout ) const { return CalamaresUtils::System::instance()-> - targetEnvCall( args, QString(), stdin, timeout ); + targetEnvCall( args, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); } @@ -102,7 +102,7 @@ Utils::check_target_env_output( const QString& command, output, QString(), stdin, - timeout ); + std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); _handle_check_target_env_call_error( ec, command ); return output; } @@ -119,7 +119,7 @@ Utils::check_target_env_output( const QStringList& args, output, QString(), stdin, - timeout ); + std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); _handle_check_target_env_call_error( ec, args.join( ' ' ) ); return output; } From 791f9cbccbef3fcbf5433329a313e7b4c28bbaab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 16:00:55 +0200 Subject: [PATCH 127/626] [packagechooser] Read packages model from config - add key *items* which will be used to fill up the model for software products. TODO: needs translation support --- .../packagechooser/PackageChooserViewStep.cpp | 55 ++++++++++++++++++- .../packagechooser/PackageChooserViewStep.h | 1 + .../packagechooser/packagechooser.conf | 35 ++++++++++++ 3 files changed, 89 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 8515d03a9..4d9ab4f5f 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -177,6 +177,15 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap m_id = moduleInstanceKey().split( '@' ).last(); } + bool first_time = !m_model; + + ok = false; + QVariantMap items = CalamaresUtils::getSubMap( configurationMap, "items", ok ); + if ( ok ) + { + fillModel( items ); + } + // TODO: replace this hard-coded model if ( !m_model ) { @@ -192,12 +201,54 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop", ":/images/kde.png" } ); m_model->addPackage( PackageItem { "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop", ":/images/gnome.png" } ); + } + if ( first_time && m_widget && m_model ) + { + hookupModel(); + } +} - if ( m_widget ) +void +PackageChooserViewStep::fillModel( const QVariantMap& items ) +{ + if ( !m_model ) + { + m_model = new PackageListModel( nullptr ); + } + + cDebug() << "Loading PackageChooser model items from config"; + for ( auto item_it = items.constKeyValueBegin(); item_it != items.constKeyValueEnd(); ++item_it ) + { + QString id = ( *item_it ).first; + + QVariantMap item_map = ( *item_it ).second.toMap(); + if ( item_map.isEmpty() ) { - hookupModel(); + cWarning() << "PackageChooser item" << id << "is not valid."; + continue; } + + QString package = CalamaresUtils::getString( item_map, "package" ); + QString name = CalamaresUtils::getString( item_map, "name" ); + QString description = CalamaresUtils::getString( item_map, "description" ); + QString screenshot = CalamaresUtils::getString( item_map, "screenshot" ); + + if ( name.isEmpty() ) + { + cWarning() << "PackageChooser item" << id << "has an empty name."; + continue; + } + if ( description.isEmpty() ) + { + description = tr( "No description provided." ); + } + if ( screenshot.isEmpty() ) + { + screenshot = QStringLiteral( ":/images/no-selection.png" ); + } + + m_model->addPackage( PackageItem { id, package, name, description, screenshot } ); } } diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index 55ed2d4d5..4d5cc346f 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -56,6 +56,7 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; private: + void fillModel( const QVariantMap& items ); void hookupModel(); PackageChooserPage* m_widget; diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index b4e48c995..f4bab476c 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -19,3 +19,38 @@ # or "optionalmultiple", "requiredmultiple" (for zero-or-more # or one-or-more). mode: required + +# Items to display in the chooser. In general, this should be a +# pretty short list to avoid overwhelming the UI. +# +# Each item has a key, which is used as its ID (used in setting +# the value of *packagechooser_*). The following fields +# are mandatory: +# +# - *package* Package name for the product. While mandatory, this is +# not actually used anywhere. +# - *name* Human-readable, but untranslated, name of the product. +# - *description* Human-readable, but untranslated, description. +# - *screenshot* Path to a single screenshot of the product. May be +# a filesystem path or a QRC path (e.g. ":/images/no-selection.png"). +# +# Use the empty string "" as ID / key for the "no selection" item if +# you want to customize the display of that item as well. +items: + "": + package: "" + name: "No Desktop" + description: "Please pick a desktop environment from the list. If you don't want to install a desktop, that's fine, your system will start up in text-only mode and you can install a desktop environment later." + screenshot: ":/images/no-selection.png" + kde: + package: kde + name: Plasma Desktop + description: "KDE Plasma Desktop, simple by default, a clean work area for real-world usage which intends to stay out of your way. Plasma is powerful when needed, enabling the user to create the workflow that makes them more effective to complete their tasks." + screenshot: ":/images/kde.png" + gnome: + package: gnome + name: GNOME + description: GNU Networked Object Modeling Environment Desktop + screenshot: ":/images/gnome.png" + + From 9a52430e74d8b8b9b763725e01f150d97b378c87 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 20:04:32 +0200 Subject: [PATCH 128/626] [packagechooser] Too many 'o's in test name --- src/modules/packagechooser/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index 483092800..4663ccce7 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -20,11 +20,11 @@ if( ECM_FOUND AND BUILD_TESTING ) ecm_add_test( Tests.cpp TEST_NAME - packagechooosertest + packagechoosertest LINK_LIBRARIES ${CALAMARES_LIBRARIES} Qt5::Core Qt5::Test ) - calamares_automoc( packagechooosertest) + calamares_automoc( packagechoosertest) endif() From b16354133da0f5873f7eee25d1e1aeec297d2483 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 20:19:56 +0200 Subject: [PATCH 129/626] [packagechooser] Switch to a list form - Using id's as keys in a map orders them indeterminately -- in practice, alphabetically by key. Switch to a list form so that the products stick to the order they have in the config file (which means distro's can list "preferred" versions at top). --- .../packagechooser/PackageChooserViewStep.cpp | 32 +++++++++------ .../packagechooser/PackageChooserViewStep.h | 2 +- .../packagechooser/packagechooser.conf | 40 ++++++++++--------- 3 files changed, 43 insertions(+), 31 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 4d9ab4f5f..4476eb9e6 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -178,12 +178,9 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap } bool first_time = !m_model; - - ok = false; - QVariantMap items = CalamaresUtils::getSubMap( configurationMap, "items", ok ); - if ( ok ) + if ( configurationMap.contains( "items" ) ) { - fillModel( items ); + fillModel( configurationMap.value( "items" ).toList() ); } // TODO: replace this hard-coded model @@ -210,31 +207,42 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap } void -PackageChooserViewStep::fillModel( const QVariantMap& items ) +PackageChooserViewStep::fillModel( const QVariantList& items ) { if ( !m_model ) { m_model = new PackageListModel( nullptr ); } - cDebug() << "Loading PackageChooser model items from config"; - for ( auto item_it = items.constKeyValueBegin(); item_it != items.constKeyValueEnd(); ++item_it ) + if ( items.isEmpty() ) { - QString id = ( *item_it ).first; + cWarning() << "No *items* for PackageChooser module."; + return; + } - QVariantMap item_map = ( *item_it ).second.toMap(); + cDebug() << "Loading PackageChooser model items from config"; + int item_index = 0; + for ( const auto& item_it : items ) + { + ++item_index; + QVariantMap item_map = item_it.toMap(); if ( item_map.isEmpty() ) { - cWarning() << "PackageChooser item" << id << "is not valid."; + cWarning() << "PackageChooser entry" << item_index << "is not valid."; continue; } + QString id = CalamaresUtils::getString( item_map, "id" ); QString package = CalamaresUtils::getString( item_map, "package" ); QString name = CalamaresUtils::getString( item_map, "name" ); QString description = CalamaresUtils::getString( item_map, "description" ); QString screenshot = CalamaresUtils::getString( item_map, "screenshot" ); - if ( name.isEmpty() ) + if ( name.isEmpty() && id.isEmpty() ) + { + name = tr( "No product" ); + } + else if ( name.isEmpty() ) { cWarning() << "PackageChooser item" << id << "has an empty name."; continue; diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index 4d5cc346f..e3ffc1d5b 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -56,7 +56,7 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; private: - void fillModel( const QVariantMap& items ); + void fillModel( const QVariantList& items ); void hookupModel(); PackageChooserPage* m_widget; diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index f4bab476c..391e1f325 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -21,12 +21,16 @@ mode: required # Items to display in the chooser. In general, this should be a -# pretty short list to avoid overwhelming the UI. +# pretty short list to avoid overwhelming the UI. This is a list +# of objects, and the items are displayed in list order. # -# Each item has a key, which is used as its ID (used in setting -# the value of *packagechooser_*). The following fields +# Each item has an id, which is used in setting # the value of +# *packagechooser_*). The following fields # are mandatory: # +# - *id* ID for the product. The ID "" is special, and is used for +# "no package selected". Only include this if the mode allows +# selecting none. # - *package* Package name for the product. While mandatory, this is # not actually used anywhere. # - *name* Human-readable, but untranslated, name of the product. @@ -37,20 +41,20 @@ mode: required # Use the empty string "" as ID / key for the "no selection" item if # you want to customize the display of that item as well. items: - "": - package: "" - name: "No Desktop" - description: "Please pick a desktop environment from the list. If you don't want to install a desktop, that's fine, your system will start up in text-only mode and you can install a desktop environment later." - screenshot: ":/images/no-selection.png" - kde: - package: kde - name: Plasma Desktop - description: "KDE Plasma Desktop, simple by default, a clean work area for real-world usage which intends to stay out of your way. Plasma is powerful when needed, enabling the user to create the workflow that makes them more effective to complete their tasks." - screenshot: ":/images/kde.png" - gnome: - package: gnome - name: GNOME - description: GNU Networked Object Modeling Environment Desktop - screenshot: ":/images/gnome.png" + - id: "" + package: "" + name: "No Desktop" + description: "Please pick a desktop environment from the list. If you don't want to install a desktop, that's fine, your system will start up in text-only mode and you can install a desktop environment later." + screenshot: ":/images/no-selection.png" + - id: kde + package: kde + name: Plasma Desktop + description: "KDE Plasma Desktop, DERP" + screenshot: ":/images/kde.png" + - id: gnome + package: gnome + name: GNOME + description: GNU Networked Object Modeling Environment Desktop + screenshot: ":/images/gnome.png" From 2556ba9d558e94612c11426e04b924ba47d9c837 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 21:45:44 +0200 Subject: [PATCH 130/626] CI: set style for macro continuations --- .clang-format | 1 + 1 file changed, 1 insertion(+) diff --git a/.clang-format b/.clang-format index 997ad379b..d76498a3e 100644 --- a/.clang-format +++ b/.clang-format @@ -2,6 +2,7 @@ BasedOnStyle: WebKit AlignAfterOpenBracket: Align +AlignEscapedNewlines: Left AllowAllParametersOfDeclarationOnNextLine: 'false' AllowShortFunctionsOnASingleLine: Inline AllowShortIfStatementsOnASingleLine: 'false' From b7f54a3866dac05e4945bb77ad9ede648c63de10 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 21:30:38 +0200 Subject: [PATCH 131/626] [libcalamares] Don't break string tables by reformatting --- src/libcalamares/utils/String.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/libcalamares/utils/String.cpp b/src/libcalamares/utils/String.cpp index a39ebd8c7..f577aee17 100644 --- a/src/libcalamares/utils/String.cpp +++ b/src/libcalamares/utils/String.cpp @@ -31,6 +31,11 @@ namespace CalamaresUtils QString removeDiacritics( const QString& string ) { + // *INDENT-OFF* + // clang-format off + // Map these extended-Latin characters to ASCII; keep the + // layout so that one line in *diacriticLetters* corresponds + // to one line of replacements in *noDiacriticLetters*. static const QString diacriticLetters = QString::fromUtf8( "ŠŒŽšœžŸ¥µÀ" "ÁÂÃÄÅÆÇÈÉÊ" @@ -65,6 +70,8 @@ removeDiacritics( const QString& string ) "r", "A", "a", "E", "e", "L", "l", "N", "n", "S", "s", "Z", "z", "Z", "z" }; + // clang-format on + // *INDENT-ON* QString output; for ( const QChar &c : string ) From 29b9a21f5911a2585114da41bab9c9bbc4e650d2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:01:01 +0200 Subject: [PATCH 132/626] [libcalamares] Don't format files copied from KCoreAddons --- src/libcalamares/utils/PluginFactory.cpp | 5 ++++- src/libcalamares/utils/PluginFactory.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 124af16f4..878182ea4 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -24,8 +24,11 @@ #include "PluginFactory.h" #include "PluginFactory_p.h" -#include #include +#include + +// *INDENT-OFF* +// clang-format off Q_GLOBAL_STATIC( QObjectCleanupHandler, factorycleanup ) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 1ab485779..f2481f10d 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -27,8 +27,11 @@ #include "DllMacro.h" #include -#include #include +#include + +// *INDENT-OFF* +// clang-format off namespace Calamares { From b8a74657f4ce84a96328da27068a440518cc3ccb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 21:22:54 +0200 Subject: [PATCH 133/626] [libcalamares] Apply current coding style to libcalamares/utils/ - String.cpp needs special handling since part of it should remain unchanged, the formatting is "special" there. --- .../utils/CalamaresUtilsSystem.cpp | 154 +++++---- src/libcalamares/utils/CalamaresUtilsSystem.h | 73 +++-- src/libcalamares/utils/CommandList.cpp | 52 ++- src/libcalamares/utils/CommandList.h | 36 +-- src/libcalamares/utils/Dirs.cpp | 18 +- src/libcalamares/utils/Dirs.h | 64 ++-- src/libcalamares/utils/Logger.cpp | 78 ++--- src/libcalamares/utils/Logger.h | 298 +++++++++--------- src/libcalamares/utils/NamedEnum.h | 25 +- src/libcalamares/utils/NamedSuffix.h | 8 +- src/libcalamares/utils/PluginFactory_p.h | 13 +- src/libcalamares/utils/Retranslator.cpp | 33 +- src/libcalamares/utils/Retranslator.h | 28 +- src/libcalamares/utils/String.cpp | 16 +- src/libcalamares/utils/String.h | 28 +- src/libcalamares/utils/Units.h | 60 ++-- src/libcalamares/utils/Variant.cpp | 14 +- src/libcalamares/utils/Variant.h | 54 ++-- src/libcalamares/utils/Yaml.cpp | 63 ++-- src/libcalamares/utils/Yaml.h | 4 +- 20 files changed, 623 insertions(+), 496 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 894c434be..6221c1f15 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -19,10 +19,10 @@ #include "CalamaresUtilsSystem.h" -#include "utils/Logger.h" #include "GlobalStorage.h" #include "JobQueue.h" #include "Settings.h" +#include "utils/Logger.h" #include #include @@ -34,8 +34,8 @@ #endif #ifdef Q_OS_FREEBSD -#include #include +#include #endif /** @brief When logging commands, don't log everything. @@ -48,12 +48,12 @@ struct RedactedList { RedactedList( const QStringList& l ) - : list(l) + : list( l ) { } const QStringList& list; -} ; +}; QDebug& operator<<( QDebug& s, const RedactedList& l ) @@ -63,12 +63,18 @@ operator<<( QDebug& s, const RedactedList& l ) { for ( const auto& item : l.list ) if ( item.startsWith( "$6$" ) ) + { s << ""; + } else + { s << item; + } } else + { s << l.list; + } return s; } @@ -92,8 +98,7 @@ System::System( bool doChroot, QObject* parent ) } -System::~System() -{} +System::~System() {} System* @@ -111,18 +116,22 @@ System::instance() int System::mount( const QString& devicePath, - const QString& mountPoint, - const QString& filesystemName, - const QString& options ) + const QString& mountPoint, + const QString& filesystemName, + const QString& options ) { if ( devicePath.isEmpty() || mountPoint.isEmpty() ) { if ( devicePath.isEmpty() ) + { cWarning() << "Can't mount an empty device."; + } if ( mountPoint.isEmpty() ) + { cWarning() << "Can't mount on an empty mountpoint."; + } - return static_cast(ProcessResult::Code::NoWorkingDirectory); + return static_cast< int >( ProcessResult::Code::NoWorkingDirectory ); } QDir mountPointDir( mountPoint ); @@ -132,7 +141,7 @@ System::mount( const QString& devicePath, if ( !ok ) { cWarning() << "Could not create mountpoint" << mountPoint; - return static_cast(ProcessResult::Code::NoWorkingDirectory); + return static_cast< int >( ProcessResult::Code::NoWorkingDirectory ); } } @@ -140,28 +149,31 @@ System::mount( const QString& devicePath, QStringList args = { devicePath, mountPoint }; if ( !filesystemName.isEmpty() ) + { args << "-t" << filesystemName; + } if ( !options.isEmpty() ) + { args << "-o" << options; + } return QProcess::execute( program, args ); } ProcessResult -System::runCommand( - System::RunLocation location, - const QStringList& args, - const QString& workingPath, - const QString& stdInput, - std::chrono::seconds timeoutSec ) +System::runCommand( System::RunLocation location, + const QStringList& args, + const QString& workingPath, + const QString& stdInput, + std::chrono::seconds timeoutSec ) { QString output; - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr; + Calamares::GlobalStorage* gs + = Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr; - if ( ( location == System::RunLocation::RunInTarget ) && - ( !gs || !gs->contains( "rootMountPoint" ) ) ) + if ( ( location == System::RunLocation::RunInTarget ) && ( !gs || !gs->contains( "rootMountPoint" ) ) ) { cWarning() << "No rootMountPoint in global storage"; return ProcessResult::Code::NoWorkingDirectory; @@ -197,7 +209,9 @@ System::runCommand( if ( !workingPath.isEmpty() ) { if ( QDir( workingPath ).exists() ) + { process.setWorkingDirectory( QDir( workingPath ).absolutePath() ); + } else { cWarning() << "Invalid working directory:" << workingPath; @@ -219,10 +233,10 @@ System::runCommand( } process.closeWriteChannel(); - if ( !process.waitForFinished( timeoutSec > std::chrono::seconds::zero() ? ( std::chrono::milliseconds( timeoutSec ).count() ) : -1 ) ) + if ( !process.waitForFinished( + timeoutSec > std::chrono::seconds::zero() ? ( std::chrono::milliseconds( timeoutSec ).count() ) : -1 ) ) { - cWarning().noquote().nospace() << "Timed out. Output so far:\n" << - process.readAllStandardOutput(); + cWarning().noquote().nospace() << "Timed out. Output so far:\n" << process.readAllStandardOutput(); return ProcessResult::Code::TimedOut; } @@ -242,7 +256,7 @@ System::runCommand( cDebug() << "Target cmd:" << RedactedList( args ); cDebug().noquote().nospace() << "Target output:\n" << output; } - return ProcessResult(r, output); + return ProcessResult( r, output ); } QString @@ -252,7 +266,8 @@ System::targetPath( const QString& path ) const if ( doChroot() ) { - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr; + Calamares::GlobalStorage* gs + = Calamares::JobQueue::instance() ? Calamares::JobQueue::instance()->globalStorage() : nullptr; if ( !gs || !gs->contains( "rootMountPoint" ) ) { @@ -309,28 +324,32 @@ System::createTargetFile( const QString& path, const QByteArray& contents ) cons } -QPair +QPair< quint64, float > System::getTotalMemoryB() const { #ifdef Q_OS_LINUX struct sysinfo i; int r = sysinfo( &i ); - if (r) - return qMakePair(0, 0.0); + if ( r ) + { + return qMakePair( 0, 0.0 ); + } - return qMakePair(quint64( i.mem_unit ) * quint64( i.totalram ), 1.1); + return qMakePair( quint64( i.mem_unit ) * quint64( i.totalram ), 1.1 ); #elif defined( Q_OS_FREEBSD ) unsigned long memsize; - size_t s = sizeof(memsize); + size_t s = sizeof( memsize ); - int r = sysctlbyname("vm.kmem_size", &memsize, &s, NULL, 0); - if (r) - return qMakePair(0, 0.0); + int r = sysctlbyname( "vm.kmem_size", &memsize, &s, NULL, 0 ); + if ( r ) + { + return qMakePair( 0, 0.0 ); + } - return qMakePair(memsize, 1.01); + return qMakePair( memsize, 1.01 ); #else - return qMakePair(0, 0.0); // Unsupported + return qMakePair( 0, 0.0 ); // Unsupported #endif } @@ -341,14 +360,14 @@ System::getCpuDescription() const QString model; #ifdef Q_OS_LINUX - QFile file("/proc/cpuinfo"); - if ( file.open(QIODevice::ReadOnly | QIODevice::Text) ) + QFile file( "/proc/cpuinfo" ); + if ( file.open( QIODevice::ReadOnly | QIODevice::Text ) ) while ( !file.atEnd() ) { QByteArray line = file.readLine(); - if ( line.startsWith( "model name" ) && (line.indexOf( ':' ) > 0) ) + if ( line.startsWith( "model name" ) && ( line.indexOf( ':' ) > 0 ) ) { - model = QString::fromLatin1( line.right(line.length() - line.indexOf( ':' ) ) ); + model = QString::fromLatin1( line.right( line.length() - line.indexOf( ':' ) ) ); break; } } @@ -376,40 +395,45 @@ ProcessResult::explainProcess( int ec, const QString& command, const QString& ou using Calamares::JobResult; if ( ec == 0 ) + { return JobResult::ok(); + } QString outputMessage = output.isEmpty() - ? QCoreApplication::translate( "ProcessResult", "\nThere was no output from the command.") - : (QCoreApplication::translate( "ProcessResult", "\nOutput:\n") + output); + ? QCoreApplication::translate( "ProcessResult", "\nThere was no output from the command." ) + : ( QCoreApplication::translate( "ProcessResult", "\nOutput:\n" ) + output ); - if ( ec == static_cast(ProcessResult::Code::Crashed) ) //Crash! - return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command crashed." ), - QCoreApplication::translate( "ProcessResult", "Command %1 crashed." ) - .arg( command ) - + outputMessage ); + if ( ec == static_cast< int >( ProcessResult::Code::Crashed ) ) //Crash! + return JobResult::error( + QCoreApplication::translate( "ProcessResult", "External command crashed." ), + QCoreApplication::translate( "ProcessResult", "Command %1 crashed." ).arg( command ) + + outputMessage ); - if ( ec == static_cast(ProcessResult::Code::FailedToStart) ) - return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command failed to start." ), - QCoreApplication::translate( "ProcessResult", "Command %1 failed to start." ) - .arg( command ) ); + if ( ec == static_cast< int >( ProcessResult::Code::FailedToStart ) ) + return JobResult::error( + QCoreApplication::translate( "ProcessResult", "External command failed to start." ), + QCoreApplication::translate( "ProcessResult", "Command %1 failed to start." ).arg( command ) ); - if ( ec == static_cast(ProcessResult::Code::NoWorkingDirectory) ) - return JobResult::error( QCoreApplication::translate( "ProcessResult", "Internal error when starting command." ), - QCoreApplication::translate( "ProcessResult", "Bad parameters for process job call." ) ); + if ( ec == static_cast< int >( ProcessResult::Code::NoWorkingDirectory ) ) + return JobResult::error( + QCoreApplication::translate( "ProcessResult", "Internal error when starting command." ), + QCoreApplication::translate( "ProcessResult", "Bad parameters for process job call." ) ); - if ( ec == static_cast(ProcessResult::Code::TimedOut) ) - return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command failed to finish." ), - QCoreApplication::translate( "ProcessResult", "Command %1 failed to finish in %2 seconds." ) - .arg( command ) - .arg( timeout.count() ) - + outputMessage ); + if ( ec == static_cast< int >( ProcessResult::Code::TimedOut ) ) + return JobResult::error( + QCoreApplication::translate( "ProcessResult", "External command failed to finish." ), + QCoreApplication::translate( "ProcessResult", "Command %1 failed to finish in %2 seconds." ) + .arg( command ) + .arg( timeout.count() ) + + outputMessage ); //Any other exit code - return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command finished with errors." ), - QCoreApplication::translate( "ProcessResult", "Command %1 finished with exit code %2." ) - .arg( command ) - .arg( ec ) - + outputMessage ); + return JobResult::error( + QCoreApplication::translate( "ProcessResult", "External command finished with errors." ), + QCoreApplication::translate( "ProcessResult", "Command %1 finished with exit code %2." ) + .arg( command ) + .arg( ec ) + + outputMessage ); } -} // namespace +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index 5b10f7d1a..8265f0fdb 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -36,15 +36,21 @@ class ProcessResult : public QPair< int, QString > public: enum class Code : int { - Crashed = -1, // Must match special return values from QProcess + Crashed = -1, // Must match special return values from QProcess FailedToStart = -2, // Must match special return values from QProcess NoWorkingDirectory = -3, TimedOut = -4 - } ; + }; /** @brief Implicit one-argument constructor has no output, only a return code */ - ProcessResult( Code r ) : QPair< int, QString >( static_cast(r), QString() ) {} - ProcessResult( int r, QString s ) : QPair< int, QString >( r, s ) {} + ProcessResult( Code r ) + : QPair< int, QString >( static_cast< int >( r ), QString() ) + { + } + ProcessResult( int r, QString s ) + : QPair< int, QString >( r, s ) + { + } int getExitCode() const { return first; } QString getOutput() const { return second; } @@ -62,7 +68,8 @@ public: * @param timeout Timeout passed to the process runner, for explaining * error code -4 (timeout). */ - static Calamares::JobResult explainProcess( int errorCode, const QString& command, const QString& output, std::chrono::seconds timeout ); + static Calamares::JobResult + explainProcess( int errorCode, const QString& command, const QString& output, std::chrono::seconds timeout ); /// @brief Convenience wrapper for explainProcess() inline Calamares::JobResult explainProcess( const QString& command, std::chrono::seconds timeout ) const @@ -75,7 +82,7 @@ public: { return explainProcess( getExitCode(), command.join( ' ' ), getOutput(), timeout ); } -} ; +}; /** * @brief The System class is a singleton with utility functions that perform @@ -116,7 +123,11 @@ public: /** (Typed) Boolean describing where a particular command should be run, * whether in the host (live) system or in the (chroot) target system. */ - enum class RunLocation { RunInHost, RunInTarget }; + enum class RunLocation + { + RunInHost, + RunInTarget + }; /** * Runs the specified command in the chroot of the target system. @@ -135,37 +146,31 @@ public: * NoWorkingDirectory = bad arguments * TimedOut = QProcess timeout */ - static DLLEXPORT ProcessResult runCommand( - RunLocation location, - const QStringList &args, - const QString& workingPath = QString(), - const QString& stdInput = QString(), - std::chrono::seconds timeoutSec = std::chrono::seconds(0) ); + static DLLEXPORT ProcessResult runCommand( RunLocation location, + const QStringList& args, + const QString& workingPath = QString(), + const QString& stdInput = QString(), + std::chrono::seconds timeoutSec = std::chrono::seconds( 0 ) ); /** @brief Convenience wrapper for runCommand(). * Runs the command in the location specified through the boolean * doChroot(), which is what you usually want for running commands * during installation. */ - inline ProcessResult targetEnvCommand( - const QStringList &args, - const QString& workingPath = QString(), - const QString& stdInput = QString(), - std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) + inline ProcessResult targetEnvCommand( const QStringList& args, + const QString& workingPath = QString(), + const QString& stdInput = QString(), + std::chrono::seconds timeoutSec = std::chrono::seconds( 0 ) ) { return runCommand( - m_doChroot ? RunLocation::RunInTarget : RunLocation::RunInHost, - args, - workingPath, - stdInput, - timeoutSec ); + m_doChroot ? RunLocation::RunInTarget : RunLocation::RunInHost, args, workingPath, stdInput, timeoutSec ); } /** @brief Convenience wrapper for targetEnvCommand() which returns only the exit code */ inline int targetEnvCall( const QStringList& args, const QString& workingPath = QString(), const QString& stdInput = QString(), - std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) + std::chrono::seconds timeoutSec = std::chrono::seconds( 0 ) ) { return targetEnvCommand( args, workingPath, stdInput, timeoutSec ).first; } @@ -174,9 +179,9 @@ public: inline int targetEnvCall( const QString& command, const QString& workingPath = QString(), const QString& stdInput = QString(), - std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) + std::chrono::seconds timeoutSec = std::chrono::seconds( 0 ) ) { - return targetEnvCall( QStringList{ command }, workingPath, stdInput, timeoutSec ); + return targetEnvCall( QStringList { command }, workingPath, stdInput, timeoutSec ); } /** @brief Convenience wrapper for targetEnvCommand() which returns only the exit code @@ -184,10 +189,10 @@ public: * Places the called program's output in the @p output string. */ int targetEnvOutput( const QStringList& args, - QString& output, - const QString& workingPath = QString(), - const QString& stdInput = QString(), - std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) + QString& output, + const QString& workingPath = QString(), + const QString& stdInput = QString(), + std::chrono::seconds timeoutSec = std::chrono::seconds( 0 ) ) { auto r = targetEnvCommand( args, workingPath, stdInput, timeoutSec ); output = r.second; @@ -202,9 +207,9 @@ public: QString& output, const QString& workingPath = QString(), const QString& stdInput = QString(), - std::chrono::seconds timeoutSec = std::chrono::seconds(0) ) + std::chrono::seconds timeoutSec = std::chrono::seconds( 0 ) ) { - return targetEnvOutput( QStringList{ command }, output, workingPath, stdInput, timeoutSec ); + return targetEnvOutput( QStringList { command }, output, workingPath, stdInput, timeoutSec ); } @@ -255,7 +260,7 @@ public: * * @return size, guesstimate-factor */ - DLLEXPORT QPair getTotalMemoryB() const; + DLLEXPORT QPair< quint64, float > getTotalMemoryB() const; /** * @brief getCpuDescription returns a string describing the CPU. @@ -279,6 +284,6 @@ private: bool m_doChroot; }; -} // namespace +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 414cfa9e5..85b4cd1e3 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -32,34 +32,44 @@ namespace CalamaresUtils { -static CommandLine get_variant_object( const QVariantMap& m ) +static CommandLine +get_variant_object( const QVariantMap& m ) { QString command = CalamaresUtils::getString( m, "command" ); int timeout = CalamaresUtils::getInteger( m, "timeout", -1 ); if ( !command.isEmpty() ) + { return CommandLine( command, timeout >= 0 ? std::chrono::seconds( timeout ) : CommandLine::TimeoutNotSet() ); + } cWarning() << "Bad CommandLine element" << m; return CommandLine(); } -static CommandList_t get_variant_stringlist( const QVariantList& l ) +static CommandList_t +get_variant_stringlist( const QVariantList& l ) { CommandList_t retl; unsigned int count = 0; for ( const auto& v : l ) { if ( v.type() == QVariant::String ) + { retl.append( CommandLine( v.toString(), CommandLine::TimeoutNotSet() ) ); + } else if ( v.type() == QVariant::Map ) { auto command( get_variant_object( v.toMap() ) ); if ( command.isValid() ) + { retl.append( command ); + } // Otherwise warning is already given } else + { cWarning() << "Bad CommandList element" << count << v.type() << v; + } ++count; } return retl; @@ -78,37 +88,48 @@ CommandList::CommandList::CommandList( const QVariant& v, bool doChroot, std::ch { const auto v_list = v.toList(); if ( v_list.count() ) + { append( get_variant_stringlist( v_list ) ); + } else + { cWarning() << "Empty CommandList"; + } } else if ( v.type() == QVariant::String ) + { append( v.toString() ); + } else if ( v.type() == QVariant::Map ) { auto c( get_variant_object( v.toMap() ) ); if ( c.isValid() ) + { append( c ); + } // Otherwise warning is already given } else + { cWarning() << "CommandList does not understand variant" << v.type(); + } } -CommandList::~CommandList() -{ -} +CommandList::~CommandList() {} static inline bool findInCommands( const CommandList& l, const QString& needle ) { for ( CommandList::const_iterator i = l.cbegin(); i != l.cend(); ++i ) if ( i->command().contains( needle ) ) + { return true; + } return false; } -Calamares::JobResult CommandList::run() +Calamares::JobResult +CommandList::run() { QLatin1Literal rootMagic( "@@ROOT@@" ); QLatin1Literal userMagic( "@@USER@@" ); @@ -125,8 +146,11 @@ Calamares::JobResult CommandList::run() if ( !gs || !gs->contains( "rootMountPoint" ) ) { cError() << "No rootMountPoint defined."; - return Calamares::JobResult::error( QCoreApplication::translate( "CommandList", "Could not run command." ), - QCoreApplication::translate( "CommandList", "The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined." ) ); + return Calamares::JobResult::error( + QCoreApplication::translate( "CommandList", "Could not run command." ), + QCoreApplication::translate( "CommandList", + "The command runs in the host environment and needs to know the root " + "path, but no rootMountPoint is defined." ) ); } root = gs->value( "rootMountPoint" ).toString(); } @@ -137,7 +161,8 @@ Calamares::JobResult CommandList::run() cError() << "No username defined."; return Calamares::JobResult::error( QCoreApplication::translate( "CommandList", "Could not run command." ), - QCoreApplication::translate( "CommandList", "The command needs to know the user's name, but no username is defined." ) ); + QCoreApplication::translate( "CommandList", + "The command needs to know the user's name, but no username is defined." ) ); } QString user = gs->value( "username" ).toString(); // may be blank if unset @@ -156,15 +181,18 @@ Calamares::JobResult CommandList::run() shell_cmd << processed_cmd; std::chrono::seconds timeout = i->timeout() >= std::chrono::seconds::zero() ? i->timeout() : m_timeout; - ProcessResult r = System::runCommand( - location, shell_cmd, QString(), QString(), timeout ); + ProcessResult r = System::runCommand( location, shell_cmd, QString(), QString(), timeout ); if ( r.getExitCode() != 0 ) { if ( suppress_result ) + { cDebug() << "Error code" << r.getExitCode() << "ignored by CommandList configuration."; + } else + { return r.explainProcess( processed_cmd, timeout ); + } } } @@ -177,4 +205,4 @@ CommandList::append( const QString& s ) append( CommandLine( s, m_timeout ) ); } -} // namespace +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/CommandList.h b/src/libcalamares/utils/CommandList.h index 7453ae6ce..71a5a483c 100644 --- a/src/libcalamares/utils/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -35,7 +35,7 @@ namespace CalamaresUtils */ struct CommandLine : public QPair< QString, std::chrono::seconds > { - static inline constexpr std::chrono::seconds TimeoutNotSet() { return std::chrono::seconds(-1); } + static inline constexpr std::chrono::seconds TimeoutNotSet() { return std::chrono::seconds( -1 ); } /// An invalid command line CommandLine() @@ -49,25 +49,16 @@ struct CommandLine : public QPair< QString, std::chrono::seconds > } CommandLine( const QString& s, std::chrono::seconds t ) - : QPair( s, t) + : QPair( s, t ) { } - QString command() const - { - return first; - } + QString command() const { return first; } - std::chrono::seconds timeout() const - { - return second; - } + std::chrono::seconds timeout() const { return second; } - bool isValid() const - { - return !first.isEmpty(); - } -} ; + bool isValid() const { return !first.isEmpty(); } +}; /** @brief Abbreviation, used internally. */ using CommandList_t = QList< CommandLine >; @@ -88,19 +79,16 @@ public: CommandList( const QVariant& v, bool doChroot = true, std::chrono::seconds timeout = std::chrono::seconds( 10 ) ); ~CommandList(); - bool doChroot() const - { - return m_doChroot; - } + bool doChroot() const { return m_doChroot; } Calamares::JobResult run(); - using CommandList_t::isEmpty; - using CommandList_t::count; + using CommandList_t::at; using CommandList_t::cbegin; using CommandList_t::cend; using CommandList_t::const_iterator; - using CommandList_t::at; + using CommandList_t::count; + using CommandList_t::isEmpty; protected: using CommandList_t::append; @@ -109,7 +97,7 @@ protected: private: bool m_doChroot; std::chrono::seconds m_timeout; -} ; +}; -} // namespace +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/utils/Dirs.cpp b/src/libcalamares/utils/Dirs.cpp index 1fd309584..ca569490f 100644 --- a/src/libcalamares/utils/Dirs.cpp +++ b/src/libcalamares/utils/Dirs.cpp @@ -101,16 +101,24 @@ mungeEnvironment( QStringList& l, const char* name, const char* defaultDirs ) QStringList dirs = QString( qgetenv( name ) ).split( ':' ); if ( dirs.isEmpty() ) + { dirs = QString( defaultDirs ).split( ':' ); + } for ( auto s : dirs ) { if ( s.isEmpty() ) + { continue; + } if ( s.endsWith( '/' ) ) + { l << ( s + calamaresSubdir ) << s; + } else + { l << ( s + '/' + calamaresSubdir ) << ( s + '/' ); + } } } @@ -127,7 +135,9 @@ QStringList extraConfigDirs() { if ( s_haveExtraDirs ) + { return s_extraConfigDirs; + } return QStringList(); } @@ -135,7 +145,9 @@ QStringList extraDataDirs() { if ( s_haveExtraDirs ) + { return s_extraDataDirs; + } return QStringList(); } @@ -173,12 +185,16 @@ appLogDir() QString path = QStandardPaths::writableLocation( QStandardPaths::CacheLocation ); QDir dir( path ); if ( isWritableDir( dir ) ) + { return dir; + } cerr << "warning: Could not find a standard writable location for log dir, falling back to $HOME\n"; dir = QDir::home(); if ( isWritableDir( dir ) ) + { return dir; + } cerr << "warning: Found no writable location for log dir, falling back to the temp dir\n"; return QDir::temp(); @@ -191,4 +207,4 @@ setQmlModulesDir( const QDir& dir ) s_qmlModulesDir = dir; } -} // namespace +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/Dirs.h b/src/libcalamares/utils/Dirs.h index 5532cb79b..a63e679da 100644 --- a/src/libcalamares/utils/Dirs.h +++ b/src/libcalamares/utils/Dirs.h @@ -31,43 +31,43 @@ namespace CalamaresUtils { - DLLEXPORT QDir qmlModulesDir(); +DLLEXPORT QDir qmlModulesDir(); - /** - * @brief appDataDir returns the directory with common application data. - * Defaults to CMAKE_INSTALL_FULL_DATADIR (usually /usr/share/calamares). - */ - DLLEXPORT QDir appDataDir(); +/** + * @brief appDataDir returns the directory with common application data. + * Defaults to CMAKE_INSTALL_FULL_DATADIR (usually /usr/share/calamares). + */ +DLLEXPORT QDir appDataDir(); - /** - * @brief appLogDir returns the directory for Calamares logs. - * Defaults to QStandardPaths::CacheLocation (usually ~/.cache/Calamares). - */ - DLLEXPORT QDir appLogDir(); +/** + * @brief appLogDir returns the directory for Calamares logs. + * Defaults to QStandardPaths::CacheLocation (usually ~/.cache/Calamares). + */ +DLLEXPORT QDir appLogDir(); - /** - * @brief systemLibDir returns the system's lib directory. - * Defaults to CMAKE_INSTALL_FULL_LIBDIR (usually /usr/lib64 or /usr/lib). - */ - DLLEXPORT QDir systemLibDir(); +/** + * @brief systemLibDir returns the system's lib directory. + * Defaults to CMAKE_INSTALL_FULL_LIBDIR (usually /usr/lib64 or /usr/lib). + */ +DLLEXPORT QDir systemLibDir(); - /** - * Override app data dir. Only for testing purposes. - */ - DLLEXPORT void setAppDataDir( const QDir& dir ); - DLLEXPORT bool isAppDataDirOverridden(); +/** + * Override app data dir. Only for testing purposes. + */ +DLLEXPORT void setAppDataDir( const QDir& dir ); +DLLEXPORT bool isAppDataDirOverridden(); - DLLEXPORT void setQmlModulesDir( const QDir& dir ); +DLLEXPORT void setQmlModulesDir( const QDir& dir ); - /** @brief Setup extra config and data dirs from the XDG variables. - */ - DLLEXPORT void setXdgDirs(); - /** @brief Are any extra directories configured? */ - DLLEXPORT bool haveExtraDirs(); - /** @brief XDG_CONFIG_DIRS, each guaranteed to end with / */ - DLLEXPORT QStringList extraConfigDirs(); - /** @brief XDG_DATA_DIRS, each guaranteed to end with / */ - DLLEXPORT QStringList extraDataDirs(); -} // namespace +/** @brief Setup extra config and data dirs from the XDG variables. + */ +DLLEXPORT void setXdgDirs(); +/** @brief Are any extra directories configured? */ +DLLEXPORT bool haveExtraDirs(); +/** @brief XDG_CONFIG_DIRS, each guaranteed to end with / */ +DLLEXPORT QStringList extraConfigDirs(); +/** @brief XDG_DATA_DIRS, each guaranteed to end with / */ +DLLEXPORT QStringList extraDataDirs(); +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/utils/Logger.cpp b/src/libcalamares/utils/Logger.cpp index 433e01fbb..0e207fa02 100644 --- a/src/libcalamares/utils/Logger.cpp +++ b/src/libcalamares/utils/Logger.cpp @@ -20,8 +20,8 @@ #include "Logger.h" -#include #include +#include #include #include @@ -30,17 +30,17 @@ #include #include -#include "utils/Dirs.h" #include "CalamaresVersion.h" +#include "utils/Dirs.h" #define LOGFILE_SIZE 1024 * 256 static std::ofstream logfile; static unsigned int s_threshold = #ifdef QT_NO_DEBUG - Logger::LOG_DISABLE; + Logger::LOG_DISABLE; #else - Logger::LOGEXTRA + 1; // Comparison is < in log() function + Logger::LOGEXTRA + 1; // Comparison is < in log() function #endif static QMutex s_mutex; @@ -48,15 +48,17 @@ namespace Logger { void -setupLogLevel(unsigned int level) +setupLogLevel( unsigned int level ) { if ( level > LOGVERBOSE ) + { level = LOGVERBOSE; + } s_threshold = level + 1; // Comparison is < in log() function } bool -logLevelEnabled(unsigned int level) +logLevelEnabled( unsigned int level ) { return level < s_threshold; } @@ -77,11 +79,9 @@ log( const char* msg, unsigned int debugLevel ) // If we don't format the date as a Qt::ISODate then we get a crash when // logging at exit as Qt tries to use QLocale to format, but QLocale is // on its way out. - logfile << QDate::currentDate().toString( Qt::ISODate ).toUtf8().data() - << " - " - << QTime::currentTime().toString().toUtf8().data() - << " [" << QString::number( debugLevel ).toUtf8().data() << "]: " - << msg << std::endl; + logfile << QDate::currentDate().toString( Qt::ISODate ).toUtf8().data() << " - " + << QTime::currentTime().toString().toUtf8().data() << " [" + << QString::number( debugLevel ).toUtf8().data() << "]: " << msg << std::endl; logfile.flush(); } @@ -90,9 +90,8 @@ log( const char* msg, unsigned int debugLevel ) { QMutexLocker lock( &s_mutex ); - std::cout << QTime::currentTime().toString().toUtf8().data() - << " [" << QString::number( debugLevel ).toUtf8().data() << "]: " - << msg << std::endl; + std::cout << QTime::currentTime().toString().toUtf8().data() << " [" + << QString::number( debugLevel ).toUtf8().data() << "]: " << msg << std::endl; std::cout.flush(); } } @@ -107,21 +106,21 @@ CalamaresLogHandler( QtMsgType type, const QMessageLogContext&, const QString& m const char* message = ba.constData(); QMutexLocker locker( &s_mutex ); - switch( type ) + switch ( type ) { - case QtDebugMsg: - log( message, LOGVERBOSE ); - break; + case QtDebugMsg: + log( message, LOGVERBOSE ); + break; - case QtInfoMsg: - log( message, 1 ); - break; + case QtInfoMsg: + log( message, 1 ); + break; - case QtCriticalMsg: - case QtWarningMsg: - case QtFatalMsg: - log( message, 0 ); - break; + case QtCriticalMsg: + case QtWarningMsg: + case QtFatalMsg: + log( message, 0 ); + break; } } @@ -161,11 +160,13 @@ setupLogfile() // Lock while (re-)opening the logfile { - QMutexLocker lock( &s_mutex ); - logfile.open( logFile().toLocal8Bit(), std::ios::app ); - if ( logfile.tellp() ) - logfile << "\n\n" << std::endl; - logfile << "=== START CALAMARES " << CALAMARES_VERSION << std::endl; + QMutexLocker lock( &s_mutex ); + logfile.open( logFile().toLocal8Bit(), std::ios::app ); + if ( logfile.tellp() ) + { + logfile << "\n\n" << std::endl; + } + logfile << "=== START CALAMARES " << CALAMARES_VERSION << std::endl; } qInstallMessageHandler( CalamaresLogHandler ); @@ -183,14 +184,13 @@ CLog::~CLog() log( m_msg.toUtf8().data(), m_debugLevel ); } -CDebug::~CDebug() -{ -} +CDebug::~CDebug() {} const char Continuation[] = "\n "; const char SubEntry[] = " .. "; -QString toString( const QVariant& v ) +QString +toString( const QVariant& v ) { auto t = v.type(); @@ -199,11 +199,15 @@ QString toString( const QVariant& v ) QStringList s; auto l = v.toList(); for ( auto lit = l.constBegin(); lit != l.constEnd(); ++lit ) + { s << lit->toString(); - return s.join(", "); + } + return s.join( ", " ); } else + { return v.toString(); + } } -} // namespace +} // namespace Logger diff --git a/src/libcalamares/utils/Logger.h b/src/libcalamares/utils/Logger.h index 4d1534e4b..643b3059b 100644 --- a/src/libcalamares/utils/Logger.h +++ b/src/libcalamares/utils/Logger.h @@ -27,169 +27,181 @@ namespace Logger { - DLLEXPORT extern const char Continuation[]; - DLLEXPORT extern const char SubEntry[]; +DLLEXPORT extern const char Continuation[]; +DLLEXPORT extern const char SubEntry[]; - enum +enum +{ + LOG_DISABLE = 0, + LOGERROR = 1, + LOGWARNING = 2, + LOGINFO = 3, + LOGEXTRA = 5, + LOGDEBUG = 6, + LOGVERBOSE = 8 +}; + +class DLLEXPORT CLog : public QDebug +{ +public: + explicit CLog( unsigned int debugLevel ); + virtual ~CLog(); + +private: + QString m_msg; + unsigned int m_debugLevel; +}; + +class DLLEXPORT CDebug : public CLog +{ +public: + CDebug( unsigned int debugLevel = LOGDEBUG ) + : CLog( debugLevel ) { - LOG_DISABLE = 0, - LOGERROR = 1, - LOGWARNING = 2, - LOGINFO = 3, - LOGEXTRA = 5, - LOGDEBUG = 6, - LOGVERBOSE = 8 - } ; - - class DLLEXPORT CLog : public QDebug - { - public: - explicit CLog( unsigned int debugLevel ); - virtual ~CLog(); - - private: - QString m_msg; - unsigned int m_debugLevel; - }; - - class DLLEXPORT CDebug : public CLog - { - public: - CDebug( unsigned int debugLevel = LOGDEBUG ) : CLog( debugLevel ) + if ( debugLevel <= LOGERROR ) { - if ( debugLevel <= LOGERROR ) - *this << "ERROR:"; - else if ( debugLevel <= LOGWARNING ) - *this << "WARNING:"; + *this << "ERROR:"; } - virtual ~CDebug(); - }; + else if ( debugLevel <= LOGWARNING ) + { + *this << "WARNING:"; + } + } + virtual ~CDebug(); +}; - /** - * @brief The full path of the log file. - */ - DLLEXPORT QString logFile(); +/** + * @brief The full path of the log file. + */ +DLLEXPORT QString logFile(); - /** - * @brief Start logging to the log file. - * - * Call this (once) to start logging to the log file (usually - * ~/.cache/calamares/session.log ). An existing log file is - * rolled over if it is too large. - */ - DLLEXPORT void setupLogfile(); +/** + * @brief Start logging to the log file. + * + * Call this (once) to start logging to the log file (usually + * ~/.cache/calamares/session.log ). An existing log file is + * rolled over if it is too large. + */ +DLLEXPORT void setupLogfile(); - /** - * @brief Set a log level for future logging. - * - * Pass in a value from the LOG* enum, above. Use 0 to - * disable logging. Values greater than LOGVERBOSE are - * limited to LOGVERBOSE, which will log everything. - * - * Practical values are 0, 1, 2, and 6. - */ - DLLEXPORT void setupLogLevel( unsigned int level ); +/** + * @brief Set a log level for future logging. + * + * Pass in a value from the LOG* enum, above. Use 0 to + * disable logging. Values greater than LOGVERBOSE are + * limited to LOGVERBOSE, which will log everything. + * + * Practical values are 0, 1, 2, and 6. + */ +DLLEXPORT void setupLogLevel( unsigned int level ); - /** @brief Return the configured log-level. */ - DLLEXPORT unsigned int logLevel(); +/** @brief Return the configured log-level. */ +DLLEXPORT unsigned int logLevel(); - /** @brief Would the given @p level really be logged? */ - DLLEXPORT bool logLevelEnabled( unsigned int level ); +/** @brief Would the given @p level really be logged? */ +DLLEXPORT bool logLevelEnabled( unsigned int level ); - /** - * @brief Row-oriented formatted logging. - * - * Use DebugRow to produce multiple rows of 2-column output - * in a debugging statement. For instance, - * cDebug() << DebugRow(1,12) - * << DebugRow(2,24) - * will produce a single timestamped debug line with continuations. - * Each DebugRow produces one line of output, with the two values. - */ - template - struct DebugRow +/** + * @brief Row-oriented formatted logging. + * + * Use DebugRow to produce multiple rows of 2-column output + * in a debugging statement. For instance, + * cDebug() << DebugRow(1,12) + * << DebugRow(2,24) + * will produce a single timestamped debug line with continuations. + * Each DebugRow produces one line of output, with the two values. + */ +template < typename T, typename U > +struct DebugRow +{ +public: + explicit DebugRow( const T& t, const U& u ) + : first( t ) + , second( u ) { - public: - explicit DebugRow(const T& t, const U& u) - : first(t) - , second(u) - {} - - const T& first; - const U& second; - } ; - - /** - * @brief List-oriented formatted logging. - * - * Use DebugList to produce multiple rows of output in a debugging - * statement. For instance, - * cDebug() << DebugList( QStringList() << "foo" << "bar" ) - * 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 - { - explicit DebugList( const QStringList& l ) - : list(l) - {} - - const QStringList& list; - } ; - - /** - * @brief Map-oriented formatted logging. - * - * Use DebugMap to produce multiple rows of output in a debugging - * statement from a map. The output is intentionally a bit-yaml-ish. - * cDebug() << DebugMap( map ) - * will produce a single timestamped debug line with continuations. - * The continued lines will have a key (from the map) and a value - * on each line. - */ - struct DebugMap - { - public: - explicit DebugMap(const QVariantMap& m) - : map( m ) - {} - - const QVariantMap& map; - } ; - - /** @brief output operator for DebugRow */ - template - inline QDebug& - operator <<( QDebug& s, const DebugRow& t ) - { - s << Continuation << t.first << ':' << ' ' << t.second; - return s; } - /** @brief output operator for DebugList */ - inline QDebug& - operator <<( QDebug& s, const DebugList& c ) + const T& first; + const U& second; +}; + +/** + * @brief List-oriented formatted logging. + * + * Use DebugList to produce multiple rows of output in a debugging + * statement. For instance, + * cDebug() << DebugList( QStringList() << "foo" << "bar" ) + * 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 +{ + explicit DebugList( const QStringList& l ) + : list( l ) { - for( const auto& i : c.list ) - s << Continuation << i; - return s; } - /** @brief supporting method for outputting a DebugMap */ - QString toString( const QVariant& v ); + const QStringList& list; +}; - /** @brief output operator for DebugMap */ - inline QDebug& - operator <<( QDebug& s, const DebugMap& t ) +/** + * @brief Map-oriented formatted logging. + * + * Use DebugMap to produce multiple rows of output in a debugging + * statement from a map. The output is intentionally a bit-yaml-ish. + * cDebug() << DebugMap( map ) + * will produce a single timestamped debug line with continuations. + * The continued lines will have a key (from the map) and a value + * on each line. + */ +struct DebugMap +{ +public: + explicit DebugMap( const QVariantMap& m ) + : map( m ) { - for ( auto it = t.map.constBegin(); it != t.map.constEnd(); ++it ) - s << Continuation << it.key().toUtf8().constData() << ':' << ' ' << toString( it.value() ).toUtf8().constData(); - return s; } -} // namespace + + const QVariantMap& map; +}; + +/** @brief output operator for DebugRow */ +template < typename T, typename U > +inline QDebug& +operator<<( QDebug& s, const DebugRow< T, U >& t ) +{ + s << Continuation << t.first << ':' << ' ' << t.second; + return s; +} + +/** @brief output operator for DebugList */ +inline QDebug& +operator<<( QDebug& s, const DebugList& c ) +{ + for ( const auto& i : c.list ) + { + s << Continuation << i; + } + return s; +} + +/** @brief supporting method for outputting a DebugMap */ +QString toString( const QVariant& v ); + +/** @brief output operator for DebugMap */ +inline QDebug& +operator<<( QDebug& s, const DebugMap& t ) +{ + for ( auto it = t.map.constBegin(); it != t.map.constEnd(); ++it ) + { + s << Continuation << it.key().toUtf8().constData() << ':' << ' ' << toString( it.value() ).toUtf8().constData(); + } + return s; +} +} // namespace Logger #define cDebug Logger::CDebug -#define cWarning() Logger::CDebug(Logger::LOGWARNING) -#define cError() Logger::CDebug(Logger::LOGERROR) +#define cWarning() Logger::CDebug( Logger::LOGWARNING ) +#define cError() Logger::CDebug( Logger::LOGERROR ) #endif diff --git a/src/libcalamares/utils/NamedEnum.h b/src/libcalamares/utils/NamedEnum.h index 5ff62f54c..76c8ed3bb 100644 --- a/src/libcalamares/utils/NamedEnum.h +++ b/src/libcalamares/utils/NamedEnum.h @@ -31,12 +31,12 @@ #include -#include -#include #include +#include +#include /** @brief Type for collecting parts of a named enum. */ -template +template < typename T > struct NamedEnumTable { using string_t = QString; @@ -53,7 +53,11 @@ struct NamedEnumTable * * static const NamedEnumTable c{ {"red", Colors::Red } }; */ - NamedEnumTable( const std::initializer_list< pair_t >& v ) : table( v ) { /* static_assert( v.size() > 0 ); */ } + NamedEnumTable( const std::initializer_list< pair_t >& v ) + : table( v ) + { + /* static_assert( v.size() > 0 ); */ + } /** @brief Find a name @p s in the table. * @@ -89,8 +93,8 @@ struct NamedEnumTable { ok = false; - for ( const auto &p : table ) - if ( s == p.second) + for ( const auto& p : table ) + if ( s == p.second ) { ok = true; return p.first; @@ -99,13 +103,14 @@ struct NamedEnumTable // ok is still false return string_t(); } -} ; +}; /** @brief Smashes an enum value to its underlying type. */ -template -constexpr typename std::underlying_type::type smash( const E e ) +template < typename E > +constexpr typename std::underlying_type< E >::type +smash( const E e ) { - return static_cast::type>( e ); + return static_cast< typename std::underlying_type< E >::type >( e ); } #endif diff --git a/src/libcalamares/utils/NamedSuffix.h b/src/libcalamares/utils/NamedSuffix.h index f58277698..e697c0640 100644 --- a/src/libcalamares/utils/NamedSuffix.h +++ b/src/libcalamares/utils/NamedSuffix.h @@ -42,7 +42,7 @@ #include "NamedEnum.h" /** @brief Template that takes the enum type to work with and a special none-enum. */ -template +template < typename T, T _none > class NamedSuffix { public: @@ -52,7 +52,7 @@ public: /** @brief Empty value. */ NamedSuffix() - : m_value(0) + : m_value( 0 ) , m_unit( none ) { } @@ -69,10 +69,10 @@ public: * This parses the given string @p s by comparing with the suffixes * in @p table and uses the first matching suffix as the unit. */ - NamedSuffix( const NamedEnumTable& table, const QString& s ) + NamedSuffix( const NamedEnumTable< T >& table, const QString& s ) : NamedSuffix() { - for( const auto& suffix : table.table ) + for ( const auto& suffix : table.table ) if ( s.endsWith( suffix.first ) ) { m_value = s.left( s.length() - suffix.first.length() ).toInt(); diff --git a/src/libcalamares/utils/PluginFactory_p.h b/src/libcalamares/utils/PluginFactory_p.h index 7a6db217e..dc272f077 100644 --- a/src/libcalamares/utils/PluginFactory_p.h +++ b/src/libcalamares/utils/PluginFactory_p.h @@ -32,23 +32,24 @@ namespace Calamares class PluginFactoryPrivate { - Q_DECLARE_PUBLIC(PluginFactory) + Q_DECLARE_PUBLIC( PluginFactory ) protected: - typedef QPair Plugin; + typedef QPair< const QMetaObject*, PluginFactory::CreateInstanceFunction > Plugin; PluginFactoryPrivate() : catalogInitialized( false ) , q_ptr( nullptr ) - {} + { + } ~PluginFactoryPrivate() {} - QHash createInstanceHash; + QHash< QString, Plugin > createInstanceHash; QString catalogName; bool catalogInitialized; - PluginFactory *q_ptr; + PluginFactory* q_ptr; }; -} // namespace +} // namespace Calamares #endif diff --git a/src/libcalamares/utils/Retranslator.cpp b/src/libcalamares/utils/Retranslator.cpp index 93560f4ae..e154350b9 100644 --- a/src/libcalamares/utils/Retranslator.cpp +++ b/src/libcalamares/utils/Retranslator.cpp @@ -26,27 +26,30 @@ #include -namespace CalamaresUtils { +namespace CalamaresUtils +{ static QTranslator* s_brandingTranslator = nullptr; static QTranslator* s_translator = nullptr; static QString s_translatorLocaleName; void -installTranslator( const QLocale& locale, - const QString& brandingTranslationsPrefix, - QObject* parent ) +installTranslator( const QLocale& locale, const QString& brandingTranslationsPrefix, QObject* parent ) { QString localeName = locale.name(); localeName.replace( "-", "_" ); if ( localeName == "C" ) + { localeName = "en"; + } // Special case of sr@latin // // See top-level CMakeLists.txt about special cases for translation loading. if ( locale.language() == QLocale::Language::Serbian && locale.script() == QLocale::Script::LatinScript ) + { localeName = QStringLiteral( "sr@latin" ); + } cDebug() << "Looking for translations for" << localeName; @@ -56,19 +59,14 @@ installTranslator( const QLocale& locale, if ( !brandingTranslationsPrefix.isEmpty() ) { QString brandingTranslationsDirPath( brandingTranslationsPrefix ); - brandingTranslationsDirPath.truncate( brandingTranslationsPrefix.lastIndexOf( - QDir::separator() ) ); + brandingTranslationsDirPath.truncate( brandingTranslationsPrefix.lastIndexOf( QDir::separator() ) ); QDir brandingTranslationsDir( brandingTranslationsDirPath ); if ( brandingTranslationsDir.exists() ) { QString filenameBase( brandingTranslationsPrefix ); - filenameBase.remove( 0, brandingTranslationsPrefix.lastIndexOf( - QDir::separator() ) + 1 ); + filenameBase.remove( 0, brandingTranslationsPrefix.lastIndexOf( QDir::separator() ) + 1 ); translator = new QTranslator( parent ); - if ( translator->load( locale, - filenameBase, - "_", - brandingTranslationsDir.absolutePath() ) ) + if ( translator->load( locale, filenameBase, "_", brandingTranslationsDir.absolutePath() ) ) { cDebug() << Logger::SubEntry << "Branding using locale:" << localeName; } @@ -121,19 +119,22 @@ translatorLocaleName() } void -Retranslator::attachRetranslator( QObject* parent, - std::function< void ( void ) > retranslateFunc ) +Retranslator::attachRetranslator( QObject* parent, std::function< void( void ) > retranslateFunc ) { Retranslator* r = nullptr; for ( QObject* child : parent->children() ) { r = qobject_cast< Retranslator* >( child ); if ( r ) + { break; + } } if ( !r ) + { r = new Retranslator( parent ); + } r->m_retranslateFuncList.append( retranslateFunc ); retranslateFunc(); @@ -155,7 +156,9 @@ Retranslator::eventFilter( QObject* obj, QEvent* e ) if ( e->type() == QEvent::LanguageChange ) { foreach ( std::function< void() > func, m_retranslateFuncList ) + { func(); + } } } // pass the event on to the base @@ -163,4 +166,4 @@ Retranslator::eventFilter( QObject* obj, QEvent* e ) } -} // namespace CalamaresUtils +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/Retranslator.h b/src/libcalamares/utils/Retranslator.h index e06630630..32e8dcf41 100644 --- a/src/libcalamares/utils/Retranslator.h +++ b/src/libcalamares/utils/Retranslator.h @@ -32,24 +32,21 @@ class QLocale; namespace CalamaresUtils { - /** - * @brief installTranslator changes the application language. - * @param locale the new locale. - * @param brandingTranslationsPrefix the branding path prefix, from Calamares::Branding. - * @param parent the parent QObject. - */ - DLLEXPORT void installTranslator( const QLocale& locale, - const QString& brandingTranslationsPrefix, - QObject* parent ); +/** + * @brief installTranslator changes the application language. + * @param locale the new locale. + * @param brandingTranslationsPrefix the branding path prefix, from Calamares::Branding. + * @param parent the parent QObject. + */ +DLLEXPORT void installTranslator( const QLocale& locale, const QString& brandingTranslationsPrefix, QObject* parent ); - DLLEXPORT QString translatorLocaleName(); +DLLEXPORT QString translatorLocaleName(); class Retranslator : public QObject { Q_OBJECT public: - static void attachRetranslator( QObject* parent, - std::function< void( void ) > retranslateFunc ); + static void attachRetranslator( QObject* parent, std::function< void( void ) > retranslateFunc ); void addRetranslateFunc( std::function< void( void ) > retranslateFunc ); @@ -63,11 +60,10 @@ private: }; -} // namespace +} // namespace CalamaresUtils -#define CALAMARES_RETRANSLATE(body) \ - CalamaresUtils::Retranslator::attachRetranslator( this, [=] { body } ); -#define CALAMARES_RETRANSLATE_WIDGET(widget,body) \ +#define CALAMARES_RETRANSLATE( body ) CalamaresUtils::Retranslator::attachRetranslator( this, [=] { body } ); +#define CALAMARES_RETRANSLATE_WIDGET( widget, body ) \ CalamaresUtils::Retranslator::attachRetranslator( widget, [=] { body } ); #endif diff --git a/src/libcalamares/utils/String.cpp b/src/libcalamares/utils/String.cpp index f577aee17..e39132328 100644 --- a/src/libcalamares/utils/String.cpp +++ b/src/libcalamares/utils/String.cpp @@ -74,7 +74,7 @@ removeDiacritics( const QString& string ) // *INDENT-ON* QString output; - for ( const QChar &c : string ) + for ( const QChar& c : string ) { int i = diacriticLetters.indexOf( c ); if ( i < 0 ) @@ -119,14 +119,14 @@ QString obscure( const QString& string ) { QString result; - const QChar *unicode = string.unicode(); + const QChar* unicode = string.unicode(); for ( int i = 0; i < string.length(); ++i ) - // yes, no typo. can't encode ' ' or '!' because - // they're the unicode BOM. stupid scrambling. stupid. - result += ( unicode[ i ].unicode() <= 0x21 ) ? - unicode[ i ] : - QChar( 0x1001F - unicode[ i ].unicode() ); + // yes, no typo. can't encode ' ' or '!' because + // they're the unicode BOM. stupid scrambling. stupid. + { + result += ( unicode[ i ].unicode() <= 0x21 ) ? unicode[ i ] : QChar( 0x1001F - unicode[ i ].unicode() ); + } return result; } -} +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/String.h b/src/libcalamares/utils/String.h index 0a69bcf83..cdf7d0b41 100644 --- a/src/libcalamares/utils/String.h +++ b/src/libcalamares/utils/String.h @@ -34,20 +34,20 @@ */ namespace CalamaresUtils { - /** - * @brief removeDiacritics replaces letters with diacritics and ligatures with - * alternative forms and digraphs. - * @param string the string to transform. - * @return the output string with plain characters. - */ - DLLEXPORT QString removeDiacritics( const QString& string ); +/** + * @brief removeDiacritics replaces letters with diacritics and ligatures with + * alternative forms and digraphs. + * @param string the string to transform. + * @return the output string with plain characters. + */ +DLLEXPORT QString removeDiacritics( const QString& string ); - /** - * @brief obscure is a bidirectional obfuscation function, from KStringHandler. - * @param string the input string. - * @return the obfuscated string. - */ - DLLEXPORT QString obscure( const QString& string ); -} // namespace +/** + * @brief obscure is a bidirectional obfuscation function, from KStringHandler. + * @param string the input string. + * @return the obfuscated string. + */ +DLLEXPORT QString obscure( const QString& string ); +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h index 8fb34c3e0..e1f30460a 100644 --- a/src/libcalamares/utils/Units.h +++ b/src/libcalamares/utils/Units.h @@ -26,76 +26,88 @@ namespace CalamaresUtils { /** User defined literals, 1_KiB is 1 KibiByte (= 2^10 bytes) */ -constexpr qint64 operator ""_KiB( unsigned long long m ) +constexpr qint64 operator""_KiB( unsigned long long m ) { - return qint64(m) * 1024; + return qint64( m ) * 1024; } /** User defined literals, 1_MiB is 1 MibiByte (= 2^20 bytes) */ -constexpr qint64 operator ""_MiB( unsigned long long m ) +constexpr qint64 operator""_MiB( unsigned long long m ) { - return operator ""_KiB(m) * 1024; + return operator""_KiB(m)*1024; } /** User defined literals, 1_GiB is 1 GibiByte (= 2^30 bytes) */ -constexpr qint64 operator ""_GiB( unsigned long long m ) +constexpr qint64 operator""_GiB( unsigned long long m ) { - return operator ""_MiB(m) * 1024; + return operator""_MiB(m)*1024; } -constexpr qint64 KiBtoBytes( unsigned long long m ) +constexpr qint64 +KiBtoBytes( unsigned long long m ) { - return operator ""_KiB( m ); + return operator""_KiB( m ); } -constexpr qint64 MiBtoBytes( unsigned long long m ) +constexpr qint64 +MiBtoBytes( unsigned long long m ) { - return operator ""_MiB( m ); + return operator""_MiB( m ); } -constexpr qint64 GiBtoBytes( unsigned long long m ) +constexpr qint64 +GiBtoBytes( unsigned long long m ) { - return operator ""_GiB( m ); + return operator""_GiB( m ); } -constexpr qint64 KiBtoBytes( double m ) +constexpr qint64 +KiBtoBytes( double m ) { - return qint64(m * 1024); + return qint64( m * 1024 ); } -constexpr qint64 MiBtoBytes( double m ) +constexpr qint64 +MiBtoBytes( double m ) { - return qint64(m * 1024 * 1024); + return qint64( m * 1024 * 1024 ); } -constexpr qint64 GiBtoBytes( double m ) +constexpr qint64 +GiBtoBytes( double m ) { - return qint64(m * 1024 * 1024 * 1024); + return qint64( m * 1024 * 1024 * 1024 ); } -constexpr int BytesToMiB( qint64 b ) +constexpr int +BytesToMiB( qint64 b ) { return int( b / 1024 / 1024 ); } -constexpr int BytesToGiB( qint64 b ) +constexpr int +BytesToGiB( qint64 b ) { return int( b / 1024 / 1024 / 1024 ); } -constexpr qint64 alignBytesToBlockSize( qint64 bytes, qint64 blocksize ) +constexpr qint64 +alignBytesToBlockSize( qint64 bytes, qint64 blocksize ) { qint64 blocks = bytes / blocksize; if ( blocks * blocksize != bytes ) + { ++blocks; + } return blocks * blocksize; } -constexpr qint64 bytesToSectors( qint64 bytes, qint64 blocksize ) +constexpr qint64 +bytesToSectors( qint64 bytes, qint64 blocksize ) { - return alignBytesToBlockSize( alignBytesToBlockSize( bytes, blocksize), MiBtoBytes(1ULL) ) / blocksize; + return alignBytesToBlockSize( alignBytesToBlockSize( bytes, blocksize ), MiBtoBytes( 1ULL ) ) / blocksize; } -} // namespace +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/utils/Variant.cpp b/src/libcalamares/utils/Variant.cpp index f11853916..2e7a13eed 100644 --- a/src/libcalamares/utils/Variant.cpp +++ b/src/libcalamares/utils/Variant.cpp @@ -39,20 +39,24 @@ getBool( const QVariantMap& map, const QString& key, bool d ) { auto v = map.value( key ); if ( v.type() == QVariant::Bool ) + { result = v.toBool(); + } } return result; } QString -getString(const QVariantMap& map, const QString& key) +getString( const QVariantMap& map, const QString& key ) { if ( map.contains( key ) ) { auto v = map.value( key ); if ( v.type() == QVariant::String ) + { return v.toString(); + } } return QString(); } @@ -65,7 +69,9 @@ getInteger( const QVariantMap& map, const QString& key, int d ) { auto v = map.value( key ); if ( v.type() == QVariant::Int ) + { result = v.toInt(); + } } return result; @@ -79,9 +85,13 @@ getDouble( const QVariantMap& map, const QString& key, double d ) { auto v = map.value( key ); if ( v.type() == QVariant::Int ) + { result = v.toInt(); + } else if ( v.type() == QVariant::Double ) + { result = v.toDouble(); + } } return result; @@ -104,4 +114,4 @@ getSubMap( const QVariantMap& map, const QString& key, bool& success ) return QVariantMap(); } -} +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/Variant.h b/src/libcalamares/utils/Variant.h index e60eccb4e..c68c2a801 100644 --- a/src/libcalamares/utils/Variant.h +++ b/src/libcalamares/utils/Variant.h @@ -27,36 +27,36 @@ namespace CalamaresUtils { - /** - * Get a bool value from a mapping with a given key; returns the default - * if no value is stored in the map. - */ - DLLEXPORT bool getBool( const QVariantMap& map, const QString& key, bool d ); +/** + * Get a bool value from a mapping with a given key; returns the default + * if no value is stored in the map. + */ +DLLEXPORT bool getBool( const QVariantMap& map, const QString& key, bool d ); - /** - * Get a string value from a mapping; returns empty QString if no value. - */ - DLLEXPORT QString getString( const QVariantMap& map, const QString& key ); +/** + * Get a string value from a mapping; returns empty QString if no value. + */ +DLLEXPORT QString getString( const QVariantMap& map, const QString& key ); - /** - * Get an integer value from a mapping; returns @p d if no value. - */ - DLLEXPORT int getInteger( const QVariantMap& map, const QString& key, int d ); +/** + * Get an integer value from a mapping; returns @p d if no value. + */ +DLLEXPORT int getInteger( const QVariantMap& map, const QString& key, int d ); - /** - * Get a double value from a mapping (integers are converted); returns @p d if no value. - */ - DLLEXPORT double getDouble( const QVariantMap& map, const QString& key, double d ); +/** + * Get a double value from a mapping (integers are converted); returns @p d if no value. + */ +DLLEXPORT double getDouble( const QVariantMap& map, const QString& key, double d ); - /** - * Returns a sub-map (i.e. a nested map) from the given mapping with the - * given key. @p success is set to true if the @p key exists - * in @p map and converts to a map, false otherwise. - * - * Returns an empty map if there is no such key or it is not a map-value. - * (e.g. if @p success is false). - */ - DLLEXPORT QVariantMap getSubMap( const QVariantMap& map, const QString& key, bool& success ); -} // namespace +/** + * Returns a sub-map (i.e. a nested map) from the given mapping with the + * given key. @p success is set to true if the @p key exists + * in @p map and converts to a map, false otherwise. + * + * Returns an empty map if there is no such key or it is not a map-value. + * (e.g. if @p success is false). + */ +DLLEXPORT QVariantMap getSubMap( const QVariantMap& map, const QString& key, bool& success ); +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/utils/Yaml.cpp b/src/libcalamares/utils/Yaml.cpp index aa7ef6c2e..cad6ac1fe 100644 --- a/src/libcalamares/utils/Yaml.cpp +++ b/src/libcalamares/utils/Yaml.cpp @@ -70,13 +70,21 @@ yamlScalarToVariant( const YAML::Node& scalarNode ) std::string stdScalar = scalarNode.as< std::string >(); QString scalarString = QString::fromStdString( stdScalar ); if ( _yamlScalarTrueValues.exactMatch( scalarString ) ) + { return QVariant( true ); + } if ( _yamlScalarFalseValues.exactMatch( scalarString ) ) + { return QVariant( false ); + } if ( QRegExp( "[-+]?\\d+" ).exactMatch( scalarString ) ) + { return QVariant( scalarString.toInt() ); + } if ( QRegExp( "[-+]?\\d*\\.?\\d+" ).exactMatch( scalarString ) ) + { return QVariant( scalarString.toDouble() ); + } return QVariant( scalarString ); } @@ -85,8 +93,7 @@ QVariant yamlSequenceToVariant( const YAML::Node& sequenceNode ) { QVariantList vl; - for ( YAML::const_iterator it = sequenceNode.begin(); - it != sequenceNode.end(); ++it ) + for ( YAML::const_iterator it = sequenceNode.begin(); it != sequenceNode.end(); ++it ) { vl << yamlToVariant( *it ); } @@ -98,17 +105,15 @@ QVariant yamlMapToVariant( const YAML::Node& mapNode ) { QVariantMap vm; - for ( YAML::const_iterator it = mapNode.begin(); - it != mapNode.end(); ++it ) + for ( YAML::const_iterator it = mapNode.begin(); it != mapNode.end(); ++it ) { - vm.insert( QString::fromStdString( it->first.as< std::string >() ), - yamlToVariant( it->second ) ); + vm.insert( QString::fromStdString( it->first.as< std::string >() ), yamlToVariant( it->second ) ); } return vm; } QStringList -yamlToStringList(const YAML::Node& listNode) +yamlToStringList( const YAML::Node& listNode ) { QStringList l; listNode >> l; @@ -117,7 +122,7 @@ yamlToStringList(const YAML::Node& listNode) void -explainYamlException( const YAML::Exception& e, const QByteArray& yamlData, const char *label ) +explainYamlException( const YAML::Exception& e, const QByteArray& yamlData, const char* label ) { cWarning() << "YAML error " << e.what() << "in" << label << '.'; explainYamlException( e, yamlData ); @@ -142,7 +147,9 @@ explainYamlException( const YAML::Exception& e, const QByteArray& yamlData ) linestart = yamlData.indexOf( '\n', linestart ); // No more \ns found, weird if ( linestart < 0 ) + { break; + } linestart += 1; // Skip that \n } int lineend = linestart; @@ -150,34 +157,43 @@ explainYamlException( const YAML::Exception& e, const QByteArray& yamlData ) { lineend = yamlData.indexOf( '\n', linestart ); if ( lineend < 0 ) + { lineend = yamlData.length(); + } } int rangestart = linestart; int rangeend = lineend; // Adjust range (linestart..lineend) so it's not too long if ( ( linestart >= 0 ) && ( e.mark.column > 30 ) ) + { rangestart += ( e.mark.column - 30 ); + } if ( ( linestart >= 0 ) && ( rangeend - rangestart > 40 ) ) + { rangeend = rangestart + 40; + } if ( linestart >= 0 ) - cWarning() << "offending YAML data:" << yamlData.mid( rangestart, rangeend-rangestart ).constData(); - + { + cWarning() << "offending YAML data:" << yamlData.mid( rangestart, rangeend - rangestart ).constData(); + } } } QVariantMap -loadYaml(const QFileInfo& fi, bool* ok) +loadYaml( const QFileInfo& fi, bool* ok ) { return loadYaml( fi.absoluteFilePath(), ok ); } QVariantMap -loadYaml(const QString& filename, bool* ok) +loadYaml( const QString& filename, bool* ok ) { if ( ok ) + { *ok = false; + } QFile yamlFile( filename ); QVariant yamlContents; @@ -197,12 +213,12 @@ loadYaml(const QString& filename, bool* ok) } - if ( yamlContents.isValid() && - !yamlContents.isNull() && - yamlContents.type() == QVariant::Map ) + if ( yamlContents.isValid() && !yamlContents.isNull() && yamlContents.type() == QVariant::Map ) { if ( ok ) + { *ok = true; + } return yamlContents.toMap(); } @@ -214,7 +230,9 @@ static void writeIndent( QFile& f, int indent ) { while ( indent-- > 0 ) + { f.write( " " ); + } } // forward declaration @@ -229,7 +247,9 @@ static void dumpYamlElement( QFile& f, const QVariant& value, int indent ) { if ( value.type() == QVariant::Type::Bool ) + { f.write( value.toBool() ? "true" : "false" ); + } else if ( value.type() == QVariant::Type::String ) { f.write( quote ); @@ -251,17 +271,19 @@ dumpYamlElement( QFile& f, const QVariant& value, int indent ) { ++c; f.write( newline ); - writeIndent( f, indent+1 ); + writeIndent( f, indent + 1 ); f.write( "- " ); - dumpYamlElement( f, it, indent+1 ); + dumpYamlElement( f, it, indent + 1 ); } if ( !c ) // i.e. list was empty + { f.write( "[]" ); + } } else if ( value.type() == QVariant::Type::Map ) { f.write( newline ); - dumpYaml( f, value.toMap(), indent+1 ); + dumpYaml( f, value.toMap(), indent + 1 ); } else { @@ -293,12 +315,13 @@ saveYaml( const QString& filename, const QVariantMap& map ) { QFile f( filename ); if ( !f.open( QFile::WriteOnly ) ) + { return false; + } f.write( "# YAML dump\n---\n" ); return dumpYaml( f, map, 0 ); } - -} // namespace +} // namespace CalamaresUtils diff --git a/src/libcalamares/utils/Yaml.h b/src/libcalamares/utils/Yaml.h index 8755be336..6b786aef8 100644 --- a/src/libcalamares/utils/Yaml.h +++ b/src/libcalamares/utils/Yaml.h @@ -73,10 +73,10 @@ bool saveYaml( const QString& filename, const QVariantMap& map ); * what is going on in terms of the data passed to the parser. * Uses @p label when labeling the data source (e.g. "netinstall data") */ -void explainYamlException( const YAML::Exception& e, const QByteArray& data, const char *label ); +void explainYamlException( const YAML::Exception& e, const QByteArray& data, const char* label ); void explainYamlException( const YAML::Exception& e, const QByteArray& data, const QString& label ); void explainYamlException( const YAML::Exception& e, const QByteArray& data ); -} // namespace +} // namespace CalamaresUtils #endif From 312865cdd91048ca8c7a2833c1a524a9af984ed5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:09:53 +0200 Subject: [PATCH 134/626] [libcalamares] Fix build on FreeBSD --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 6221c1f15..00b879224 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -34,8 +34,11 @@ #endif #ifdef Q_OS_FREEBSD -#include +// clang-format off +// these includes need to stay in-order (that's a FreeBSD thing) #include +#include +// clang-format on #endif /** @brief When logging commands, don't log everything. From fa2b94d931a366b5fd2261751d166e43c968a28e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:13:58 +0200 Subject: [PATCH 135/626] [libcalamares] Apply current coding style to libcalamares/partition/ --- src/libcalamares/partition/PartitionSize.cpp | 71 +++++++++++---- src/libcalamares/partition/PartitionSize.h | 38 ++++---- src/libcalamares/partition/Tests.cpp | 96 ++++++++++---------- src/libcalamares/partition/Tests.h | 4 +- 4 files changed, 120 insertions(+), 89 deletions(-) diff --git a/src/libcalamares/partition/PartitionSize.cpp b/src/libcalamares/partition/PartitionSize.cpp index ee3d4c80b..3f4463f3c 100644 --- a/src/libcalamares/partition/PartitionSize.cpp +++ b/src/libcalamares/partition/PartitionSize.cpp @@ -26,16 +26,13 @@ namespace CalamaresUtils namespace Partition { -static const NamedEnumTable& +static const NamedEnumTable< SizeUnit >& unitSuffixes() { - static const NamedEnumTable names{ - { QStringLiteral( "%" ), SizeUnit::Percent }, - { QStringLiteral( "K" ), SizeUnit::KiB }, - { QStringLiteral( "KiB" ), SizeUnit::KiB }, - { QStringLiteral( "M" ), SizeUnit::MiB }, - { QStringLiteral( "MiB" ), SizeUnit::MiB }, - { QStringLiteral( "G" ), SizeUnit::GiB }, + static const NamedEnumTable< SizeUnit > names { + { QStringLiteral( "%" ), SizeUnit::Percent }, { QStringLiteral( "K" ), SizeUnit::KiB }, + { QStringLiteral( "KiB" ), SizeUnit::KiB }, { QStringLiteral( "M" ), SizeUnit::MiB }, + { QStringLiteral( "MiB" ), SizeUnit::MiB }, { QStringLiteral( "G" ), SizeUnit::GiB }, { QStringLiteral( "GiB" ), SizeUnit::GiB } }; @@ -55,7 +52,9 @@ PartitionSize::PartitionSize( const QString& s ) { m_value = s.toInt(); if ( m_value > 0 ) + { m_unit = SizeUnit::Byte; + } } if ( m_value <= 0 ) @@ -69,9 +68,13 @@ qint64 PartitionSize::toSectors( qint64 totalSectors, qint64 sectorSize ) const { if ( !isValid() ) + { return -1; + } if ( totalSectors < 1 || sectorSize < 1 ) + { return -1; + } switch ( m_unit ) { @@ -79,14 +82,18 @@ PartitionSize::toSectors( qint64 totalSectors, qint64 sectorSize ) const return -1; case SizeUnit::Percent: if ( value() == 100 ) + { return totalSectors; // Common-case, avoid futzing around + } else + { return totalSectors * value() / 100; + } case SizeUnit::Byte: case SizeUnit::KiB: case SizeUnit::MiB: case SizeUnit::GiB: - return CalamaresUtils::bytesToSectors ( toBytes(), sectorSize ); + return CalamaresUtils::bytesToSectors( toBytes(), sectorSize ); } return -1; @@ -96,7 +103,9 @@ qint64 PartitionSize::toBytes( qint64 totalSectors, qint64 sectorSize ) const { if ( !isValid() ) + { return -1; + } switch ( m_unit ) { @@ -104,11 +113,17 @@ PartitionSize::toBytes( qint64 totalSectors, qint64 sectorSize ) const return -1; case SizeUnit::Percent: if ( totalSectors < 1 || sectorSize < 1 ) + { return -1; + } if ( value() == 100 ) + { return totalSectors * sectorSize; // Common-case, avoid futzing around + } else + { return totalSectors * value() / 100; + } case SizeUnit::Byte: case SizeUnit::KiB: case SizeUnit::MiB: @@ -124,7 +139,9 @@ qint64 PartitionSize::toBytes( qint64 totalBytes ) const { if ( !isValid() ) + { return -1; + } switch ( m_unit ) { @@ -132,11 +149,17 @@ PartitionSize::toBytes( qint64 totalBytes ) const return -1; case SizeUnit::Percent: if ( totalBytes < 1 ) + { return -1; + } if ( value() == 100 ) + { return totalBytes; // Common-case, avoid futzing around + } else + { return totalBytes * value() / 100; + } case SizeUnit::Byte: case SizeUnit::KiB: case SizeUnit::MiB: @@ -152,7 +175,9 @@ qint64 PartitionSize::toBytes() const { if ( !isValid() ) + { return -1; + } switch ( m_unit ) { @@ -162,20 +187,22 @@ PartitionSize::toBytes() const case SizeUnit::Byte: return value(); case SizeUnit::KiB: - return CalamaresUtils::KiBtoBytes( static_cast( value() ) ); + return CalamaresUtils::KiBtoBytes( static_cast< unsigned long long >( value() ) ); case SizeUnit::MiB: - return CalamaresUtils::MiBtoBytes( static_cast( value() ) ); + return CalamaresUtils::MiBtoBytes( static_cast< unsigned long long >( value() ) ); case SizeUnit::GiB: - return CalamaresUtils::GiBtoBytes( static_cast( value() ) ); + return CalamaresUtils::GiBtoBytes( static_cast< unsigned long long >( value() ) ); } NOTREACHED return -1; } bool -PartitionSize::operator< ( const PartitionSize& other ) const +PartitionSize::operator<( const PartitionSize& other ) const { if ( !unitsComparable( m_unit, other.m_unit ) ) + { return false; + } switch ( m_unit ) { @@ -187,16 +214,18 @@ PartitionSize::operator< ( const PartitionSize& other ) const case SizeUnit::KiB: case SizeUnit::MiB: case SizeUnit::GiB: - return ( toBytes() < other.toBytes () ); + return ( toBytes() < other.toBytes() ); } NOTREACHED return false; } bool -PartitionSize::operator> ( const PartitionSize& other ) const +PartitionSize::operator>( const PartitionSize& other ) const { if ( !unitsComparable( m_unit, other.m_unit ) ) + { return false; + } switch ( m_unit ) { @@ -208,16 +237,18 @@ PartitionSize::operator> ( const PartitionSize& other ) const case SizeUnit::KiB: case SizeUnit::MiB: case SizeUnit::GiB: - return ( toBytes() > other.toBytes () ); + return ( toBytes() > other.toBytes() ); } NOTREACHED return false; } bool -PartitionSize::operator== ( const PartitionSize& other ) const +PartitionSize::operator==( const PartitionSize& other ) const { if ( !unitsComparable( m_unit, other.m_unit ) ) + { return false; + } switch ( m_unit ) { @@ -229,10 +260,10 @@ PartitionSize::operator== ( const PartitionSize& other ) const case SizeUnit::KiB: case SizeUnit::MiB: case SizeUnit::GiB: - return ( toBytes() == other.toBytes () ); + return ( toBytes() == other.toBytes() ); } NOTREACHED return false; } -} -} // namespace +} // namespace Partition +} // namespace CalamaresUtils diff --git a/src/libcalamares/partition/PartitionSize.h b/src/libcalamares/partition/PartitionSize.h index d8d5593a6..44cedbffe 100644 --- a/src/libcalamares/partition/PartitionSize.h +++ b/src/libcalamares/partition/PartitionSize.h @@ -20,8 +20,8 @@ #ifndef PARTITION_PARTITIONSIZE_H #define PARTITION_PARTITIONSIZE_H -#include "utils/Units.h" #include "utils/NamedSuffix.h" +#include "utils/Units.h" // Qt #include @@ -47,21 +47,24 @@ enum class SizeUnit * the available drive space are on). This class handles parsing * of such strings from the config file. */ -class PartitionSize : public NamedSuffix +class PartitionSize : public NamedSuffix< SizeUnit, SizeUnit::None > { public: - PartitionSize() : NamedSuffix() { } - PartitionSize( int v, SizeUnit u ) : NamedSuffix( v, u ) { } + PartitionSize() + : NamedSuffix() + { + } + PartitionSize( int v, SizeUnit u ) + : NamedSuffix( v, u ) + { + } PartitionSize( const QString& ); - bool isValid() const - { - return ( unit() != SizeUnit::None ) && ( value() > 0 ); - } + bool isValid() const { return ( unit() != SizeUnit::None ) && ( value() > 0 ); } - bool operator< ( const PartitionSize& other ) const; - bool operator> ( const PartitionSize& other ) const; - bool operator== ( const PartitionSize& other ) const; + bool operator<( const PartitionSize& other ) const; + bool operator>( const PartitionSize& other ) const; + bool operator==( const PartitionSize& other ) const; /** @brief Convert the size to the number of sectors @p totalSectors . * @@ -109,14 +112,13 @@ public: */ static constexpr bool unitsComparable( const SizeUnit u1, const SizeUnit u2 ) { - return !( ( u1 == SizeUnit::None || u2 == SizeUnit::None ) || - ( u1 == SizeUnit::Percent && u2 != SizeUnit::Percent ) || - ( u1 != SizeUnit::Percent && u2 == SizeUnit::Percent ) ); + return !( ( u1 == SizeUnit::None || u2 == SizeUnit::None ) + || ( u1 == SizeUnit::Percent && u2 != SizeUnit::Percent ) + || ( u1 != SizeUnit::Percent && u2 == SizeUnit::Percent ) ); } - }; -} -} // namespace +} // namespace Partition +} // namespace CalamaresUtils -#endif // PARTITION_PARTITIONSIZE_H +#endif // PARTITION_PARTITIONSIZE_H diff --git a/src/libcalamares/partition/Tests.cpp b/src/libcalamares/partition/Tests.cpp index c0eb5206a..0800fa455 100644 --- a/src/libcalamares/partition/Tests.cpp +++ b/src/libcalamares/partition/Tests.cpp @@ -31,13 +31,9 @@ Q_DECLARE_METATYPE( SizeUnit ) QTEST_GUILESS_MAIN( PartitionSizeTests ) -PartitionSizeTests::PartitionSizeTests() -{ -} +PartitionSizeTests::PartitionSizeTests() {} -PartitionSizeTests::~PartitionSizeTests() -{ -} +PartitionSizeTests::~PartitionSizeTests() {} void PartitionSizeTests::initTestCase() @@ -47,36 +43,38 @@ PartitionSizeTests::initTestCase() void PartitionSizeTests::testUnitComparison_data() { - QTest::addColumn("u1"); - QTest::addColumn("u2"); - QTest::addColumn("comparable"); + QTest::addColumn< SizeUnit >( "u1" ); + QTest::addColumn< SizeUnit >( "u2" ); + QTest::addColumn< bool >( "comparable" ); - QTest::newRow("nones") << SizeUnit::None << SizeUnit::None << false; - QTest::newRow("none+%") << SizeUnit::None << SizeUnit::Percent<< false; - QTest::newRow("%+none") << SizeUnit::Percent << SizeUnit::None << false; - QTest::newRow("KiB+none") << SizeUnit::KiB << SizeUnit::None << false; - QTest::newRow("none+MiB") << SizeUnit::None << SizeUnit::MiB << false; + QTest::newRow( "nones" ) << SizeUnit::None << SizeUnit::None << false; + QTest::newRow( "none+%" ) << SizeUnit::None << SizeUnit::Percent << false; + QTest::newRow( "%+none" ) << SizeUnit::Percent << SizeUnit::None << false; + QTest::newRow( "KiB+none" ) << SizeUnit::KiB << SizeUnit::None << false; + QTest::newRow( "none+MiB" ) << SizeUnit::None << SizeUnit::MiB << false; - QTest::newRow("KiB+KiB") << SizeUnit::KiB << SizeUnit::KiB << true; - QTest::newRow("KiB+MiB") << SizeUnit::KiB << SizeUnit::MiB << true; - QTest::newRow("KiB+GiB") << SizeUnit::KiB << SizeUnit::GiB << true; - QTest::newRow("MiB+MiB") << SizeUnit::MiB << SizeUnit::MiB << true; - QTest::newRow("MiB+GiB") << SizeUnit::MiB << SizeUnit::GiB << true; - QTest::newRow("GiB+GiB") << SizeUnit::GiB << SizeUnit::GiB << true; + QTest::newRow( "KiB+KiB" ) << SizeUnit::KiB << SizeUnit::KiB << true; + QTest::newRow( "KiB+MiB" ) << SizeUnit::KiB << SizeUnit::MiB << true; + QTest::newRow( "KiB+GiB" ) << SizeUnit::KiB << SizeUnit::GiB << true; + QTest::newRow( "MiB+MiB" ) << SizeUnit::MiB << SizeUnit::MiB << true; + QTest::newRow( "MiB+GiB" ) << SizeUnit::MiB << SizeUnit::GiB << true; + QTest::newRow( "GiB+GiB" ) << SizeUnit::GiB << SizeUnit::GiB << true; - QTest::newRow("%+None") << SizeUnit::Percent << SizeUnit::None << false; - QTest::newRow("%+%") << SizeUnit::Percent << SizeUnit::Percent << true; - QTest::newRow("%+KiB") << SizeUnit::Percent << SizeUnit::KiB << false; + QTest::newRow( "%+None" ) << SizeUnit::Percent << SizeUnit::None << false; + QTest::newRow( "%+%" ) << SizeUnit::Percent << SizeUnit::Percent << true; + QTest::newRow( "%+KiB" ) << SizeUnit::Percent << SizeUnit::KiB << false; } static bool original_compare( SizeUnit m_unit, SizeUnit other_m_unit ) { - if ( ( m_unit == SizeUnit::None || other_m_unit == SizeUnit::None ) || - ( m_unit == SizeUnit::Percent && other_m_unit != SizeUnit::Percent ) || - ( m_unit != SizeUnit::Percent && other_m_unit == SizeUnit::Percent ) ) + if ( ( m_unit == SizeUnit::None || other_m_unit == SizeUnit::None ) + || ( m_unit == SizeUnit::Percent && other_m_unit != SizeUnit::Percent ) + || ( m_unit != SizeUnit::Percent && other_m_unit == SizeUnit::Percent ) ) + { return false; + } return true; } @@ -104,33 +102,33 @@ PartitionSizeTests::testUnitComparison() void PartitionSizeTests::testUnitNormalisation_data() { - QTest::addColumn("u1"); - QTest::addColumn("v"); - QTest::addColumn("bytes"); + QTest::addColumn< SizeUnit >( "u1" ); + QTest::addColumn< int >( "v" ); + QTest::addColumn< long >( "bytes" ); - QTest::newRow("none") << SizeUnit::None << 16 << -1L; - QTest::newRow("none") << SizeUnit::None << 0 << -1L; - QTest::newRow("none") << SizeUnit::None << -2 << -1L; + QTest::newRow( "none" ) << SizeUnit::None << 16 << -1L; + QTest::newRow( "none" ) << SizeUnit::None << 0 << -1L; + QTest::newRow( "none" ) << SizeUnit::None << -2 << -1L; - QTest::newRow("percent") << SizeUnit::Percent << 0 << -1L; - QTest::newRow("percent") << SizeUnit::Percent << 16 << -1L; - QTest::newRow("percent") << SizeUnit::Percent << -2 << -1L; + QTest::newRow( "percent" ) << SizeUnit::Percent << 0 << -1L; + QTest::newRow( "percent" ) << SizeUnit::Percent << 16 << -1L; + QTest::newRow( "percent" ) << SizeUnit::Percent << -2 << -1L; - QTest::newRow("KiB") << SizeUnit::KiB << 0 << -1L; - QTest::newRow("KiB") << SizeUnit::KiB << 1 << 1024L; - QTest::newRow("KiB") << SizeUnit::KiB << 1000 << 1024000L; - QTest::newRow("KiB") << SizeUnit::KiB << 1024 << 1024 * 1024L; - QTest::newRow("KiB") << SizeUnit::KiB << -2 << -1L; + QTest::newRow( "KiB" ) << SizeUnit::KiB << 0 << -1L; + QTest::newRow( "KiB" ) << SizeUnit::KiB << 1 << 1024L; + QTest::newRow( "KiB" ) << SizeUnit::KiB << 1000 << 1024000L; + QTest::newRow( "KiB" ) << SizeUnit::KiB << 1024 << 1024 * 1024L; + QTest::newRow( "KiB" ) << SizeUnit::KiB << -2 << -1L; - QTest::newRow("MiB") << SizeUnit::MiB << 0 << -1L; - QTest::newRow("MiB") << SizeUnit::MiB << 1 << 1024 * 1024L; - QTest::newRow("MiB") << SizeUnit::MiB << 1000 << 1024 * 1024000L; - QTest::newRow("MiB") << SizeUnit::MiB << 1024 << 1024 * 1024 * 1024L; - QTest::newRow("MiB") << SizeUnit::MiB << -2 << -1L; + QTest::newRow( "MiB" ) << SizeUnit::MiB << 0 << -1L; + QTest::newRow( "MiB" ) << SizeUnit::MiB << 1 << 1024 * 1024L; + QTest::newRow( "MiB" ) << SizeUnit::MiB << 1000 << 1024 * 1024000L; + QTest::newRow( "MiB" ) << SizeUnit::MiB << 1024 << 1024 * 1024 * 1024L; + QTest::newRow( "MiB" ) << SizeUnit::MiB << -2 << -1L; - QTest::newRow("GiB") << SizeUnit::GiB << 0 << -1L; - QTest::newRow("GiB") << SizeUnit::GiB << 1 << 1024 * 1024 * 1024L; - QTest::newRow("GiB") << SizeUnit::GiB << 2 << 2048 * 1024 * 1024L; + QTest::newRow( "GiB" ) << SizeUnit::GiB << 0 << -1L; + QTest::newRow( "GiB" ) << SizeUnit::GiB << 1 << 1024 * 1024 * 1024L; + QTest::newRow( "GiB" ) << SizeUnit::GiB << 2 << 2048 * 1024 * 1024L; } void @@ -140,5 +138,5 @@ PartitionSizeTests::testUnitNormalisation() QFETCH( int, v ); QFETCH( long, bytes ); - QCOMPARE( PartitionSize( v, u1 ).toBytes(), static_cast( bytes ) ); + QCOMPARE( PartitionSize( v, u1 ).toBytes(), static_cast< qint64 >( bytes ) ); } diff --git a/src/libcalamares/partition/Tests.h b/src/libcalamares/partition/Tests.h index 24398233d..799f50c04 100644 --- a/src/libcalamares/partition/Tests.h +++ b/src/libcalamares/partition/Tests.h @@ -30,10 +30,10 @@ public: private Q_SLOTS: void initTestCase(); - + void testUnitComparison_data(); void testUnitComparison(); - + void testUnitNormalisation_data(); void testUnitNormalisation(); }; From 43ba59361bcea73f91cd744fa00384514055c9cd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:16:33 +0200 Subject: [PATCH 136/626] [libcalamares] Don't format generated files of CLDR data --- src/libcalamares/locale/CountryData_p.cpp | 6 ++++-- src/libcalamares/locale/cldr-extractor.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libcalamares/locale/CountryData_p.cpp b/src/libcalamares/locale/CountryData_p.cpp index a6e9b3a95..f4736fa2e 100644 --- a/src/libcalamares/locale/CountryData_p.cpp +++ b/src/libcalamares/locale/CountryData_p.cpp @@ -10,12 +10,14 @@ * Unicode Data Files ("DATA FILES") include all data files under the directories: * https://www.unicode.org/Public/ * C. Terms of Use -* 2. Any person is hereby authorized, without fee, to view, use, reproduce, -* and distribute all documents and files, subject to the Terms and +* 2. Any person is hereby authorized, without fee, to view, use, reproduce, +* and distribute all documents and files, subject to the Terms and * Conditions herein. */ // BEGIN Generated from CLDR data +// *INDENT-OFF* +// clang-format off struct CountryData diff --git a/src/libcalamares/locale/cldr-extractor.py b/src/libcalamares/locale/cldr-extractor.py index 4e279337b..aae71ed1d 100644 --- a/src/libcalamares/locale/cldr-extractor.py +++ b/src/libcalamares/locale/cldr-extractor.py @@ -225,12 +225,14 @@ cpp_header_comment = """/* GENERATED FILE DO NOT EDIT * Unicode Data Files ("DATA FILES") include all data files under the directories: * https://www.unicode.org/Public/ * C. Terms of Use -* 2. Any person is hereby authorized, without fee, to view, use, reproduce, -* and distribute all documents and files, subject to the Terms and +* 2. Any person is hereby authorized, without fee, to view, use, reproduce, +* and distribute all documents and files, subject to the Terms and * Conditions herein. */ // BEGIN Generated from CLDR data +// *INDENT-OFF* +// clang-format off """ From 7fcb7be1e4aead26b1f50e319242230d5b36fd19 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:17:12 +0200 Subject: [PATCH 137/626] [libcalamares] Apply current coding style to libcalamares/locale/ --- src/libcalamares/locale/Label.cpp | 20 +++++++--- src/libcalamares/locale/Label.h | 54 ++++++++------------------ src/libcalamares/locale/LabelModel.cpp | 53 ++++++++++++++----------- src/libcalamares/locale/LabelModel.h | 12 +++--- src/libcalamares/locale/Lookup.cpp | 49 ++++++++++++++--------- src/libcalamares/locale/Lookup.h | 44 ++++++++++----------- src/libcalamares/locale/Tests.cpp | 8 +--- 7 files changed, 122 insertions(+), 118 deletions(-) diff --git a/src/libcalamares/locale/Label.cpp b/src/libcalamares/locale/Label.cpp index 8d3cd443f..58c19101d 100644 --- a/src/libcalamares/locale/Label.cpp +++ b/src/libcalamares/locale/Label.cpp @@ -50,18 +50,24 @@ Label::setLabels( const QString& locale, LabelFormat format ) QString countryName; if ( languageName.isEmpty() ) + { languageName = QString( "* %1 (%2)" ).arg( locale, englishName ); + } - bool needsCountryName = ( format == LabelFormat::AlwaysWithCountry ) || - (locale.contains( '_' ) && QLocale::countriesForLanguage( m_locale.language() ).count() > 1 ); + bool needsCountryName = ( format == LabelFormat::AlwaysWithCountry ) + || ( locale.contains( '_' ) && QLocale::countriesForLanguage( m_locale.language() ).count() > 1 ); if ( needsCountryName ) + { countryName = m_locale.nativeCountryName(); + } m_label = needsCountryName ? longFormat.arg( languageName, countryName ) : languageName; - m_englishLabel = needsCountryName ? longFormat.arg( englishName, QLocale::countryToString( m_locale.country() ) ) : englishName; + m_englishLabel = needsCountryName ? longFormat.arg( englishName, QLocale::countryToString( m_locale.country() ) ) + : englishName; } -QLocale Label::getLocale( const QString& localeName ) +QLocale +Label::getLocale( const QString& localeName ) { if ( localeName.contains( "@latin" ) ) { @@ -69,8 +75,10 @@ QLocale Label::getLocale( const QString& localeName ) return QLocale( loc.language(), QLocale::Script::LatinScript, loc.country() ); } else + { return QLocale( localeName ); + } } -} -} // namespace +} // namespace Locale +} // namespace CalamaresUtils diff --git a/src/libcalamares/locale/Label.h b/src/libcalamares/locale/Label.h index 7935b0880..ab3e80ad0 100644 --- a/src/libcalamares/locale/Label.h +++ b/src/libcalamares/locale/Label.h @@ -23,7 +23,7 @@ #include #include -namespace CalamaresUtils +namespace CalamaresUtils { namespace Locale { @@ -39,7 +39,11 @@ class Label { public: /** @brief Formatting option for label -- add (country) to label. */ - enum class LabelFormat { AlwaysWithCountry, IfNeededWithCountry } ; + enum class LabelFormat + { + AlwaysWithCountry, + IfNeededWithCountry + }; /** @brief Empty locale. This uses the system-default locale. */ Label(); @@ -56,54 +60,30 @@ public: * * English (@see isEnglish() -- it means en_US) is sorted at the top. */ - bool operator <( const Label& other ) const - { - return m_localeId < other.m_localeId; - } + bool operator<( const Label& other ) const { return m_localeId < other.m_localeId; } /** @brief Is this locale English? * * en_US and en (American English) is defined as English. The Queen's * English -- proper English -- is relegated to non-English status. */ - bool isEnglish() const - { - return m_localeId == QLatin1Literal( "en_US" ) || m_localeId == QLatin1Literal( "en" ); - } + bool isEnglish() const { return m_localeId == QLatin1Literal( "en_US" ) || m_localeId == QLatin1Literal( "en" ); } /** @brief Get the human-readable name for this locale. */ - QString label() const - { - return m_label; - } + QString label() const { return m_label; } /** @brief Get the *English* human-readable name for this locale. */ - QString englishLabel() const - { - return m_englishLabel; - } + QString englishLabel() const { return m_englishLabel; } /** @brief Get the Qt locale. */ - QLocale locale() const - { - return m_locale; - } + QLocale locale() const { return m_locale; } - QString name() const - { - return m_locale.name(); - } + QString name() const { return m_locale.name(); } /// @brief Convenience accessor to the language part of the locale - QLocale::Language language() const - { - return m_locale.language(); - } + QLocale::Language language() const { return m_locale.language(); } /// @brief Convenience accessor to the country part (if any) of the locale - QLocale::Country country() const - { - return m_locale.country(); - } + QLocale::Country country() const { return m_locale.country(); } /** @brief Get a Qt locale for the given @p localeName * @@ -119,9 +99,9 @@ protected: QString m_localeId; // the locale identifier, e.g. "en_GB" QString m_label; // the native name of the locale QString m_englishLabel; -} ; +}; -} -} // namespace +} // namespace Locale +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/locale/LabelModel.cpp b/src/libcalamares/locale/LabelModel.cpp index 79ff5d67b..87fca9d85 100644 --- a/src/libcalamares/locale/LabelModel.cpp +++ b/src/libcalamares/locale/LabelModel.cpp @@ -34,12 +34,12 @@ LabelModel::LabelModel( const QStringList& locales, QObject* parent ) m_locales.reserve( locales.count() ); for ( const auto& l : locales ) + { m_locales.push_back( Label( l ) ); + } } -LabelModel::~LabelModel() -{ -} +LabelModel::~LabelModel() {} int LabelModel::rowCount( const QModelIndex& ) const @@ -51,10 +51,14 @@ QVariant LabelModel::data( const QModelIndex& index, int role ) const { if ( ( role != LabelRole ) && ( role != EnglishLabelRole ) ) + { return QVariant(); + } if ( !index.isValid() ) + { return QVariant(); + } const auto& locale = m_locales.at( index.row() ); switch ( role ) @@ -75,59 +79,62 @@ LabelModel::locale( int row ) const { for ( const auto& l : m_locales ) if ( l.isEnglish() ) + { return l; - return m_locales[0]; + } + return m_locales[ 0 ]; } - return m_locales[row]; + return m_locales[ row ]; } int -LabelModel::find( std::function predicate ) const +LabelModel::find( std::function< bool( const Label& ) > predicate ) const { - for ( int row = 0; row < m_locales.count() ; ++row ) + for ( int row = 0; row < m_locales.count(); ++row ) { - if ( predicate( m_locales[row] ) ) + if ( predicate( m_locales[ row ] ) ) + { return row; + } } return -1; } int -LabelModel::find( std::function predicate ) const +LabelModel::find( std::function< bool( const QLocale& ) > predicate ) const { - return find( [&]( const Label& l ) - { - return predicate( l.locale() ); - } ); + return find( [&]( const Label& l ) { return predicate( l.locale() ); } ); } int LabelModel::find( const QLocale& locale ) const { - return find( [&]( const Label& l ) - { - return locale == l.locale(); - } ); + return find( [&]( const Label& l ) { return locale == l.locale(); } ); } int LabelModel::find( const QString& countryCode ) const { if ( countryCode.length() != 2 ) + { return -1; + } auto c_l = countryData( countryCode ); - int r = find( [&]( const Label& l ){ return ( l.language() == c_l.second ) && ( l.country() == c_l.first ); } ); + int r = find( [&]( const Label& l ) { return ( l.language() == c_l.second ) && ( l.country() == c_l.first ); } ); if ( r >= 0 ) + { return r; - return find( [&]( const Label& l ){ return l.language() == c_l.second; } ); + } + return find( [&]( const Label& l ) { return l.language() == c_l.second; } ); } -LabelModel* availableTranslations() +LabelModel* +availableTranslations() { - static LabelModel* model = new LabelModel( QString( CALAMARES_TRANSLATION_LANGUAGES ).split( ';') ); + static LabelModel* model = new LabelModel( QString( CALAMARES_TRANSLATION_LANGUAGES ).split( ';' ) ); return model; } -} -} // namespace +} // namespace Locale +} // namespace CalamaresUtils diff --git a/src/libcalamares/locale/LabelModel.h b/src/libcalamares/locale/LabelModel.h index 2f3bee629..5082440d3 100644 --- a/src/libcalamares/locale/LabelModel.h +++ b/src/libcalamares/locale/LabelModel.h @@ -26,7 +26,7 @@ #include -namespace CalamaresUtils +namespace CalamaresUtils { namespace Locale { @@ -58,8 +58,8 @@ public: * * Returns the row number of the first match, or -1 if there isn't one. */ - int find( std::function predicate ) const; - int find( std::function predicate ) const; + int find( std::function< bool( const QLocale& ) > predicate ) const; + int find( std::function< bool( const Label& ) > predicate ) const; /// @brief Looks for an item using the same locale, -1 if there isn't one int find( const QLocale& ) const; /// @brief Looks for an item that best matches the 2-letter country code @@ -67,7 +67,7 @@ public: private: QVector< Label > m_locales; -} ; +}; /** @brief Returns a model with all available translations. * @@ -80,6 +80,6 @@ private: * NOTE: While the model is not typed const, it should be. Do not modify. */ DLLEXPORT LabelModel* availableTranslations(); -} -} // namespace +} // namespace Locale +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/locale/Lookup.cpp b/src/libcalamares/locale/Lookup.cpp index 73d706de6..baa3ce5b1 100644 --- a/src/libcalamares/locale/Lookup.cpp +++ b/src/libcalamares/locale/Lookup.cpp @@ -28,13 +28,13 @@ namespace Locale struct TwoChar { TwoChar( const QString& code ) - : cc1(0) - , cc2(0) + : cc1( 0 ) + , cc2( 0 ) { if ( code.length() == 2 ) { - cc1 = code[0].toLatin1(); - cc2 = code[1].toLatin1(); + cc1 = code[ 0 ].toLatin1(); + cc2 = code[ 1 ].toLatin1(); } } @@ -42,52 +42,65 @@ struct TwoChar char cc2; }; -static const CountryData* lookup( TwoChar c ) +static const CountryData* +lookup( TwoChar c ) { if ( !c.cc1 ) + { return nullptr; + } - const CountryData* p = std::find_if(country_data_table, country_data_table + country_data_size, - [c=c]( const CountryData& d ){ return (d.cc1 == c.cc1) && (d.cc2 == c.cc2); } - ); + const CountryData* p + = std::find_if( country_data_table, country_data_table + country_data_size, [c = c]( const CountryData& d ) { + return ( d.cc1 == c.cc1 ) && ( d.cc2 == c.cc2 ); + } ); if ( p == country_data_table + country_data_size ) + { return nullptr; + } return p; } -QLocale::Country countryForCode(const QString& code) +QLocale::Country +countryForCode( const QString& code ) { const CountryData* p = lookup( TwoChar( code ) ); return p ? p->c : QLocale::Country::AnyCountry; } -QLocale::Language languageForCountry(const QString& code) +QLocale::Language +languageForCountry( const QString& code ) { const CountryData* p = lookup( TwoChar( code ) ); return p ? p->l : QLocale::Language::AnyLanguage; } -QPair countryData(const QString& code) +QPair< QLocale::Country, QLocale::Language > +countryData( const QString& code ) { const CountryData* p = lookup( TwoChar( code ) ); return p ? qMakePair( p->c, p->l ) : qMakePair( QLocale::Country::AnyCountry, QLocale::Language::AnyLanguage ); } -QLocale countryLocale(const QString& code) +QLocale +countryLocale( const QString& code ) { auto p = countryData( code ); return QLocale( p.second, p.first ); } -QLocale::Language languageForCountry(QLocale::Country country) +QLocale::Language +languageForCountry( QLocale::Country country ) { - const CountryData* p = std::find_if(country_data_table, country_data_table + country_data_size, - [c=country]( const CountryData& d ){ return d.c == c; } - ); + const CountryData* p = std::find_if( country_data_table, + country_data_table + country_data_size, + [c = country]( const CountryData& d ) { return d.c == c; } ); if ( p == country_data_table + country_data_size ) + { return QLocale::Language::AnyLanguage; + } return p->l; } -} -} // namespace +} // namespace Locale +} // namespace CalamaresUtils diff --git a/src/libcalamares/locale/Lookup.h b/src/libcalamares/locale/Lookup.h index 9d1c23cd8..abcee0ed3 100644 --- a/src/libcalamares/locale/Lookup.h +++ b/src/libcalamares/locale/Lookup.h @@ -24,32 +24,32 @@ #include #include -namespace CalamaresUtils +namespace CalamaresUtils { namespace Locale { - /* All the functions in this file do lookups of locale data - * based on CLDR tables; these are lookups that you can't (easily) - * do with just QLocale (e.g. from 2-letter country code to a likely - * locale). - */ +/* All the functions in this file do lookups of locale data + * based on CLDR tables; these are lookups that you can't (easily) + * do with just QLocale (e.g. from 2-letter country code to a likely + * locale). + */ - /// @brief Map a 2-letter code to a Country, or AnyCountry if not found - DLLEXPORT QLocale::Country countryForCode( const QString& code ); - /** @brief Map a Country to a Language, or AnyLanguage if not found - * - * This is a *likely* language for the given country, based on the - * CLDR tables. For instance, this maps Belgium to Dutch. - */ - DLLEXPORT QLocale::Language languageForCountry( QLocale::Country country ); - /// @brief Map a 2-letter code to a Language, or AnyLanguage if not found - DLLEXPORT QLocale::Language languageForCountry( const QString& code ); +/// @brief Map a 2-letter code to a Country, or AnyCountry if not found +DLLEXPORT QLocale::Country countryForCode( const QString& code ); +/** @brief Map a Country to a Language, or AnyLanguage if not found + * + * This is a *likely* language for the given country, based on the + * CLDR tables. For instance, this maps Belgium to Dutch. + */ +DLLEXPORT QLocale::Language languageForCountry( QLocale::Country country ); +/// @brief Map a 2-letter code to a Language, or AnyLanguage if not found +DLLEXPORT QLocale::Language languageForCountry( const QString& code ); - /// @brief Get both Country and Language for a 2-letter code - DLLEXPORT QPair< QLocale::Country, QLocale::Language > countryData( const QString& code ); - /// @brief Get a likely locale for a 2-letter country code - DLLEXPORT QLocale countryLocale( const QString& code ); -} -} // namespace +/// @brief Get both Country and Language for a 2-letter code +DLLEXPORT QPair< QLocale::Country, QLocale::Language > countryData( const QString& code ); +/// @brief Get a likely locale for a 2-letter country code +DLLEXPORT QLocale countryLocale( const QString& code ); +} // namespace Locale +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 6fd0f3e61..9e2071a31 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -25,13 +25,9 @@ QTEST_GUILESS_MAIN( LocaleTests ) -LocaleTests::LocaleTests() -{ -} +LocaleTests::LocaleTests() {} -LocaleTests::~LocaleTests() -{ -} +LocaleTests::~LocaleTests() {} void LocaleTests::initTestCase() From fa676c573ed1e69243abd5f0750eda5dd0b95f82 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:21:53 +0200 Subject: [PATCH 138/626] CI: Fix style script - when passing in more than one directory, expanded the wrong variable --- ci/calamaresstyle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/calamaresstyle b/ci/calamaresstyle index a877de7d1..46acbdc3d 100755 --- a/ci/calamaresstyle +++ b/ci/calamaresstyle @@ -37,7 +37,7 @@ style_some() if test "x$any_dirs" = "xyes" ; then for d in "$@" do - if test -d "$@" ; then + if test -d "$d" ; then style_some $( find "$d" -maxdepth 1 -type f -name '*.cpp' -o -name '*.h' ) else style_some "$d" From 1afa9c4d0890fa49b6b0bf15090faef8ec57df4d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:24:55 +0200 Subject: [PATCH 139/626] [libcalamares] Apply current coding style to all of libcalamares/ --- src/libcalamares/CppJob.cpp | 8 +- src/libcalamares/CppJob.h | 4 +- src/libcalamares/DllMacro.h | 10 +- src/libcalamares/GlobalStorage.cpp | 37 ++-- src/libcalamares/GlobalStorage.h | 10 +- src/libcalamares/Job.cpp | 8 +- src/libcalamares/Job.h | 9 +- src/libcalamares/JobExample.cpp | 5 +- src/libcalamares/JobExample.h | 14 +- src/libcalamares/JobQueue.cpp | 66 +++--- src/libcalamares/JobQueue.h | 4 +- src/libcalamares/PluginDllMacro.h | 10 +- src/libcalamares/ProcessJob.cpp | 38 ++-- src/libcalamares/ProcessJob.h | 9 +- src/libcalamares/PythonHelper.cpp | 59 +++++- src/libcalamares/PythonHelper.h | 20 +- src/libcalamares/PythonJob.cpp | 319 +++++++++++------------------ src/libcalamares/PythonJob.h | 9 +- src/libcalamares/PythonJobApi.cpp | 101 +++++---- src/libcalamares/PythonJobApi.h | 30 +-- src/libcalamares/Settings.cpp | 61 +++--- src/libcalamares/Settings.h | 8 +- 22 files changed, 406 insertions(+), 433 deletions(-) diff --git a/src/libcalamares/CppJob.cpp b/src/libcalamares/CppJob.cpp index 0512df377..82af344dd 100644 --- a/src/libcalamares/CppJob.cpp +++ b/src/libcalamares/CppJob.cpp @@ -24,11 +24,11 @@ namespace Calamares CppJob::CppJob( QObject* parent ) : Job( parent ) -{} +{ +} -CppJob::~CppJob() -{} +CppJob::~CppJob() {} void @@ -44,4 +44,4 @@ CppJob::setConfigurationMap( const QVariantMap& configurationMap ) Q_UNUSED( configurationMap ) } -} +} // namespace Calamares diff --git a/src/libcalamares/CppJob.h b/src/libcalamares/CppJob.h index 36116b3e7..10ab71649 100644 --- a/src/libcalamares/CppJob.h +++ b/src/libcalamares/CppJob.h @@ -45,6 +45,6 @@ protected: QString m_instanceKey; }; -} +} // namespace Calamares -#endif // CALAMARES_CPPJOB_H +#endif // CALAMARES_CPPJOB_H diff --git a/src/libcalamares/DllMacro.h b/src/libcalamares/DllMacro.h index e0281d7a7..d3e1c8098 100644 --- a/src/libcalamares/DllMacro.h +++ b/src/libcalamares/DllMacro.h @@ -22,11 +22,11 @@ #include #ifndef DLLEXPORT -# if defined (DLLEXPORT_PRO) -# define DLLEXPORT Q_DECL_EXPORT -# else -# define DLLEXPORT Q_DECL_IMPORT -# endif +#if defined( DLLEXPORT_PRO ) +#define DLLEXPORT Q_DECL_EXPORT +#else +#define DLLEXPORT Q_DECL_IMPORT +#endif #endif #endif diff --git a/src/libcalamares/GlobalStorage.cpp b/src/libcalamares/GlobalStorage.cpp index 99be39246..5094ad2fd 100644 --- a/src/libcalamares/GlobalStorage.cpp +++ b/src/libcalamares/GlobalStorage.cpp @@ -21,8 +21,8 @@ #include "JobQueue.h" #include "utils/Logger.h" -#include "utils/Yaml.h" #include "utils/Units.h" +#include "utils/Yaml.h" #include #include @@ -40,7 +40,8 @@ namespace bp = boost::python; using CalamaresUtils::operator""_MiB; -namespace Calamares { +namespace Calamares +{ GlobalStorage::GlobalStorage() : QObject( nullptr ) @@ -102,13 +103,15 @@ GlobalStorage::debugDump() const } bool -GlobalStorage::save(const QString& filename) +GlobalStorage::save( const QString& filename ) { QFile f( filename ); if ( !f.open( QFile::WriteOnly ) ) + { return false; + } - f.write( QJsonDocument::fromVariant( m ).toJson() ) ; + f.write( QJsonDocument::fromVariant( m ).toJson() ); f.close(); return true; } @@ -118,18 +121,24 @@ GlobalStorage::load( const QString& filename ) { QFile f( filename ); if ( !f.open( QFile::ReadOnly ) ) + { return false; + } QJsonParseError e; QJsonDocument d = QJsonDocument::fromJson( f.read( 1_MiB ), &e ); if ( d.isNull() ) + { cWarning() << filename << e.errorString(); + } else if ( !d.isObject() ) + { cWarning() << filename << "Not suitable JSON."; + } else { auto map = d.toVariant().toMap(); - for( auto i = map.constBegin() ; i != map.constEnd() ; ++i ) + for ( auto i = map.constBegin(); i != map.constEnd(); ++i ) { insert( i.key(), *i ); } @@ -150,12 +159,14 @@ GlobalStorage::loadYaml( const QString& filename ) bool ok = false; auto gs = CalamaresUtils::loadYaml( filename, &ok ); if ( ok ) + { m = gs; + } return ok; } -} // namespace Calamares +} // namespace Calamares #ifdef WITH_PYTHON @@ -172,7 +183,7 @@ Calamares::GlobalStorage* GlobalStoragePythonWrapper::s_gs_instance = nullptr; GlobalStoragePythonWrapper::GlobalStoragePythonWrapper( Calamares::GlobalStorage* gs ) : m_gs( gs ? gs : s_gs_instance ) { - if (!m_gs) + if ( !m_gs ) { s_gs_instance = new Calamares::GlobalStorage; m_gs = s_gs_instance; @@ -194,11 +205,9 @@ GlobalStoragePythonWrapper::count() const void -GlobalStoragePythonWrapper::insert( const std::string& key, - const bp::object& value ) +GlobalStoragePythonWrapper::insert( const std::string& key, const bp::object& value ) { - m_gs->insert( QString::fromStdString( key ), - CalamaresPython::variantFromPyObject( value ) ); + m_gs->insert( QString::fromStdString( key ), CalamaresPython::variantFromPyObject( value ) ); } bp::list @@ -207,7 +216,9 @@ GlobalStoragePythonWrapper::keys() const bp::list pyList; const auto keys = m_gs->keys(); for ( const QString& key : keys ) + { pyList.append( key.toStdString() ); + } return pyList; } @@ -225,6 +236,6 @@ GlobalStoragePythonWrapper::value( const std::string& key ) const return CalamaresPython::variantToPyObject( m_gs->value( QString::fromStdString( key ) ) ); } -} // namespace CalamaresPython +} // namespace CalamaresPython -#endif // WITH_PYTHON +#endif // WITH_PYTHON diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h index 89ebb5050..6fdb43fa0 100644 --- a/src/libcalamares/GlobalStorage.h +++ b/src/libcalamares/GlobalStorage.h @@ -34,8 +34,8 @@ namespace api class object; } class list; -} -} +} // namespace python +} // namespace boost #endif namespace Calamares @@ -96,7 +96,7 @@ private: friend DebugWindow; }; -} // namespace Calamares +} // namespace Calamares #ifdef WITH_PYTHON namespace CalamaresPython @@ -124,7 +124,7 @@ private: static Calamares::GlobalStorage* s_gs_instance; // See globalStorageInstance() }; -} // namespace CalamaresPython +} // namespace CalamaresPython #endif -#endif // CALAMARES_GLOBALSTORAGE_H +#endif // CALAMARES_GLOBALSTORAGE_H diff --git a/src/libcalamares/Job.cpp b/src/libcalamares/Job.cpp index 116ed77e2..d074a18cb 100644 --- a/src/libcalamares/Job.cpp +++ b/src/libcalamares/Job.cpp @@ -84,7 +84,8 @@ JobResult::JobResult( const QString& message, const QString& details, int number : m_message( message ) , m_details( details ) , m_number( number ) -{} +{ +} Job::Job( QObject* parent ) @@ -93,8 +94,7 @@ Job::Job( QObject* parent ) } -Job::~Job() -{} +Job::~Job() {} qreal @@ -118,4 +118,4 @@ Job::prettyStatusMessage() const } -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamares/Job.h b/src/libcalamares/Job.h index e0b24fa9b..3eaa251ef 100644 --- a/src/libcalamares/Job.h +++ b/src/libcalamares/Job.h @@ -25,7 +25,8 @@ #include #include -namespace Calamares { +namespace Calamares +{ class DLLEXPORT JobResult { @@ -43,7 +44,7 @@ public: GenericError = -1, PythonUncaughtException = 1, InvalidConfiguration = 2 - } ; + }; JobResult( const JobResult& rhs ) = delete; JobResult( JobResult&& rhs ); @@ -102,6 +103,6 @@ private: using job_ptr = QSharedPointer< Job >; using JobList = QList< job_ptr >; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_JOB_H +#endif // CALAMARES_JOB_H diff --git a/src/libcalamares/JobExample.cpp b/src/libcalamares/JobExample.cpp index 83259ae6d..83da2b1e1 100644 --- a/src/libcalamares/JobExample.cpp +++ b/src/libcalamares/JobExample.cpp @@ -36,7 +36,8 @@ GoodJob::exec() JobResult FailJob::exec() { - return JobResult::error( tr( "Job failed (%1)" ).arg( m_name ), tr( "Programmed job failure was explicitly requested." ) ); + return JobResult::error( tr( "Job failed (%1)" ).arg( m_name ), + tr( "Programmed job failure was explicitly requested." ) ); } -} // namespace +} // namespace Calamares diff --git a/src/libcalamares/JobExample.h b/src/libcalamares/JobExample.h index fd5eea109..92f8f8fb6 100644 --- a/src/libcalamares/JobExample.h +++ b/src/libcalamares/JobExample.h @@ -21,7 +21,8 @@ #include "Job.h" -namespace Calamares { +namespace Calamares +{ /** @brief A Job with a name * @@ -39,9 +40,10 @@ public: } virtual QString prettyName() const override; + protected: const QString m_name; -} ; +}; /// @brief Job does nothing, always succeeds class DLLEXPORT GoodJob : public NamedJob @@ -53,7 +55,7 @@ public: } virtual JobResult exec() override; -} ; +}; /// @brief Job does nothing, always fails @@ -66,8 +68,8 @@ public: } virtual JobResult exec() override; -} ; +}; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_JOB_EXAMPLE_H +#endif // CALAMARES_JOB_EXAMPLE_H diff --git a/src/libcalamares/JobQueue.cpp b/src/libcalamares/JobQueue.cpp index 49a70bca8..6772671b7 100644 --- a/src/libcalamares/JobQueue.cpp +++ b/src/libcalamares/JobQueue.cpp @@ -19,8 +19,8 @@ #include "JobQueue.h" -#include "Job.h" #include "GlobalStorage.h" +#include "Job.h" #include "utils/Logger.h" #include "CalamaresConfig.h" @@ -50,14 +50,14 @@ public: m_jobs = jobs; qreal totalJobsWeight = 0.0; - for( auto job : m_jobs ) + for ( auto job : m_jobs ) { totalJobsWeight += job->getJobWeight(); } - for( auto job : m_jobs ) + for ( auto job : m_jobs ) { qreal jobWeight = qreal( job->getJobWeight() / totalJobsWeight ); - m_jobWeights.append( jobWeight ) ; + m_jobWeights.append( jobWeight ); } } @@ -68,7 +68,7 @@ public: QString details; m_jobIndex = 0; - for( auto job : m_jobs ) + for ( auto job : m_jobs ) { if ( anyFailed && !job->isEmergency() ) { @@ -87,12 +87,18 @@ public: details = result.details(); } if ( !anyFailed ) + { ++m_jobIndex; + } } if ( anyFailed ) + { emitFailed( message, details ); + } else + { emitProgress(); + } emitFinished(); } @@ -109,49 +115,39 @@ private: jobPercent = qBound( qreal( 0 ), jobPercent, qreal( 1 ) ); int jobCount = m_jobs.size(); - QString message = m_jobIndex < jobCount - ? m_jobs.at( m_jobIndex )->prettyStatusMessage() - : tr( "Done" ); + QString message = m_jobIndex < jobCount ? m_jobs.at( m_jobIndex )->prettyStatusMessage() : tr( "Done" ); qreal cumulativeProgress = 0.0; - for( auto jobWeight : m_jobWeights.mid( 0, m_jobIndex ) ) + for ( auto jobWeight : m_jobWeights.mid( 0, m_jobIndex ) ) { cumulativeProgress += jobWeight; } - qreal percent = m_jobIndex < jobCount - ? cumulativeProgress + ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) - : 1.0; + qreal percent + = m_jobIndex < jobCount ? cumulativeProgress + ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) : 1.0; - if (m_jobIndex < jobCount) + if ( m_jobIndex < jobCount ) { - cDebug(Logger::LOGVERBOSE) << "[JOBQUEUE]: Progress for Job[" << m_jobIndex << "]: " << ( jobPercent * 100 ) << "% completed"; - cDebug(Logger::LOGVERBOSE) << "[JOBQUEUE]: Progress Overall: " << ( cumulativeProgress * 100 ) << "% (accumulated) + " - << ( ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) * 100 ) << "% (this job) = " - << ( percent * 100 ) << "% (total)"; + cDebug( Logger::LOGVERBOSE ) << "[JOBQUEUE]: Progress for Job[" << m_jobIndex + << "]: " << ( jobPercent * 100 ) << "% completed"; + cDebug( Logger::LOGVERBOSE ) << "[JOBQUEUE]: Progress Overall: " << ( cumulativeProgress * 100 ) + << "% (accumulated) + " + << ( ( ( m_jobWeights.at( m_jobIndex ) ) * jobPercent ) * 100 ) + << "% (this job) = " << ( percent * 100 ) << "% (total)"; } - QMetaObject::invokeMethod( m_queue, "progress", Qt::QueuedConnection, - Q_ARG( qreal, percent ), - Q_ARG( QString, message ) - ); + QMetaObject::invokeMethod( + m_queue, "progress", Qt::QueuedConnection, Q_ARG( qreal, percent ), Q_ARG( QString, message ) ); } void emitFailed( const QString& message, const QString& details ) { - QMetaObject::invokeMethod( m_queue, "failed", Qt::QueuedConnection, - Q_ARG( QString, message ), - Q_ARG( QString, details ) - ); + QMetaObject::invokeMethod( + m_queue, "failed", Qt::QueuedConnection, Q_ARG( QString, message ), Q_ARG( QString, details ) ); } - void emitFinished() - { - QMetaObject::invokeMethod( m_queue, "finished", Qt::QueuedConnection ); - } + void emitFinished() { QMetaObject::invokeMethod( m_queue, "finished", Qt::QueuedConnection ); } }; -JobThread::~JobThread() -{ -} +JobThread::~JobThread() {} JobQueue* JobQueue::s_instance = nullptr; @@ -186,8 +182,10 @@ JobQueue::~JobQueue() if ( m_thread->isRunning() ) { m_thread->terminate(); - if ( !m_thread->wait(300) ) + if ( !m_thread->wait( 300 ) ) + { cError() << "Could not terminate job thread (expect a crash now)."; + } delete m_thread; } @@ -222,4 +220,4 @@ JobQueue::enqueue( const JobList& jobs ) emit queueChanged( m_jobs ); } -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamares/JobQueue.h b/src/libcalamares/JobQueue.h index 4e5dffe8a..a58b873d9 100644 --- a/src/libcalamares/JobQueue.h +++ b/src/libcalamares/JobQueue.h @@ -59,6 +59,6 @@ private: GlobalStorage* m_storage; }; -} +} // namespace Calamares -#endif // CALAMARES_JOBQUEUE_H +#endif // CALAMARES_JOBQUEUE_H diff --git a/src/libcalamares/PluginDllMacro.h b/src/libcalamares/PluginDllMacro.h index cabe09887..d790230b9 100644 --- a/src/libcalamares/PluginDllMacro.h +++ b/src/libcalamares/PluginDllMacro.h @@ -22,11 +22,11 @@ #include #ifndef PLUGINDLLEXPORT -# if defined (PLUGINDLLEXPORT_PRO) -# define PLUGINDLLEXPORT Q_DECL_EXPORT -# else -# define PLUGINDLLEXPORT Q_DECL_IMPORT -# endif +#if defined( PLUGINDLLEXPORT_PRO ) +#define PLUGINDLLEXPORT Q_DECL_EXPORT +#else +#define PLUGINDLLEXPORT Q_DECL_IMPORT +#endif #endif #endif diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index f952fefe6..744f5f9bf 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -25,7 +25,8 @@ #include #include -namespace Calamares { +namespace Calamares +{ ProcessJob::ProcessJob( const QString& command, @@ -38,27 +39,24 @@ ProcessJob::ProcessJob( const QString& command, , m_workingPath( workingPath ) , m_runInChroot( runInChroot ) , m_timeoutSec( secondsTimeout ) -{} +{ +} -ProcessJob::~ProcessJob() -{} +ProcessJob::~ProcessJob() {} QString ProcessJob::prettyName() const { - return ( m_runInChroot ? tr( "Run command '%1' in target system." ) : tr( " Run command '%1'." ) ) - .arg( m_command ); + return ( m_runInChroot ? tr( "Run command '%1' in target system." ) : tr( " Run command '%1'." ) ).arg( m_command ); } QString ProcessJob::prettyStatusMessage() const { - return tr( "Running command %1 %2" ) - .arg( m_command ) - .arg( m_runInChroot ? "in chroot." : " ." ); + return tr( "Running command %1 %2" ).arg( m_command ).arg( m_runInChroot ? "in chroot." : " ." ); } @@ -68,20 +66,16 @@ ProcessJob::exec() using CalamaresUtils::System; if ( m_runInChroot ) - return CalamaresUtils::System::instance()-> - targetEnvCommand( { m_command }, - m_workingPath, - QString(), - m_timeoutSec ) - .explainProcess( m_command, m_timeoutSec ); + return CalamaresUtils::System::instance() + ->targetEnvCommand( { m_command }, m_workingPath, QString(), m_timeoutSec ) + .explainProcess( m_command, m_timeoutSec ); else - return - System::runCommand( System::RunLocation::RunInHost, - { "/bin/sh", "-c", m_command }, - m_workingPath, - QString(), - m_timeoutSec ) + return System::runCommand( System::RunLocation::RunInHost, + { "/bin/sh", "-c", m_command }, + m_workingPath, + QString(), + m_timeoutSec ) .explainProcess( m_command, m_timeoutSec ); } -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index 84f84e550..e826acb1d 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -24,7 +24,8 @@ #include -namespace Calamares { +namespace Calamares +{ class ProcessJob : public Job { @@ -33,7 +34,7 @@ public: explicit ProcessJob( const QString& command, const QString& workingPath, bool runInChroot = false, - std::chrono::seconds secondsTimeout = std::chrono::seconds(30), + std::chrono::seconds secondsTimeout = std::chrono::seconds( 30 ), QObject* parent = nullptr ); virtual ~ProcessJob() override; @@ -48,6 +49,6 @@ private: std::chrono::seconds m_timeoutSec; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_PROCESSJOB_H +#endif // CALAMARES_PROCESSJOB_H diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index 3c4d1cca6..40210856b 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -72,25 +72,39 @@ variantFromPyObject( const boost::python::object& pyObject ) { std::string pyType = bp::extract< std::string >( pyObject.attr( "__class__" ).attr( "__name__" ) ); if ( pyType == "dict" ) + { return variantMapFromPyDict( bp::extract< bp::dict >( pyObject ) ); + } else if ( pyType == "list" ) + { return variantListFromPyList( bp::extract< bp::list >( pyObject ) ); + } else if ( pyType == "int" ) + { return QVariant( bp::extract< int >( pyObject ) ); + } else if ( pyType == "float" ) + { return QVariant( bp::extract< double >( pyObject ) ); + } else if ( pyType == "str" ) + { return QVariant( QString::fromStdString( bp::extract< std::string >( pyObject ) ) ); + } else if ( pyType == "bool" ) + { return QVariant( bp::extract< bool >( pyObject ) ); + } else + { return QVariant(); + } } @@ -99,7 +113,9 @@ variantListToPyList( const QVariantList& variantList ) { bp::list pyList; for ( const QVariant& variant : variantList ) + { pyList.append( variantToPyObject( variant ) ); + } return pyList; } @@ -109,7 +125,9 @@ variantListFromPyList( const boost::python::list& pyList ) { QVariantList list; for ( int i = 0; i < bp::len( pyList ); ++i ) + { list.append( variantFromPyObject( pyList[ i ] ) ); + } return list; } @@ -119,7 +137,9 @@ variantMapToPyDict( const QVariantMap& variantMap ) { bp::dict pyDict; for ( auto it = variantMap.constBegin(); it != variantMap.constEnd(); ++it ) + { pyDict[ it.key().toStdString() ] = variantToPyObject( it.value() ); + } return pyDict; } @@ -152,7 +172,9 @@ variantHashToPyDict( const QVariantHash& variantHash ) { bp::dict pyDict; for ( auto it = variantHash.constBegin(); it != variantHash.constEnd(); ++it ) + { pyDict[ it.key().toStdString() ] = variantToPyObject( it.value() ); + } return pyDict; } @@ -181,17 +203,21 @@ variantHashFromPyDict( const boost::python::dict& pyDict ) } - Helper* Helper::s_instance = nullptr; -static inline void add_if_lib_exists( const QDir& dir, const char* name, QStringList& list ) +static inline void +add_if_lib_exists( const QDir& dir, const char* name, QStringList& list ) { - if ( ! ( dir.exists() && dir.isReadable() ) ) + if ( !( dir.exists() && dir.isReadable() ) ) + { return; + } QFileInfo fi( dir.absoluteFilePath( name ) ); if ( fi.exists() && fi.isReadable() ) + { list.append( fi.dir().absolutePath() ); + } } Helper::Helper( QObject* parent ) @@ -201,7 +227,9 @@ Helper::Helper( QObject* parent ) if ( !s_instance ) { if ( !Py_IsInitialized() ) + { Py_Initialize(); + } m_mainModule = bp::import( "__main__" ); m_mainNamespace = m_mainModule.attr( "__dict__" ); @@ -209,8 +237,7 @@ Helper::Helper( QObject* parent ) // If we're running from the build dir add_if_lib_exists( QDir::current(), "libcalamares.so", m_pythonPaths ); - QDir calaPythonPath( CalamaresUtils::systemLibDir().absolutePath() + - QDir::separator() + "calamares" ); + QDir calaPythonPath( CalamaresUtils::systemLibDir().absolutePath() + QDir::separator() + "calamares" ); add_if_lib_exists( calaPythonPath, "libcalamares.so", m_pythonPaths ); bp::object sys = bp::import( "sys" ); @@ -251,7 +278,7 @@ Helper::createCleanNamespace() QString Helper::handleLastError() { - PyObject* type = nullptr, *val = nullptr, *traceback_p = nullptr; + PyObject *type = nullptr, *val = nullptr, *traceback_p = nullptr; PyErr_Fetch( &type, &val, &traceback_p ); Logger::CDebug debug; @@ -264,10 +291,14 @@ Helper::handleLastError() bp::str pystr( h_type ); bp::extract< std::string > extracted( pystr ); if ( extracted.check() ) + { typeMsg = QString::fromStdString( extracted() ).trimmed(); + } if ( typeMsg.isEmpty() ) + { typeMsg = tr( "Unknown exception type" ); + } debug << typeMsg << '\n'; } @@ -278,10 +309,14 @@ Helper::handleLastError() bp::str pystr( h_val ); bp::extract< std::string > extracted( pystr ); if ( extracted.check() ) + { valMsg = QString::fromStdString( extracted() ).trimmed(); + } if ( valMsg.isEmpty() ) + { valMsg = tr( "unparseable Python error" ); + } // Special-case: CalledProcessError has an attribute "output" with the command output, // add that to the printed message. @@ -318,22 +353,32 @@ Helper::handleLastError() bp::object pystr( bp::str( "\n" ).join( tb_list ) ); bp::extract< std::string > extracted( pystr ); if ( extracted.check() ) + { tbMsg = QString::fromStdString( extracted() ).trimmed(); + } if ( tbMsg.isEmpty() ) + { tbMsg = tr( "unparseable Python traceback" ); + } debug << tbMsg << '\n'; } if ( typeMsg.isEmpty() && valMsg.isEmpty() && tbMsg.isEmpty() ) + { return tr( "Unfetchable Python error." ); + } QStringList msgList; if ( !typeMsg.isEmpty() ) + { msgList.append( QString( "%1" ).arg( typeMsg.toHtmlEscaped() ) ); + } if ( !valMsg.isEmpty() ) + { msgList.append( valMsg.toHtmlEscaped() ); + } if ( !tbMsg.isEmpty() ) { @@ -346,4 +391,4 @@ Helper::handleLastError() } -} // namespace CalamaresPython +} // namespace CalamaresPython diff --git a/src/libcalamares/PythonHelper.h b/src/libcalamares/PythonHelper.h index 693d80d8b..667a08614 100644 --- a/src/libcalamares/PythonHelper.h +++ b/src/libcalamares/PythonHelper.h @@ -32,17 +32,17 @@ namespace CalamaresPython { -boost::python::object variantToPyObject( const QVariant& variant ); -QVariant variantFromPyObject( const boost::python::object& pyObject ); +boost::python::object variantToPyObject( const QVariant& variant ); +QVariant variantFromPyObject( const boost::python::object& pyObject ); -boost::python::list variantListToPyList( const QVariantList& variantList ); -QVariantList variantListFromPyList( const boost::python::list& pyList ); +boost::python::list variantListToPyList( const QVariantList& variantList ); +QVariantList variantListFromPyList( const boost::python::list& pyList ); -boost::python::dict variantMapToPyDict( const QVariantMap& variantMap ); -QVariantMap variantMapFromPyDict( const boost::python::dict& pyDict ); +boost::python::dict variantMapToPyDict( const QVariantMap& variantMap ); +QVariantMap variantMapFromPyDict( const boost::python::dict& pyDict ); -boost::python::dict variantHashToPyDict( const QVariantHash& variantHash ); -QVariantHash variantHashFromPyDict( const boost::python::dict& pyDict ); +boost::python::dict variantHashToPyDict( const QVariantHash& variantHash ); +QVariantHash variantHashFromPyDict( const boost::python::dict& pyDict ); class Helper : public QObject @@ -66,6 +66,6 @@ private: QStringList m_pythonPaths; }; -} // namespace Calamares +} // namespace CalamaresPython -#endif // CALAMARES_PYTHONJOBHELPER_H +#endif // CALAMARES_PYTHONJOBHELPER_H diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index 32792e737..da87b8b00 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -19,10 +19,10 @@ #include "PythonJob.h" -#include "PythonHelper.h" -#include "utils/Logger.h" #include "GlobalStorage.h" #include "JobQueue.h" +#include "PythonHelper.h" +#include "utils/Logger.h" #include @@ -35,27 +35,19 @@ namespace bp = boost::python; -BOOST_PYTHON_FUNCTION_OVERLOADS( mount_overloads, - CalamaresPython::mount, - 2, 4 ); -BOOST_PYTHON_FUNCTION_OVERLOADS( target_env_call_str_overloads, - CalamaresPython::target_env_call, - 1, 3 ); -BOOST_PYTHON_FUNCTION_OVERLOADS( target_env_call_list_overloads, - CalamaresPython::target_env_call, - 1, 3 ); -BOOST_PYTHON_FUNCTION_OVERLOADS( check_target_env_call_str_overloads, - CalamaresPython::check_target_env_call, - 1, 3 ); -BOOST_PYTHON_FUNCTION_OVERLOADS( check_target_env_call_list_overloads, - CalamaresPython::check_target_env_call, - 1, 3 ); +BOOST_PYTHON_FUNCTION_OVERLOADS( mount_overloads, CalamaresPython::mount, 2, 4 ); +BOOST_PYTHON_FUNCTION_OVERLOADS( target_env_call_str_overloads, CalamaresPython::target_env_call, 1, 3 ); +BOOST_PYTHON_FUNCTION_OVERLOADS( target_env_call_list_overloads, CalamaresPython::target_env_call, 1, 3 ); +BOOST_PYTHON_FUNCTION_OVERLOADS( check_target_env_call_str_overloads, CalamaresPython::check_target_env_call, 1, 3 ); +BOOST_PYTHON_FUNCTION_OVERLOADS( check_target_env_call_list_overloads, CalamaresPython::check_target_env_call, 1, 3 ); BOOST_PYTHON_FUNCTION_OVERLOADS( check_target_env_output_str_overloads, CalamaresPython::check_target_env_output, - 1, 3 ); + 1, + 3 ); BOOST_PYTHON_FUNCTION_OVERLOADS( check_target_env_output_list_overloads, CalamaresPython::check_target_env_output, - 1, 3 ); + 1, + 3 ); BOOST_PYTHON_MODULE( libcalamares ) { bp::object package = bp::scope(); @@ -68,25 +60,24 @@ BOOST_PYTHON_MODULE( libcalamares ) bp::scope().attr( "VERSION_SHORT" ) = CALAMARES_VERSION_SHORT; bp::class_< CalamaresPython::PythonJobInterface >( "Job", bp::init< Calamares::PythonJob* >() ) - .def_readonly( "module_name", &CalamaresPython::PythonJobInterface::moduleName ) - .def_readonly( "pretty_name", &CalamaresPython::PythonJobInterface::prettyName ) - .def_readonly( "working_path", &CalamaresPython::PythonJobInterface::workingPath ) + .def_readonly( "module_name", &CalamaresPython::PythonJobInterface::moduleName ) + .def_readonly( "pretty_name", &CalamaresPython::PythonJobInterface::prettyName ) + .def_readonly( "working_path", &CalamaresPython::PythonJobInterface::workingPath ) .def_readonly( "configuration", &CalamaresPython::PythonJobInterface::configuration ) - .def( - "setprogress", - &CalamaresPython::PythonJobInterface::setprogress, - bp::args( "progress" ), - "Reports the progress status of this job to Calamares, " - "as a real number between 0 and 1." - ); + .def( "setprogress", + &CalamaresPython::PythonJobInterface::setprogress, + bp::args( "progress" ), + "Reports the progress status of this job to Calamares, " + "as a real number between 0 and 1." ); - bp::class_< CalamaresPython::GlobalStoragePythonWrapper >( "GlobalStorage", bp::init< Calamares::GlobalStorage* >() ) - .def( "contains", &CalamaresPython::GlobalStoragePythonWrapper::contains ) - .def( "count", &CalamaresPython::GlobalStoragePythonWrapper::count ) - .def( "insert", &CalamaresPython::GlobalStoragePythonWrapper::insert ) - .def( "keys", &CalamaresPython::GlobalStoragePythonWrapper::keys ) - .def( "remove", &CalamaresPython::GlobalStoragePythonWrapper::remove ) - .def( "value", &CalamaresPython::GlobalStoragePythonWrapper::value ); + bp::class_< CalamaresPython::GlobalStoragePythonWrapper >( "GlobalStorage", + bp::init< Calamares::GlobalStorage* >() ) + .def( "contains", &CalamaresPython::GlobalStoragePythonWrapper::contains ) + .def( "count", &CalamaresPython::GlobalStoragePythonWrapper::count ) + .def( "insert", &CalamaresPython::GlobalStoragePythonWrapper::insert ) + .def( "keys", &CalamaresPython::GlobalStoragePythonWrapper::keys ) + .def( "remove", &CalamaresPython::GlobalStoragePythonWrapper::remove ) + .def( "value", &CalamaresPython::GlobalStoragePythonWrapper::value ); // libcalamares.utils submodule starts here bp::object utilsModule( bp::handle<>( bp::borrowed( PyImport_AddModule( "libcalamares.utils" ) ) ) ); @@ -95,151 +86,88 @@ BOOST_PYTHON_MODULE( libcalamares ) Q_UNUSED( utilsScope ) bp::def( - "debug", - &CalamaresPython::debug, - bp::args( "s" ), - "Writes the given string to the Calamares debug stream." - ); - bp::def( - "warning", - &CalamaresPython::warning, - bp::args( "s" ), - "Writes the given string to the Calamares warning stream." - ); + "debug", &CalamaresPython::debug, bp::args( "s" ), "Writes the given string to the Calamares debug stream." ); + bp::def( "warning", + &CalamaresPython::warning, + bp::args( "s" ), + "Writes the given string to the Calamares warning stream." ); - bp::def( - "mount", - &CalamaresPython::mount, - mount_overloads( - bp::args( "device_path", - "mount_point", - "filesystem_name", - "options" ), - "Runs the mount utility with the specified parameters.\n" - "Returns the program's exit code, or:\n" - "-1 = QProcess crash\n" - "-2 = QProcess cannot start\n" - "-3 = bad arguments" - ) - ); + bp::def( "mount", + &CalamaresPython::mount, + mount_overloads( bp::args( "device_path", "mount_point", "filesystem_name", "options" ), + "Runs the mount utility with the specified parameters.\n" + "Returns the program's exit code, or:\n" + "-1 = QProcess crash\n" + "-2 = QProcess cannot start\n" + "-3 = bad arguments" ) ); bp::def( "target_env_call", - static_cast< int (*)( const std::string&, - const std::string&, - int ) >( &CalamaresPython::target_env_call ), - target_env_call_str_overloads( - bp::args( "command", - "stdin", - "timeout" ), - "Runs the specified command in the chroot of the target system.\n" - "Returns the program's exit code, or:\n" - "-1 = QProcess crash\n" - "-2 = QProcess cannot start\n" - "-3 = bad arguments\n" - "-4 = QProcess timeout" - ) - ); - bp::def( - "target_env_call", - static_cast< int (*)( const bp::list&, - const std::string&, - int ) >( &CalamaresPython::target_env_call ), - target_env_call_list_overloads( - bp::args( "args", - "stdin", - "timeout" ), - "Runs the specified command in the chroot of the target system.\n" - "Returns the program's exit code, or:\n" - "-1 = QProcess crash\n" - "-2 = QProcess cannot start\n" - "-3 = bad arguments\n" - "-4 = QProcess timeout" - ) - ); + static_cast< int ( * )( const std::string&, const std::string&, int ) >( &CalamaresPython::target_env_call ), + target_env_call_str_overloads( bp::args( "command", "stdin", "timeout" ), + "Runs the specified command in the chroot of the target system.\n" + "Returns the program's exit code, or:\n" + "-1 = QProcess crash\n" + "-2 = QProcess cannot start\n" + "-3 = bad arguments\n" + "-4 = QProcess timeout" ) ); + bp::def( "target_env_call", + static_cast< int ( * )( const bp::list&, const std::string&, int ) >( &CalamaresPython::target_env_call ), + target_env_call_list_overloads( bp::args( "args", "stdin", "timeout" ), + "Runs the specified command in the chroot of the target system.\n" + "Returns the program's exit code, or:\n" + "-1 = QProcess crash\n" + "-2 = QProcess cannot start\n" + "-3 = bad arguments\n" + "-4 = QProcess timeout" ) ); + bp::def( "check_target_env_call", + static_cast< int ( * )( const std::string&, const std::string&, int ) >( + &CalamaresPython::check_target_env_call ), + check_target_env_call_str_overloads( bp::args( "command", "stdin", "timeout" ), + "Runs the specified command in the chroot of the target system.\n" + "Returns 0, which is program's exit code if the program exited " + "successfully, or raises a subprocess.CalledProcessError." ) ); bp::def( "check_target_env_call", - static_cast< int (*)( const std::string&, - const std::string&, - int ) >( &CalamaresPython::check_target_env_call ), - check_target_env_call_str_overloads( - bp::args( "command", - "stdin", - "timeout" ), - "Runs the specified command in the chroot of the target system.\n" - "Returns 0, which is program's exit code if the program exited " - "successfully, or raises a subprocess.CalledProcessError." - ) - ); - bp::def( - "check_target_env_call", - static_cast< int (*)( const bp::list&, - const std::string&, - int ) >( &CalamaresPython::check_target_env_call ), - check_target_env_call_list_overloads( - bp::args( "args", - "stdin", - "timeout" ), - "Runs the specified command in the chroot of the target system.\n" - "Returns 0, which is program's exit code if the program exited " - "successfully, or raises a subprocess.CalledProcessError." - ) - ); + static_cast< int ( * )( const bp::list&, const std::string&, int ) >( &CalamaresPython::check_target_env_call ), + check_target_env_call_list_overloads( bp::args( "args", "stdin", "timeout" ), + "Runs the specified command in the chroot of the target system.\n" + "Returns 0, which is program's exit code if the program exited " + "successfully, or raises a subprocess.CalledProcessError." ) ); - bp::def( - "check_target_env_output", - static_cast< std::string (*)( const std::string&, - const std::string&, - int ) >( &CalamaresPython::check_target_env_output ), - check_target_env_output_str_overloads( - bp::args( "command", - "stdin", - "timeout" ), - "Runs the specified command in the chroot of the target system.\n" - "Returns the program's standard output, and raises a " - "subprocess.CalledProcessError if something went wrong." - ) - ); - bp::def( - "check_target_env_output", - static_cast< std::string (*)( const bp::list&, - const std::string&, - int ) >( &CalamaresPython::check_target_env_output ), - check_target_env_output_list_overloads( - bp::args( "args", - "stdin", - "timeout" ), - "Runs the specified command in the chroot of the target system.\n" - "Returns the program's standard output, and raises a " - "subprocess.CalledProcessError if something went wrong." - ) - ); - bp::def( - "obscure", - &CalamaresPython::obscure, - bp::args( "s" ), - "Simple string obfuscation function based on KStringHandler::obscure.\n" - "Returns a string, generated using a simple symmetric encryption.\n" - "Applying the function to a string obscured by this function will result " - "in the original string." - ); + bp::def( "check_target_env_output", + static_cast< std::string ( * )( const std::string&, const std::string&, int ) >( + &CalamaresPython::check_target_env_output ), + check_target_env_output_str_overloads( bp::args( "command", "stdin", "timeout" ), + "Runs the specified command in the chroot of the target system.\n" + "Returns the program's standard output, and raises a " + "subprocess.CalledProcessError if something went wrong." ) ); + bp::def( "check_target_env_output", + static_cast< std::string ( * )( const bp::list&, const std::string&, int ) >( + &CalamaresPython::check_target_env_output ), + check_target_env_output_list_overloads( bp::args( "args", "stdin", "timeout" ), + "Runs the specified command in the chroot of the target system.\n" + "Returns the program's standard output, and raises a " + "subprocess.CalledProcessError if something went wrong." ) ); + bp::def( "obscure", + &CalamaresPython::obscure, + bp::args( "s" ), + "Simple string obfuscation function based on KStringHandler::obscure.\n" + "Returns a string, generated using a simple symmetric encryption.\n" + "Applying the function to a string obscured by this function will result " + "in the original string." ); - bp::def( - "gettext_languages", - &CalamaresPython::gettext_languages, - "Returns list of languages (most to least-specific) for gettext." - ); + bp::def( "gettext_languages", + &CalamaresPython::gettext_languages, + "Returns list of languages (most to least-specific) for gettext." ); - bp::def( - "gettext_path", - &CalamaresPython::gettext_path, - "Returns path for gettext search." - ); + bp::def( "gettext_path", &CalamaresPython::gettext_path, "Returns path for gettext search." ); } -namespace Calamares { +namespace Calamares +{ PythonJob::PythonJob( const QString& scriptFile, @@ -255,8 +183,7 @@ PythonJob::PythonJob( const QString& scriptFile, } -PythonJob::~PythonJob() -{} +PythonJob::~PythonJob() {} QString @@ -270,10 +197,11 @@ QString PythonJob::prettyStatusMessage() const { if ( m_description.isEmpty() ) - return tr( "Running %1 operation." ) - .arg( QDir( m_workingPath ).dirName() ); + return tr( "Running %1 operation." ).arg( QDir( m_workingPath ).dirName() ); else + { return m_description; + } } @@ -282,24 +210,20 @@ PythonJob::exec() { // We assume m_scriptFile to be relative to m_workingPath. QDir workingDir( m_workingPath ); - if ( !workingDir.exists() || - !workingDir.isReadable() ) + if ( !workingDir.exists() || !workingDir.isReadable() ) { - return JobResult::error( tr( "Bad working directory path" ), - tr( "Working directory %1 for python job %2 is not readable." ) - .arg( m_workingPath ) - .arg( prettyName() ) ); + return JobResult::error( + tr( "Bad working directory path" ), + tr( "Working directory %1 for python job %2 is not readable." ).arg( m_workingPath ).arg( prettyName() ) ); } QFileInfo scriptFI( workingDir.absoluteFilePath( m_scriptFile ) ); - if ( !scriptFI.exists() || - !scriptFI.isFile() || - !scriptFI.isReadable() ) + if ( !scriptFI.exists() || !scriptFI.isFile() || !scriptFI.isReadable() ) { return JobResult::error( tr( "Bad main script file" ), tr( "Main script file %1 for python job %2 is not readable." ) - .arg( scriptFI.absoluteFilePath() ) - .arg( prettyName() ) ); + .arg( scriptFI.absoluteFilePath() ) + .arg( prettyName() ) ); } try @@ -310,15 +234,14 @@ PythonJob::exec() bp::dict calamaresNamespace = bp::extract< bp::dict >( calamaresModule.attr( "__dict__" ) ); calamaresNamespace[ "job" ] = CalamaresPython::PythonJobInterface( this ); - calamaresNamespace[ "globalstorage" ] = CalamaresPython::GlobalStoragePythonWrapper( - JobQueue::instance()->globalStorage() ); + calamaresNamespace[ "globalstorage" ] + = CalamaresPython::GlobalStoragePythonWrapper( JobQueue::instance()->globalStorage() ); - bp::object execResult = bp::exec_file( scriptFI.absoluteFilePath().toLocal8Bit().data(), - scriptNamespace, - scriptNamespace ); + bp::object execResult + = bp::exec_file( scriptFI.absoluteFilePath().toLocal8Bit().data(), scriptNamespace, scriptNamespace ); bp::object entryPoint = scriptNamespace[ "run" ]; - bp::object prettyNameFunc = scriptNamespace.get("pretty_name", bp::object()); + bp::object prettyNameFunc = scriptNamespace.get( "pretty_name", bp::object() ); cDebug() << "Job file" << scriptFI.absoluteFilePath(); if ( !prettyNameFunc.is_none() ) @@ -337,14 +260,16 @@ PythonJob::exec() if ( m_description.isEmpty() ) { - bp::extract< std::string > entryPoint_doc_attr(entryPoint.attr( "__doc__" ) ); + bp::extract< std::string > entryPoint_doc_attr( entryPoint.attr( "__doc__" ) ); if ( entryPoint_doc_attr.check() ) { m_description = QString::fromStdString( entryPoint_doc_attr() ).trimmed(); - auto i_newline = m_description.indexOf('\n'); + auto i_newline = m_description.indexOf( '\n' ); if ( i_newline > 0 ) + { m_description.truncate( i_newline ); + } cDebug() << "Job description from __doc__" << prettyName() << "=" << m_description; emit progress( 0 ); } @@ -356,7 +281,7 @@ PythonJob::exec() { return JobResult::ok(); } - else // Something happened in the Python job + else // Something happened in the Python job { bp::tuple resultTuple = bp::extract< bp::tuple >( runResult ); QString message = QString::fromStdString( bp::extract< std::string >( resultTuple[ 0 ] ) ); @@ -374,9 +299,7 @@ PythonJob::exec() bp::handle_exception(); PyErr_Clear(); return JobResult::internalError( - tr( "Boost.Python error in job \"%1\"." ).arg( prettyName() ), - msg, - JobResult::PythonUncaughtException ); + tr( "Boost.Python error in job \"%1\"." ).arg( prettyName() ), msg, JobResult::PythonUncaughtException ); } } @@ -392,10 +315,12 @@ CalamaresPython::Helper* PythonJob::helper() { auto ptr = CalamaresPython::Helper::s_instance; - if (!ptr) + if ( !ptr ) + { ptr = new CalamaresPython::Helper; + } return ptr; } -} // namespace Calamares +} // namespace Calamares diff --git a/src/libcalamares/PythonJob.h b/src/libcalamares/PythonJob.h index c3b447472..a2bdf171c 100644 --- a/src/libcalamares/PythonJob.h +++ b/src/libcalamares/PythonJob.h @@ -27,9 +27,10 @@ namespace CalamaresPython { class PythonJobInterface; class Helper; -} +} // namespace CalamaresPython -namespace Calamares { +namespace Calamares +{ class PythonJob : public Job { @@ -57,6 +58,6 @@ private: QVariantMap m_configurationMap; }; -} // namespace Calamares +} // namespace Calamares -#endif // CALAMARES_PYTHONJOB_H +#endif // CALAMARES_PYTHONJOB_H diff --git a/src/libcalamares/PythonJobApi.cpp b/src/libcalamares/PythonJobApi.cpp index 750d8ea73..610003492 100644 --- a/src/libcalamares/PythonJobApi.cpp +++ b/src/libcalamares/PythonJobApi.cpp @@ -20,8 +20,8 @@ #include "PythonJobApi.h" #include "PythonHelper.h" -#include "utils/Logger.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" #include "utils/String.h" #include "GlobalStorage.h" @@ -40,15 +40,19 @@ static int _handle_check_target_env_call_error( const CalamaresUtils::ProcessResult& ec, const QString& cmd ) { if ( !ec.first ) + { return ec.first; + } QString raise = QString( "import subprocess\n" "e = subprocess.CalledProcessError(%1,\"%2\")\n" ) - .arg( ec.first ) - .arg( cmd ); + .arg( ec.first ) + .arg( cmd ); if ( !ec.second.isEmpty() ) - raise.append( QStringLiteral("e.output = \"\"\"%1\"\"\"\n").arg( ec.second ) ); - raise.append("raise e"); + { + raise.append( QStringLiteral( "e.output = \"\"\"%1\"\"\"\n" ).arg( ec.second ) ); + } + raise.append( "raise e" ); bp::exec( raise.toStdString().c_str() ); bp::throw_error_already_set(); return ec.first; @@ -63,11 +67,10 @@ mount( const std::string& device_path, const std::string& filesystem_name, const std::string& options ) { - return CalamaresUtils::System::instance()-> - mount( QString::fromStdString( device_path ), - QString::fromStdString( mount_point ), - QString::fromStdString( filesystem_name ), - QString::fromStdString( options ) ); + return CalamaresUtils::System::instance()->mount( QString::fromStdString( device_path ), + QString::fromStdString( mount_point ), + QString::fromStdString( filesystem_name ), + QString::fromStdString( options ) ); } @@ -77,66 +80,50 @@ _bp_list_to_qstringlist( const bp::list& args ) QStringList list; for ( int i = 0; i < bp::len( args ); ++i ) { - list.append( QString::fromStdString( - bp::extract< std::string >( args[ i ] ) ) ); + list.append( QString::fromStdString( bp::extract< std::string >( args[ i ] ) ) ); } return list; } static inline CalamaresUtils::ProcessResult -_target_env_command( - const QStringList& args, - const std::string& stdin, - int timeout ) +_target_env_command( const QStringList& args, const std::string& stdin, int timeout ) { // Since Python doesn't give us the type system for distinguishing // seconds from other integral types, massage to seconds here. - return CalamaresUtils::System::instance()-> - targetEnvCommand( args, - QString(), - QString::fromStdString( stdin ), - std::chrono::seconds( timeout ) ); + return CalamaresUtils::System::instance()->targetEnvCommand( + args, QString(), QString::fromStdString( stdin ), std::chrono::seconds( timeout ) ); } int -target_env_call( const std::string& command, - const std::string& stdin, - int timeout ) +target_env_call( const std::string& command, const std::string& stdin, int timeout ) { - return _target_env_command( - QStringList{ QString::fromStdString( command ) }, stdin, timeout ).first; + return _target_env_command( QStringList { QString::fromStdString( command ) }, stdin, timeout ).first; } int -target_env_call( const bp::list& args, - const std::string& stdin, - int timeout ) +target_env_call( const bp::list& args, const std::string& stdin, int timeout ) { - return _target_env_command( - _bp_list_to_qstringlist( args ), stdin, timeout ).first; + return _target_env_command( _bp_list_to_qstringlist( args ), stdin, timeout ).first; } int -check_target_env_call( const std::string& command, - const std::string& stdin, - int timeout ) +check_target_env_call( const std::string& command, const std::string& stdin, int timeout ) { - auto ec = _target_env_command( - QStringList{ QString::fromStdString( command ) }, stdin, timeout ); + auto ec = _target_env_command( QStringList { QString::fromStdString( command ) }, stdin, timeout ); return _handle_check_target_env_call_error( ec, QString::fromStdString( command ) ); } int -check_target_env_call( const bp::list& args, - const std::string& stdin, - int timeout ) +check_target_env_call( const bp::list& args, const std::string& stdin, int timeout ) { auto ec = _target_env_command( _bp_list_to_qstringlist( args ), stdin, timeout ); if ( !ec.first ) + { return ec.first; + } QStringList failedCmdList = _bp_list_to_qstringlist( args ); return _handle_check_target_env_call_error( ec, failedCmdList.join( ' ' ) ); @@ -144,25 +131,19 @@ check_target_env_call( const bp::list& args, std::string -check_target_env_output( const std::string& command, - const std::string& stdin, - int timeout ) +check_target_env_output( const std::string& command, const std::string& stdin, int timeout ) { - auto ec = _target_env_command( - QStringList{ QString::fromStdString( command ) }, stdin, timeout ); + auto ec = _target_env_command( QStringList { QString::fromStdString( command ) }, stdin, timeout ); _handle_check_target_env_call_error( ec, QString::fromStdString( command ) ); return ec.second.toStdString(); } std::string -check_target_env_output( const bp::list& args, - const std::string& stdin, - int timeout ) +check_target_env_output( const bp::list& args, const std::string& stdin, int timeout ) { QStringList list = _bp_list_to_qstringlist( args ); - auto ec = _target_env_command( - list, stdin, timeout ); + auto ec = _target_env_command( list, stdin, timeout ); _handle_check_target_env_call_error( ec, list.join( ' ' ) ); return ec.second.toStdString(); } @@ -194,7 +175,9 @@ void PythonJobInterface::setprogress( qreal progress ) { if ( progress >= 0 && progress <= 1 ) + { m_parent->emitProgress( progress ); + } } @@ -216,7 +199,8 @@ _gettext_languages() // own GlobalStoragePythonWrapper, which then holds a // GlobalStorage object for all of Python. Calamares::JobQueue* jq = Calamares::JobQueue::instance(); - Calamares::GlobalStorage* gs = jq ? jq->globalStorage() : CalamaresPython::GlobalStoragePythonWrapper::globalStorageInstance(); + Calamares::GlobalStorage* gs + = jq ? jq->globalStorage() : CalamaresPython::GlobalStoragePythonWrapper::globalStorageInstance(); QVariant localeConf_ = gs->value( "localeConf" ); if ( localeConf_.canConvert< QVariantMap >() ) @@ -246,7 +230,9 @@ gettext_languages() { bp::list pyList; for ( auto lang : _gettext_languages() ) + { pyList.append( lang.toStdString() ); + } return pyList; } @@ -257,7 +243,9 @@ _add_localedirs( QStringList& pathList, const QString& candidate ) { pathList.prepend( candidate ); if ( QDir( candidate ).cd( "lang" ) ) + { pathList.prepend( candidate + "/lang" ); + } } } @@ -266,16 +254,19 @@ gettext_path() { // TODO: distinguish between -d runs and normal runs // TODO: can we detect DESTDIR-installs? - QStringList candidatePaths = QStandardPaths::locateAll( QStandardPaths::GenericDataLocation, "locale", QStandardPaths::LocateDirectory ); + QStringList candidatePaths + = QStandardPaths::locateAll( QStandardPaths::GenericDataLocation, "locale", QStandardPaths::LocateDirectory ); QString extra = QCoreApplication::applicationDirPath(); - _add_localedirs( candidatePaths, extra ); // Often /usr/local/bin + _add_localedirs( candidatePaths, extra ); // Often /usr/local/bin if ( !extra.isEmpty() ) { QDir d( extra ); - if ( d.cd( "../share/locale" ) ) // Often /usr/local/bin/../share/locale -> /usr/local/share/locale + if ( d.cd( "../share/locale" ) ) // Often /usr/local/bin/../share/locale -> /usr/local/share/locale + { _add_localedirs( candidatePaths, d.canonicalPath() ); + } } - _add_localedirs( candidatePaths, QDir().canonicalPath() ); // . + _add_localedirs( candidatePaths, QDir().canonicalPath() ); // . cDebug() << "Determining gettext path from" << candidatePaths; @@ -296,4 +287,4 @@ gettext_path() } -} +} // namespace CalamaresPython diff --git a/src/libcalamares/PythonJobApi.h b/src/libcalamares/PythonJobApi.h index a19a0581b..3d3783f5f 100644 --- a/src/libcalamares/PythonJobApi.h +++ b/src/libcalamares/PythonJobApi.h @@ -35,29 +35,19 @@ int mount( const std::string& device_path, const std::string& filesystem_name = std::string(), const std::string& options = std::string() ); -int target_env_call( const std::string& command, - const std::string& stdin = std::string(), - int timeout = 0 ); +int target_env_call( const std::string& command, const std::string& stdin = std::string(), int timeout = 0 ); -int target_env_call( const boost::python::list& args, - const std::string& stdin = std::string(), - int timeout = 0 ); +int target_env_call( const boost::python::list& args, const std::string& stdin = std::string(), int timeout = 0 ); -int check_target_env_call( const std::string& command, - const std::string& stdin = std::string(), - int timeout = 0 ); +int check_target_env_call( const std::string& command, const std::string& stdin = std::string(), int timeout = 0 ); -int check_target_env_call( const boost::python::list& args, - const std::string& stdin = std::string(), - int timeout = 0 ); +int check_target_env_call( const boost::python::list& args, const std::string& stdin = std::string(), int timeout = 0 ); -std::string check_target_env_output( const std::string& command, - const std::string& stdin = std::string(), - int timeout = 0 ); +std::string +check_target_env_output( const std::string& command, const std::string& stdin = std::string(), int timeout = 0 ); -std::string check_target_env_output( const boost::python::list& args, - const std::string& stdin = std::string(), - int timeout = 0 ); +std::string +check_target_env_output( const boost::python::list& args, const std::string& stdin = std::string(), int timeout = 0 ); std::string obscure( const std::string& string ); @@ -85,6 +75,6 @@ private: Calamares::PythonJob* m_parent; }; -} +} // namespace CalamaresPython -#endif // PYTHONJOBAPI_H +#endif // PYTHONJOBAPI_H diff --git a/src/libcalamares/Settings.cpp b/src/libcalamares/Settings.cpp index 71825b1e5..b55292bd4 100644 --- a/src/libcalamares/Settings.cpp +++ b/src/libcalamares/Settings.cpp @@ -40,8 +40,10 @@ static QString requireString( const YAML::Node& config, const char* key ) { auto v = config[ key ]; - if ( hasValue(v) ) + if ( hasValue( v ) ) + { return QString::fromStdString( v.as< std::string >() ); + } else { cWarning() << Logger::SubEntry << "Required settings.conf key" << key << "is missing."; @@ -54,8 +56,10 @@ static bool requireBool( const YAML::Node& config, const char* key, bool d ) { auto v = config[ key ]; - if ( hasValue(v) ) + if ( hasValue( v ) ) + { return v.as< bool >(); + } else { cWarning() << Logger::SubEntry << "Required settings.conf key" << key << "is missing."; @@ -86,17 +90,17 @@ interpretModulesSearch( const bool debugMode, const QStringList& rawPaths, QStri // module search path in the build dir. if ( debugMode ) { - QString buildDirModules = QDir::current().absolutePath() + - QDir::separator() + "src" + - QDir::separator() + "modules"; + QString buildDirModules + = QDir::current().absolutePath() + QDir::separator() + "src" + QDir::separator() + "modules"; if ( QDir( buildDirModules ).exists() ) + { output.append( buildDirModules ); + } } // Install path is set in CalamaresAddPlugin.cmake - output.append( CalamaresUtils::systemLibDir().absolutePath() + - QDir::separator() + "calamares" + - QDir::separator() + "modules" ); + output.append( CalamaresUtils::systemLibDir().absolutePath() + QDir::separator() + "calamares" + + QDir::separator() + "modules" ); } else { @@ -106,7 +110,9 @@ interpretModulesSearch( const bool debugMode, const QStringList& rawPaths, QStri output.append( d.absolutePath() ); } else + { cDebug() << Logger::SubEntry << "module-search entry non-existent" << path; + } } } } @@ -124,15 +130,17 @@ interpretInstances( const YAML::Node& node, Settings::InstanceDescriptionList& c for ( const QVariant& instancesVListItem : instances ) { if ( instancesVListItem.type() != QVariant::Map ) + { continue; - QVariantMap instancesVListItemMap = - instancesVListItem.toMap(); + } + QVariantMap instancesVListItemMap = instancesVListItem.toMap(); Settings::InstanceDescription instanceMap; - for ( auto it = instancesVListItemMap.constBegin(); - it != instancesVListItemMap.constEnd(); ++it ) + for ( auto it = instancesVListItemMap.constBegin(); it != instancesVListItemMap.constEnd(); ++it ) { if ( it.value().type() != QVariant::String ) + { continue; + } instanceMap.insert( it.key(), it.value().toString() ); } customInstances.append( instanceMap ); @@ -149,37 +157,43 @@ interpretSequence( const YAML::Node& node, Settings::ModuleSequence& moduleSeque { QVariant sequenceV = CalamaresUtils::yamlToVariant( node ); if ( !( sequenceV.type() == QVariant::List ) ) + { throw YAML::Exception( YAML::Mark(), "sequence key does not have a list-value" ); + } const auto sequence = sequenceV.toList(); for ( const QVariant& sequenceVListItem : sequence ) { if ( sequenceVListItem.type() != QVariant::Map ) + { continue; + } QString thisActionS = sequenceVListItem.toMap().firstKey(); ModuleAction thisAction; if ( thisActionS == "show" ) + { thisAction = ModuleAction::Show; + } else if ( thisActionS == "exec" ) + { thisAction = ModuleAction::Exec; + } else + { continue; + } - QStringList thisActionRoster = sequenceVListItem - .toMap() - .value( thisActionS ) - .toStringList(); - moduleSequence.append( qMakePair( thisAction, - thisActionRoster ) ); + QStringList thisActionRoster = sequenceVListItem.toMap().value( thisActionS ).toStringList(); + moduleSequence.append( qMakePair( thisAction, thisActionRoster ) ); } } else + { throw YAML::Exception( YAML::Mark(), "sequence key is missing" ); + } } -Settings::Settings( const QString& settingsFilePath, - bool debugMode, - QObject* parent ) +Settings::Settings( const QString& settingsFilePath, bool debugMode, QObject* parent ) : QObject( parent ) , m_debug( debugMode ) , m_doChroot( true ) @@ -198,7 +212,8 @@ Settings::Settings( const QString& settingsFilePath, YAML::Node config = YAML::Load( ba.constData() ); Q_ASSERT( config.IsMap() ); - interpretModulesSearch( debugMode, CalamaresUtils::yamlToStringList( config[ "modules-search" ] ), m_modulesSearchPaths ); + interpretModulesSearch( + debugMode, CalamaresUtils::yamlToStringList( config[ "modules-search" ] ), m_modulesSearchPaths ); interpretInstances( config[ "instances" ], m_customModuleInstances ); interpretSequence( config[ "sequence" ], m_modulesSequence ); @@ -283,4 +298,4 @@ Settings::disableCancelDuringExec() const } -} +} // namespace Calamares diff --git a/src/libcalamares/Settings.h b/src/libcalamares/Settings.h index a095ee567..a52eac82e 100644 --- a/src/libcalamares/Settings.h +++ b/src/libcalamares/Settings.h @@ -36,9 +36,7 @@ class DLLEXPORT Settings : public QObject { Q_OBJECT public: - explicit Settings( const QString& settingsFilePath, - bool debugMode, - QObject* parent = nullptr ); + explicit Settings( const QString& settingsFilePath, bool debugMode, QObject* parent = nullptr ); static Settings* instance(); @@ -88,6 +86,6 @@ private: bool m_disableCancelDuringExec; }; -} +} // namespace Calamares -#endif // SETTINGS_H +#endif // SETTINGS_H From 8ea4091c7b6d14e52367ef2f8bda8dfee2ec23b5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 22:56:41 +0200 Subject: [PATCH 140/626] [libcalamares] Add a TranslatedString class to locale/ - While QObject::tr and gettext give us translations **most** of the time via the translation mechanism, we sometimes have strings embedded in configuration files that need to be shown to people as well. Follow the .desktop style in handling this. - A key's value **might** be translated; use `key[lang]` for the translation into one of the languages that Calamares understands. Code that expects a translated (human-readable) string in a configuration file can use TranslatedString to collect all the translations of a given key, so that it displays the right string from the configuration when needed. --- src/libcalamares/CMakeLists.txt | 1 + .../locale/TranslatableConfiguration.cpp | 67 +++++++++++++++++++ .../locale/TranslatableConfiguration.h | 54 +++++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 src/libcalamares/locale/TranslatableConfiguration.cpp create mode 100644 src/libcalamares/locale/TranslatableConfiguration.h diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 19bcc921d..0aca79233 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -34,6 +34,7 @@ set( libSources locale/Label.cpp locale/LabelModel.cpp locale/Lookup.cpp + locale/TranslatableConfiguration.cpp # Partition service partition/PartitionSize.cpp diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp new file mode 100644 index 000000000..6d4684121 --- /dev/null +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -0,0 +1,67 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "TranslatableConfiguration.h" + +#include "LabelModel.h" + +#include "utils/Logger.h" +#include "utils/Variant.h" + +#include +#include + +namespace CalamaresUtils +{ +namespace Locale +{ +TranslatedString::TranslatedString(const QString& string) +{ + m_strings[QString()]=string; +} +TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) +{ + // Get the un-decorated value for the key + QString value = CalamaresUtils::getString( map, key ); + if ( value.isEmpty() ) + { + value = key; + } + m_strings[QString()] = value; + + for ( auto it = m_strings.constKeyValueBegin(); it != m_strings.constKeyValueEnd(); ++it ) + { + QString subkey = (*it).first; + if ( subkey == key ) + { + // Already obtained, above + } + else if ( subkey.startsWith( key ) ) + { + QRegularExpressionMatch match; + if ( subkey.indexOf( QRegularExpression("\\[([a-zA-Z_@]*)\\]"), 0, &match ) > 0 ) + { + QString language = match.captured(1); + cDebug() << "Found translation" << key << '[' << language << ']'; + } + } + } +} + +} // namespace Locale +} // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h new file mode 100644 index 000000000..8cc02fadd --- /dev/null +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -0,0 +1,54 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef LOCALE_TRANSLATABLECONFIGURATION_H +#define LOCALE_TRANSLATABLECONFIGURATION_H + +#include "DllMacro.h" + +#include +#include +#include + +namespace CalamaresUtils +{ +namespace Locale +{ + /** @brief A human-readable string from a configuration file + * + * The configuration files can contain human-readable strings, + * but those need their own translations and are not supported + * by QObject::tr or anything else. + */ + class DLLEXPORT TranslatedString + { + public: + /** @brief Get all the translations connected to @p key + */ + TranslatedString( const QVariantMap& map, const QString& key ); + /** @brief Not-actually-translated string. + */ + TranslatedString( const QString& string ); + private: + // Maps locale name to human-readable string, "" is English + QMap< QString, QString > m_strings; + }; +} // namespace Locale +} // namespace CalamaresUtils + +#endif From 19ca1b3c30074db64f408c9a362e2ee4f6fa15a3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 4 Aug 2019 23:00:03 +0200 Subject: [PATCH 141/626] [libcalamares] One missing bit of coding style --- src/libcalamares/PythonJob.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index da87b8b00..39f500194 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -197,7 +197,9 @@ QString PythonJob::prettyStatusMessage() const { if ( m_description.isEmpty() ) + { return tr( "Running %1 operation." ).arg( QDir( m_workingPath ).dirName() ); + } else { return m_description; From 18e2f2ae527f6c83a1bb33d0e046bc0556e33a4f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 17:57:32 +0200 Subject: [PATCH 142/626] [libcalamares] Add tests for new TranslatedString - Test that construction works as expected - Add count() method to TranslatedString for testing purposes. --- src/libcalamares/locale/Tests.cpp | 47 +++++++++++++++++++ src/libcalamares/locale/Tests.h | 3 ++ .../locale/TranslatableConfiguration.cpp | 5 +- .../locale/TranslatableConfiguration.h | 3 ++ 4 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 9e2071a31..a87de8a98 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -19,7 +19,10 @@ #include "Tests.h" #include "locale/LabelModel.h" +#include "locale/TranslatableConfiguration.h" + #include "utils/Logger.h" +#include "CalamaresVersion.h" #include @@ -81,3 +84,47 @@ LocaleTests::testEsperanto() QCOMPARE( QLocale( "eo" ).language(), QLocale::C ); } + +static const QStringList& +someLanguages() +{ + static QStringList languages{ "nl", "de", "da", "nb", "sr@latin", "ar", "ru" }; + return languages; + } + + + void LocaleTests::testTranslatableLanguages() +{ + QStringList availableLanguages = QString( CALAMARES_TRANSLATION_LANGUAGES ).split( ';' ); + cDebug() << "Translation languages:" << availableLanguages; + for ( const auto& language: someLanguages() ) + { + // Could be QVERIFY, but then we don't see what language code fails + QCOMPARE( availableLanguages.contains( language ) ? language : QString(), language ); + } +} + +void LocaleTests::testTranslatableConfig1() +{ + CalamaresUtils::Locale::TranslatedString ts1( "Hello" ); + QCOMPARE( ts1.count(), 1 ); + + QVariantMap map; + map.insert( "description", "description (no language)" ); + CalamaresUtils::Locale::TranslatedString ts2(map, "description"); + QCOMPARE( ts2.count(), 1 ); +} + +void LocaleTests::testTranslatableConfig2() +{ + QVariantMap map; + + for ( const auto& language: someLanguages() ) + { + map.insert( QString("description[%1]").arg(language), QString("description (language %1)").arg(language) ); + } + + CalamaresUtils::Locale::TranslatedString s(map, "description"); + // The +1 is because "" is always also inserted + QCOMPARE( s.count(), someLanguages().count()+1 ); +} diff --git a/src/libcalamares/locale/Tests.h b/src/libcalamares/locale/Tests.h index be712388f..c6949f3e4 100644 --- a/src/libcalamares/locale/Tests.h +++ b/src/libcalamares/locale/Tests.h @@ -33,6 +33,9 @@ private Q_SLOTS: void testLanguageModelCount(); void testEsperanto(); + void testTranslatableLanguages(); + void testTranslatableConfig1(); + void testTranslatableConfig2(); }; #endif diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index 6d4684121..d6c078303 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -44,7 +44,7 @@ TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) } m_strings[QString()] = value; - for ( auto it = m_strings.constKeyValueBegin(); it != m_strings.constKeyValueEnd(); ++it ) + for ( auto it = map.constKeyValueBegin(); it != map.constKeyValueEnd(); ++it ) { QString subkey = (*it).first; if ( subkey == key ) @@ -53,11 +53,12 @@ TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) } else if ( subkey.startsWith( key ) ) { + cDebug() << "Checking" << subkey; QRegularExpressionMatch match; if ( subkey.indexOf( QRegularExpression("\\[([a-zA-Z_@]*)\\]"), 0, &match ) > 0 ) { QString language = match.captured(1); - cDebug() << "Found translation" << key << '[' << language << ']'; + m_strings[language] = (*it).second.toString(); } } } diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h index 8cc02fadd..01bdf8ed6 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.h +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -44,6 +44,9 @@ namespace Locale /** @brief Not-actually-translated string. */ TranslatedString( const QString& string ); + + int count() const { return m_strings.count(); } + private: // Maps locale name to human-readable string, "" is English QMap< QString, QString > m_strings; From 83df41ef069cf58a3d32b1645d009be3e9a9d990 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 18:24:31 +0200 Subject: [PATCH 143/626] CMake: bump required CMake to 3.3, enable Esperanto - Require CMake 3.3 for the IN_LIST operator in if() statements - It looks like Qt 5.12.2 (possibly earlier) supports a QLocale("eo") so enable Esperanto if that Qt version or later is detected. --- CMakeLists.txt | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 153def42a..e38c1db9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ # One special target is "show-version", which can be built # to obtain the version number from here. -cmake_minimum_required( VERSION 3.2 FATAL_ERROR ) +cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES VERSION 3.2.12 LANGUAGES C CXX ) @@ -96,10 +96,10 @@ set( CALAMARES_DESCRIPTION_SUMMARY # (sr@latin in particular) may need special handling in CalamaresUtils.cpp. # # TODO: drop the es_ES translation from Transifex -# TODO: move eo (Esperanto) to _ok once Qt can actually create a -# locale for it. # -# NOTE: when updating the list from Transifex, copy these four lines +# NOTE: move eo (Esperanto) to _ok once Qt can actually create a +# locale for it. (Qt 5.12.2 can, see check later on). +# NOTE: update these lines by running txstats.py, or copy these four lines # and prefix each variable name with "p", so that the automatic # checks for new languages and misspelled ones are done (that is, # copy these four lines to four backup lines, add "p", and then update @@ -128,6 +128,10 @@ set( BOOSTPYTHON_VERSION 1.55.0 ) # set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules" ) +# Enable IN_LIST +if( POLICY CMP0057 ) + cmake_policy( SET CMP0057 NEW ) +endif() # CMake 3.9, 3.10 compatibility if( POLICY CMP0071 ) cmake_policy( SET CMP0071 NEW ) @@ -249,6 +253,15 @@ include( CMakeColors ) ### DEPENDENCIES # find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Concurrent Core Gui Widgets LinguistTools Svg Quick QuickWidgets ) +if( Qt5_VERSION VERSION_GREATER 5.12.1 ) + # At least Qt 5.12.2 seems to support Esperanto in QLocale + if( "eo" IN_LIST _tx_incomplete ) + message(STATUS "Esperanto support since Qt 5.12.2, enabling Esperanto locale") + list( REMOVE_ITEM _tx_incomplete "eo" ) + list( APPEND _tx_ok "eo" ) + endif() +endif() + find_package( YAMLCPP ${YAMLCPP_VERSION} REQUIRED ) if( INSTALL_POLKIT ) find_package( PolkitQt5-1 REQUIRED ) From 5d6ccfe8fcd8be77fd43de798ff0963066c5efcf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 18:30:50 +0200 Subject: [PATCH 144/626] [libcalamares] Adjust tests for new Esperanto support --- src/libcalamares/locale/Tests.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 9e2071a31..166154fbb 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -78,6 +78,9 @@ LocaleTests::testEsperanto() QVERIFY( locale.language() == QLocale::Lithuanian ? locale.country() == QLocale::Lithuania : true ); QVERIFY( locale.language() != QLocale::C ); } - +#if QT_VERSION < QT_VERSION_CHECK( 5, 12, 2 ) QCOMPARE( QLocale( "eo" ).language(), QLocale::C ); +#else + QCOMPARE( QLocale( "eo" ).language(), QLocale::Esperanto ); +#endif } From 28293ef77a607d3b694e8d86b0dffbca9f0d1827 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 23:30:51 +0200 Subject: [PATCH 145/626] [libcalamares] Expand tests of TranslatableString --- src/libcalamares/locale/Tests.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index a87de8a98..46b1df150 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -122,9 +122,17 @@ void LocaleTests::testTranslatableConfig2() for ( const auto& language: someLanguages() ) { map.insert( QString("description[%1]").arg(language), QString("description (language %1)").arg(language) ); + if ( language != "nl" ) + { + map.insert( QString("name[%1]").arg(language), QString("name (language %1)").arg(language) ); + } } - CalamaresUtils::Locale::TranslatedString s(map, "description"); + CalamaresUtils::Locale::TranslatedString ts1(map, "description"); // The +1 is because "" is always also inserted - QCOMPARE( s.count(), someLanguages().count()+1 ); + QCOMPARE( ts1.count(), someLanguages().count()+1 ); + + CalamaresUtils::Locale::TranslatedString ts2(map, "name"); + // We skipped dutch this time + QCOMPARE( ts2.count(), someLanguages().count() ); } From e0edd1f3e2bc57f826acd9b9713110dacbd107be Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 23:32:13 +0200 Subject: [PATCH 146/626] [libcalamares] Fix misleading comment, add accessor - the sort order is not English-at-the-top - add accessor for the locale ID. --- src/libcalamares/locale/Label.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/locale/Label.h b/src/libcalamares/locale/Label.h index ab3e80ad0..0fe61d909 100644 --- a/src/libcalamares/locale/Label.h +++ b/src/libcalamares/locale/Label.h @@ -58,7 +58,7 @@ public: /** @brief Define a sorting order. * - * English (@see isEnglish() -- it means en_US) is sorted at the top. + * Locales are sorted by their id, which means the ISO 2-letter code + country. */ bool operator<( const Label& other ) const { return m_localeId < other.m_localeId; } @@ -78,6 +78,7 @@ public: QLocale locale() const { return m_locale; } QString name() const { return m_locale.name(); } + QString id() const { return m_localeId; } /// @brief Convenience accessor to the language part of the locale QLocale::Language language() const { return m_locale.language(); } From 50d74c4eca3e919b9bd7f769d2381e3f4432ccc0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 23:37:25 +0200 Subject: [PATCH 147/626] [libcalamares] Add get() to the string - Look up the translation of the requested string with the current or a specific locale. This implementation is a stub. - Add tests for the getter. --- src/libcalamares/locale/Tests.cpp | 9 +++++++++ .../locale/TranslatableConfiguration.cpp | 13 ++++++++++++- src/libcalamares/locale/TranslatableConfiguration.h | 6 ++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 46b1df150..1cfd733a0 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -109,10 +109,16 @@ void LocaleTests::testTranslatableConfig1() CalamaresUtils::Locale::TranslatedString ts1( "Hello" ); QCOMPARE( ts1.count(), 1 ); + QCOMPARE( ts1.get(), "Hello" ); + QCOMPARE( ts1.get( QLocale("nl")), "Hello" ); + QVariantMap map; map.insert( "description", "description (no language)" ); CalamaresUtils::Locale::TranslatedString ts2(map, "description"); QCOMPARE( ts2.count(), 1 ); + + QCOMPARE( ts2.get(), "description (no language)"); + QCOMPARE( ts2.get( QLocale( "nl" ) ), "description (no language)"); } void LocaleTests::testTranslatableConfig2() @@ -131,6 +137,9 @@ void LocaleTests::testTranslatableConfig2() CalamaresUtils::Locale::TranslatedString ts1(map, "description"); // The +1 is because "" is always also inserted QCOMPARE( ts1.count(), someLanguages().count()+1 ); + + QCOMPARE( ts1.get(), "description"); // it wasn't set + QCOMPARE( ts1.get( QLocale( "nl" ) ), "description (language nl)"); CalamaresUtils::Locale::TranslatedString ts2(map, "name"); // We skipped dutch this time diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index d6c078303..d7066a57c 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -53,7 +53,6 @@ TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) } else if ( subkey.startsWith( key ) ) { - cDebug() << "Checking" << subkey; QRegularExpressionMatch match; if ( subkey.indexOf( QRegularExpression("\\[([a-zA-Z_@]*)\\]"), 0, &match ) > 0 ) { @@ -64,5 +63,17 @@ TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) } } +QString TranslatedString::get() const +{ + return get( QLocale() ); +} + +QString TranslatedString::get(const QLocale& locale) const +{ + cDebug() << "Getting locale" << locale.name(); + return m_strings[QString()]; +} + + } // namespace Locale } // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h index 01bdf8ed6..b5a18ee73 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.h +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -47,6 +47,12 @@ namespace Locale int count() const { return m_strings.count(); } + /// @brief Gets the string in the current locale + QString get() const; + + /// @brief Gets the string from the given locale + QString get(const QLocale&) const; + private: // Maps locale name to human-readable string, "" is English QMap< QString, QString > m_strings; From a9292d0c75316d2956ea70df0ce0aae7222c583f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 5 Aug 2019 23:54:53 +0200 Subject: [PATCH 148/626] [libcalamares] Implement getting the string --- src/libcalamares/locale/Tests.cpp | 58 ++++++++++--------- .../locale/TranslatableConfiguration.cpp | 53 ++++++++++++----- .../locale/TranslatableConfiguration.h | 54 ++++++++--------- 3 files changed, 98 insertions(+), 67 deletions(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 1cfd733a0..6f8310233 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -21,8 +21,8 @@ #include "locale/LabelModel.h" #include "locale/TranslatableConfiguration.h" -#include "utils/Logger.h" #include "CalamaresVersion.h" +#include "utils/Logger.h" #include @@ -88,60 +88,64 @@ LocaleTests::testEsperanto() static const QStringList& someLanguages() { - static QStringList languages{ "nl", "de", "da", "nb", "sr@latin", "ar", "ru" }; + static QStringList languages { "nl", "de", "da", "nb", "sr@latin", "ar", "ru" }; return languages; - } +} - - void LocaleTests::testTranslatableLanguages() + +void +LocaleTests::testTranslatableLanguages() { QStringList availableLanguages = QString( CALAMARES_TRANSLATION_LANGUAGES ).split( ';' ); cDebug() << "Translation languages:" << availableLanguages; - for ( const auto& language: someLanguages() ) + for ( const auto& language : someLanguages() ) { // Could be QVERIFY, but then we don't see what language code fails QCOMPARE( availableLanguages.contains( language ) ? language : QString(), language ); } } -void LocaleTests::testTranslatableConfig1() +void +LocaleTests::testTranslatableConfig1() { CalamaresUtils::Locale::TranslatedString ts1( "Hello" ); QCOMPARE( ts1.count(), 1 ); - + QCOMPARE( ts1.get(), "Hello" ); - QCOMPARE( ts1.get( QLocale("nl")), "Hello" ); - + QCOMPARE( ts1.get( QLocale( "nl" ) ), "Hello" ); + QVariantMap map; map.insert( "description", "description (no language)" ); - CalamaresUtils::Locale::TranslatedString ts2(map, "description"); + CalamaresUtils::Locale::TranslatedString ts2( map, "description" ); QCOMPARE( ts2.count(), 1 ); - - QCOMPARE( ts2.get(), "description (no language)"); - QCOMPARE( ts2.get( QLocale( "nl" ) ), "description (no language)"); + + QCOMPARE( ts2.get(), "description (no language)" ); + QCOMPARE( ts2.get( QLocale( "nl" ) ), "description (no language)" ); } -void LocaleTests::testTranslatableConfig2() +void +LocaleTests::testTranslatableConfig2() { QVariantMap map; - - for ( const auto& language: someLanguages() ) + + for ( const auto& language : someLanguages() ) { - map.insert( QString("description[%1]").arg(language), QString("description (language %1)").arg(language) ); + map.insert( QString( "description[%1]" ).arg( language ), + QString( "description (language %1)" ).arg( language ) ); if ( language != "nl" ) { - map.insert( QString("name[%1]").arg(language), QString("name (language %1)").arg(language) ); + map.insert( QString( "name[%1]" ).arg( language ), QString( "name (language %1)" ).arg( language ) ); } } - - CalamaresUtils::Locale::TranslatedString ts1(map, "description"); - // The +1 is because "" is always also inserted - QCOMPARE( ts1.count(), someLanguages().count()+1 ); - QCOMPARE( ts1.get(), "description"); // it wasn't set - QCOMPARE( ts1.get( QLocale( "nl" ) ), "description (language nl)"); - - CalamaresUtils::Locale::TranslatedString ts2(map, "name"); + CalamaresUtils::Locale::TranslatedString ts1( map, "description" ); + // The +1 is because "" is always also inserted + QCOMPARE( ts1.count(), someLanguages().count() + 1 ); + + QCOMPARE( ts1.get(), "description" ); // it wasn't set + QCOMPARE( ts1.get( QLocale( "nl" ) ), "description (language nl)" ); + + CalamaresUtils::Locale::TranslatedString ts2( map, "name" ); // We skipped dutch this time QCOMPARE( ts2.count(), someLanguages().count() ); } diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index d7066a57c..0b4a6ff71 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -30,11 +30,11 @@ namespace CalamaresUtils { namespace Locale { -TranslatedString::TranslatedString(const QString& string) +TranslatedString::TranslatedString( const QString& string ) { - m_strings[QString()]=string; + m_strings[ QString() ] = string; } -TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) +TranslatedString::TranslatedString( const QVariantMap& map, const QString& key ) { // Get the un-decorated value for the key QString value = CalamaresUtils::getString( map, key ); @@ -42,11 +42,11 @@ TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) { value = key; } - m_strings[QString()] = value; - + m_strings[ QString() ] = value; + for ( auto it = map.constKeyValueBegin(); it != map.constKeyValueEnd(); ++it ) { - QString subkey = (*it).first; + QString subkey = ( *it ).first; if ( subkey == key ) { // Already obtained, above @@ -54,24 +54,51 @@ TranslatedString::TranslatedString(const QVariantMap& map, const QString& key) else if ( subkey.startsWith( key ) ) { QRegularExpressionMatch match; - if ( subkey.indexOf( QRegularExpression("\\[([a-zA-Z_@]*)\\]"), 0, &match ) > 0 ) + if ( subkey.indexOf( QRegularExpression( "\\[([a-zA-Z_@]*)\\]" ), 0, &match ) > 0 ) { - QString language = match.captured(1); - m_strings[language] = (*it).second.toString(); + QString language = match.captured( 1 ); + m_strings[ language ] = ( *it ).second.toString(); } } } } -QString TranslatedString::get() const +QString +TranslatedString::get() const { return get( QLocale() ); } -QString TranslatedString::get(const QLocale& locale) const +QString +TranslatedString::get( const QLocale& locale ) const { - cDebug() << "Getting locale" << locale.name(); - return m_strings[QString()]; + QString localeName = locale.name(); + cDebug() << "Getting locale" << localeName; + if ( m_strings.contains( localeName ) ) + { + return m_strings[ localeName ]; + } + int index = localeName.indexOf( '@' ); + if ( index > 0 ) + { + localeName.truncate( index ); + if ( m_strings.contains( localeName ) ) + { + return m_strings[ localeName ]; + } + } + + index = localeName.indexOf( '_' ); + if ( index > 0 ) + { + localeName.truncate( index ); + if ( m_strings.contains( localeName ) ) + { + return m_strings[ localeName ]; + } + } + + return m_strings[ QString() ]; } diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h index b5a18ee73..0735a2274 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.h +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -29,34 +29,34 @@ namespace CalamaresUtils { namespace Locale { - /** @brief A human-readable string from a configuration file - * - * The configuration files can contain human-readable strings, - * but those need their own translations and are not supported - * by QObject::tr or anything else. +/** @brief A human-readable string from a configuration file + * + * The configuration files can contain human-readable strings, + * but those need their own translations and are not supported + * by QObject::tr or anything else. + */ +class DLLEXPORT TranslatedString +{ +public: + /** @brief Get all the translations connected to @p key */ - class DLLEXPORT TranslatedString - { - public: - /** @brief Get all the translations connected to @p key - */ - TranslatedString( const QVariantMap& map, const QString& key ); - /** @brief Not-actually-translated string. - */ - TranslatedString( const QString& string ); - - int count() const { return m_strings.count(); } - - /// @brief Gets the string in the current locale - QString get() const; - - /// @brief Gets the string from the given locale - QString get(const QLocale&) const; - - private: - // Maps locale name to human-readable string, "" is English - QMap< QString, QString > m_strings; - }; + TranslatedString( const QVariantMap& map, const QString& key ); + /** @brief Not-actually-translated string. + */ + TranslatedString( const QString& string ); + + int count() const { return m_strings.count(); } + + /// @brief Gets the string in the current locale + QString get() const; + + /// @brief Gets the string from the given locale + QString get( const QLocale& ) const; + +private: + // Maps locale name to human-readable string, "" is English + QMap< QString, QString > m_strings; +}; } // namespace Locale } // namespace CalamaresUtils From 764c775f08e77a3eb66209edc2a6bb1e54dafa77 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 00:05:24 +0200 Subject: [PATCH 149/626] [libcalamares] Tighten tests, add special case - The tests should be run in C locale, otherwise the plain get() function uses the current locale, which will fail (e.g. running LANG=nl ./libcalamareslocaletest returns the Dutch strings for plain get, which isn't what we expect). - sr@latin is still special. --- src/libcalamares/locale/Tests.cpp | 16 ++++++++++++++++ .../locale/TranslatableConfiguration.cpp | 6 ++++++ 2 files changed, 22 insertions(+) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 6f8310233..241d66bbd 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -108,6 +108,7 @@ LocaleTests::testTranslatableLanguages() void LocaleTests::testTranslatableConfig1() { + QCOMPARE( QLocale().name(), "C" ); // Otherwise plain get() is dubious CalamaresUtils::Locale::TranslatedString ts1( "Hello" ); QCOMPARE( ts1.count(), 1 ); @@ -126,6 +127,7 @@ LocaleTests::testTranslatableConfig1() void LocaleTests::testTranslatableConfig2() { + QCOMPARE( QLocale().name(), "C" ); // Otherwise plain get() is dubious QVariantMap map; for ( const auto& language : someLanguages() ) @@ -144,6 +146,20 @@ LocaleTests::testTranslatableConfig2() QCOMPARE( ts1.get(), "description" ); // it wasn't set QCOMPARE( ts1.get( QLocale( "nl" ) ), "description (language nl)" ); + for ( const auto& language : someLanguages() ) + { + // Skip Serbian (latin) because QLocale() constructed with it + // doesn't retain the @latin part. + if ( language == "sr@latin" ) + { + continue; + } + // Could be QVERIFY, but then we don't see what language code fails + QCOMPARE( ts1.get( language ) == QString( "description (language %1)" ).arg( language ) ? language : QString(), + language ); + } + QCOMPARE( ts1.get( QLocale( QLocale::Language::Serbian, QLocale::Script::LatinScript, QLocale::Country::Serbia ) ), + "description (language sr@latin)" ); CalamaresUtils::Locale::TranslatedString ts2( map, "name" ); // We skipped dutch this time diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index 0b4a6ff71..82923a5fa 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -73,6 +73,12 @@ QString TranslatedString::get( const QLocale& locale ) const { QString localeName = locale.name(); + // Special case, sr@latin doesn't have the @latin reflected in the name + if ( locale.language() == QLocale::Language::Serbian && locale.script() == QLocale::Script::LatinScript ) + { + localeName = QStringLiteral( "sr@latin" ); + } + cDebug() << "Getting locale" << localeName; if ( m_strings.contains( localeName ) ) { From fd75b3378418efd3106d8b6b874b3fef96447454 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 00:17:30 +0200 Subject: [PATCH 150/626] [libcalamares] Add default constructor to TranslatedString --- src/libcalamares/locale/TranslatableConfiguration.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h index 0735a2274..b2f598069 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.h +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -44,6 +44,9 @@ public: /** @brief Not-actually-translated string. */ TranslatedString( const QString& string ); + /// @brief Empty string + TranslatedString() + : TranslatedString( QString() ) {} int count() const { return m_strings.count(); } From 56db9e93412c897bc86be85b2c99ab5379617360 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 00:17:50 +0200 Subject: [PATCH 151/626] [packagechooser] Use translated strings --- src/modules/packagechooser/PackageChooserPage.cpp | 4 ++-- src/modules/packagechooser/PackageModel.cpp | 4 ++-- src/modules/packagechooser/PackageModel.h | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 60becf64f..0587af190 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -54,9 +54,9 @@ PackageChooserPage::currentChanged( const QModelIndex& index ) { if ( !index.isValid() || !ui->products->selectionModel()->hasSelection() ) { - ui->productName->setText( m_introduction.name ); + ui->productName->setText( m_introduction.name.get() ); ui->productScreenshot->setPixmap( m_introduction.screenshot ); - ui->productDescription->setText( m_introduction.description ); + ui->productDescription->setText( m_introduction.description.get() ); } else { diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index aa8dd39fc..f133f4fbd 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -118,11 +118,11 @@ PackageListModel::data( const QModelIndex& index, int role ) const if ( role == Qt::DisplayRole /* Also PackageNameRole */ ) { - return m_packages[ row ].name; + return m_packages[ row ].name.get(); } else if ( role == DescriptionRole ) { - return m_packages[ row ].description; + return m_packages[ row ].description.get(); } else if ( role == ScreenshotRole ) { diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 7f8fff8ec..68e19a25d 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -19,6 +19,7 @@ #ifndef PACKAGEMODEL_H #define PACKAGEMODEL_H +#include "locale/TranslatableConfiguration.h" #include "utils/NamedEnum.h" #include @@ -41,9 +42,8 @@ struct PackageItem QString id; // TODO: may need more than one QString package; - // TODO: name and description are localized - QString name; - QString description; + CalamaresUtils::Locale::TranslatedString name; + CalamaresUtils::Locale::TranslatedString description; // TODO: may be more than one QPixmap screenshot; From fee2297e67639cdcd0a10f4889fec87cc747237c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 00:24:53 +0200 Subject: [PATCH 152/626] [packagechooser] Fix fallthrough situation - Add a FALLTHRU macro to annotate fallthrough situations in both Clang and GCC, - Annotate intentional fallthroughs. - Add missing break which meant that the selection mode was always multiple-selection. --- CMakeLists.txt | 4 ++-- src/modules/packagechooser/PackageChooserPage.cpp | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e38c1db9b..e28d28f38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,7 +198,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) ) string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" ) endforeach() - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='//'" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='//' -DFALLTHRU='[[clang::fallthrough]]'") # Third-party code where we don't care so much about compiler warnings # (because it's uncomfortable to patch) get different flags; use @@ -225,7 +225,7 @@ else() set( SUPPRESS_3RDPARTY_WARNINGS "" ) set( SUPPRESS_BOOST_WARNINGS "" ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='__builtin_unreachable();'" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='__builtin_unreachable();' -DFALLTHRU='/* */'" ) endif() # Use mark_thirdparty_code() to reduce warnings from the compiler diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 0587af190..6f565c914 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -41,9 +41,12 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent switch ( mode ) { case PackageChooserMode::Optional: + FALLTHRU; case PackageChooserMode::Required: ui->products->setSelectionMode( QAbstractItemView::SingleSelection ); + break; case PackageChooserMode::OptionalMultiple: + FALLTHRU; case PackageChooserMode::RequiredMultiple: ui->products->setSelectionMode( QAbstractItemView::ExtendedSelection ); } From 6a8e10837d044dc892804a5120ae4b462556f625 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 00:26:04 +0200 Subject: [PATCH 153/626] [libcalamares] Drop unneeded debugging --- src/libcalamares/locale/TranslatableConfiguration.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index 82923a5fa..b3b5259c9 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -79,7 +79,6 @@ TranslatedString::get( const QLocale& locale ) const localeName = QStringLiteral( "sr@latin" ); } - cDebug() << "Getting locale" << localeName; if ( m_strings.contains( localeName ) ) { return m_strings[ localeName ]; From 8d3546f0b3a4c1b8ceeb4467f8e80a2b9f8ea503 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 00:31:05 +0200 Subject: [PATCH 154/626] [packagechooser] Expand the example config with translated entries --- src/modules/packagechooser/packagechooser.conf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index 391e1f325..7d60b50a4 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -44,12 +44,14 @@ items: - id: "" package: "" name: "No Desktop" + name[nl]: "Geen desktop" description: "Please pick a desktop environment from the list. If you don't want to install a desktop, that's fine, your system will start up in text-only mode and you can install a desktop environment later." + description[nl]: "Kies eventueel een desktop-omgeving uit deze lijst. Als u geen desktop-omgeving wenst te gebruiken, kies er dan geen. In dat geval start het systeem straks op in tekst-modus en kunt u later alsnog een desktop-omgeving installeren." screenshot: ":/images/no-selection.png" - id: kde package: kde name: Plasma Desktop - description: "KDE Plasma Desktop, DERP" + description: "KDE Plasma Desktop, simple by default, a clean work area for real-world usage which intends to stay out of your way. Plasma is powerful when needed, enabling the user to create the workflow that makes them more effective to complete their tasks." screenshot: ":/images/kde.png" - id: gnome package: gnome From 4febe477cf82e1cf27f0c27a7a07822d8ba08131 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 11:53:35 +0200 Subject: [PATCH 155/626] [libcalamares] Add isEmpty() to TranslatedString - Massage the implementation a bit, don't insert a meaningless copy of the key as the untranslated message. - Add isEmpty() to check for presence of the untranslated message. - Document API. - Update tests. --- src/libcalamares/locale/Tests.cpp | 33 ++++++++++++++++++- .../locale/TranslatableConfiguration.cpp | 4 --- .../locale/TranslatableConfiguration.h | 16 ++++++++- 3 files changed, 47 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 664390511..fa84cd2fb 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -96,6 +96,10 @@ someLanguages() } +/** @brief Check consistency of test data + * Check that all the languages used in testing, are actually enabled + * in Calamares translations. + */ void LocaleTests::testTranslatableLanguages() { @@ -108,12 +112,19 @@ LocaleTests::testTranslatableLanguages() } } +/** @brief Test strings with no translations + */ void LocaleTests::testTranslatableConfig1() { + CalamaresUtils::Locale::TranslatedString ts0; + QVERIFY( ts0.isEmpty() ); + QCOMPARE( ts0.count(), 1 ); // the empty string + QCOMPARE( QLocale().name(), "C" ); // Otherwise plain get() is dubious CalamaresUtils::Locale::TranslatedString ts1( "Hello" ); QCOMPARE( ts1.count(), 1 ); + QVERIFY( !ts1.isEmpty() ); QCOMPARE( ts1.get(), "Hello" ); QCOMPARE( ts1.get( QLocale( "nl" ) ), "Hello" ); @@ -122,11 +133,14 @@ LocaleTests::testTranslatableConfig1() map.insert( "description", "description (no language)" ); CalamaresUtils::Locale::TranslatedString ts2( map, "description" ); QCOMPARE( ts2.count(), 1 ); + QVERIFY( !ts2.isEmpty() ); QCOMPARE( ts2.get(), "description (no language)" ); QCOMPARE( ts2.get( QLocale( "nl" ) ), "description (no language)" ); } +/** @bref Test strings with translations. + */ void LocaleTests::testTranslatableConfig2() { @@ -143,11 +157,22 @@ LocaleTests::testTranslatableConfig2() } } + // If there's no untranslated string in the map, it is considered empty + CalamaresUtils::Locale::TranslatedString ts0( map, "description" ); + QVERIFY( ts0.isEmpty() ); // Because no untranslated string + QCOMPARE( ts0.count(), + someLanguages().count() + 1 ); // But there are entries for the translations, plus an empty string + + // expand the map with untranslated entries + map.insert( QString( "description" ), "description (no language)" ); + map.insert( QString( "name" ), "name (no language)" ); + CalamaresUtils::Locale::TranslatedString ts1( map, "description" ); // The +1 is because "" is always also inserted QCOMPARE( ts1.count(), someLanguages().count() + 1 ); + QVERIFY( !ts1.isEmpty() ); - QCOMPARE( ts1.get(), "description" ); // it wasn't set + QCOMPARE( ts1.get(), "description (no language)" ); // it wasn't set QCOMPARE( ts1.get( QLocale( "nl" ) ), "description (language nl)" ); for ( const auto& language : someLanguages() ) { @@ -167,4 +192,10 @@ LocaleTests::testTranslatableConfig2() CalamaresUtils::Locale::TranslatedString ts2( map, "name" ); // We skipped dutch this time QCOMPARE( ts2.count(), someLanguages().count() ); + QVERIFY( !ts2.isEmpty() ); + + // This key doesn't exist + CalamaresUtils::Locale::TranslatedString ts3( map, "front" ); + QVERIFY( ts3.isEmpty() ); + QCOMPARE( ts3.count(), 1 ); // The empty string } diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index b3b5259c9..7493c836c 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -38,10 +38,6 @@ TranslatedString::TranslatedString( const QVariantMap& map, const QString& key ) { // Get the un-decorated value for the key QString value = CalamaresUtils::getString( map, key ); - if ( value.isEmpty() ) - { - value = key; - } m_strings[ QString() ] = value; for ( auto it = map.constKeyValueBegin(); it != map.constKeyValueEnd(); ++it ) diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h index b2f598069..a055cbfbd 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.h +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -46,9 +46,23 @@ public: TranslatedString( const QString& string ); /// @brief Empty string TranslatedString() - : TranslatedString( QString() ) {} + : TranslatedString( QString() ) + { + } + /** @brief How many strings (translations) are there? + * + * This is always at least 1 (for the untranslated string), + * but may be more than 1 even when isEmpty() is true -- + * if there is no untranslated version, for instance. + */ int count() const { return m_strings.count(); } + /** @brief Consider this string empty? + * + * Only the state of the untranslated string is considered, + * so count() may be more than 1 even while the string is empty. + */ + bool isEmpty() const { return m_strings[ QString() ].isEmpty(); } /// @brief Gets the string in the current locale QString get() const; From 6e05a1ef0550e6f8026334383fb2b46754581920 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 12:02:29 +0200 Subject: [PATCH 156/626] [packagechooser] Load translated strings as well - This makes it possible to put the translations into the config file, and have them displayed when the Calamares language changes. --- .../packagechooser/PackageChooserViewStep.cpp | 26 +------------ src/modules/packagechooser/PackageModel.cpp | 38 +++++++++++++++++-- src/modules/packagechooser/PackageModel.h | 18 +++++++++ 3 files changed, 53 insertions(+), 29 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 4476eb9e6..a3b853b39 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -232,31 +232,7 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) continue; } - QString id = CalamaresUtils::getString( item_map, "id" ); - QString package = CalamaresUtils::getString( item_map, "package" ); - QString name = CalamaresUtils::getString( item_map, "name" ); - QString description = CalamaresUtils::getString( item_map, "description" ); - QString screenshot = CalamaresUtils::getString( item_map, "screenshot" ); - - if ( name.isEmpty() && id.isEmpty() ) - { - name = tr( "No product" ); - } - else if ( name.isEmpty() ) - { - cWarning() << "PackageChooser item" << id << "has an empty name."; - continue; - } - if ( description.isEmpty() ) - { - description = tr( "No description provided." ); - } - if ( screenshot.isEmpty() ) - { - screenshot = QStringLiteral( ":/images/no-selection.png" ); - } - - m_model->addPackage( PackageItem { id, package, name, description, screenshot } ); + m_model->addPackage( PackageItem( item_map ) ); } } diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index f133f4fbd..3283cbe6f 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -19,6 +19,7 @@ #include "PackageModel.h" #include "utils/Logger.h" +#include "utils/Variant.h" const NamedEnumTable< PackageChooserMode >& roleNames() @@ -73,6 +74,31 @@ PackageItem::PackageItem( const QString& a_id, { } +PackageItem::PackageItem::PackageItem( const QVariantMap& item_map ) + : id( CalamaresUtils::getString( item_map, "id" ) ) + , package( CalamaresUtils::getString( item_map, "package" ) ) + , name( CalamaresUtils::Locale::TranslatedString( item_map, "name" ) ) + , description( CalamaresUtils::Locale::TranslatedString( item_map, "description" ) ) + , screenshot( CalamaresUtils::getString( item_map, "screenshot" ) ) +{ + if ( name.isEmpty() && id.isEmpty() ) + { + name = QObject::tr( "No product" ); + } + else if ( name.isEmpty() ) + { + cWarning() << "PackageChooser item" << id << "has an empty name."; + } + if ( description.isEmpty() ) + { + description = QObject::tr( "No description provided." ); + } + if ( screenshot.isNull() ) + { + screenshot = QPixmap( QStringLiteral( ":/images/no-selection.png" ) ); + } +} + PackageListModel::PackageListModel( QObject* parent ) : QAbstractListModel( parent ) @@ -90,10 +116,14 @@ PackageListModel::~PackageListModel() {} void PackageListModel::addPackage( PackageItem&& p ) { - int c = m_packages.count(); - beginInsertRows( QModelIndex(), c, c ); - m_packages.append( p ); - endInsertRows(); + // Only add valid packages + if ( !p.name.isEmpty() ) + { + int c = m_packages.count(); + beginInsertRows( QModelIndex(), c, c ); + m_packages.append( p ); + endInsertRows(); + } } int diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 68e19a25d..f42ff3123 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -56,12 +56,26 @@ struct PackageItem */ PackageItem( const QString& id, const QString& package, const QString& name, const QString& description ); + /** @brief Creates a PackageItem from given strings. + * + * Set all the text members and load the screenshot from the given + * @p screenshotPath, which may be a QRC path (:/path/in/qrc) or + * a filesystem path, whatever QPixmap understands. + */ PackageItem( const QString& id, const QString& package, const QString& name, const QString& description, const QString& screenshotPath ); + /** @brief Creates a PackageItem from a QVariantMap + * + * This is intended for use when loading PackageItems from a + * configuration map. It will look up the various keys in the map + * and handle translation strings as well. + */ + PackageItem( const QVariantMap& map ); + // TODO: implement this PackageItem fromAppStream( const QString& filename ); }; @@ -75,6 +89,10 @@ public: PackageListModel( QObject* parent ); virtual ~PackageListModel() override; + /** @brief Add a package @p to the model + * + * Only valid packages are added -- that is, they must have a name. + */ void addPackage( PackageItem&& p ); int rowCount( const QModelIndex& index ) const override; From 6c41151f80dcc9d41553a4f80ed4d4f6de989d88 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 12:38:28 +0200 Subject: [PATCH 157/626] [packagechooser] Just one screenshot, and mark package unused --- src/modules/packagechooser/PackageModel.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index f42ff3123..ce384096c 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -40,11 +40,10 @@ const NamedEnumTable< PackageChooserMode >& roleNames(); struct PackageItem { QString id; - // TODO: may need more than one + // FIXME: unused QString package; CalamaresUtils::Locale::TranslatedString name; CalamaresUtils::Locale::TranslatedString description; - // TODO: may be more than one QPixmap screenshot; /// @brief Create blank PackageItem From 8329d7d7dc8072d958fc460785d57f53b646acf3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 13:34:32 +0200 Subject: [PATCH 158/626] CI: Add an AppData file --- io.calamares.calamares.appdata.xml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 io.calamares.calamares.appdata.xml diff --git a/io.calamares.calamares.appdata.xml b/io.calamares.calamares.appdata.xml new file mode 100644 index 000000000..355f485c2 --- /dev/null +++ b/io.calamares.calamares.appdata.xml @@ -0,0 +1,29 @@ + + + io.calamares.calamares.desktop + CC0-1.0 + GPL-3.0+ + Calamares + Calamares + Calamares + Calamares + Calamares Linux Installer + Calamares Linux Installer + Linux Installatieprogramma Calamares + +

Calamares is an installer program for Linux distributions.

+

Calamares is een installatieprogramma voor Linux distributies.

+
+ https://calamares.io + https://https://github.com/calamares/calamares/issues/ + https://github.com/calamares/calamares/wiki + + + Calamares Welcome + https://calamares.io/images/cal_640.png + + + + calamares + +
From beb5896fa237f3b6bf8045ee94a8fa7b0d7fcc11 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 14:33:57 +0200 Subject: [PATCH 159/626] [packagechooser] Start implementation of AppData loading - Doing a manual read of the XML, since existing appdata libraries don't seem to have a convenient entry for what I need. - Expand tests to loading AppData (currently, they fail). --- src/modules/packagechooser/CMakeLists.txt | 15 +++++ src/modules/packagechooser/PackageModel.cpp | 64 ++++++++++++++++++--- src/modules/packagechooser/PackageModel.h | 14 ++++- src/modules/packagechooser/Tests.cpp | 17 ++++++ src/modules/packagechooser/Tests.h | 1 + 5 files changed, 101 insertions(+), 10 deletions(-) diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index 4663ccce7..70a86a3bb 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -1,4 +1,15 @@ find_package( Qt5 COMPONENTS Core Gui Widgets REQUIRED ) +set( _extra_libraries "" ) + +### OPTIONAL AppData XML support in PackageModel +# +# +find_package(Qt5 COMPONENTS Xml) +if ( Qt5Xml_FOUND ) + add_definitions( -DHAVE_XML ) + list( APPEND _extra_libraries Qt5::Xml ) +endif() + calamares_add_plugin( packagechooser TYPE viewmodule @@ -13,6 +24,7 @@ calamares_add_plugin( packagechooser page_package.ui LINK_PRIVATE_LIBRARIES calamaresui + ${_extra_libraries} SHARED_LIB ) @@ -23,8 +35,11 @@ if( ECM_FOUND AND BUILD_TESTING ) packagechoosertest LINK_LIBRARIES ${CALAMARES_LIBRARIES} + calamares_viewmodule_packagechooser Qt5::Core Qt5::Test + Qt5::Gui + ${_extra_libraries} ) calamares_automoc( packagechoosertest) endif() diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 3283cbe6f..f13564d5e 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -21,6 +21,11 @@ #include "utils/Logger.h" #include "utils/Variant.h" +#ifdef HAVE_XML +#include +#include +#endif + const NamedEnumTable< PackageChooserMode >& roleNames() { @@ -41,13 +46,6 @@ roleNames() return names; } -PackageItem -PackageItem::fromAppStream( const QString& filename ) -{ - // TODO: implement this - return PackageItem {}; -} - PackageItem::PackageItem() {} PackageItem::PackageItem( const QString& a_id, @@ -99,6 +97,56 @@ PackageItem::PackageItem::PackageItem( const QVariantMap& item_map ) } } +#ifdef HAVE_XML +QDomDocument +loadAppData( const QString& fileName ) +{ + QFile file( fileName ); + if ( !file.open( QIODevice::ReadOnly ) ) + { + return QDomDocument(); + } + QDomDocument doc( "AppData" ); + if ( !doc.setContent( &file ) ) + { + file.close(); + return QDomDocument(); + } + file.close(); + return doc; +} + +QString +getChildText( const QDomNode& n, const QString& tagName ) +{ + QDomElement e = n.firstChildElement( tagName ); + return e.isNull() ? QString() : e.text(); +} +#endif + +PackageItem +PackageItem::fromAppData( const QString& fileName ) +{ +#ifdef HAVE_XML + QDomDocument doc = loadAppData( fileName ); + if ( doc.isNull() ) + { + return PackageItem(); + } + + QDomElement componentNode = doc.documentElement(); + if ( !componentNode.isNull() && componentNode.tagName() == "component" ) + { + QString id = getChildText( componentNode, "id" ); + cDebug() << "Got AppData id" << id; + } + + return PackageItem(); +#else + return PackageItem(); +#endif +} + PackageListModel::PackageListModel( QObject* parent ) : QAbstractListModel( parent ) @@ -117,7 +165,7 @@ void PackageListModel::addPackage( PackageItem&& p ) { // Only add valid packages - if ( !p.name.isEmpty() ) + if ( p.isValid() ) { int c = m_packages.count(); beginInsertRows( QModelIndex(), c, c ); diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index ce384096c..7e79b98f1 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -75,8 +75,18 @@ struct PackageItem */ PackageItem( const QVariantMap& map ); - // TODO: implement this - PackageItem fromAppStream( const QString& filename ); + /** @brief Is this item valid? + * + * A valid item has an untranslated name available. + */ + bool isValid() const { return !name.isEmpty(); } + + /** @brief Loads an AppData XML file and returns a PackageItem + * + * Requires XML support in libcalamares, if not present will + * return invalid PackageItems. + */ + static PackageItem fromAppData( const QString& filename ); }; using PackageList = QVector< PackageItem >; diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index c016f1808..6cbab8e38 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -18,6 +18,8 @@ #include "Tests.h" +#include "PackageModel.h" + #include QTEST_GUILESS_MAIN( PackageChooserTests ) @@ -36,3 +38,18 @@ PackageChooserTests::testBogus() { QVERIFY( true ); } + +void +PackageChooserTests::testAppData() +{ + // Path from the build-dir + QString appdataName( "../io.calamares.calamares.appdata.xml" ); + QVERIFY( QFile::exists( appdataName ) ); + + PackageItem p = PackageItem::fromAppData( appdataName ); +#ifdef HAVE_XML + QVERIFY( p.isValid() ); +#else + QVERIFY( !p.isValid() ); +#endif +} diff --git a/src/modules/packagechooser/Tests.h b/src/modules/packagechooser/Tests.h index bc257f5a5..62efe92cc 100644 --- a/src/modules/packagechooser/Tests.h +++ b/src/modules/packagechooser/Tests.h @@ -31,6 +31,7 @@ public: private Q_SLOTS: void initTestCase(); void testBogus(); + void testAppData(); }; #endif From 6821b14d009b92d956f9178232eb24ca3bf4f8cc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 14:41:40 +0200 Subject: [PATCH 160/626] [packagechooser] Enable logging in tests --- src/modules/packagechooser/PackageModel.cpp | 4 ++++ src/modules/packagechooser/Tests.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index f13564d5e..9a572f036 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -128,6 +128,8 @@ PackageItem PackageItem::fromAppData( const QString& fileName ) { #ifdef HAVE_XML + cDebug() << "Loading AppData XML from" << fileName; + QDomDocument doc = loadAppData( fileName ); if ( doc.isNull() ) { @@ -143,6 +145,8 @@ PackageItem::fromAppData( const QString& fileName ) return PackageItem(); #else + cWarning() << "Loading AppData XML is not supported."; + return PackageItem(); #endif } diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index 6cbab8e38..d9cbbf4ed 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -20,6 +20,8 @@ #include "PackageModel.h" +#include "utils/Logger.h" + #include QTEST_GUILESS_MAIN( PackageChooserTests ) @@ -31,6 +33,7 @@ PackageChooserTests::~PackageChooserTests() {} void PackageChooserTests::initTestCase() { + Logger::setupLogLevel( Logger::LOGDEBUG ); } void From 431c4de77fe2c7d7647be00e5051694c5a2b7805 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 15:19:20 +0200 Subject: [PATCH 161/626] [packagechooser] Use GUI for tests - Because we'll be creating Pixmaps, we need to have a GUI main. --- src/modules/packagechooser/Tests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index d9cbbf4ed..e15397613 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -24,7 +24,7 @@ #include -QTEST_GUILESS_MAIN( PackageChooserTests ) +QTEST_MAIN( PackageChooserTests ) PackageChooserTests::PackageChooserTests() {} From fb547364c73c8d36e5b6ed0d2c74ded1e3447513 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 15:36:34 +0200 Subject: [PATCH 162/626] [packagechooser] Complete parsing of AppData - Document all the static inline methods that do the work - Fill up a QVariantMap from , and

elements, and use that to initialize the PackageItem. --- src/modules/packagechooser/PackageModel.cpp | 152 +++++++++++++++++++- 1 file changed, 147 insertions(+), 5 deletions(-) diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 9a572f036..29890ee9b 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -23,6 +23,7 @@ #ifdef HAVE_XML #include +#include #include #endif @@ -98,7 +99,12 @@ PackageItem::PackageItem::PackageItem( const QVariantMap& item_map ) } #ifdef HAVE_XML -QDomDocument +/** @brief try to load the given @p fileName XML document + * + * Returns a QDomDocument, which will be valid iff the file can + * be read and contains valid XML data. + */ +static inline QDomDocument loadAppData( const QString& fileName ) { QFile file( fileName ); @@ -116,12 +122,138 @@ loadAppData( const QString& fileName ) return doc; } -QString +/** @brief gets the text of child element @p tagName + */ +static inline QString getChildText( const QDomNode& n, const QString& tagName ) { QDomElement e = n.firstChildElement( tagName ); return e.isNull() ? QString() : e.text(); } + +/** @brief Gets a suitable screenshot path + * + * The element contains zero or more + * elements, which can have a *type* associated with them. + * Scan the screenshot elements, return the path + * for the one labeled with type=default or, if there is no + * default, the first element. + */ +static inline QString +getScreenshotPath( const QDomNode& n ) +{ + QDomElement shotsNode = n.firstChildElement( "screenshots" ); + if ( shotsNode.isNull() ) + { + return QString(); + } + + const QDomNodeList shotList = shotsNode.childNodes(); + int firstScreenshot = -1; // Use which screenshot node? + for ( int i = 0; i < shotList.count(); ++i ) + { + if ( !shotList.at( i ).isElement() ) + { + continue; + } + QDomElement e = shotList.at( i ).toElement(); + if ( e.tagName() != "screenshot" ) + { + continue; + } + // If none has the "type=default" attribute, use the first one + if ( firstScreenshot < 0 ) + { + firstScreenshot = i; + } + // But type=default takes precedence. + if ( e.hasAttribute( "type" ) && e.attribute( "type" ) == "default" ) + { + firstScreenshot = i; + break; + } + } + + if ( firstScreenshot >= 0 ) + { + return shotList.at( firstScreenshot ).firstChildElement( "image" ).text(); + } + + return QString(); +} + +/** @brief Returns language of the given element @p e + * + * Transforms the attribute value for xml:lang to something + * suitable for TranslatedString (e.g. [lang]). + */ +static inline QString +getLanguage( const QDomElement& e ) +{ + QString language = e.attribute( "xml:lang" ); + if ( !language.isEmpty() ) + { + language.replace( '-', '_' ); + language.prepend( '[' ); + language.append( ']' ); + } + return language; +} + +/** @brief Scan the list of @p children for @p tagname elements and add them to the map + * + * Uses @p mapname instead of @p tagname for the entries in map @p m + * to allow renaming from XML to map keys (in particular for + * TranslatedString). Also transforms xml:lang attributes to suitable + * key-decorations on @p mapname. + */ +static inline void +fillMap( QVariantMap& m, const QDomNodeList& children, const QString& tagname, const QString& mapname ) +{ + for ( int i = 0; i < children.count(); ++i ) + { + if ( !children.at( i ).isElement() ) + { + continue; + } + + QDomElement e = children.at( i ).toElement(); + if ( e.tagName() != tagname ) + { + continue; + } + + m[ mapname + getLanguage( e ) ] = e.text(); + } +} + +/** @brief gets the and elements +* +* Builds up a map of the elements (which may have a *lang* +* attribute to indicate translations and paragraphs of the +* element (also with lang). Uses the

+* elements to supplement the description if no description +* is available for a given language. +* +* Returns a map with keys suitable for use by TranslatedString. +*/ +static inline QVariantMap +getNameAndSummary( const QDomNode& n ) +{ + QVariantMap m; + + const QDomNodeList children = n.childNodes(); + fillMap( m, children, "name", "name" ); + fillMap( m, children, "summary", "description" ); + + const QDomElement description = n.firstChildElement( "description" ); + if ( !description.isNull() ) + { + fillMap( m, description.childNodes(), "p", "description" ); + } + + return m; +} #endif PackageItem @@ -129,7 +261,7 @@ PackageItem::fromAppData( const QString& fileName ) { #ifdef HAVE_XML cDebug() << "Loading AppData XML from" << fileName; - + QDomDocument doc = loadAppData( fileName ); if ( doc.isNull() ) { @@ -140,13 +272,23 @@ PackageItem::fromAppData( const QString& fileName ) if ( !componentNode.isNull() && componentNode.tagName() == "component" ) { QString id = getChildText( componentNode, "id" ); - cDebug() << "Got AppData id" << id; + if ( id.isEmpty() ) + { + return PackageItem(); + } + + QString screenshotPath = getScreenshotPath( componentNode ); + + QVariantMap map = getNameAndSummary( componentNode ); + map.insert( "id", id ); + map.insert( "screenshot", screenshotPath ); + return PackageItem( map ); } return PackageItem(); #else cWarning() << "Loading AppData XML is not supported."; - + return PackageItem(); #endif } From 9a8b2c5a1e189a1870b7ccec49f01b7fedc1d254 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 15:45:14 +0200 Subject: [PATCH 163/626] [packagechooser] CHeck that AppData load was succesful --- src/modules/packagechooser/Tests.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index e15397613..5dec8a288 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -52,6 +52,13 @@ PackageChooserTests::testAppData() PackageItem p = PackageItem::fromAppData( appdataName ); #ifdef HAVE_XML QVERIFY( p.isValid() ); + QCOMPARE( p.id, "io.calamares.calamares.desktop" ); + QCOMPARE( p.name.get(), "Calamares" ); + // The entry has precedence + QCOMPARE( p.description.get(), "Calamares is an installer program for Linux distributions." ); + // .. but en_GB doesn't have an entry in description, so uses + QCOMPARE( p.description.get( QLocale( "en_GB" ) ), "Calamares Linux Installer" ); + QCOMPARE( p.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); #else QVERIFY( !p.isValid() ); #endif From d72391942ffe6c0bf34482fd1c55566061b45618 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 15:55:27 +0200 Subject: [PATCH 164/626] [packagechooser] Implement AppData loading - An item can refer to *appdata* and load that, or provide the data in the config file itself. - Fix documentation about translations. --- .../packagechooser/PackageChooserViewStep.cpp | 9 ++++++- .../packagechooser/packagechooser.conf | 24 +++++++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index a3b853b39..fadacf8d4 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -232,7 +232,14 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) continue; } - m_model->addPackage( PackageItem( item_map ) ); + if ( item_map.contains( "appdata" ) ) + { + m_model->addPackage( PackageItem::fromAppData( CalamaresUtils::getString( item_map, "appdata" ) ) ); + } + else + { + m_model->addPackage( PackageItem( item_map ) ); + } } } diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index 7d60b50a4..f20d1da77 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -24,8 +24,11 @@ mode: required # pretty short list to avoid overwhelming the UI. This is a list # of objects, and the items are displayed in list order. # -# Each item has an id, which is used in setting # the value of -# *packagechooser_*). The following fields +# Either provide the data for an item in the list (using the keys +# below), or use existing AppData XML files as a source for the data. +# +# For data provided by the list: the item has an id, which is used in +# setting the value of *packagechooser_*). The following fields # are mandatory: # # - *id* ID for the product. The ID "" is special, and is used for @@ -33,13 +36,24 @@ mode: required # selecting none. # - *package* Package name for the product. While mandatory, this is # not actually used anywhere. -# - *name* Human-readable, but untranslated, name of the product. -# - *description* Human-readable, but untranslated, description. +# - *name* Human-readable name of the product. To provide translations, +# add a *[lang]* decoration as part of the key name, e.g. `name[nl]` +# for Dutch. The list of usable languages can be found in +# `CMakeLists.txt` or as part of the debug output of Calamares. +# - *description* Human-readable description. These can be translated +# as well. # - *screenshot* Path to a single screenshot of the product. May be # a filesystem path or a QRC path (e.g. ":/images/no-selection.png"). # # Use the empty string "" as ID / key for the "no selection" item if # you want to customize the display of that item as well. +# +# For data provided by AppData XML: the item has an *appdata* +# key which points to an AppData XML file in the local filesystem. +# This file is parsed to provide the id (from AppData id), name +# (from AppData name), description (from AppData description paragraphs +# or the summary entries), and a screenshot (the defautl screenshot +# from AppData). No package is set (but that is unused anyway). items: - id: "" package: "" @@ -58,5 +72,5 @@ items: name: GNOME description: GNU Networked Object Modeling Environment Desktop screenshot: ":/images/gnome.png" - + - appdata: ../io.calamares.calamares.appdata.xml From 6ddae94628d3c3b9cbae028306c3896727477cde Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 22:36:35 +0200 Subject: [PATCH 165/626] [packagechooser] Allow to override some of AppData - The ID and Screenshot entries might be weird in AppData (in particular, a remove URL) so put those back under the control of Calamares even when using AppData as the source of descriptions. --- .../packagechooser/PackageChooserViewStep.cpp | 2 +- src/modules/packagechooser/PackageModel.cpp | 23 ++++++++++++++++--- src/modules/packagechooser/PackageModel.h | 8 ++++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index fadacf8d4..6df785a06 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -234,7 +234,7 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) if ( item_map.contains( "appdata" ) ) { - m_model->addPackage( PackageItem::fromAppData( CalamaresUtils::getString( item_map, "appdata" ) ) ); + m_model->addPackage( PackageItem::fromAppData( item_map ) ); } else { diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 29890ee9b..bddc26c7c 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -257,9 +257,15 @@ getNameAndSummary( const QDomNode& n ) #endif PackageItem -PackageItem::fromAppData( const QString& fileName ) +PackageItem::fromAppData( const QVariantMap& item_map ) { #ifdef HAVE_XML + QString fileName = CalamaresUtils::getString( item_map, "appdata" ); + if ( fileName.isEmpty() ) + { + cWarning() << "Can't load AppData without a suitable key."; + return PackageItem(); + } cDebug() << "Loading AppData XML from" << fileName; QDomDocument doc = loadAppData( fileName ); @@ -271,17 +277,28 @@ PackageItem::fromAppData( const QString& fileName ) QDomElement componentNode = doc.documentElement(); if ( !componentNode.isNull() && componentNode.tagName() == "component" ) { - QString id = getChildText( componentNode, "id" ); + // An "id" entry in the Calamares config overrides ID in the AppData + QString id = CalamaresUtils::getString( item_map, "id" ); + if ( id.isEmpty() ) + { + id = getChildText( componentNode, "id" ); + } if ( id.isEmpty() ) { return PackageItem(); } - QString screenshotPath = getScreenshotPath( componentNode ); + // A "screenshot" entry in the Calamares config overrides AppData + QString screenshotPath = CalamaresUtils::getString( item_map, "screenshot" ); + if ( screenshotPath.isEmpty() ) + { + screenshotPath = getScreenshotPath( componentNode ); + } QVariantMap map = getNameAndSummary( componentNode ); map.insert( "id", id ); map.insert( "screenshot", screenshotPath ); + return PackageItem( map ); } diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 7e79b98f1..869e124f0 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -82,11 +82,17 @@ struct PackageItem bool isValid() const { return !name.isEmpty(); } /** @brief Loads an AppData XML file and returns a PackageItem + * + * The @p map must have a key *appdata*. That is used as the + * primary source of information, but keys *id* and *screenshotPath* + * may be used to override parts of the AppData -- so that the + * ID is under the control of Calamares, and the screenshot can be + * forced to a local path available on the installation medium. * * Requires XML support in libcalamares, if not present will * return invalid PackageItems. */ - static PackageItem fromAppData( const QString& filename ); + static PackageItem fromAppData( const QVariantMap& map ); }; using PackageList = QVector< PackageItem >; From 0b72006ffb53fa7ad31a865eb145d8ca5eea34d0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 22:41:50 +0200 Subject: [PATCH 166/626] [packagechooser] Use overrides on AppData for example --- src/modules/packagechooser/images/calamares.png | Bin 0 -> 8313 bytes src/modules/packagechooser/packagechooser.conf | 10 +++++++++- src/modules/packagechooser/packagechooser.qrc | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/modules/packagechooser/images/calamares.png diff --git a/src/modules/packagechooser/images/calamares.png b/src/modules/packagechooser/images/calamares.png new file mode 100644 index 0000000000000000000000000000000000000000..452e4450c56c10cda33dcc9c5d03753ace458862 GIT binary patch literal 8313 zcmd6NXIE3*^Y%$0gd#1J04hx>q7XU=Lg*m9b1NOBD!qt82&ggiqDZeQRRmO|6RLn9 zMGz2a2I&Zf8X(|5{$4*H;K^E9XU~;6vu9s3d(LDhv8Kkl=jeIp0RT9sucu`W03hlR z1i)d`i(O!uJM{t$($KerQ(qBqH#}9Q^Vj~7d2f!uynjDv`1ix(nX#3V-}C>?dEr>@ z9|$!h22gGzR|N60?cBbERn-W|)m>5b0xUnCtN}x_aN`)U{L+lvfVvw}8i?sbxdG5r z=RN=~*p&ie(ZUHp`0oK{lTu>?7TmQ~3%X{29gG)as^@#xk1P zMyU$VorzFC*;*i>rF!Atlge}tOT z7p4@tOPo#K-Dw{Xgw;z|CpfNB0j4IG$I36>DYFusq7C^2M!pHEtm#k$^8};a)NSHc z<3fqFg9=R&`+(32Jm1m}0#@wi885oE^Y zs-GbIh2|QjWEs`qetUrT&MgrZQ8z%qoSHB4e}8vP{W;=`S)w=NDs}B-`Fm7A;B6)x z!Ep-P-uOFj$R_tdc6u@3;h$|KY0OGl%+B~y$Fk6PToXX-E(mOQ*; z3KRjipn#phT@tg=H}k%aJ=WSz0YT9UM6T}d&|(%s`xof1Eg%aWl>#CgN>b5LXfZnh zEf1>yhf;OPdTLa(A4=rMsQ=i)stb>Zy8)`wfu!bRHbUO;Wd+w$kL|eNp27m+Jn85k zh~~{|e>dwFbd5O+?MF4xxAzyr`|L2{dq#^+H3hwC&3N!&#W8&UBvR?`=tDx1LeyT~ ziyio9H?X}XY(d6?IbuKofwv0dkEwB7UTt;kr7F#t=P!@hFyf@M(7pfspEl$dBi4J+ z_Cc@X82S0Xx`6c&1ih=1{m|>tjQr>{UvMlUYRvtS8`$68Dfr ztc2G0ELmsq;HC6jlgLDJZ=*g87BOyXbl z&7N%?P3WlBgb)=)vV{GMq6=)^g!J(Bz-;uJB&wP2#|_!&DI#qrYn05lglvEtoq*4w zbJL~>7Gyj7%4c8h16*|M46$C{*$9Q7-roW51ur0__uK2SGk|p@xiWG^F0lU#Qsw0H zTebQ%=C+s_+rK|@K>e&#ZP0jh%sQ!vU7ZzenAP;xr%fB&x@nPVMT%bx88R(@7=hBJ zI)GGbhM1*Tk{I4Of!zQpk#gabU=qVuU#dXI?tS|(C27UM&~C!cwGTcn~baLpFHIJ?at$fHZ00loS`X*@du6HP6Z1dXzxbkS(P8i~vMW z43mWxA^PcgDix>te*EnqeFI12TBZBvGy7OI9knJZ@Cd>)4(-NVuVU2M46&a8bK`1P zumdr9rj3~ba;gX#!1pXmcDxcg%76`p! za&w0dqo62>VSOeJ<^tnJ<7_`e-|=IH54+XCEClKn_xR_&RLdvmyQ>&peTsUb`YH^d zF>O8tgQ$Upc_l%mCC_kb7F!OK*(CLDF}6ZD|4aPSA~?+ zN6p5e_Uu~f92$`E0{mc4CW_(J-`ZiUpRnE`0V%tePh&ey_%e zTDv{fEwH1xpiex)efQG%Fu(b$w=o>R>p!ixRw1u-Wh5T@!G=2x_O=Yq> zjj9x)uQJ^~uS@hRFkvQUaCscRwV@htMPdc|p)+$~ zMk1s`%Zne3J8I;=??JhNQI3yvqE%~ed!LaXUNPalbNtV^)+7qhtk^{xvPGRlL|jdt zx$vil$|gRa+fr%g;x&9XLF>UbF@yQ{kAG+z(o|`uVt3kSjGBG(y5ZB;n6?I>o|-Jh ze)Mr-2Gz8#2VXVxDe?})jIsZ67N@BkkTukQ0<_*OwPGiiW!a*1*X%XzfldYbipFYe zyJV5vuXI+D3}*`&6bHZy`o#f=?zdHA?||V?jhs(3gK8dJgA68_fD)HzZh@$hXL_&BCRNxAFO3D=%pc&S3bTYUiYC#$Qm4!=kKN0%+^&zvqoF>IhOLCy!q*ib(Hxv-gVagp#D2OQqX_$|Ktrc$Hld(nBhT-MAR~GM55%wkT2RVrm7e3-9zggJS2S zs3Dn3wYb$w&F2nkl6I%%##}DY_(c;-2%3uRFNZ`IXjda45o zQ_MiSDd{T_&BV4Kx?M8%>*$1bpz7A4Z8hchA%mv2=aILK$OcGWIqdp#8d~V6c+*?W zNuL8B$<&ACGX{4943fdqta$v5?2>3HSgZA}s;Ik*aSR#61L0?jsi+tUR60~}6<&UY z=cAIz_PC;=Z)rC%Rtgc6*8MLSbed-DW6JEEK$qFSJX_xw`S5kU+LM#5^Rp$rtk~I&9x9%Hf`C zKHO;5H{oFiv6PoQ)8mg1!+;X0V_j!@M&J9xOm1bv^Ne4>ELm7F`gWxTXT8`p`-L&F z4@}rT#)OWD1w zYAdSgOkfNF;Rie02bCkZW}`o-+XFG4($OEDo=SgU!SgR%-O?WuEHK7n7@Y!m6e)^R zl_t>z54i6x%N5>&?$M(f7?Ih)Cu>NK1kHQ|O-+D83NQZSpuXEW%HK_L%Ets`Q4KJ> zM|*LWZJ;r5+mDb zzjB}!pTTrNtM1ksIVeGFs=-Sp)ZxB>yzlgR{XNzuP>qlY_Qu}1g1 zfuRnCpEvu_=BS*X68oGH!QOa?;c)VHTEQ!C_W2dgoMfQGRZ}R9*yJdYT#S+G}_j~N{uZ66YV&j3^7&NY9@>{D45>iICh^vBslQ&mzm zHm%ho|J|vY{5A#Gw$~Avhj%`^R?sn`teT^QKruqpP6-7I`;!jmD0W?4LgdrK7UltA zVek!;nlbFINc&dPHFgpNz4b?E;V=@k`d;mY?3B;LB9%W&3q8z0uInagyO=z%O%wGN z*`d_iMWASl5^1qLJv0<@2d)3|U>17#<=k0mRH!b$(uS4iJb~lxPCEMCp+?pN?j~pK zy=Lk0T^*X72Q=$Z82Yjo8aMoYt~v}}n~(1N?>1Gi-28FKexP<@Shn(JqCzp8s5mrR zD^%lY0HTc{n_gd3lFglxr>z^(*LEiT! z={Pcj{u&w?yUfqErskfE_ghSzbo+q^)G{U7%Qa2&Tf|e|D0h}=hA#}1S$!T&7l2M# z9AaC4?s`UXdG_f4;yaO8cJ~kx*BtTpT^MydrN_0T>h*0#Epr>17}2EFvpudARXZ^b zi+>2_S39MTOP+_cIwT*%*al7N;QL&Ei9UJzo#c3C7ZTYZGcPB;%@|Bp3jV_{EYii@ zwbO}WR5|+P2R_2kD?Tky+nm}pb--L5r{8f2{(Gtzvh%7@=FRZD%sSuF8Xt}P>?DWI z1;ojAZzn}%Xs{ru#eqWkiHklR*5Y#RZy_CTWaek@ohl!zI+l=IM@pG@-s_^sL`}sT zK}^CgjL>FZW$wLJA)S`RJIMr+x$Ym$FuR8Oa=v`&isZhS)TGyjl95Tw%E~H>2LTJY ziwn_^hUKP>$S;%gYP8ECHCz{WWP02F+h0}FvVT1Oay(9P|4)>2)V*`<$er+WjpwiN z9^`aM5*}Apw+>BmgB)o=-)kXGk#BE^r1i_^zEhZfGvPh5&oXhzEg`TmA@ zVw$wITj#G8XnXqxtUcV?__g_E1RRU#O+HbEE%X(CS?OFFq-o?m0Yi`?1fpAa ziw5w#b@0NSwr6wmDrNi)!5%x-OBqbkV~HzreVlQZ6mPFkuDl=_&%n^OTpE3{D)LSH z?~Wjw?#1iK+^4?&Kmz2OH%CI&@S4!^%Uf0LCSQ(!(BSWrm|3q~sfJ8gia*_FVamjq zR#}^gvKNYeICn=4iDR9Y00Kw1{B*PotfWfMvZ>!DEGttb%8eixKX&3q5Qsby_*Yse zjmA~92pG!g_N$W|W5;^Gj*BP)F1tRYBlono^HZIzZU*mi+>RKC*W+BGC|>DnoI6s= zrM>6xKVHG{D=>VWX|Mg=oq>f?cPcrkiTrI>U#+yvp#mD@AlpL=#GOH&dTG9{JN`kT z{22qObiw^Q>EesZFw^<_SxU@?Zb_5h>HwZ?N@&a_%u(j8Djip_eW57*(5?3qlPaf? z@=ng|pI%fJoIq8d#K!uevJr4KO)dNh8?BQ%seQU9l_s4=r3Ccv}wwwcDK^VDsh7)TIbnpFA z&aMWGzdd%l+jM)k`HP1%^?VAp+mZX)Tr6}pIzlx$X!r+fh!g;H2?(=5HH@C1I0;SW* z>5FfqtPJDz!^vjD)W_<0*bGv~>f`Ho4`^?0RDWpWdcX1G{60d?^INUGTFsdA=`u{W z(Gq8-K)IJ3d1hA=WaG)a=GohmVF!C6))uAqr0efr?`Ac?b#^GFvMlwxxayPRKQ{qv zYiL}+dxOt|fpNx)Tmk_zR`%I8E!C@d!G{$mlt zjy<_3kmy97eTA;su%J;J?A$(ND#Xhll75pLrU3R#Z#`9zl}<2_BnZwtxaab1{hQ*+ zOc3M<)6tz`sJ`?gDWAQoyvkfFIV;F%le(+@T4A4m35bqW!!Qy+*_-RkrM}0?{#E>m*kF;f zi4LpGNKkoGLq`WY&AC|C)PbcM-!9mBCCaJMHQe+X_(I9}z+Z8_R5GPxVdO7Qgjqfa?7b^1l*TKYEJ%=$(VvaeOc>?&6MBk`HS zES&?As$`LIil2Y0?4DF#=B?tc41>XHoX3P)0`^3`RaH3}IB=EKjhxC7aLjq5(_kzs zwy@~|Z3(S{3z@7c3cBhbRuCd!+;);vmR$8EpG;$@e(y(!t>`2wI8ZHOb_E0=yVe-g z@N2wn@O)lIJIXC3^F&A%LwjI%FWv`W+VE+K4J*fpmR* zKisioWA`Mw;}2|DQwC_4jkYKiHp^7Oatxm;=*-P9)XKi%U4IgAHTNOHc>9=T{SktN z!SI~~CfXU9nU$~gv!}r2sDoAtb!u*MG_EuGb5EPEr&DPgYE#$OEjj6vYX|^wJ%UUs z1U|_N*YP)*lZ#!Q{?}ptZi9;3RM8hcHpu-;YCX}o;Qh@<&d}JXvy8Vdy##fzE`(J5 z$P9TVsZst=*(=hM<|g$tF5vWz?ac8*taS}9Uo3%RNXfm#!}RTQ6e<$#TCIvJvKV%C zT1K_E+RRw>DinX%a=Gf;2uhdZx|J>(dtHMx(EBN|>Fr{jP4YsbLK5*;?4l@Ve15NY z1HK+4puU&gRTUQ=59DvD`tGUvxAaB^~* zUg0z=e{Lp`QB;2AgB_Er>mu?3Z~T`-d^Z4~CqoR4sEh@nK2_m_d9p4!Rhp%eA3h37 z`ri1T<;^?Fw_>b@jc=$&=(9zA`V*pC_}2JMxouM+#BZ^M)(gL2ou>}T1 z+U_(vcbbBaW_kju{DOv>-Zg@W3a_&Cae2wlhAxu~yb|Q{#4j>f&p0vKs!ByG4HjEU z{6~Cxuj%9aX`Rni!&3emNSX3FjAFxOOsQ&*(vwp8aYWdTUyHDWmwBsjQU0?yLNhol zw!+J{EkeoN-Myn~*0?9{vBK<;cICp?JU;WLT|bMDC31?9;iH1Tl?(frYqlvZVzVvI zaC!$Wy0@%lzM- z{RxyA?Pvbq)K&S{_JEL9*jt%fAhJuu0*FbN0TyYIR-Tz{t|urG!W)4$-^#C0`K`<<4A8a+j;hh z8wB8jSN!OmZ#RMIm`_@f7r38vB5(Gj*{cCOU6|&%S8p@IEe)pT?;E|U;qxr>Si5NA z9L0#&=0fX?$tFnNhLv0ijbis)XR@UWMP7*~h;3$+?oZ=R1NCy>)y&8L{K?A5bnbiD z=0|5jnOQ~+ft3A$?j%o({=`+|)qB99EE`u_8!$LLd^;5Y3_c9ORW?H)i7&^OYmIFO za{o*)o#eqJblxgukEJP1&tKE*>H=h%A)&fAD-0lsuA+f?{gYbo*^9TIf6bMMKH}#2 zoy?qC1+k?!vXHtiANS-a94PLfE4m$a^5V$L;}SamJ#Ks@<43)1kdyr9lAud&`SZ*; z9IOLrDv_T1z_WQmW9I0~WXgIuX-IN?`bFb&_ejn@!yCP+wuvCwXBKh^2}wl_HBQNN znJAPdThr>U!Hw~x6Uu?CZPN+GKuQq>r*UzrsU7x9X6=)aDfYd-wtJg_$=2c&^1X7U zfptIvn^59~=Kvz_opZfl`p6vn|;kv(0Mi|%Dw|AUResXn39Cqe3@iFD1Brb26B_N>Ka*Kx!EJg z|AZW>U`bB`nNH2qK51#3bbM`|x=wSgQcP^qM74Gs+()H7x=5h8z&lJ+Z1XVBPL&x| zXkLEnN@images/no-selection.png images/kde.png images/gnome.png + images/calamares.png From 5d4c3ea92c028b7e102cc81dc31ba33e271863a4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 22:46:36 +0200 Subject: [PATCH 167/626] [packagechooser] Don't give a default pixmap --- src/modules/packagechooser/PackageModel.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index bddc26c7c..59c6973ba 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -92,10 +92,6 @@ PackageItem::PackageItem::PackageItem( const QVariantMap& item_map ) { description = QObject::tr( "No description provided." ); } - if ( screenshot.isNull() ) - { - screenshot = QPixmap( QStringLiteral( ":/images/no-selection.png" ) ); - } } #ifdef HAVE_XML From a4362dac654b154e837d4035027c6980ce47101f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 22:47:37 +0200 Subject: [PATCH 168/626] [packagechooser] Change tests for modified API --- src/modules/packagechooser/Tests.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index 5dec8a288..15b5792bb 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -49,7 +49,10 @@ PackageChooserTests::testAppData() QString appdataName( "../io.calamares.calamares.appdata.xml" ); QVERIFY( QFile::exists( appdataName ) ); - PackageItem p = PackageItem::fromAppData( appdataName ); + QVariantMap m; + m.insert( "appdata", appdataName ); + + PackageItem p = PackageItem::fromAppData( m ); #ifdef HAVE_XML QVERIFY( p.isValid() ); QCOMPARE( p.id, "io.calamares.calamares.desktop" ); @@ -59,6 +62,15 @@ PackageChooserTests::testAppData() // .. but en_GB doesn't have an entry in description, so uses QCOMPARE( p.description.get( QLocale( "en_GB" ) ), "Calamares Linux Installer" ); QCOMPARE( p.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); + QVERIFY( p.screenshot.isNull() ); + + m.insert( "id", "calamares" ); + m.insert( "screenshot", ":/images/calamares.png" ); + PackageItem p_self = PackageItem::fromAppData( m ); + QVERIFY( p.isValid() ); + QCOMPARE( p.id, "calamares" ); + QCOMPARE( p.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); + QVERIFY( !p.screenshot.isNull() ); #else QVERIFY( !p.isValid() ); #endif From 194a562727e347a32b246613e05836cc405264e4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 22:51:14 +0200 Subject: [PATCH 169/626] [packagechooser] Expand tests with override features --- src/modules/packagechooser/Tests.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index 15b5792bb..3e7961b92 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -52,26 +52,26 @@ PackageChooserTests::testAppData() QVariantMap m; m.insert( "appdata", appdataName ); - PackageItem p = PackageItem::fromAppData( m ); + PackageItem p1 = PackageItem::fromAppData( m ); #ifdef HAVE_XML - QVERIFY( p.isValid() ); - QCOMPARE( p.id, "io.calamares.calamares.desktop" ); - QCOMPARE( p.name.get(), "Calamares" ); + QVERIFY( p1.isValid() ); + QCOMPARE( p1.id, "io.calamares.calamares.desktop" ); + QCOMPARE( p1.name.get(), "Calamares" ); // The entry has precedence - QCOMPARE( p.description.get(), "Calamares is an installer program for Linux distributions." ); + QCOMPARE( p1.description.get(), "Calamares is an installer program for Linux distributions." ); // .. but en_GB doesn't have an entry in description, so uses - QCOMPARE( p.description.get( QLocale( "en_GB" ) ), "Calamares Linux Installer" ); - QCOMPARE( p.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); - QVERIFY( p.screenshot.isNull() ); + QCOMPARE( p1.description.get( QLocale( "en_GB" ) ), "Calamares Linux Installer" ); + QCOMPARE( p1.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); + QVERIFY( p1.screenshot.isNull() ); m.insert( "id", "calamares" ); m.insert( "screenshot", ":/images/calamares.png" ); - PackageItem p_self = PackageItem::fromAppData( m ); - QVERIFY( p.isValid() ); - QCOMPARE( p.id, "calamares" ); - QCOMPARE( p.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); - QVERIFY( !p.screenshot.isNull() ); + PackageItem p2= PackageItem::fromAppData( m ); + QVERIFY( p2.isValid() ); + QCOMPARE( p2.id, "calamares" ); + QCOMPARE( p2.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); + QVERIFY( !p2.screenshot.isNull() ); #else - QVERIFY( !p.isValid() ); + QVERIFY( !p1.isValid() ); #endif } From 1b29ca5697515e0b369d87539d990620c70cdfe5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 6 Aug 2019 23:43:29 +0200 Subject: [PATCH 170/626] Changes: document packagechooser and others --- CHANGES | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGES b/CHANGES index c84f245b0..d41d4b8fa 100644 --- a/CHANGES +++ b/CHANGES @@ -18,12 +18,25 @@ This release contains contributions from (alphabetically by first name): number of jobs. (Thanks to Bill Auger) - Preliminary work has been added to post the installation log to a pastebin for bug reporting. (Thanks to Bill Auger) + - Support for translated human-readable strings in Calamares + config files has been added. This is used only in the *packagechooser* + module (see below) but will expand to those modules that need + user-visible strings from the configuration file (existing + solutions need either gettext or Qt support). + - Esperanto is now available when Qt version 5.12.2 or later is used. ## Modules ## - *fstab* A new configuration key *efiMountOptions* has been added, to allow setting filesystem options specifically for the EFI partition. (Thanks to apt-ghetto) + - *packagechooser* is a new module for low-density package choices, + e.g. for selecting a default desktop environment, or adding some + proprietary drivers, or chosing browsers of office suites. It presents + **one** collection of items -- at most ten or so, because of the UI -- + and the user can select zero or more of them. The behavior is + configurable, and package information can be set through the Calamares + configuration file or by reading AppData files for the packages. #426 # 3.2.11 (2019-07-06) # From f3de3202882dd2c120a979f093478c29a0857c40 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 11:51:56 +0200 Subject: [PATCH 171/626] [packagechooser] Drop hard-coded data - Now that the configuration can do all the things, we don't need a hard-coded model with bogus entries. --- .../packagechooser/PackageChooserViewStep.cpp | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 6df785a06..c2e849d5f 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -183,23 +183,6 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap fillModel( configurationMap.value( "items" ).toList() ); } - // TODO: replace this hard-coded model - if ( !m_model ) - { - m_model = new PackageListModel( nullptr ); - m_model->addPackage( PackageItem { QString(), - QString(), - "No Desktop", - "Please pick a desktop environment from the list. " - "If you don't want to install a desktop, that's fine, " - "your system will start up in text-only mode and you can " - "install a desktop environment later.", - ":/images/no-selection.png" } ); - m_model->addPackage( PackageItem { "kde", "kde", "Plasma", "Plasma Desktop", ":/images/kde.png" } ); - m_model->addPackage( PackageItem { - "gnome", "gnome", "GNOME", "GNU Networked Object Modeling Environment Desktop", ":/images/gnome.png" } ); - } - if ( first_time && m_widget && m_model ) { hookupModel(); From 781be3368e6c0a469c65170a9abd61026753187b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 11:57:02 +0200 Subject: [PATCH 172/626] [packagechooser] Remove bogus images - KDE and GNOME selection images were drawn by me for the bogus package model, and should not be used. - Keep Calamares logo though, even if it doesn't make much sense to use it in package selection. - Keep the no-selection image since it might be used more often, but it's not very good. --- src/modules/packagechooser/images/gnome.png | Bin 5739 -> 0 bytes src/modules/packagechooser/images/kde.png | Bin 4678 -> 0 bytes src/modules/packagechooser/packagechooser.qrc | 2 -- 3 files changed, 2 deletions(-) delete mode 100644 src/modules/packagechooser/images/gnome.png delete mode 100644 src/modules/packagechooser/images/kde.png diff --git a/src/modules/packagechooser/images/gnome.png b/src/modules/packagechooser/images/gnome.png deleted file mode 100644 index f9f3901e14aeafc94babdf08bb5ffeb99af836a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5739 zcmeI0XHb*hw#HwIfKnq!kzTDdK|s0z1Bi$esnU@m7>aZhkQO?Eq5=Yn2>3^O2^}O< zsY(egKnO*8@9plK^Xc6C`F^=`XOc-~&s+9hd#&gBtsVL3p&IRl%NHOBqSa7W)rBAu z@RtOlq5wZn+;i=~&v{pM;};M_*G&A9B;BB6hahH74b{8)KA%=_uUwhzIVsoIR_m@* zX^N}~p64Z(3(aoMy(h-h!4t#O8D`QKHN^Wh#sqPlif_=%S&icdpKKYYXO`^H{l^|3 zE2J#1>*_kfNVDEar}Ajg+-dh$Z<=-A+eZngTod)Js+-?UU$eJ6vkV`bT&o%naPfB8 zGuEQwRaU+K=c%-^>ZTYJ!PE-z=(3Upsaw%Nd|~4MTLX4UIOxPeQ#fz+2ks5j4dOMb$GPeHYXpi7zadf#SO%9cwp03lNcmFPOt-8b zy!lz*?A2@6BEefnift%|3N7M){=5s;5sJaX8Vs;BHOlw+OXYLYllE|znqfxp(hg*z%Y9HvV{d zzQnh0Y1svPGn^X=olMc^Uuv@E+t{O5T+UsP~Ru{yo;Mbt6%l* z-PcqojBaa@=h9Hb%3<7Gs@qt_bKO?CnXlX@e?P+gZ$@|9F+P3zRJYB^PMjTTX=#BS zy?KzKsIYi~#bTp_gM)LC$10s!8gHAcUd(4I+VO@Ol{qB1Rz1<-EbN@U2y*rPE%Vao z4#=p~PD{1nuCr9C5gKWx-}cDZ_)g{vX2i|vg6O0hh6vAEIMqfoqc&?m0Ra&`w!)k$ z^*rkEW4Fj$0EM%YlZt@>GyKaVRczjp?C987!lzFhzjr3u`mKs>ki_SEvtL491H zrv8n^vXrM_-DT5=`QztTUB=ZVG`D(ge;`Nk(nc&d)Pxsf7B*qp*fH-tJvqX=%4F&; zA)KYyPY-$n5&07*dz0LQjaBK&JV8fm4HnPn?HKh)iv0JGpA=t>7VR{g?2h^D3>wm! zp1mox??ueOGd8FwLUIcWj+%Uu_q|x+EfmI(o0q3zW|lUf*d>rnYT5Z-`0wAp zV$LUNX=%eHPou4t8mi;EaDfmjE32}Dr#COE*3{rr+6z6l#Z>q%BF>5lO-K5a=qHt0X2(pGV4a72^($PYDgqfe^F3KsCE1f zgu=kesq4E$>_~YeBqXl0N8^z3qvL*g2Kh~+7mWd z&8)L&H{ra&s7S^uzy2KTe|_UP=i;FXnr0*CKpi;IOW2*&-UA3W@`>NE$Zc;q3)oqi;dR9L|@+ZVxQxcdtFdr-^-N%@?cn6<^KIB zV%|Qb*BclZi0JC-a?|ok1fDVBL!cc|fx)TV_SdZv-oF<*N#zbw*V4M=>FHTAd6Afb zKv0ZJ?bvql9~Jy7mhp9Jo}T4EYuVC|8W%h+cy4Qt&Fp&eaAS7T2+`$+YAbW7C2g$e2+4rV%ZmBY+ zWPd3tVmLe9Yv3Q}#62)JW~1Yhj{shSaWc*~=t{XwU0Ao9f-j%ed2mAGb6czbk%dLP zpyvCSh5Hhz-Qn7ShyCOGf<7lZ*o~5{r-Kp zws!BjTXz3KXdB_@H_Z?0RlTq1Owq{Ls-^zNo-^$*eSQ7URaJNRP~=E7`@zA%K5i`l zwa}lV_F1JoSqLid0$x^ov|59Ct2i?|%d4cs?Tz#NFw^rF5wMeIfybk`TN@i8;Jdj! zOAaaFF)=g(LPFDON{6u3nl(i-xyRAh$b!0@j&@guE1t7Y_$>(oxgrm_`?s2omz;u< z@{8l;o6OYkFAPsaSZd8h-;0=C$mm7I2Obkj#^U8@pu{WPtk~Tkx71^Cnp#LnhlrXKwM>li?KF?;E=wCL@erK z>gyG^cXt8xSf3sr5UK5t~N}@ zr=(mS7#yT^`Flk>UDeA=>Q8?^sH)#%W6_{uWI)Qxd5dK3pmv$u-Q8UeHlKnGXtFN; zj7GDptgKW5cOueIW+oqSX-;5JaZ5|P-mBx0y#c$Wn6n{CTG85dQX)MR=WWHdiAMiWqpFBLPEz1l)aEQ_vWywnBSMHSt0>o`JG?9__+K(=e5!v=2W`kgO@ARVp&Mpco?WYXJ(RC7uaCJX)Ap; z_yEu7bH9fzfpP$!-Q|&x^Nd0~a&qiIA~I~zx19krd`%gW=jA0at#B4E;s=S!=K!#M zYrYo+L<%6UAr&v*X$;0^cJGKNkpP8$n4%vZ7IGFgoF3-(bZqbJe96vkZH%Mg^Jft- z{{d{rAw??Fp2fB5;MTSxaYZ)lwuD>>-YIURMtx~ zPH5m%p%|+X;pBzI-8BSXlTPV1__YfFh&)+b%;BB>oJEY#sQn zhu=Ero19ddn`ikG8wTeEzF6WMyUFeE1-}h@G9C{gR*G9TXRXfmpxEtyYq0E9|`6 zeye}|0y(MA;X)250A~lzLTvQz?ygQlL0uiEqoX5*hb_khtqi=buCBekT{$qYVcFmv zGZpzd&=!8sxa8;Ohs(eA*_`RX7&^uw)YMQ5tM6vG8mR_`hMEW)u7r4AaI3nyy0V#> zSu<9_cXLKO%|#~gRGy4yqIUa_=G7ZF2qPz~0-=q>eExN#P}QRjjq_rUijD>er8JG5 znV)R+WH|)7{dO&6~5GzUM4xsL4t9yX+N1R8VyHJnDe_qwqU^YR6}F=Aw$5 z3Gu3BD2FLrkn|%{)9B4jcMosxPGlIOamCB#?DT}#^0Xfw2PlE2Lu&f%>yC~NfTGek z4dqpm@kZdGRU4`5+S>Gr80YN0LW){cOEN$Bo z3>|}`qfx(p{ffwU0U8dtR{G={QU5sT2rLcz_nH?GjPxW0ZeWXmyx?jX<*)VtHS9qj#{9(lyq9wF<@F5J^izV~KAHgPGX_ySM92r-h1) zZuae*xkwQSXQ!2344NQR&8K5pqFJ7z?-B<7{0Zii^HTLl8yp<0^jNrPP-q_O@{+(# z{10S>&qRfSi}cCU)$uAKATLW@C7tU|MJ+Bq8+qO=PtkY@9)UNLyQQSn@3S#PwayrL zPfLpya0<8(?qSvj_}CT=+hTA&Y? zj7D=SM#55njnxi+l^%OAKl#_8v9VWl9?BNFicFQ@jg+D_lKm{3joSRR)`;rgGxmKl>&)c06N(au*DmOscutuf?#0R9e_O4`fkZQ zH=+R+3S?6mbotV!ZqqrwO#kHN6}u4-6B0ZLIAoi5{TAox5I3(pIco@5($s58uEyVA z)$YU^z581o_veo;pg1zU><00=H-i0Q@8-Ca!~11S>*oZ0)uQDTVSo4h26Zb}46K!`25* zBWgIm%X86#3S1B2K86GZ1;N8ElPL#dQ1muLsw#J4Nl8s51oT=ugil08UHD;COv-)O zhq6Vh8j3;I#OQ1c=xO7>eJ~H6TthLCrer6Ju!j2q;~yCr0lhiQAm60L<$$#nin!}i zyFqcf-=>tAolUV;yF~|_)Oy!W05pU%GqyzJ^`3ks4Gv4f*(B`RkTp2waWcB-uoW_`2Pd{3B>=G<56@*V%BsHyKKUj4^EFEje8GO J3*eT){{=a!jIsa# diff --git a/src/modules/packagechooser/images/kde.png b/src/modules/packagechooser/images/kde.png deleted file mode 100644 index 02f3e70ea21282afa79d367f05d602c33cb5ddd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4678 zcmds5`8(9%*M7z@p)riDu_Q}mvM*V(O`$9)dka(c>?9;vMwVpCGKf-5WDD6^F!m-C z%34CUB!rA4vc8Y+`!9UoU*5T{xn{2C^DO5%=RWtj&*!%J>60Ang6seQ4r3z&O8^k? zF9NWl;E#Pkp&R^R^EWzw6#&fJ-7g|t1|tLjcFow}n03g*g^?THsh?47fb*{C5V<;^pPzI;P%4bLvXdcq;*tByU$6EO#PN_;y?z zDlIK-{QLXV98>XBCBO<8e~0}hYo;ITyShpOQGW6Sol}q3p6~vLRs~e{A!-d^h#bnNfcRvMEL4r1^ylo))eyNB*6# z)Ov>lm|Oa{fwZiwfv>N;Q^mR3iwEwWs0dkdN-Y+*_%39;AUY{Y5Kl?g1-4}u?GMeU0eyRU;9Q@I8~Tn zU=@Jvo?DSx!Mm|!eTXv<7o*+bH+!go9gE!2ktfpnC!D`eO-(E|?x>X?rbLAu$otQ! zia1{4aWaZiA-Hzw{UItY!k+u&dyu@uJ$}#57fWQaEjbspG}%_Q zcCHNT>E%`7-Xm_6Xy&8{(Br|iJ@q%PWgn?q|5==Q#LM=U@3Q36{Crg7=5O+|Y0)`p z0Z@6RcI5Z~_`SSb5jbmUUl-Ez=c=JNmY0_|GeV>?j#7(o%|d)x2zEp$x_67F-Mc4P z**kVoD|o)Cg}e`oxh1D{=zg>cK&q;#v9pmLJ`|oGuIlP-9-Dufq+7Z9&_!F4%8ZUZ zK5(Rr>-|(fc1{k{`Sa)RJzQK{nwuq@YQ$V{)TL!t3by3E-NmA#P?@)>(aXhHM}=eC&7$6C#mflJ?WJ9Voh zy@<__&CTVm!lEMO6>XoTe_=Qcf6?GyU-2(7${1u5sHv&R-+!ZtgwP0ED`zZpH9K%k zwk5R{*%a??WC=H-F_#Z|&kVjOm}oOQ$UW1Ww^uwRo}r5z930$*-)PvfS$0tJQW_fE z578E(Dr$}aMU$308e8&uLh(91l0I{d&`E| zR&5g?Bz#+{7DFgHx1vkVzi9n466SN|=%bmTS2B$_YaTR-_tU3OdBVWC^-gnHtsmiWLrTkB&@H8B8yEfD&pQ|DmgP&1}^P= z9$nIMgv1*ZXzDG?uP@E}2C_#C=eEDbooQ<1 zGfK>*V>or!fK~n}ERmh<$#*p2Pqflmlh=G-^3AdoLl_QtRHU1ml$zgYXLFg7NmAZ z5Cywg2AwYqoqzr_7}~%w3N48P(T`Fgmx?gKNR>C0TIK?u6W4s-4h|)D(TXYX@ z;xO?h))E~72@JUhlR5M}zP|txOaNQ*qetQYx~vLLx5RM>#YA4(bxd%u+DED$G~Y6s zf)MRMiyk_(2PitdWt|_bw+pHDO=^pd*jmrd%{6e}pNo-167C5!nW>M&T&xexuB#K~ z;NUp!^}fCRjXtMNj9=rHEu6(KxeswQAi&(hLX3vicyt;vfJsH~PQTTeiLKSKeHZpT zJNaIK)Q3MgxD;X^$i{k$o~iC9l7EIOPvf;r7M8#pSC$~+f2?jSLAG<~FSN)p6*I&` zMuMX*F9yr6EnfWdYs4-PpR2fQk14>;2WuVA<~n@%FfJxdS#pPEHk56ADa3zcp=$C? z>|Wtb7gos~zF7?D;LGvMIg#W4jMuZaX2u*AUV+*f9?d+iOumL~xBD=;NNgw|Z0 zc7oZLW16j+`~BoIc@+{tlyt=Fv%~zCirvAy??%01Kp3+pcws0OI_S21Y;Pt-0xuz< zAIO$pF}%Ro*eWb6By~)26ES(3k^`VO2(?SQReqPOZEXV>sggKAfs=5$VHy|_ZCJp2 zS&;;$Y;)E#+DptZr={S?9SS1(v=@Llx%#8Cxze=*MqAMG_fu6Olcy}dptp;34)U@HF0>IqB<4&)dh$MwqO zy(!@P#l#$a3==_lT!|39Vbuw9-|=Vvvz!i5npn+A3mI!x5{-7$`)f5;Z+q?OjAi@< z$yI63*uL4A4{kif6ItRZti#t+`qMbT;AQaP!Gi}32Az{EA6;nZc_+t9Ll`3obzt|G zFY!4!;$eRWFYg+i2#s!+B)n*EH>vy6YpM~sT?aQVeFMske0=0!9!Sy9ImOaKpr{04 z{|q7;iWPn$s>k)`UGc&tQFBwMED+5PD&;u%_+p zra<=7UY~giuVSeJtm~QG`N=Ki&TW_yyQQjK+EIj~ zMhCfZ$}aIU%DVxJf_L&?V>otF^)A6xcnHT8!zLLU8ym;%&40T^1}@V#K@n)3;KAMRWZy4@7y}1j6vJWg&J&(QBQmKv!)Fub%HKW8`_$84|B?5$?pdi3z?VG=YeD>+&ep`z@by z$2~8o3L0t%pU~Hj&TivCMSp1s*IHj)Oe!gn-BmkD)Wf&vQSPejRl{;HJ$c$c0$B6^ zQ#hsNpAKx&yx0n5Nbx#xl7#bSB>*(Mivg1z=0)GwR{7$COzw@^t(1|N5 z86B=`q54I%;DrR0%OB(Aqj?LyO9If>AUNOu%xYk(q`aJ~*`YgaIS6{Y`K3pnLB_EJ zXJAjCTlqHA^YrYNclVQHnJSktm6esJG%ug*|Mba`9>?J=dK~WvXHEEzcW3JlY=!-u z9}F3f+LN4;;@Ey&3%XU>rX58(uY-VE?FwVOnLn~BXwH_I31Rhd*aEJ8X08T0A0Xa3 zDM4xfa(zSR#^0vt<@*7@5}`v(Vk;32ZfBps`t)kORzxRsJaT7)YR$=35ycvm2A_RK z1F#KoEVLcbo`&!B5p+Ugf3mtFn>qyuvix+Y+5FZX*c96uS9!!kQ_e$E?tjp#yXZ&0 z##9Qcd8F|t0|lg+urZmR>xdeTG~pD+#W0)Xs`AtY-kXH zA_d};1*VtVnR+srJiIkzNamk-J?xwMLx}8LfqU&Y_7NrCFXgI^Tv-?%=r8O4HCnIL z-qDd7n&h1o2XQ&{Mt~r58dlIhH(Z8Q-@?iKD1r=A6ruJPv%T@_{~YgQ0gvB~Ak>bG zmTDmeC_a7WHa2{t;j2U|g$yGiyvv{p$z65mXa1Ad?_PRHKP-DIM5_p2t8gt zzM!?O9CeP}?gxkd)^|p4!9Uqz-AWCVWI92G(@0da&B z*?-1zaCg3>@y8lh#Pe3|>OG{nSRHzEjSGv5>2qa`zV9`SeRj_$lbRxnXP)_1ymIO@ zhgzuIk#25jd9$ox-Q)p_5rqmv)S?$qH9V3HFQDwzXD-S`fSp!F#8&A1*BYMi^*>6R z!fB&8pw2~ZL9>CU>KxbWFG9^I3v~}9=*b@kek!7xIQskh9TrFHL*?fKabit%hbQsc0_la`iNERpKX(jJkexY&TS z^mKvHx{=yzhv2<&=$tcDUD!rRqR==8cR2%?nk7HqE<-se*g!AS$%@;I&>EAaxxEmBQnN4LOkZ21jjYh%zNUG*G;dyzWK&dJd}X`|VU<`9vm)?kKO2Og zejK_vflnrPPW9C6T|_tR*HWx+l)DhC{SmRTvDG`<8)jO2EWFZu*xX!q>h1jM(>G@E za?kK4m=N;h}{P@1eAU$y9xRTi1*-t zoV%yz@ngpj5T8oH^XFh@D*@1%SMx2iT+XW#SkzyJZ(^V+~MZ`0KaA_JOBUy diff --git a/src/modules/packagechooser/packagechooser.qrc b/src/modules/packagechooser/packagechooser.qrc index 8f211c1bb..3b9c96a5b 100644 --- a/src/modules/packagechooser/packagechooser.qrc +++ b/src/modules/packagechooser/packagechooser.qrc @@ -1,8 +1,6 @@ images/no-selection.png - images/kde.png - images/gnome.png images/calamares.png From 20f43225b55170bf95f549208e1a4f862423703d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 12:02:03 +0200 Subject: [PATCH 173/626] [packagechooser] Adjust AppData path for tests - running tests by hand or from "make test" uses different paths. --- src/modules/packagechooser/Tests.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index 3e7961b92..7e2552c28 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -47,6 +47,14 @@ PackageChooserTests::testAppData() { // Path from the build-dir QString appdataName( "../io.calamares.calamares.appdata.xml" ); + if ( !QFile::exists( appdataName ) ) + { + // Running the tests by hand from the build-dir uses the + // path above, but ctest, used by "make test", runs them in + // the module build dir (e.g. build/src/modules/packagechooser) + // so we need to adjust the path some. + appdataName.prepend( "../../../" ); + } QVERIFY( QFile::exists( appdataName ) ); QVariantMap m; From 729616ac6a20eb9a341b5fde9cd969abd8ea2499 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 12:14:37 +0200 Subject: [PATCH 174/626] Changes: pre-release housekeeping --- CHANGES | 2 +- CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index d41d4b8fa..855bf8fb8 100644 --- a/CHANGES +++ b/CHANGES @@ -3,7 +3,7 @@ contributors are listed. Note that Calamares does not have a historical changelog -- this log starts with version 3.2.0. The release notes on the website will have to do for older versions. -# 3.2.12 (unreleased) # +# 3.2.12 (2019-08-07) # This release contains contributions from (alphabetically by first name): - apt-ghetto diff --git a/CMakeLists.txt b/CMakeLists.txt index e28d28f38..3e5dde2c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ project( CALAMARES VERSION 3.2.12 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 6c5d0e9d3d76c9abdfdb319b4ebe493b0786c201 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 12:18:26 +0200 Subject: [PATCH 175/626] CI: make scripts executable --- ci/AppImage.sh | 0 ci/RELEASE.sh | 0 ci/txstats.py | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 ci/AppImage.sh mode change 100644 => 100755 ci/RELEASE.sh mode change 100644 => 100755 ci/txstats.py diff --git a/ci/AppImage.sh b/ci/AppImage.sh old mode 100644 new mode 100755 diff --git a/ci/RELEASE.sh b/ci/RELEASE.sh old mode 100644 new mode 100755 diff --git a/ci/txstats.py b/ci/txstats.py old mode 100644 new mode 100755 index 2edf1dd5b..34ef4fc97 --- a/ci/txstats.py +++ b/ci/txstats.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 # # Uses the Transifex API to get a list of enabled languages, # and outputs CMake settings for inclusion into CMakeLists.txt. From 251e16e72c69784aaf5c9f00b9fd4dcfdf63b6ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 12:31:52 +0200 Subject: [PATCH 176/626] [libcalamares] Allow en_US locale for tests as well --- src/libcalamares/locale/Tests.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index fa84cd2fb..a9e5e7399 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -35,6 +35,8 @@ LocaleTests::~LocaleTests() {} void LocaleTests::initTestCase() { + // Otherwise plain get() is dubious in the TranslatableConfiguration tests + QVERIFY( ( QLocale().name() == "C" ) || ( QLocale().name() == "en_US" ) ); } void @@ -121,7 +123,6 @@ LocaleTests::testTranslatableConfig1() QVERIFY( ts0.isEmpty() ); QCOMPARE( ts0.count(), 1 ); // the empty string - QCOMPARE( QLocale().name(), "C" ); // Otherwise plain get() is dubious CalamaresUtils::Locale::TranslatedString ts1( "Hello" ); QCOMPARE( ts1.count(), 1 ); QVERIFY( !ts1.isEmpty() ); @@ -144,7 +145,6 @@ LocaleTests::testTranslatableConfig1() void LocaleTests::testTranslatableConfig2() { - QCOMPARE( QLocale().name(), "C" ); // Otherwise plain get() is dubious QVariantMap map; for ( const auto& language : someLanguages() ) From e2cb2690bd7a140097a4118cf376e91e416f0607 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 12:50:46 +0200 Subject: [PATCH 177/626] CI: tell where if the release builds fail --- ci/RELEASE.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/RELEASE.sh b/ci/RELEASE.sh index dfb65cfeb..78fc1f7ce 100755 --- a/ci/RELEASE.sh +++ b/ci/RELEASE.sh @@ -54,7 +54,7 @@ if test "x$BUILD_CLANG" = "xtrue" ; then rm -rf "$BUILDDIR" mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; } ( cd "$BUILDDIR" && CC=clang CXX=clang++ cmake .. && make -j4 ) || { echo "Could not perform test-build in $BUILDDIR." ; exit 1 ; } - ( cd "$BUILDDIR" && make test ) || { echo "Tests failed in $BUILDDIR." ; exit 1 ; } + ( cd "$BUILDDIR" && make test ) || { echo "Tests failed in $BUILDDIR (clang)." ; exit 1 ; } fi fi @@ -93,7 +93,7 @@ TMPDIR=$(mktemp -d --suffix="-calamares-$D") test -d "$TMPDIR" || { echo "Could not create tarball-build directory." ; exit 1 ; } tar xzf "$TAR_FILE" -C "$TMPDIR" || { echo "Could not unpack tarball." ; exit 1 ; } test -d "$TMPDIR/$TAR_V" || { echo "Tarball did not contain source directory." ; exit 1 ; } -( cd "$TMPDIR/$TAR_V" && cmake . && make -j4 && make test ) || { echo "Tarball build failed." ; exit 1 ; } +( cd "$TMPDIR/$TAR_V" && cmake . && make -j4 && make test ) || { echo "Tarball build failed in $TMPDIR." ; exit 1 ; } ### Cleanup # From 8636689ceacefd940cbc4f8ab75eea3bba7870e9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 12:54:03 +0200 Subject: [PATCH 178/626] [packagechooser] Fix tests when run from in-source build --- src/modules/packagechooser/Tests.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index 7e2552c28..537ecbd3c 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -45,21 +45,23 @@ PackageChooserTests::testBogus() void PackageChooserTests::testAppData() { - // Path from the build-dir - QString appdataName( "../io.calamares.calamares.appdata.xml" ); - if ( !QFile::exists( appdataName ) ) + // Path from the build-dir and from the running-the-test varies, + // for in-source build, for build/, and for tests-in-build/, + // so look in multiple places. + QString appdataName( "io.calamares.calamares.appdata.xml" ); + for ( const auto& prefix : QStringList { "", "../", "../../../", "../../../../" } ) { - // Running the tests by hand from the build-dir uses the - // path above, but ctest, used by "make test", runs them in - // the module build dir (e.g. build/src/modules/packagechooser) - // so we need to adjust the path some. - appdataName.prepend( "../../../" ); + if ( QFile::exists( prefix + appdataName ) ) + { + appdataName = prefix + appdataName; + break; + } } QVERIFY( QFile::exists( appdataName ) ); QVariantMap m; m.insert( "appdata", appdataName ); - + PackageItem p1 = PackageItem::fromAppData( m ); #ifdef HAVE_XML QVERIFY( p1.isValid() ); @@ -71,10 +73,10 @@ PackageChooserTests::testAppData() QCOMPARE( p1.description.get( QLocale( "en_GB" ) ), "Calamares Linux Installer" ); QCOMPARE( p1.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); QVERIFY( p1.screenshot.isNull() ); - + m.insert( "id", "calamares" ); m.insert( "screenshot", ":/images/calamares.png" ); - PackageItem p2= PackageItem::fromAppData( m ); + PackageItem p2 = PackageItem::fromAppData( m ); QVERIFY( p2.isValid() ); QCOMPARE( p2.id, "calamares" ); QCOMPARE( p2.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); From 2bb1474ebb9373b3660918bb937a164dcc7a85d9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 22:15:08 +0200 Subject: [PATCH 179/626] Changes: post-release housekeeping --- CHANGES | 9 +++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 855bf8fb8..9879043dc 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,15 @@ 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.13 (unreleased) # + +This release contains contributions from (alphabetically by first name): + +## Core ## + +## Modules ## + + # 3.2.12 (2019-08-07) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e5dde2c6..36c09abf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,10 +37,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.12 + VERSION 3.2.13 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 6b659b6f48e57ce5807c7691ebbf57b768af8b1b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 23:42:33 +0200 Subject: [PATCH 180/626] [libcalamares] Apply current coding standard to locale/ --- src/libcalamares/locale/TranslatableConfiguration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/locale/TranslatableConfiguration.h b/src/libcalamares/locale/TranslatableConfiguration.h index a055cbfbd..45679bce0 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.h +++ b/src/libcalamares/locale/TranslatableConfiguration.h @@ -51,14 +51,14 @@ public: } /** @brief How many strings (translations) are there? - * + * * This is always at least 1 (for the untranslated string), * but may be more than 1 even when isEmpty() is true -- * if there is no untranslated version, for instance. */ int count() const { return m_strings.count(); } /** @brief Consider this string empty? - * + * * Only the state of the untranslated string is considered, * so count() may be more than 1 even while the string is empty. */ From 81fa1735b15b26735cde85bae6515b09e60db35c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Aug 2019 23:43:45 +0200 Subject: [PATCH 181/626] [libcalamares] Apply current coding style --- src/libcalamares/CalamaresConfig.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/CalamaresConfig.h.in b/src/libcalamares/CalamaresConfig.h.in index 6fbab422c..55468cf15 100644 --- a/src/libcalamares/CalamaresConfig.h.in +++ b/src/libcalamares/CalamaresConfig.h.in @@ -12,4 +12,4 @@ #cmakedefine WITH_PYTHON #cmakedefine WITH_PYTHONQT -#endif // CALAMARESCONFIG_H +#endif // CALAMARESCONFIG_H From 6e9f1be9e9245f0b062097f61b36ce8a6f6f4e11 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 11:56:20 +0200 Subject: [PATCH 182/626] [libcalamares] Don't reformat string tables in GeoIP --- src/libcalamares/geoip/Handler.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libcalamares/geoip/Handler.cpp b/src/libcalamares/geoip/Handler.cpp index df033f476..21b88dd4b 100644 --- a/src/libcalamares/geoip/Handler.cpp +++ b/src/libcalamares/geoip/Handler.cpp @@ -38,11 +38,15 @@ handlerTypes() { using Type = CalamaresUtils::GeoIP::Handler::Type; + // *INDENT-OFF* + // clang-format off static const NamedEnumTable names{ - { QStringLiteral( "none" ), Type::None}, - { QStringLiteral( "json" ), Type::JSON}, - { QStringLiteral( "xml" ), Type::XML} + { QStringLiteral( "none" ), Type::None }, + { QStringLiteral( "json" ), Type::JSON }, + { QStringLiteral( "xml" ), Type::XML } }; + // *INDENT-ON* + // clang-format on return names; } From a2ab91474fa60110bc4af4ab051c00454bd2989b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:29:06 +0200 Subject: [PATCH 183/626] CI: massage the .clang-format file, it's just ASCII --- .clang-format | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/.clang-format b/.clang-format index d76498a3e..e98283194 100644 --- a/.clang-format +++ b/.clang-format @@ -1,34 +1,32 @@ ---- +--- BasedOnStyle: WebKit AlignAfterOpenBracket: Align AlignEscapedNewlines: Left -AllowAllParametersOfDeclarationOnNextLine: 'false' +AllowAllParametersOfDeclarationOnNextLine: "false" AllowShortFunctionsOnASingleLine: Inline -AllowShortIfStatementsOnASingleLine: 'false' -AllowShortLoopsOnASingleLine: 'false' +AllowShortIfStatementsOnASingleLine: "false" +AllowShortLoopsOnASingleLine: "false" AlwaysBreakAfterReturnType: TopLevelDefinitions AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: 'false' -BinPackParameters: 'false' +BinPackArguments: "false" +BinPackParameters: "false" BreakBeforeBraces: Allman -BreakBeforeTernaryOperators: 'true' +BreakBeforeTernaryOperators: "true" BreakConstructorInitializers: BeforeComma ColumnLimit: 120 -Cpp11BracedListStyle: 'false' -FixNamespaceComments: 'true' +Cpp11BracedListStyle: "false" +FixNamespaceComments: "true" IncludeBlocks: Preserve -IndentWidth: '4' -MaxEmptyLinesToKeep: '2' +IndentWidth: "4" +MaxEmptyLinesToKeep: "2" NamespaceIndentation: None PointerAlignment: Left -ReflowComments: 'false' -SortIncludes: 'true' -SpaceAfterCStyleCast: 'false' -SpacesBeforeTrailingComments: '2' -SpacesInAngles: 'true' -SpacesInParentheses: 'true' -SpacesInSquareBrackets: 'true' +ReflowComments: "false" +SortIncludes: "true" +SpaceAfterCStyleCast: "false" +SpacesBeforeTrailingComments: "2" +SpacesInAngles: "true" +SpacesInParentheses: "true" +SpacesInSquareBrackets: "true" Standard: Cpp11 - -... From ec073ee188c40b7430955fb4fc4213a75480b2d9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:32:21 +0200 Subject: [PATCH 184/626] [libcalamares] Apply coding style to geoip/ --- src/libcalamares/geoip/GeoIPJSON.cpp | 28 +++++++++------ src/libcalamares/geoip/GeoIPJSON.h | 8 ++--- src/libcalamares/geoip/GeoIPXML.cpp | 14 ++++++-- src/libcalamares/geoip/GeoIPXML.h | 8 ++--- src/libcalamares/geoip/Handler.cpp | 50 +++++++++++++-------------- src/libcalamares/geoip/Handler.h | 9 +++-- src/libcalamares/geoip/Interface.cpp | 10 +++--- src/libcalamares/geoip/Interface.h | 30 ++++++++++------ src/libcalamares/geoip/test_geoip.cpp | 29 ++++++++++------ 9 files changed, 106 insertions(+), 80 deletions(-) diff --git a/src/libcalamares/geoip/GeoIPJSON.cpp b/src/libcalamares/geoip/GeoIPJSON.cpp index 4b7562d7e..85dc79619 100644 --- a/src/libcalamares/geoip/GeoIPJSON.cpp +++ b/src/libcalamares/geoip/GeoIPJSON.cpp @@ -30,7 +30,7 @@ namespace CalamaresUtils namespace GeoIP { -GeoIPJSON::GeoIPJSON(const QString& attribute) +GeoIPJSON::GeoIPJSON( const QString& attribute ) : Interface( attribute.isEmpty() ? QStringLiteral( "time_zone" ) : attribute ) { } @@ -42,19 +42,25 @@ GeoIPJSON::GeoIPJSON(const QString& attribute) * "foo" of @p m, like a regular JSON lookup would. */ static QString -selectMap( const QVariantMap& m, const QStringList& l, int index) +selectMap( const QVariantMap& m, const QStringList& l, int index ) { if ( index >= l.count() ) + { return QString(); + } - QString attributeName = l[index]; + QString attributeName = l[ index ]; if ( index == l.count() - 1 ) + { return CalamaresUtils::getString( m, attributeName ); + } else { bool success = false; // bogus if ( m.contains( attributeName ) ) - return selectMap( CalamaresUtils::getSubMap( m, attributeName, success ), l, index+1 ); + { + return selectMap( CalamaresUtils::getSubMap( m, attributeName, success ), l, index + 1 ); + } return QString(); } } @@ -67,18 +73,18 @@ GeoIPJSON::rawReply( const QByteArray& data ) YAML::Node doc = YAML::Load( data ); QVariant var = CalamaresUtils::yamlToVariant( doc ); - if ( !var.isNull() && - var.isValid() && - var.type() == QVariant::Map ) + if ( !var.isNull() && var.isValid() && var.type() == QVariant::Map ) { - return selectMap( var.toMap(), m_element.split('.'), 0 ); + return selectMap( var.toMap(), m_element.split( '.' ), 0 ); } else + { cWarning() << "Invalid YAML data for GeoIPJSON"; + } } catch ( YAML::Exception& e ) { - CalamaresUtils::explainYamlException( e, data, "GeoIP data"); + CalamaresUtils::explainYamlException( e, data, "GeoIP data" ); } return QString(); @@ -90,5 +96,5 @@ GeoIPJSON::processReply( const QByteArray& data ) return splitTZString( rawReply( data ) ); } -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils diff --git a/src/libcalamares/geoip/GeoIPJSON.h b/src/libcalamares/geoip/GeoIPJSON.h index 4d7ded631..3f7756dd8 100644 --- a/src/libcalamares/geoip/GeoIPJSON.h +++ b/src/libcalamares/geoip/GeoIPJSON.h @@ -45,9 +45,9 @@ public: explicit GeoIPJSON( const QString& attribute = QString() ); virtual RegionZonePair processReply( const QByteArray& ) override; - virtual QString rawReply(const QByteArray & ) override; -} ; + virtual QString rawReply( const QByteArray& ) override; +}; -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/geoip/GeoIPXML.cpp b/src/libcalamares/geoip/GeoIPXML.cpp index b658042bf..d84eb3b21 100644 --- a/src/libcalamares/geoip/GeoIPXML.cpp +++ b/src/libcalamares/geoip/GeoIPXML.cpp @@ -48,10 +48,12 @@ getElementTexts( const QByteArray& data, const QString& tag ) cDebug() << "GeoIP found" << tzElements.length() << "elements"; for ( int it = 0; it < tzElements.length(); ++it ) { - auto e = tzElements.at(it).toElement(); + auto e = tzElements.at( it ).toElement(); auto e_text = e.text(); if ( !e_text.isEmpty() ) + { elements.append( e_text ); + } } } else @@ -60,7 +62,9 @@ getElementTexts( const QByteArray& data, const QString& tag ) } if ( elements.count() < 1 ) + { cWarning() << "GeopIP XML had no non-empty elements" << tag; + } return elements; } @@ -71,7 +75,9 @@ GeoIPXML::rawReply( const QByteArray& data ) { for ( const auto& e : getElementTexts( data, m_element ) ) if ( !e.isEmpty() ) + { return e; + } return QString(); } @@ -83,11 +89,13 @@ GeoIPXML::processReply( const QByteArray& data ) { auto tz = splitTZString( e ); if ( !tz.first.isEmpty() ) + { return tz; + } } return RegionZonePair(); } -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils diff --git a/src/libcalamares/geoip/GeoIPXML.h b/src/libcalamares/geoip/GeoIPXML.h index 356e88b12..73147ff91 100644 --- a/src/libcalamares/geoip/GeoIPXML.h +++ b/src/libcalamares/geoip/GeoIPXML.h @@ -45,9 +45,9 @@ public: explicit GeoIPXML( const QString& element = QString() ); virtual RegionZonePair processReply( const QByteArray& ) override; - virtual QString rawReply(const QByteArray & ) override; -} ; + virtual QString rawReply( const QByteArray& ) override; +}; -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/geoip/Handler.cpp b/src/libcalamares/geoip/Handler.cpp index 21b88dd4b..6017c404f 100644 --- a/src/libcalamares/geoip/Handler.cpp +++ b/src/libcalamares/geoip/Handler.cpp @@ -19,7 +19,7 @@ #include "Handler.h" #include "GeoIPJSON.h" -#if defined(QT_XML_LIB) +#if defined( QT_XML_LIB ) #include "GeoIPXML.h" #endif @@ -28,8 +28,8 @@ #include "utils/Variant.h" #include -#include #include +#include #include @@ -76,7 +76,7 @@ Handler::Handler( const QString& implementation, const QString& url, const QStri { cWarning() << "GeoIP style *none* does not do anything."; } -#if !defined(QT_XML_LIB) +#if !defined( QT_XML_LIB ) else if ( m_type == Type::XML ) { m_type = Type::None; @@ -85,9 +85,7 @@ Handler::Handler( const QString& implementation, const QString& url, const QStri #endif } -Handler::~Handler() -{ -} +Handler::~Handler() {} static QByteArray synchronous_get( const QString& urlstring ) @@ -108,17 +106,17 @@ synchronous_get( const QString& urlstring ) static std::unique_ptr< Interface > create_interface( Handler::Type t, const QString& selector ) { - switch( t ) + switch ( t ) { - case Handler::Type::None: - return nullptr; - case Handler::Type::JSON: - return std::make_unique< GeoIPJSON >( selector ); - case Handler::Type::XML: -#if defined(QT_XML_LIB) - return std::make_unique< GeoIPXML >( selector ); + case Handler::Type::None: + return nullptr; + case Handler::Type::JSON: + return std::make_unique< GeoIPJSON >( selector ); + case Handler::Type::XML: +#if defined( QT_XML_LIB ) + return std::make_unique< GeoIPXML >( selector ); #else - return nullptr; + return nullptr; #endif } NOTREACHED return nullptr; @@ -129,7 +127,9 @@ do_query( Handler::Type type, const QString& url, const QString& selector ) { const auto interface = create_interface( type, selector ); if ( !interface ) + { return RegionZonePair(); + } return interface->processReply( synchronous_get( url ) ); } @@ -139,7 +139,9 @@ do_raw_query( Handler::Type type, const QString& url, const QString& selector ) { const auto interface = create_interface( type, selector ); if ( !interface ) + { return QString(); + } return interface->rawReply( synchronous_get( url ) ); } @@ -148,7 +150,9 @@ RegionZonePair Handler::get() const { if ( !isValid() ) + { return RegionZonePair(); + } return do_query( m_type, m_url, m_selector ); } @@ -160,17 +164,16 @@ Handler::query() const QString url = m_url; QString selector = m_selector; - return QtConcurrent::run( [=] - { - return do_query( type, url, selector ); - } ); + return QtConcurrent::run( [=] { return do_query( type, url, selector ); } ); } QString Handler::getRaw() const { if ( !isValid() ) + { return QString(); + } return do_raw_query( m_type, m_url, m_selector ); } @@ -182,11 +185,8 @@ Handler::queryRaw() const QString url = m_url; QString selector = m_selector; - return QtConcurrent::run( [=] - { - return do_raw_query( type, url, selector ); - } ); + return QtConcurrent::run( [=] { return do_raw_query( type, url, selector ); } ); } -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils diff --git a/src/libcalamares/geoip/Handler.h b/src/libcalamares/geoip/Handler.h index 8e435b5b7..518964caf 100644 --- a/src/libcalamares/geoip/Handler.h +++ b/src/libcalamares/geoip/Handler.h @@ -21,9 +21,9 @@ #include "Interface.h" -#include #include #include +#include namespace CalamaresUtils { @@ -46,7 +46,7 @@ public: None, JSON, XML - } ; + }; /** @brief An unconfigured handler; this always returns errors. */ Handler(); @@ -89,7 +89,6 @@ private: const QString m_selector; }; -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils #endif - diff --git a/src/libcalamares/geoip/Interface.cpp b/src/libcalamares/geoip/Interface.cpp index 36e680aab..2cecb63c5 100644 --- a/src/libcalamares/geoip/Interface.cpp +++ b/src/libcalamares/geoip/Interface.cpp @@ -25,14 +25,12 @@ namespace CalamaresUtils namespace GeoIP { -Interface::Interface(const QString& e) +Interface::Interface( const QString& e ) : m_element( e ) { } -Interface::~Interface() -{ -} +Interface::~Interface() {} RegionZonePair splitTZString( const QString& tz ) @@ -53,5 +51,5 @@ splitTZString( const QString& tz ) return RegionZonePair( QString(), QString() ); } -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils diff --git a/src/libcalamares/geoip/Interface.h b/src/libcalamares/geoip/Interface.h index 7db8c4c91..1a9beaa41 100644 --- a/src/libcalamares/geoip/Interface.h +++ b/src/libcalamares/geoip/Interface.h @@ -27,7 +27,7 @@ class QByteArray; -namespace CalamaresUtils +namespace CalamaresUtils { namespace GeoIP { @@ -38,18 +38,27 @@ namespace GeoIP * pasting the strings back together with a "/" is the right thing to * do. The Zone **may** contain a "/" (e.g. "Kentucky/Monticello"). */ -class DLLEXPORT RegionZonePair : public QPair +class DLLEXPORT RegionZonePair : public QPair< QString, QString > { public: /** @brief Construct from an existing pair. */ - explicit RegionZonePair( const QPair& p ) : QPair(p) { } + explicit RegionZonePair( const QPair& p ) + : QPair( p ) + { + } /** @brief Construct from two strings, like qMakePair(). */ - RegionZonePair( const QString& region, const QString& zone ) : QPair( region, zone ) { } + RegionZonePair( const QString& region, const QString& zone ) + : QPair( region, zone ) + { + } /** @brief An invalid zone pair (empty strings). */ - RegionZonePair() : QPair( QString(), QString() ) { } + RegionZonePair() + : QPair( QString(), QString() ) + { + } bool isValid() const { return !first.isEmpty(); } -} ; +}; /** @brief Splits a region/zone string into a pair. * @@ -60,8 +69,7 @@ public: * pair of empty QStrings if it can't. (e.g. America/North Dakota/Beulah * will return "America", "North_Dakota/Beulah"). */ -DLLEXPORT RegionZonePair -splitTZString( const QString& s ); +DLLEXPORT RegionZonePair splitTZString( const QString& s ); /** * @brief Interface for GeoIP retrievers. @@ -93,8 +101,8 @@ protected: Interface( const QString& e = QString() ); QString m_element; // string for selecting from data -} ; +}; -} -} // namespace +} // namespace GeoIP +} // namespace CalamaresUtils #endif diff --git a/src/libcalamares/geoip/test_geoip.cpp b/src/libcalamares/geoip/test_geoip.cpp index 5f7ab935c..32c6f4e24 100644 --- a/src/libcalamares/geoip/test_geoip.cpp +++ b/src/libcalamares/geoip/test_geoip.cpp @@ -30,34 +30,40 @@ using std::cerr; using namespace CalamaresUtils::GeoIP; -int main(int argc, char** argv) +int +main( int argc, char** argv ) { - if (argc != 2) + if ( argc != 2 ) { cerr << "Usage: curl url | test_geoip \n"; return 1; } Interface* handler = nullptr; - if ( QStringLiteral( "json" ) == argv[1] ) + if ( QStringLiteral( "json" ) == argv[ 1 ] ) + { handler = new GeoIPJSON; + } #ifdef QT_XML_LIB - else if ( QStringLiteral( "xml" ) == argv[1] ) + else if ( QStringLiteral( "xml" ) == argv[ 1 ] ) + { handler = new GeoIPXML; + } #endif if ( !handler ) { - cerr << "Unknown format '" << argv[1] << "'\n"; + cerr << "Unknown format '" << argv[ 1 ] << "'\n"; return 1; } QByteArray ba; - while( !std::cin.eof() ) { - char arr[1024]; - std::cin.read(arr, sizeof(arr)); - int s = static_cast( std::cin.gcount() ); - ba.append(arr, s); + while ( !std::cin.eof() ) + { + char arr[ 1024 ]; + std::cin.read( arr, sizeof( arr ) ); + int s = static_cast< int >( std::cin.gcount() ); + ba.append( arr, s ); } auto tz = handler->processReply( ba ); @@ -67,7 +73,8 @@ int main(int argc, char** argv) } else { - std::cout << "TimeZone Region=" << tz.first.toLatin1().constData() << "\nTimeZone Zone=" << tz.second.toLatin1().constData() << '\n'; + std::cout << "TimeZone Region=" << tz.first.toLatin1().constData() + << "\nTimeZone Zone=" << tz.second.toLatin1().constData() << '\n'; } return 0; From 839e496fcb3c6309d4337c6d7828ae11f8a344bb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:40:13 +0200 Subject: [PATCH 185/626] CI: when I said 'left' I meant 'dont' --- .clang-format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.clang-format b/.clang-format index e98283194..cc430e627 100644 --- a/.clang-format +++ b/.clang-format @@ -2,7 +2,7 @@ BasedOnStyle: WebKit AlignAfterOpenBracket: Align -AlignEscapedNewlines: Left +AlignEscapedNewlines: DontAlign AllowAllParametersOfDeclarationOnNextLine: "false" AllowShortFunctionsOnASingleLine: Inline AllowShortIfStatementsOnASingleLine: "false" From 115f5bfd82e3193d90b257b41880e12cc4660da7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:41:41 +0200 Subject: [PATCH 186/626] [libcalamares] Apply coding style to remainder of geoip/ --- src/libcalamares/geoip/GeoIPTests.cpp | 65 +++++++++++++-------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/src/libcalamares/geoip/GeoIPTests.cpp b/src/libcalamares/geoip/GeoIPTests.cpp index ec7511370..c24b6d98f 100644 --- a/src/libcalamares/geoip/GeoIPTests.cpp +++ b/src/libcalamares/geoip/GeoIPTests.cpp @@ -34,21 +34,16 @@ QTEST_GUILESS_MAIN( GeoIPTests ) using namespace CalamaresUtils::GeoIP; -GeoIPTests::GeoIPTests() -{ -} +GeoIPTests::GeoIPTests() {} -GeoIPTests::~GeoIPTests() -{ -} +GeoIPTests::~GeoIPTests() {} void GeoIPTests::initTestCase() { } -static const char json_data_attribute[] = - "{\"time_zone\":\"Europe/Amsterdam\"}"; +static const char json_data_attribute[] = "{\"time_zone\":\"Europe/Amsterdam\"}"; void GeoIPTests::testJSON() @@ -67,7 +62,8 @@ GeoIPTests::testJSON() QCOMPARE( tz.first, QStringLiteral( "America" ) ); } -void GeoIPTests::testJSONalt() +void +GeoIPTests::testJSONalt() { GeoIPJSON handler( "zona_de_hora" ); @@ -102,7 +98,7 @@ GeoIPTests::testJSONbad() static const char xml_data_ubiquity[] = - R"( + R"( 85.150.1.1 OK NL @@ -133,8 +129,8 @@ GeoIPTests::testXML() void GeoIPTests::testXML2() { - static const char data[] = - "America/North Dakota/Beulah"; // With a space! + static const char data[] + = "America/North Dakota/Beulah"; // With a space! #ifdef QT_XML_LIB GeoIPXML handler; @@ -146,7 +142,8 @@ GeoIPTests::testXML2() } -void GeoIPTests::testXMLalt() +void +GeoIPTests::testXMLalt() { #ifdef QT_XML_LIB GeoIPXML handler( "ZT" ); @@ -173,29 +170,30 @@ GeoIPTests::testXMLbad() #endif } -void GeoIPTests::testSplitTZ() +void +GeoIPTests::testSplitTZ() { using namespace CalamaresUtils::GeoIP; - auto tz = splitTZString( QStringLiteral("Moon/Dark_side") ); - QCOMPARE( tz.first, QStringLiteral("Moon") ); - QCOMPARE( tz.second, QStringLiteral("Dark_side") ); + auto tz = splitTZString( QStringLiteral( "Moon/Dark_side" ) ); + QCOMPARE( tz.first, QStringLiteral( "Moon" ) ); + QCOMPARE( tz.second, QStringLiteral( "Dark_side" ) ); // Some providers return weirdly escaped data - tz = splitTZString( QStringLiteral("America\\/NewYork") ); - QCOMPARE( tz.first, QStringLiteral("America") ); - QCOMPARE( tz.second, QStringLiteral("NewYork") ); // That's not actually the zone name + tz = splitTZString( QStringLiteral( "America\\/NewYork" ) ); + QCOMPARE( tz.first, QStringLiteral( "America" ) ); + QCOMPARE( tz.second, QStringLiteral( "NewYork" ) ); // That's not actually the zone name // Check that bogus data fails tz = splitTZString( QString() ); QCOMPARE( tz.first, QString() ); - tz = splitTZString( QStringLiteral("America.NewYork") ); + tz = splitTZString( QStringLiteral( "America.NewYork" ) ); QCOMPARE( tz.first, QString() ); // Check that three-level is split properly and space is replaced - tz = splitTZString( QStringLiteral("America/North Dakota/Beulah") ); - QCOMPARE( tz.first, QStringLiteral("America") ); - QCOMPARE( tz.second, QStringLiteral("North_Dakota/Beulah") ); + tz = splitTZString( QStringLiteral( "America/North Dakota/Beulah" ) ); + QCOMPARE( tz.first, QStringLiteral( "America" ) ); + QCOMPARE( tz.second, QStringLiteral( "North_Dakota/Beulah" ) ); } @@ -217,19 +215,20 @@ synchronous_get( const char* urlstring ) return reply->readAll(); } -#define CHECK_GET(t, selector, url) \ +#define CHECK_GET( t, selector, url ) \ { \ auto tz = GeoIP##t( selector ).processReply( synchronous_get( url ) ); \ qDebug() << tz; \ QCOMPARE( default_tz, tz ); \ - auto tz2 = CalamaresUtils::GeoIP::Handler( ""#t, url, selector ).get(); \ + auto tz2 = CalamaresUtils::GeoIP::Handler( "" #t, url, selector ).get(); \ qDebug() << tz2; \ QCOMPARE( default_tz, tz2 ); \ } -void GeoIPTests::testGet() +void +GeoIPTests::testGet() { - if ( !QProcessEnvironment::systemEnvironment().contains( QStringLiteral("TEST_HTTP_GET") ) ) + if ( !QProcessEnvironment::systemEnvironment().contains( QStringLiteral( "TEST_HTTP_GET" ) ) ) { qDebug() << "Skipping HTTP GET tests, set TEST_HTTP_GET environment variable to enable"; return; @@ -248,14 +247,14 @@ void GeoIPTests::testGet() // Each expansion of CHECK_GET does a synchronous GET, then checks that // the TZ data is the same as the default_tz; this is fragile if the // services don't agree on the location of where the test is run. - CHECK_GET( JSON, QString(), "https://geoip.kde.org/v1/calamares" ) // Check it's consistent - CHECK_GET( JSON, QStringLiteral("timezone"), "https://ipapi.co/json" ) // Different JSON - CHECK_GET( JSON, QStringLiteral("timezone"), "http://ip-api.com/json" ) + CHECK_GET( JSON, QString(), "https://geoip.kde.org/v1/calamares" ) // Check it's consistent + CHECK_GET( JSON, QStringLiteral( "timezone" ), "https://ipapi.co/json" ) // Different JSON + CHECK_GET( JSON, QStringLiteral( "timezone" ), "http://ip-api.com/json" ) - CHECK_GET( JSON, QStringLiteral("Location.TimeZone"), "https://geoip.kde.org/debug" ) // 2-level JSON + CHECK_GET( JSON, QStringLiteral( "Location.TimeZone" ), "https://geoip.kde.org/debug" ) // 2-level JSON #ifdef QT_XML_LIB CHECK_GET( XML, QString(), "http://geoip.ubuntu.com/lookup" ) // Ubiquity's XML format - CHECK_GET( XML, QString(), "https://geoip.kde.org/v1/ubiquity" ) // Temporary KDE service + CHECK_GET( XML, QString(), "https://geoip.kde.org/v1/ubiquity" ) // Temporary KDE service #endif } From 05bcf4e85335a85f8f8c670696e2b6bb76d44bba Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 13:14:14 +0200 Subject: [PATCH 187/626] Changes: document Coding Style application --- CHANGES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES b/CHANGES index 9879043dc..dbdcb3523 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,11 @@ This release contains contributions from (alphabetically by first name): ## Core ## +- The Calamares standard coding style -- embodied in `ci/calamaresstyle` + has had a few updates and has now been consistently applied across + the core codebase (e.g. libcalamares, libcalamaresui, calamares, but + not the modules). + ## Modules ## From 47dbf9ab0c0adfbbca2bc16eed7aed94def269a8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 10:23:36 -0400 Subject: [PATCH 188/626] [libcalamares] Move 3rd party code to separate dir --- {src/libcalamaresui/utils => 3rdparty}/qjsonitem.cpp | 0 {src/libcalamaresui/utils => 3rdparty}/qjsonitem.h | 0 {src/libcalamaresui/utils => 3rdparty}/qjsonmodel.cpp | 0 {src/libcalamaresui/utils => 3rdparty}/qjsonmodel.h | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {src/libcalamaresui/utils => 3rdparty}/qjsonitem.cpp (100%) rename {src/libcalamaresui/utils => 3rdparty}/qjsonitem.h (100%) rename {src/libcalamaresui/utils => 3rdparty}/qjsonmodel.cpp (100%) rename {src/libcalamaresui/utils => 3rdparty}/qjsonmodel.h (100%) diff --git a/src/libcalamaresui/utils/qjsonitem.cpp b/3rdparty/qjsonitem.cpp similarity index 100% rename from src/libcalamaresui/utils/qjsonitem.cpp rename to 3rdparty/qjsonitem.cpp diff --git a/src/libcalamaresui/utils/qjsonitem.h b/3rdparty/qjsonitem.h similarity index 100% rename from src/libcalamaresui/utils/qjsonitem.h rename to 3rdparty/qjsonitem.h diff --git a/src/libcalamaresui/utils/qjsonmodel.cpp b/3rdparty/qjsonmodel.cpp similarity index 100% rename from src/libcalamaresui/utils/qjsonmodel.cpp rename to 3rdparty/qjsonmodel.cpp diff --git a/src/libcalamaresui/utils/qjsonmodel.h b/3rdparty/qjsonmodel.h similarity index 100% rename from src/libcalamaresui/utils/qjsonmodel.h rename to 3rdparty/qjsonmodel.h From e7c66de4dff82cf47df836d84e9cba1aee21efb4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 10:24:18 -0400 Subject: [PATCH 189/626] [libcalamares] Move kdsingleapplicationguard to 3rdparty --- .../kdsingleapplicationguard/LICENSE.LGPL.txt | 0 .../kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp | 0 .../kdsingleapplicationguard/kdlockedsharedmemorypointer.h | 0 .../kdsingleapplicationguard/kdsharedmemorylocker.cpp | 0 .../kdsingleapplicationguard/kdsharedmemorylocker.h | 0 .../kdsingleapplicationguard/kdsingleapplicationguard.cpp | 0 .../kdsingleapplicationguard/kdsingleapplicationguard.h | 0 .../kdsingleapplicationguard/kdtoolsglobal.cpp | 0 .../kdsingleapplicationguard/kdtoolsglobal.h | 0 .../kdsingleapplicationguard/pimpl_ptr.cpp | 0 .../kdsingleapplicationguard/pimpl_ptr.h | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/LICENSE.LGPL.txt (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdlockedsharedmemorypointer.h (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdsharedmemorylocker.cpp (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdsharedmemorylocker.h (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdsingleapplicationguard.cpp (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdsingleapplicationguard.h (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdtoolsglobal.cpp (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/kdtoolsglobal.h (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/pimpl_ptr.cpp (100%) rename {src/libcalamares => 3rdparty}/kdsingleapplicationguard/pimpl_ptr.h (100%) diff --git a/src/libcalamares/kdsingleapplicationguard/LICENSE.LGPL.txt b/3rdparty/kdsingleapplicationguard/LICENSE.LGPL.txt similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/LICENSE.LGPL.txt rename to 3rdparty/kdsingleapplicationguard/LICENSE.LGPL.txt diff --git a/src/libcalamares/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp b/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp rename to 3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp diff --git a/src/libcalamares/kdsingleapplicationguard/kdlockedsharedmemorypointer.h b/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.h similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdlockedsharedmemorypointer.h rename to 3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.h diff --git a/src/libcalamares/kdsingleapplicationguard/kdsharedmemorylocker.cpp b/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdsharedmemorylocker.cpp rename to 3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp diff --git a/src/libcalamares/kdsingleapplicationguard/kdsharedmemorylocker.h b/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.h similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdsharedmemorylocker.h rename to 3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.h diff --git a/src/libcalamares/kdsingleapplicationguard/kdsingleapplicationguard.cpp b/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdsingleapplicationguard.cpp rename to 3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp diff --git a/src/libcalamares/kdsingleapplicationguard/kdsingleapplicationguard.h b/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdsingleapplicationguard.h rename to 3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h diff --git a/src/libcalamares/kdsingleapplicationguard/kdtoolsglobal.cpp b/3rdparty/kdsingleapplicationguard/kdtoolsglobal.cpp similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdtoolsglobal.cpp rename to 3rdparty/kdsingleapplicationguard/kdtoolsglobal.cpp diff --git a/src/libcalamares/kdsingleapplicationguard/kdtoolsglobal.h b/3rdparty/kdsingleapplicationguard/kdtoolsglobal.h similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/kdtoolsglobal.h rename to 3rdparty/kdsingleapplicationguard/kdtoolsglobal.h diff --git a/src/libcalamares/kdsingleapplicationguard/pimpl_ptr.cpp b/3rdparty/kdsingleapplicationguard/pimpl_ptr.cpp similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/pimpl_ptr.cpp rename to 3rdparty/kdsingleapplicationguard/pimpl_ptr.cpp diff --git a/src/libcalamares/kdsingleapplicationguard/pimpl_ptr.h b/3rdparty/kdsingleapplicationguard/pimpl_ptr.h similarity index 100% rename from src/libcalamares/kdsingleapplicationguard/pimpl_ptr.h rename to 3rdparty/kdsingleapplicationguard/pimpl_ptr.h From 937ff608ebc7ab74f3c5a6a17e8849cc6e1b7c9a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 10:27:52 -0400 Subject: [PATCH 190/626] [libcalamaresui] Move spinner widget to 3rd party --- {src/libcalamaresui/widgets => 3rdparty}/waitingspinnerwidget.cpp | 0 {src/libcalamaresui/widgets => 3rdparty}/waitingspinnerwidget.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {src/libcalamaresui/widgets => 3rdparty}/waitingspinnerwidget.cpp (100%) rename {src/libcalamaresui/widgets => 3rdparty}/waitingspinnerwidget.h (100%) diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.cpp b/3rdparty/waitingspinnerwidget.cpp similarity index 100% rename from src/libcalamaresui/widgets/waitingspinnerwidget.cpp rename to 3rdparty/waitingspinnerwidget.cpp diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.h b/3rdparty/waitingspinnerwidget.h similarity index 100% rename from src/libcalamaresui/widgets/waitingspinnerwidget.h rename to 3rdparty/waitingspinnerwidget.h From 315c0aca1563b31c7da2ae976a8bf09713050342 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 10:29:21 -0400 Subject: [PATCH 191/626] [3rdparty] Not actually part of Calamares --- 3rdparty/qjsonitem.cpp | 3 +-- 3rdparty/qjsonitem.h | 3 +-- 3rdparty/qjsonmodel.cpp | 3 +-- 3rdparty/qjsonmodel.h | 3 +-- 3rdparty/waitingspinnerwidget.cpp | 3 +-- 3rdparty/waitingspinnerwidget.h | 3 +-- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/3rdparty/qjsonitem.cpp b/3rdparty/qjsonitem.cpp index cdc4b3b13..6bb1fa4c7 100644 --- a/3rdparty/qjsonitem.cpp +++ b/3rdparty/qjsonitem.cpp @@ -1,5 +1,4 @@ -/* === This file is part of Calamares - === - * +/* * SPDX-License-Identifier: GPL-3.0+ * License-Filename: LICENSES/GPLv3+-QJsonModel */ diff --git a/3rdparty/qjsonitem.h b/3rdparty/qjsonitem.h index 113c9da97..137c59000 100644 --- a/3rdparty/qjsonitem.h +++ b/3rdparty/qjsonitem.h @@ -1,5 +1,4 @@ -/* === This file is part of Calamares - === - * +/* * SPDX-License-Identifier: GPL-3.0+ * License-Filename: LICENSES/GPLv3+-QJsonModel */ diff --git a/3rdparty/qjsonmodel.cpp b/3rdparty/qjsonmodel.cpp index 4238bfd6b..020d27e42 100644 --- a/3rdparty/qjsonmodel.cpp +++ b/3rdparty/qjsonmodel.cpp @@ -1,5 +1,4 @@ -/* === This file is part of Calamares - === - * +/* * SPDX-License-Identifier: GPL-3.0+ * License-Filename: LICENSES/GPLv3+-QJsonModel */ diff --git a/3rdparty/qjsonmodel.h b/3rdparty/qjsonmodel.h index fc2c4abe1..32c062ba8 100644 --- a/3rdparty/qjsonmodel.h +++ b/3rdparty/qjsonmodel.h @@ -1,5 +1,4 @@ -/* === This file is part of Calamares - === - * +/* * SPDX-License-Identifier: GPL-3.0+ * License-Filename: LICENSES/GPLv3+-QJsonModel */ diff --git a/3rdparty/waitingspinnerwidget.cpp b/3rdparty/waitingspinnerwidget.cpp index 317d83807..45c689019 100644 --- a/3rdparty/waitingspinnerwidget.cpp +++ b/3rdparty/waitingspinnerwidget.cpp @@ -1,5 +1,4 @@ -/* === This file is part of Calamares - === - * +/* * SPDX-License-Identifier: MIT * License-Filename: LICENSES/MIT-QtWaitingSpinner */ diff --git a/3rdparty/waitingspinnerwidget.h b/3rdparty/waitingspinnerwidget.h index d71976ef8..b3e8df9a0 100644 --- a/3rdparty/waitingspinnerwidget.h +++ b/3rdparty/waitingspinnerwidget.h @@ -1,5 +1,4 @@ -/* === This file is part of Calamares - === - * +/* * SPDX-License-Identifier: MIT * License-Filename: LICENSES/MIT-QtWaitingSpinner */ From 8050b5d1da405c80910aa5a13781856b14dace2f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 10:37:02 -0400 Subject: [PATCH 192/626] [3rdparty] Add License information for kdsingleapplicationguard --- .../kdlockedsharedmemorypointer.cpp | 6 + .../kdlockedsharedmemorypointer.h | 8 +- .../kdsharedmemorylocker.cpp | 6 + .../kdsharedmemorylocker.h | 6 + .../kdsingleapplicationguard.cpp | 6 + .../kdsingleapplicationguard.h | 6 + .../kdtoolsglobal.cpp | 6 + .../kdsingleapplicationguard/kdtoolsglobal.h | 6 + .../kdsingleapplicationguard/pimpl_ptr.cpp | 14 +- 3rdparty/kdsingleapplicationguard/pimpl_ptr.h | 6 + LICENSES/LGPLv2-KDAB | 488 ++++++++++++++++++ 11 files changed, 553 insertions(+), 5 deletions(-) create mode 100644 LICENSES/LGPLv2-KDAB diff --git a/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp b/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp index 56ab8ebe4..77e95e649 100644 --- a/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp +++ b/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #include "kdlockedsharedmemorypointer.h" #if QT_VERSION >= 0x040400 || defined( DOXYGEN_RUN ) diff --git a/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.h b/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.h index df0ea4998..b9c5d588f 100644 --- a/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.h +++ b/3rdparty/kdsingleapplicationguard/kdlockedsharedmemorypointer.h @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #ifndef __KDTOOLS__CORE__KDLOCKEDSHAREDMEMORYPOINTER_H__ #define __KDTOOLS__CORE__KDLOCKEDSHAREDMEMORYPOINTER_H__ @@ -74,7 +80,7 @@ public: typedef const T* const_iterator; typedef std::reverse_iterator< const_iterator > const_reverse_iterator; typedef std::reverse_iterator< iterator > reverse_iterator; - + iterator begin() { return get(); } const_iterator begin() const { return get(); } diff --git a/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp b/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp index 0c99b8fff..a13a45a27 100644 --- a/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp +++ b/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #include "kdsharedmemorylocker.h" #if QT_VERSION >= 0x040400 || defined( DOXYGEN_RUN ) diff --git a/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.h b/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.h index 7ae83e771..82b759283 100644 --- a/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.h +++ b/3rdparty/kdsingleapplicationguard/kdsharedmemorylocker.h @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #ifndef __KDTOOLS__CORE__KDSHAREDMEMORYLOCKER_H #define __KDTOOLS__CORE__KDSHAREDMEMORYLOCKER_H diff --git a/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp b/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp index ea8ccce33..4c13e1da0 100644 --- a/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp +++ b/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #include "kdsingleapplicationguard.h" #if QT_VERSION >= 0x040400 || defined(DOXYGEN_RUN) diff --git a/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h b/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h index d529fdb3e..8ac411a68 100644 --- a/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h +++ b/3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #ifndef KDTOOLSCORE_KDSINGLEAPPLICATIONGUARD_H #define KDTOOLSCORE_KDSINGLEAPPLICATIONGUARD_H diff --git a/3rdparty/kdsingleapplicationguard/kdtoolsglobal.cpp b/3rdparty/kdsingleapplicationguard/kdtoolsglobal.cpp index f530cc85b..d3405e82f 100644 --- a/3rdparty/kdsingleapplicationguard/kdtoolsglobal.cpp +++ b/3rdparty/kdsingleapplicationguard/kdtoolsglobal.cpp @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #include "kdtoolsglobal.h" #include diff --git a/3rdparty/kdsingleapplicationguard/kdtoolsglobal.h b/3rdparty/kdsingleapplicationguard/kdtoolsglobal.h index c0e37ac76..37ca5857e 100644 --- a/3rdparty/kdsingleapplicationguard/kdtoolsglobal.h +++ b/3rdparty/kdsingleapplicationguard/kdtoolsglobal.h @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #ifndef KDTOOLS_KDTOOLSGLOBAL_H #define KDTOOLS_KDTOOLSGLOBAL_H diff --git a/3rdparty/kdsingleapplicationguard/pimpl_ptr.cpp b/3rdparty/kdsingleapplicationguard/pimpl_ptr.cpp index 3045ebc2a..35b52d419 100644 --- a/3rdparty/kdsingleapplicationguard/pimpl_ptr.cpp +++ b/3rdparty/kdsingleapplicationguard/pimpl_ptr.cpp @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #include "pimpl_ptr.h" /*! @@ -9,7 +15,7 @@ (The exception safety of this class has not been evaluated yet.) pimpl_ptr is a smart immutable pointer, which owns the contained object. Unlike other smart pointers, - it creates a standard constructed object when instanciated via the + it creates a standard constructed object when instanciated via the \link pimpl_ptr() standard constructor\endlink. Additionally, pimpl_ptr respects constness of the pointer object and returns \c const \c T* for a const pimpl_ptr object. @@ -126,7 +132,7 @@ */ /*! - \fn T * pimpl_ptr::operator->() + \fn T * pimpl_ptr::operator->() Member-by-pointer operator. Returns get(). */ @@ -163,7 +169,7 @@ KDAB_UNITTEST_SIMPLE( pimpl_ptr, "kdcoretools" ) { } - { + { QPointer< QObject > o; { kdtools::pimpl_ptr< QObject > qobject( new QObject ); @@ -174,7 +180,7 @@ KDAB_UNITTEST_SIMPLE( pimpl_ptr, "kdcoretools" ) { assertNull( o ); } - { + { const kdtools::pimpl_ptr< QObject > qobject( new QObject ); const QObject* o = qobject.get(); assertEqual( o, qobject.operator->() ); diff --git a/3rdparty/kdsingleapplicationguard/pimpl_ptr.h b/3rdparty/kdsingleapplicationguard/pimpl_ptr.h index b66bd11a2..41b33b582 100644 --- a/3rdparty/kdsingleapplicationguard/pimpl_ptr.h +++ b/3rdparty/kdsingleapplicationguard/pimpl_ptr.h @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: LGPL-2.0-only + * License-Filename: LICENSES/LGPLv2-KDAB + * + * The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + */ #ifndef KDTOOLSCORE_PIMPL_PTR_H #define KDTOOLSCORE_PIMPL_PTR_H diff --git a/LICENSES/LGPLv2-KDAB b/LICENSES/LGPLv2-KDAB new file mode 100644 index 000000000..df942b1ff --- /dev/null +++ b/LICENSES/LGPLv2-KDAB @@ -0,0 +1,488 @@ + + The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. + + You may use, distribute and copy the KD Tools Library under the terms of + GNU Library General Public License version 2, which is displayed below. + +------------------------------------------------------------------------- + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! From 2166eb45116d66020fe1d999ed863ca646e4b2b5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 10:47:14 -0400 Subject: [PATCH 193/626] [libcalamares] [libcalamaresui] Adjust for moved sources --- src/libcalamares/CMakeLists.txt | 6 +++++- src/libcalamaresui/CMakeLists.txt | 13 ++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 0aca79233..790d4b6ac 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -51,12 +51,16 @@ set( libSources utils/Variant.cpp utils/Yaml.cpp ) -set( kdsagSources +set( _kdsagSources kdsingleapplicationguard/kdsingleapplicationguard.cpp kdsingleapplicationguard/kdsharedmemorylocker.cpp kdsingleapplicationguard/kdtoolsglobal.cpp kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp ) +set( kdsagSources "" ) +foreach( _s ${_kdsagSources} ) + list( APPEND kdsagSources ${CMAKE_SOURCE_DIR}/3rdparty/${_s} ) +endforeach() mark_thirdparty_code( ${kdsagSources} ) include_directories( diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 703a8bbe1..f5389069d 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -18,16 +18,16 @@ set( calamaresui_SOURCES utils/ImageRegistry.cpp utils/Paste.cpp - utils/qjsonmodel.cpp - utils/qjsonitem.cpp + ${CMAKE_SOURCE_DIR}/3rdparty/qjsonmodel.cpp + ${CMAKE_SOURCE_DIR}/3rdparty/qjsonitem.cpp viewpages/BlankViewStep.cpp viewpages/ViewStep.cpp widgets/ClickableLabel.cpp widgets/FixedAspectRatioLabel.cpp - widgets/waitingspinnerwidget.cpp widgets/WaitingWidget.cpp + ${CMAKE_SOURCE_DIR}/3rdparty/waitingspinnerwidget.cpp ExecutionViewStep.cpp Branding.cpp @@ -36,10 +36,9 @@ set( calamaresui_SOURCES # Don't warn about third-party sources mark_thirdparty_code( - utils/ImageRegistry.cpp - utils/qjsonitem.cpp - utils/qjsonmodel.cpp - widgets/waitingspinnerwidget.cpp + ${CMAKE_SOURCE_DIR}/3rdparty/qjsonitem.cpp + ${CMAKE_SOURCE_DIR}/3rdparty/qjsonmodel.cpp + ${CMAKE_SOURCE_DIR}/3rdparty/waitingspinnerwidget.cpp ) set( calamaresui_UI From c83e95e66a47fa798916a110e98d16ab3bc3bf5b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:42:02 -0400 Subject: [PATCH 194/626] [libcalamaresui] Chase 3rdparty move - Widgets need to #include from different path --- src/libcalamaresui/CMakeLists.txt | 2 +- src/libcalamaresui/utils/DebugWindow.cpp | 5 +++-- src/libcalamaresui/widgets/WaitingWidget.cpp | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index f5389069d..04565206e 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -2,7 +2,7 @@ # view modules, view steps, widgets, and branding. # The UI libs use the non-UI library -include_directories( ${CMAKE_SOURCE_DIR}/src/libcalamares ${CMAKE_BINARY_DIR}/src/libcalamares ) +include_directories( ${CMAKE_SOURCE_DIR}/src/libcalamares ${CMAKE_BINARY_DIR}/src/libcalamares ${CMAKE_SOURCE_DIR} ) set( calamaresui_SOURCES modulesystem/CppJobModule.cpp diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/libcalamaresui/utils/DebugWindow.cpp index ed016dd97..094511be4 100644 --- a/src/libcalamaresui/utils/DebugWindow.cpp +++ b/src/libcalamaresui/utils/DebugWindow.cpp @@ -23,7 +23,6 @@ #include "Branding.h" #include "modulesystem/Module.h" #include "modulesystem/ModuleManager.h" -#include "utils/qjsonmodel.h" #include "GlobalStorage.h" #include "Job.h" @@ -31,11 +30,13 @@ #include "utils/Logger.h" #include "utils/Retranslator.h" +#include "3rdparty/qjsonmodel.h" #ifdef WITH_PYTHONQT -#include #include "ViewManager.h" #include "viewpages/PythonQtViewStep.h" + +#include #endif #include diff --git a/src/libcalamaresui/widgets/WaitingWidget.cpp b/src/libcalamaresui/widgets/WaitingWidget.cpp index 286c611ab..1a658b35b 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.cpp +++ b/src/libcalamaresui/widgets/WaitingWidget.cpp @@ -20,7 +20,8 @@ #include "WaitingWidget.h" #include "utils/CalamaresUtilsGui.h" -#include "waitingspinnerwidget.h" + +#include "3rdparty/waitingspinnerwidget.h" #include #include From b31c6c3a22801e189080929625e00750db720e13 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:42:33 -0400 Subject: [PATCH 195/626] [calamares] Chase 3rdparty move --- src/calamares/CMakeLists.txt | 5 +++-- src/calamares/main.cpp | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 5159916e8..5dbf137bb 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -17,8 +17,9 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../libcalamares - ../libcalamares - ../libcalamaresui + ${CMAKE_SOURCE_DIR}/src/libcalamares + ${CMAKE_SOURCE_DIR}/src//libcalamaresui + ${CMAKE_SOURCE_DIR} ) # Translations diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index d463b789d..704c2bf59 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -21,10 +21,11 @@ #include "CalamaresApplication.h" #include "CalamaresConfig.h" -#include "kdsingleapplicationguard/kdsingleapplicationguard.h" #include "utils/Dirs.h" #include "utils/Logger.h" +#include "3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h" + #ifdef WITH_KF5Crash #include #include From 48a25858f0d08849449754c4dfcc231cdf8e89f2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 12:42:47 -0400 Subject: [PATCH 196/626] [partition] Chase 3rdparty move --- src/modules/partition/CMakeLists.txt | 2 ++ src/modules/partition/gui/ScanningDialog.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 61953c249..df1588cb2 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -5,6 +5,8 @@ option( DEBUG_PARTITION_UNSAFE "Allow unsafe partitioning choices." OFF ) option( DEBUG_PARTITION_LAME "Unsafe partitioning will error out on exec." ON ) +include_directories( ${CMAKE_SOURCE_DIR} ) # For 3rdparty + set( _partition_defs ) if( DEBUG_PARTITION_UNSAFE ) if( DEBUG_PARTITION_LAME ) diff --git a/src/modules/partition/gui/ScanningDialog.cpp b/src/modules/partition/gui/ScanningDialog.cpp index 9084be2cc..85479fbb3 100644 --- a/src/modules/partition/gui/ScanningDialog.cpp +++ b/src/modules/partition/gui/ScanningDialog.cpp @@ -19,7 +19,7 @@ #include "ScanningDialog.h" -#include "widgets/waitingspinnerwidget.h" +#include "3rdparty/waitingspinnerwidget.h" #include #include From 17dfe02d2826e7bb8154f672599978af66844db4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 05:53:18 -0400 Subject: [PATCH 197/626] [3rdparty] Remove QJsonModel and support --- 3rdparty/qjsonitem.cpp | 140 ---------------------------- 3rdparty/qjsonitem.h | 46 --------- 3rdparty/qjsonmodel.cpp | 186 ------------------------------------- 3rdparty/qjsonmodel.h | 42 --------- LICENSES/GPLv3+-QJsonModel | 18 ---- 5 files changed, 432 deletions(-) delete mode 100644 3rdparty/qjsonitem.cpp delete mode 100644 3rdparty/qjsonitem.h delete mode 100644 3rdparty/qjsonmodel.cpp delete mode 100644 3rdparty/qjsonmodel.h delete mode 100644 LICENSES/GPLv3+-QJsonModel diff --git a/3rdparty/qjsonitem.cpp b/3rdparty/qjsonitem.cpp deleted file mode 100644 index 6bb1fa4c7..000000000 --- a/3rdparty/qjsonitem.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* - * SPDX-License-Identifier: GPL-3.0+ - * License-Filename: LICENSES/GPLv3+-QJsonModel - */ - -/*********************************************** - Copyright (C) 2014 Schutz Sacha - This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). - - QJsonModel 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. - - QJsonModel 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 QJsonModel. If not, see . - -**********************************************/ - -#include "qjsonitem.h" - -QJsonTreeItem::QJsonTreeItem(QJsonTreeItem *parent) - : mParent( parent ) - , mType( QJsonValue::Type::Null ) -{ -} - -QJsonTreeItem::~QJsonTreeItem() -{ - qDeleteAll(mChilds); - -} - -void QJsonTreeItem::appendChild(QJsonTreeItem *item) -{ - mChilds.append(item); -} - -QJsonTreeItem *QJsonTreeItem::child(int row) -{ - return mChilds.value(row); -} - -QJsonTreeItem *QJsonTreeItem::parent() -{ - return mParent; -} - -int QJsonTreeItem::childCount() const -{ - return mChilds.count(); -} - -int QJsonTreeItem::row() const -{ - if (mParent) - return mParent->mChilds.indexOf(const_cast(this)); - - return 0; -} - -void QJsonTreeItem::setKey(const QString &key) -{ - mKey = key; -} - -void QJsonTreeItem::setValue(const QString &value) -{ - mValue = value; -} - -void QJsonTreeItem::setType(const QJsonValue::Type &type) -{ - mType = type; -} - -QString QJsonTreeItem::key() const -{ - return mKey; -} - -QString QJsonTreeItem::value() const -{ - return mValue; -} - -QJsonValue::Type QJsonTreeItem::type() const -{ - return mType; -} - -QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* parent) -{ - - - QJsonTreeItem * rootItem = new QJsonTreeItem(parent); - rootItem->setKey("root"); - - if ( value.isObject()) - { - - //Get all QJsonValue childs - foreach (QString key , value.toObject().keys()){ - QJsonValue v = value.toObject().value(key); - QJsonTreeItem * child = load(v,rootItem); - child->setKey(key); - child->setType(v.type()); - rootItem->appendChild(child); - - } - - } - - else if ( value.isArray()) - { - //Get all QJsonValue childs - int index = 0; - foreach (QJsonValue v , value.toArray()){ - - QJsonTreeItem * child = load(v,rootItem); - child->setKey(QString::number(index)); - child->setType(v.type()); - rootItem->appendChild(child); - ++index; - } - } - else - { - rootItem->setValue(value.toVariant().toString()); - rootItem->setType(value.type()); - } - - return rootItem; -} - diff --git a/3rdparty/qjsonitem.h b/3rdparty/qjsonitem.h deleted file mode 100644 index 137c59000..000000000 --- a/3rdparty/qjsonitem.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * SPDX-License-Identifier: GPL-3.0+ - * License-Filename: LICENSES/GPLv3+-QJsonModel - */ - -#ifndef JSONITEM_H -#define JSONITEM_H -#include -#include -#include -#include -class QJsonTreeItem -{ -public: - QJsonTreeItem(QJsonTreeItem * parent = nullptr); - ~QJsonTreeItem(); - void appendChild(QJsonTreeItem * item); - QJsonTreeItem *child(int row); - QJsonTreeItem *parent(); - int childCount() const; - int row() const; - void setKey(const QString& key); - void setValue(const QString& value); - void setType(const QJsonValue::Type& type); - QString key() const; - QString value() const; - QJsonValue::Type type() const; - - - static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = nullptr); - -protected: - - -private: - QString mKey; - QString mValue; - QJsonValue::Type mType; - - QList mChilds; - QJsonTreeItem * mParent; - - -}; - -#endif // JSONITEM_H diff --git a/3rdparty/qjsonmodel.cpp b/3rdparty/qjsonmodel.cpp deleted file mode 100644 index 020d27e42..000000000 --- a/3rdparty/qjsonmodel.cpp +++ /dev/null @@ -1,186 +0,0 @@ -/* - * SPDX-License-Identifier: GPL-3.0+ - * License-Filename: LICENSES/GPLv3+-QJsonModel - */ - -/*********************************************** - Copyright (C) 2014 Schutz Sacha - This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). - - QJsonModel 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. - - QJsonModel 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 QJsonModel. If not, see . - -**********************************************/ - -#include "qjsonmodel.h" -#include -#include -#include -#include -#include -#include - -QJsonModel::QJsonModel(QObject *parent) : - QAbstractItemModel(parent) - , mRootItem( new QJsonTreeItem ) -{ - mHeaders.append("key"); - mHeaders.append("value"); - - -} - -QJsonModel::~QJsonModel() -{ - delete mRootItem; -} - -bool QJsonModel::load(const QString &fileName) -{ - QFile file(fileName); - bool success = false; - if (file.open(QIODevice::ReadOnly)) { - success = load(&file); - file.close(); - } - else success = false; - - return success; -} - -bool QJsonModel::load(QIODevice *device) -{ - return loadJson(device->readAll()); -} - -bool QJsonModel::loadJson(const QByteArray &json) -{ - mDocument = QJsonDocument::fromJson(json); - - if (!mDocument.isNull()) - { - beginResetModel(); - delete mRootItem; - if (mDocument.isArray()) { - mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.array())); - } else { - mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.object())); - } - endResetModel(); - return true; - } - return false; -} - - -QVariant QJsonModel::data(const QModelIndex &index, int role) const -{ - - if (!index.isValid()) - return QVariant(); - - - QJsonTreeItem *item = static_cast(index.internalPointer()); - - - if ((role == Qt::DecorationRole) && (index.column() == 0)){ - - return mTypeIcons.value(item->type()); - } - - - if (role == Qt::DisplayRole) { - - if (index.column() == 0) - return QString("%1").arg(item->key()); - - if (index.column() == 1) - return QString("%1").arg(item->value()); - } - - - - return QVariant(); - -} - -QVariant QJsonModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if (role != Qt::DisplayRole) - return QVariant(); - - if (orientation == Qt::Horizontal) { - - return mHeaders.value(section); - } - else - return QVariant(); -} - -QModelIndex QJsonModel::index(int row, int column, const QModelIndex &parent) const -{ - if (!hasIndex(row, column, parent)) - return QModelIndex(); - - QJsonTreeItem *parentItem; - - if (!parent.isValid()) - parentItem = mRootItem; - else - parentItem = static_cast(parent.internalPointer()); - - QJsonTreeItem *childItem = parentItem->child(row); - if (childItem) - return createIndex(row, column, childItem); - else - return QModelIndex(); -} - -QModelIndex QJsonModel::parent(const QModelIndex &index) const -{ - if (!index.isValid()) - return QModelIndex(); - - QJsonTreeItem *childItem = static_cast(index.internalPointer()); - QJsonTreeItem *parentItem = childItem->parent(); - - if (parentItem == mRootItem) - return QModelIndex(); - - return createIndex(parentItem->row(), 0, parentItem); -} - -int QJsonModel::rowCount(const QModelIndex &parent) const -{ - QJsonTreeItem *parentItem; - if (parent.column() > 0) - return 0; - - if (!parent.isValid()) - parentItem = mRootItem; - else - parentItem = static_cast(parent.internalPointer()); - - return parentItem->childCount(); -} - -int QJsonModel::columnCount(const QModelIndex &parent) const -{ - Q_UNUSED(parent) - return 2; -} - -void QJsonModel::setIcon(const QJsonValue::Type &type, const QIcon &icon) -{ - mTypeIcons.insert(type,icon); -} diff --git a/3rdparty/qjsonmodel.h b/3rdparty/qjsonmodel.h deleted file mode 100644 index 32c062ba8..000000000 --- a/3rdparty/qjsonmodel.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * SPDX-License-Identifier: GPL-3.0+ - * License-Filename: LICENSES/GPLv3+-QJsonModel - */ - -#ifndef QJSONMODEL_H -#define QJSONMODEL_H - -#include -#include "qjsonitem.h" -#include -#include -#include -class QJsonModel : public QAbstractItemModel -{ - Q_OBJECT -public: - explicit QJsonModel(QObject *parent = nullptr); - ~QJsonModel(); - bool load(const QString& fileName); - bool load(QIODevice * device); - bool loadJson(const QByteArray& json); - QVariant data(const QModelIndex &index, int role) const; - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - QModelIndex index(int row, int column,const QModelIndex &parent = QModelIndex()) const; - QModelIndex parent(const QModelIndex &index) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; - void setIcon(const QJsonValue::Type& type, const QIcon& icon); - - - -private: - QJsonTreeItem * mRootItem; - QJsonDocument mDocument; - QStringList mHeaders; - QHash mTypeIcons; - - -}; - -#endif // QJSONMODEL_H diff --git a/LICENSES/GPLv3+-QJsonModel b/LICENSES/GPLv3+-QJsonModel deleted file mode 100644 index 8a8e272c0..000000000 --- a/LICENSES/GPLv3+-QJsonModel +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************** - Copyright (C) 2014 Schutz Sacha - This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). - - QJsonModel 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. - - QJsonModel 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 QJsonModel. If not, see . - -**********************************************/ From 695e16bb87ae95313ceed206be98df2fd2b25f00 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 06:21:07 -0400 Subject: [PATCH 198/626] [libcalamaresui] Drop QJsonModel from the library --- src/libcalamaresui/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 04565206e..89a50e2ec 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -18,9 +18,6 @@ set( calamaresui_SOURCES utils/ImageRegistry.cpp utils/Paste.cpp - ${CMAKE_SOURCE_DIR}/3rdparty/qjsonmodel.cpp - ${CMAKE_SOURCE_DIR}/3rdparty/qjsonitem.cpp - viewpages/BlankViewStep.cpp viewpages/ViewStep.cpp From 419329ee494faeeff16d6ba08baca4ce75d3bc00 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 06:27:13 -0400 Subject: [PATCH 199/626] [libcalamares] Remove friend, add accessor, make includes explicit --- src/libcalamares/GlobalStorage.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h index 6fdb43fa0..b070e23f6 100644 --- a/src/libcalamares/GlobalStorage.h +++ b/src/libcalamares/GlobalStorage.h @@ -22,6 +22,8 @@ #include "CalamaresConfig.h" +#include +#include #include #ifdef WITH_PYTHON @@ -87,13 +89,19 @@ public: /// @brief reads settings from the given filename bool loadYaml( const QString& filename ); + /** @brief Get internal mapping as a constant object + * + * Note that the VariantMap underneath may change, because + * it's not constant in itself. Connect to the changed() + * signal for notifications. + */ + const QVariantMap& data() const { return m; } + signals: void changed(); private: QVariantMap m; - - friend DebugWindow; }; } // namespace Calamares From 85d28af1e20768c8dd99cfa8acd424f6d7bcc3d2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 06:34:38 -0400 Subject: [PATCH 200/626] [libcalamaresui] Don't include QJsonModel --- src/libcalamaresui/utils/DebugWindow.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/libcalamaresui/utils/DebugWindow.cpp index 094511be4..237b8a7ed 100644 --- a/src/libcalamaresui/utils/DebugWindow.cpp +++ b/src/libcalamaresui/utils/DebugWindow.cpp @@ -30,8 +30,6 @@ #include "utils/Logger.h" #include "utils/Retranslator.h" -#include "3rdparty/qjsonmodel.h" - #ifdef WITH_PYTHONQT #include "ViewManager.h" #include "viewpages/PythonQtViewStep.h" @@ -39,10 +37,10 @@ #include #endif -#include #include #include #include +#include /** * @brief crash makes Calamares crash immediately. From e31a498c9b70abebe50bdeaeec661545eab4bc40 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 06:35:40 -0400 Subject: [PATCH 201/626] [calamares] Move DebugWindow - This is a fairly specialized class, for use only in the whole-application where it ties in with the module system. Move it to the application directory and slim down the UI library. - Include it from the new location. - Add UIC to Calamares (the application) because there's now a designer-based widget in it. --- src/calamares/CMakeLists.txt | 3 +++ src/calamares/CalamaresWindow.cpp | 2 +- src/{libcalamaresui/utils => calamares}/DebugWindow.cpp | 0 src/{libcalamaresui/utils => calamares}/DebugWindow.h | 0 src/{libcalamaresui/utils => calamares}/DebugWindow.ui | 0 src/libcalamaresui/CMakeLists.txt | 6 ------ 6 files changed, 4 insertions(+), 7 deletions(-) rename src/{libcalamaresui/utils => calamares}/DebugWindow.cpp (100%) rename src/{libcalamaresui/utils => calamares}/DebugWindow.h (100%) rename src/{libcalamaresui/utils => calamares}/DebugWindow.ui (100%) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 5dbf137bb..92521f17a 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -5,6 +5,8 @@ set( calamaresSources CalamaresApplication.cpp CalamaresWindow.cpp + DebugWindow.cpp + progresstree/ProgressTreeDelegate.cpp progresstree/ProgressTreeItem.cpp progresstree/ProgressTreeModel.cpp @@ -35,6 +37,7 @@ set_target_properties(calamares_bin RUNTIME_OUTPUT_NAME calamares ) calamares_automoc( calamares_bin ) +calamares_autouic( calamares_bin ) target_link_libraries( calamares_bin PRIVATE diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index d80b6cb67..68f29ef18 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -26,7 +26,7 @@ #include "ViewManager.h" #include "progresstree/ProgressTreeView.h" #include "utils/CalamaresUtilsGui.h" -#include "utils/DebugWindow.h" +#include "DebugWindow.h" #include "utils/Logger.h" #include "utils/Retranslator.h" diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/calamares/DebugWindow.cpp similarity index 100% rename from src/libcalamaresui/utils/DebugWindow.cpp rename to src/calamares/DebugWindow.cpp diff --git a/src/libcalamaresui/utils/DebugWindow.h b/src/calamares/DebugWindow.h similarity index 100% rename from src/libcalamaresui/utils/DebugWindow.h rename to src/calamares/DebugWindow.h diff --git a/src/libcalamaresui/utils/DebugWindow.ui b/src/calamares/DebugWindow.ui similarity index 100% rename from src/libcalamaresui/utils/DebugWindow.ui rename to src/calamares/DebugWindow.ui diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 89a50e2ec..111113a47 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -14,7 +14,6 @@ set( calamaresui_SOURCES modulesystem/ViewModule.cpp utils/CalamaresUtilsGui.cpp - utils/DebugWindow.cpp utils/ImageRegistry.cpp utils/Paste.cpp @@ -38,10 +37,6 @@ mark_thirdparty_code( ${CMAKE_SOURCE_DIR}/3rdparty/waitingspinnerwidget.cpp ) -set( calamaresui_UI - utils/DebugWindow.ui -) - if( WITH_PYTHON ) list( APPEND calamaresui_SOURCES modulesystem/PythonJobModule.cpp @@ -69,7 +64,6 @@ endif() calamares_add_library( calamaresui SOURCES ${calamaresui_SOURCES} - UI ${calamaresui_UI} EXPORT_MACRO UIDLLEXPORT_PRO LINK_PRIVATE_LIBRARIES ${OPTIONAL_PYTHON_LIBRARIES} From 2a3ab4dbe768792ac87ec637ffdcfad21cf5ff69 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 07:21:48 -0400 Subject: [PATCH 202/626] [calamares] Add a model for viewing QVariants directly --- src/calamares/CMakeLists.txt | 1 + src/calamares/VariantModel.cpp | 234 +++++++++++++++++++++++++++++++++ src/calamares/VariantModel.h | 74 +++++++++++ 3 files changed, 309 insertions(+) create mode 100644 src/calamares/VariantModel.cpp create mode 100644 src/calamares/VariantModel.h diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 92521f17a..259e3bf56 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -6,6 +6,7 @@ set( calamaresSources CalamaresWindow.cpp DebugWindow.cpp + VariantModel.cpp progresstree/ProgressTreeDelegate.cpp progresstree/ProgressTreeItem.cpp diff --git a/src/calamares/VariantModel.cpp b/src/calamares/VariantModel.cpp new file mode 100644 index 000000000..bdcf8f75c --- /dev/null +++ b/src/calamares/VariantModel.cpp @@ -0,0 +1,234 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "VariantModel.h" + +static void +overallLength( const QVariant& item, int& c, int parent, VariantModel::IndexVector* skiplist ) +{ + if ( skiplist ) + { + skiplist->append( parent ); + } + + parent = c++; + if ( item.canConvert< QVariantList >() ) + { + for ( const auto& subitem : item.toList() ) + { + overallLength( subitem, c, parent, skiplist ); + } + } + else if ( item.canConvert< QVariantMap >() ) + { + for ( const auto& subitem : item.toMap() ) + { + overallLength( subitem, c, parent, skiplist ); + } + } +} + +static quintptr +findNth( const VariantModel::IndexVector& skiplist, quintptr value, int n ) +{ + if ( n < 0 ) + { + return -1; + } + + int index = 0; + while ( ( n >= 0 ) && ( index < skiplist.count() ) ) + { + if ( skiplist[ index ] == value ) + { + if ( --n < 0 ) + { + return index; + } + } + index++; + } + return -1; +} + + +VariantModel::VariantModel( const QVariant* p ) + : m_p( p ) +{ + int x = 0; + overallLength( *p, x, -1, nullptr ); + m_rows.reserve( x ); + x = 0; + overallLength( *p, x, -1, &m_rows ); +} + +VariantModel::~VariantModel() {} + +int +VariantModel::columnCount( const QModelIndex& index ) const +{ + return 2; +} + +int +VariantModel::rowCount( const QModelIndex& index ) const +{ + quintptr p = index.isValid() ? index.internalId() : 0; + return m_rows.count( p ); +} + +QModelIndex +VariantModel::index( int row, int column, const QModelIndex& parent ) const +{ + quintptr p = 0; + + if ( parent.isValid() ) + { + if ( !( parent.internalId() >= m_rows.count() ) ) + { + p = parent.internalId(); + } + } + + return createIndex( row, column, findNth( m_rows, p, row ) ); +} + +QModelIndex +VariantModel::parent( const QModelIndex& index ) const +{ + if ( !index.isValid() || ( index.internalId() > m_rows.count() ) ) + { + return QModelIndex(); + } + + quintptr p = m_rows[ index.internalId() ]; + if ( p == 0 ) + { + return QModelIndex(); + } + + if ( p >= m_rows.count() ) + { + return QModelIndex(); + } + quintptr p_pid = m_rows[ p ]; + int row = 0; + for ( int i = 0; i < p; ++i ) + { + if ( m_rows[ i ] == p_pid ) + { + row++; + } + } + + return createIndex( row, index.column(), p ); +} + +QVariant +VariantModel::data( const QModelIndex& index, int role ) const +{ + if ( role != Qt::DisplayRole ) + { + return QVariant(); + } + + if ( !index.isValid() ) + { + return QVariant(); + } + + if ( ( index.column() < 0 ) || ( index.column() > 1 ) ) + { + return QVariant(); + } + + if ( index.internalId() >= m_rows.count() ) + { + return QVariant(); + } + + const QVariant thing = underlying( parent( index ) ); + + if ( !thing.isValid() ) + { + return QVariant(); + } + + if ( thing.canConvert< QVariantMap >() ) + { + QVariantMap the_map = thing.toMap(); + const auto key = the_map.keys().at( index.row() ); + if ( index.column() == 0 ) + { + return key; + } + else + { + return the_map[ key ]; + } + } + else if ( thing.canConvert< QVariantList >() ) + { + if ( index.column() == 0 ) + { + return index.row(); + } + else + { + QVariantList the_list = thing.toList(); + return the_list.at( index.row() ); + } + } + else + { + if ( index.column() == 0 ) + { + return QVariant(); + } + else + { + return thing; + } + } +} + +const QVariant +VariantModel::underlying( const QModelIndex& index ) const +{ + if ( !index.isValid() ) + { + return *m_p; + } + + const auto& thing = underlying( parent( index ) ); + if ( thing.canConvert< QVariantMap >() ) + { + const auto& the_map = thing.toMap(); + return the_map[ the_map.keys()[ index.row() ] ]; + } + else if ( thing.canConvert< QVariantList >() ) + { + return thing.toList()[ index.row() ]; + } + else + { + return thing; + } + + return QVariant(); +} diff --git a/src/calamares/VariantModel.h b/src/calamares/VariantModel.h new file mode 100644 index 000000000..9ea6f6737 --- /dev/null +++ b/src/calamares/VariantModel.h @@ -0,0 +1,74 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef VARIANTMODEL_H +#define VARIANTMODEL_H + +#include +#include +#include + +/** @brief A model that operates directly on a QVariant + * + * A VariantModel operates directly on an underlying + * QVariant, treating QVariantMap and QVariantList as + * nodes with multiple children. In general, putting + * a QVariantMap into a QVariant and passing that into + * the model will get you a tree-like model of the + * VariantMap's data structure. + * + * Take care of object lifetimes and that the underlying + * QVariant does not change during use. + */ +class VariantModel : public QAbstractItemModel +{ +public: + /** @brief Auxiliary data + * + * The nodes of the tree are enumerated into a vector + * (of length equal to the number of nodes in the tree + 1) + * which are used to do index and parent calculations. + */ + using IndexVector = QVector< quintptr >; + + /** @brief Constructor + * + * The QVariant's lifetime is **not** affected by the model, + * so take care that the QVariant lives at least as long as + * the model). Also, don't change the QVariant underneath the model. + */ + VariantModel( const QVariant* p ); + + ~VariantModel() override; + + int columnCount( const QModelIndex& index ) const override; + int rowCount( const QModelIndex& index ) const override; + + QModelIndex index( int row, int column, const QModelIndex& parent ) const override; + QModelIndex parent( const QModelIndex& index ) const override; + QVariant data( const QModelIndex& index, int role ) const override; + +private: + const QVariant* const m_p; + IndexVector m_rows; + + /// @brief Implementation of walking an index through the variant-tree + const QVariant underlying( const QModelIndex& index ) const; +}; + +#endif From 2bd03ad3c09129c7b078e73193c10d20cddfa891 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 07:40:23 -0400 Subject: [PATCH 203/626] [calamares] Add reload() to update model after underlying data --- src/calamares/VariantModel.cpp | 16 +++++++++++----- src/calamares/VariantModel.h | 11 ++++++++++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/calamares/VariantModel.cpp b/src/calamares/VariantModel.cpp index bdcf8f75c..fc11794bc 100644 --- a/src/calamares/VariantModel.cpp +++ b/src/calamares/VariantModel.cpp @@ -70,15 +70,21 @@ findNth( const VariantModel::IndexVector& skiplist, quintptr value, int n ) VariantModel::VariantModel( const QVariant* p ) : m_p( p ) { - int x = 0; - overallLength( *p, x, -1, nullptr ); - m_rows.reserve( x ); - x = 0; - overallLength( *p, x, -1, &m_rows ); + reload(); } VariantModel::~VariantModel() {} +void VariantModel::reload() +{ + int x = 0; + overallLength( *m_p, x, -1, nullptr ); + m_rows.clear(); // Start over + m_rows.reserve( x ); // We'll need this much + x = 0; + overallLength( *m_p, x, -1, &m_rows ); +} + int VariantModel::columnCount( const QModelIndex& index ) const { diff --git a/src/calamares/VariantModel.h b/src/calamares/VariantModel.h index 9ea6f6737..b0c93e91c 100644 --- a/src/calamares/VariantModel.h +++ b/src/calamares/VariantModel.h @@ -33,7 +33,9 @@ * VariantMap's data structure. * * Take care of object lifetimes and that the underlying - * QVariant does not change during use. + * QVariant does not change during use. If the QVariant + * **does** change, call reload() to re-build the internal + * representation of the tree. */ class VariantModel : public QAbstractItemModel { @@ -56,6 +58,13 @@ public: ~VariantModel() override; + /** @brief Re-build the internal tree + * + * Call this when the underlying variant is changed, which + * might impact how the tree is laid out. + */ + void reload(); + int columnCount( const QModelIndex& index ) const override; int rowCount( const QModelIndex& index ) const override; From eba4dc8df131d247c05395d56ceb5081ddcf3f0e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 07:48:52 -0400 Subject: [PATCH 204/626] [calamares] Use VariantModel instead of QJsonModel - Drop the round-trip of forming a JSON document from a QVariant, then parsing the document into JSON objects and building a model out of that. View the Variant directly. --- src/calamares/DebugWindow.cpp | 30 +++++++++++++++++------------- src/calamares/DebugWindow.h | 8 ++++++++ 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/calamares/DebugWindow.cpp b/src/calamares/DebugWindow.cpp index 237b8a7ed..1680fb7de 100644 --- a/src/calamares/DebugWindow.cpp +++ b/src/calamares/DebugWindow.cpp @@ -20,6 +20,8 @@ #include "DebugWindow.h" #include "ui_DebugWindow.h" +#include "VariantModel.h" + #include "Branding.h" #include "modulesystem/Module.h" #include "modulesystem/ModuleManager.h" @@ -72,23 +74,25 @@ namespace Calamares { DebugWindow::DebugWindow() : QWidget( nullptr ) , m_ui( new Ui::DebugWindow ) + , m_globals( JobQueue::instance()->globalStorage()->data() ) + , m_globals_model( std::make_unique< VariantModel >( &m_globals ) ) + , m_module_model( std::make_unique< VariantModel >( &m_module ) ) { - m_ui->setupUi( this ); - - // GlobalStorage page - QJsonModel* jsonModel = new QJsonModel( this ); - - m_ui->globalStorageView->setModel( jsonModel ); GlobalStorage* gs = JobQueue::instance()->globalStorage(); + m_ui->setupUi( this ); + + m_ui->globalStorageView->setModel( m_globals_model.get() ); + m_ui->globalStorageView->expandAll(); + + // Do above when the GS changes, too connect( gs, &GlobalStorage::changed, this, [ = ] { - jsonModel->loadJson( QJsonDocument::fromVariant( gs->m ).toJson() ); + m_globals = JobQueue::instance()->globalStorage()->data(); + m_globals_model->reload(); m_ui->globalStorageView->expandAll(); } ); - jsonModel->loadJson( QJsonDocument::fromVariant( gs->m ).toJson() ); - m_ui->globalStorageView->expandAll(); // JobQueue page m_ui->jobQueueText->setReadOnly( true ); @@ -109,8 +113,7 @@ DebugWindow::DebugWindow() m_ui->modulesListView->setModel( modulesModel ); m_ui->modulesListView->setSelectionMode( QAbstractItemView::SingleSelection ); - QJsonModel* moduleConfigModel = new QJsonModel( this ); - m_ui->moduleConfigView->setModel( moduleConfigModel ); + m_ui->moduleConfigView->setModel( m_module_model.get() ); #ifdef WITH_PYTHONQT QPushButton* pythonConsoleButton = new QPushButton; @@ -181,7 +184,7 @@ DebugWindow::DebugWindow() #endif connect( m_ui->modulesListView->selectionModel(), &QItemSelectionModel::selectionChanged, - this, [ this, moduleConfigModel + this, [ this #ifdef WITH_PYTHONQT , pythonConsoleButton #endif @@ -191,7 +194,8 @@ DebugWindow::DebugWindow() Module* module = ModuleManager::instance()->moduleInstance( moduleName ); if ( module ) { - moduleConfigModel->loadJson( QJsonDocument::fromVariant( module->configurationMap() ).toJson() ); + m_module = module->configurationMap(); + m_module_model->reload(); m_ui->moduleConfigView->expandAll(); m_ui->moduleTypeLabel->setText( module->typeString() ); m_ui->moduleInterfaceLabel->setText( module->interfaceString() ); diff --git a/src/calamares/DebugWindow.h b/src/calamares/DebugWindow.h index e97f5727b..1a121455e 100644 --- a/src/calamares/DebugWindow.h +++ b/src/calamares/DebugWindow.h @@ -20,8 +20,12 @@ #ifndef CALAMARES_DEBUGWINDOW_H #define CALAMARES_DEBUGWINDOW_H +#include "VariantModel.h" + +#include #include +#include namespace Calamares { @@ -46,6 +50,10 @@ protected: private: Ui::DebugWindow *m_ui; + QVariant m_globals; + QVariant m_module; + std::unique_ptr< VariantModel> m_globals_model; + std::unique_ptr< VariantModel> m_module_model; }; From ab7a559e03476ff98b4bbd61a8a96d1dbd3bdeeb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 07:58:20 -0400 Subject: [PATCH 205/626] [calamares] Add headerData to model (Key, Value columns) --- src/calamares/VariantModel.cpp | 32 +++++++++++++++++++++++++++++++- src/calamares/VariantModel.h | 1 + 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/calamares/VariantModel.cpp b/src/calamares/VariantModel.cpp index fc11794bc..965f0f3e0 100644 --- a/src/calamares/VariantModel.cpp +++ b/src/calamares/VariantModel.cpp @@ -75,7 +75,8 @@ VariantModel::VariantModel( const QVariant* p ) VariantModel::~VariantModel() {} -void VariantModel::reload() +void +VariantModel::reload() { int x = 0; overallLength( *m_p, x, -1, nullptr ); @@ -213,6 +214,35 @@ VariantModel::data( const QModelIndex& index, int role ) const } } +QVariant +VariantModel::headerData( int section, Qt::Orientation orientation, int role ) const +{ + if ( role != Qt::DisplayRole ) + { + return QVariant(); + } + + if ( orientation == Qt::Horizontal ) + { + if ( section == 0 ) + { + return tr( "Key" ); + } + else if ( section == 1 ) + { + return tr( "Value" ); + } + else + { + return QVariant(); + } + } + else + { + return QVariant(); + } +} + const QVariant VariantModel::underlying( const QModelIndex& index ) const { diff --git a/src/calamares/VariantModel.h b/src/calamares/VariantModel.h index b0c93e91c..9c4256f6a 100644 --- a/src/calamares/VariantModel.h +++ b/src/calamares/VariantModel.h @@ -71,6 +71,7 @@ public: QModelIndex index( int row, int column, const QModelIndex& parent ) const override; QModelIndex parent( const QModelIndex& index ) const override; QVariant data( const QModelIndex& index, int role ) const override; + QVariant headerData( int section, Qt::Orientation orientation, int role ) const override; private: const QVariant* const m_p; From ea0acf1606d369a350c1ffc1a958c6260789c441 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 15:25:37 +0200 Subject: [PATCH 206/626] [calamares] Apply current coding style --- src/calamares/progresstree/ProgressTreeView.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/calamares/progresstree/ProgressTreeView.cpp b/src/calamares/progresstree/ProgressTreeView.cpp index 5c81e3851..d4f652363 100644 --- a/src/calamares/progresstree/ProgressTreeView.cpp +++ b/src/calamares/progresstree/ProgressTreeView.cpp @@ -76,9 +76,10 @@ ProgressTreeView::setModel( QAbstractItemModel* model ) QTreeView::setModel( model ); expandAll(); - connect( Calamares::ViewManager::instance(), - &Calamares::ViewManager::currentStepChanged, - this, - [this]() { viewport()->update(); }, - Qt::UniqueConnection ); + connect( + Calamares::ViewManager::instance(), + &Calamares::ViewManager::currentStepChanged, + this, + [this]() { viewport()->update(); }, + Qt::UniqueConnection ); } From f5af4818fbc15bb02fb709de20b0387731227b76 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 15:27:40 +0200 Subject: [PATCH 207/626] [calamares] Apply current coding style --- src/calamares/CalamaresWindow.cpp | 2 +- src/calamares/DebugWindow.cpp | 140 ++++++++++++++---------------- src/calamares/DebugWindow.h | 13 +-- 3 files changed, 72 insertions(+), 83 deletions(-) diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index 68f29ef18..1638d6392 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -22,11 +22,11 @@ #include "CalamaresWindow.h" #include "Branding.h" +#include "DebugWindow.h" #include "Settings.h" #include "ViewManager.h" #include "progresstree/ProgressTreeView.h" #include "utils/CalamaresUtilsGui.h" -#include "DebugWindow.h" #include "utils/Logger.h" #include "utils/Retranslator.h" diff --git a/src/calamares/DebugWindow.cpp b/src/calamares/DebugWindow.cpp index 1680fb7de..6891851a7 100644 --- a/src/calamares/DebugWindow.cpp +++ b/src/calamares/DebugWindow.cpp @@ -55,21 +55,29 @@ crash() } /// @brief Print out the widget tree (names) in indented form. -static void dumpWidgetTree( QDebug& deb, const QWidget* widget, int depth ) +static void +dumpWidgetTree( QDebug& deb, const QWidget* widget, int depth ) { if ( !widget ) + { return; + } deb << Logger::Continuation; - for (int i = 0; i < depth; ++i ) + for ( int i = 0; i < depth; ++i ) + { deb << ' '; + } deb << widget->objectName(); - for ( const auto* w : widget->findChildren( QString(), Qt::FindDirectChildrenOnly ) ) - dumpWidgetTree( deb, w, depth+1 ); + for ( const auto* w : widget->findChildren< QWidget* >( QString(), Qt::FindDirectChildrenOnly ) ) + { + dumpWidgetTree( deb, w, depth + 1 ); + } } -namespace Calamares { +namespace Calamares +{ DebugWindow::DebugWindow() : QWidget( nullptr ) @@ -86,9 +94,7 @@ DebugWindow::DebugWindow() m_ui->globalStorageView->expandAll(); // Do above when the GS changes, too - connect( gs, &GlobalStorage::changed, - this, [ = ] - { + connect( gs, &GlobalStorage::changed, this, [=] { m_globals = JobQueue::instance()->globalStorage()->data(); m_globals_model->reload(); m_ui->globalStorageView->expandAll(); @@ -96,11 +102,9 @@ DebugWindow::DebugWindow() // JobQueue page m_ui->jobQueueText->setReadOnly( true ); - connect( JobQueue::instance(), &JobQueue::queueChanged, - this, [ this ]( const JobList& jobs ) - { + connect( JobQueue::instance(), &JobQueue::queueChanged, this, [this]( const JobList& jobs ) { QStringList text; - for ( const auto &job : jobs ) + for ( const auto& job : jobs ) { text.append( job->prettyName() ); } @@ -121,21 +125,17 @@ DebugWindow::DebugWindow() m_ui->modulesVerticalLayout->insertWidget( 1, pythonConsoleButton ); pythonConsoleButton->hide(); - QObject::connect( pythonConsoleButton, &QPushButton::clicked, - this, [ this, moduleConfigModel ] - { + QObject::connect( pythonConsoleButton, &QPushButton::clicked, this, [this, moduleConfigModel] { QString moduleName = m_ui->modulesListView->currentIndex().data().toString(); Module* module = ModuleManager::instance()->moduleInstance( moduleName ); - if ( module->interface() != Module::Interface::PythonQt || - module->type() != Module::Type::View ) + if ( module->interface() != Module::Interface::PythonQt || module->type() != Module::Type::View ) return; for ( ViewStep* step : ViewManager::instance()->viewSteps() ) { if ( step->moduleInstanceKey() == module->instanceKey() ) { - PythonQtViewStep* pqvs = - qobject_cast< PythonQtViewStep* >( step ); + PythonQtViewStep* pqvs = qobject_cast< PythonQtViewStep* >( step ); if ( pqvs ) { QWidget* consoleWindow = new QWidget; @@ -152,23 +152,17 @@ DebugWindow::DebugWindow() QLabel* bottomLabel = new QLabel( consoleWindow ); bottomLayout->addWidget( bottomLabel ); - QString line = - QString( "Module: %1
" - "Python class: %2" ) - .arg( module->instanceKey() ) - .arg( console->property( "classname" ).toString() ); + QString line = QString( "Module: %1
" + "Python class: %2" ) + .arg( module->instanceKey() ) + .arg( console->property( "classname" ).toString() ); bottomLabel->setText( line ); QPushButton* closeButton = new QPushButton( consoleWindow ); closeButton->setText( "&Close" ); - QObject::connect( closeButton, &QPushButton::clicked, - [ consoleWindow ] - { - consoleWindow->close(); - } ); + QObject::connect( closeButton, &QPushButton::clicked, [consoleWindow] { consoleWindow->close(); } ); bottomLayout->addWidget( closeButton ); - bottomLabel->setSizePolicy( QSizePolicy::Expanding, - QSizePolicy::Preferred ); + bottomLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ); consoleWindow->setParent( this ); consoleWindow->setWindowFlags( Qt::Window ); @@ -183,58 +177,52 @@ DebugWindow::DebugWindow() #endif - connect( m_ui->modulesListView->selectionModel(), &QItemSelectionModel::selectionChanged, - this, [ this + connect( m_ui->modulesListView->selectionModel(), + &QItemSelectionModel::selectionChanged, + this, + [this #ifdef WITH_PYTHONQT - , pythonConsoleButton + , + pythonConsoleButton #endif - ] - { - QString moduleName = m_ui->modulesListView->currentIndex().data().toString(); - Module* module = ModuleManager::instance()->moduleInstance( moduleName ); - if ( module ) - { - m_module = module->configurationMap(); - m_module_model->reload(); - m_ui->moduleConfigView->expandAll(); - m_ui->moduleTypeLabel->setText( module->typeString() ); - m_ui->moduleInterfaceLabel->setText( module->interfaceString() ); + ] { + QString moduleName = m_ui->modulesListView->currentIndex().data().toString(); + Module* module = ModuleManager::instance()->moduleInstance( moduleName ); + if ( module ) + { + m_module = module->configurationMap(); + m_module_model->reload(); + m_ui->moduleConfigView->expandAll(); + m_ui->moduleTypeLabel->setText( module->typeString() ); + m_ui->moduleInterfaceLabel->setText( module->interfaceString() ); #ifdef WITH_PYTHONQT - pythonConsoleButton->setVisible( - module->interface() == Module::Interface::PythonQt && - module->type() == Module::Type::View ); + pythonConsoleButton->setVisible( module->interface() == Module::Interface::PythonQt + && module->type() == Module::Type::View ); #endif - } - } ); + } + } ); // Tools page connect( m_ui->crashButton, &QPushButton::clicked, this, [] { ::crash(); } ); - connect( m_ui->reloadStylesheetButton, &QPushButton::clicked, - []() - { - for ( auto* w : qApp->topLevelWidgets() ) - { - // Needs to match what's set in CalamaresWindow - if ( w->objectName() == QStringLiteral( "mainApp" ) ) - { - w->setStyleSheet( Calamares::Branding::instance()->stylesheet() ); - } - } - }); - connect( m_ui->widgetTreeButton, &QPushButton::clicked, - []() - { - for ( auto* w : qApp->topLevelWidgets() ) - { - Logger::CDebug deb; - dumpWidgetTree( deb, w, 0 ); - } - }); + connect( m_ui->reloadStylesheetButton, &QPushButton::clicked, []() { + for ( auto* w : qApp->topLevelWidgets() ) + { + // Needs to match what's set in CalamaresWindow + if ( w->objectName() == QStringLiteral( "mainApp" ) ) + { + w->setStyleSheet( Calamares::Branding::instance()->stylesheet() ); + } + } + } ); + connect( m_ui->widgetTreeButton, &QPushButton::clicked, []() { + for ( auto* w : qApp->topLevelWidgets() ) + { + Logger::CDebug deb; + dumpWidgetTree( deb, w, 0 ); + } + } ); - CALAMARES_RETRANSLATE( - m_ui->retranslateUi( this ); - setWindowTitle( tr( "Debug information" ) ); - ) + CALAMARES_RETRANSLATE( m_ui->retranslateUi( this ); setWindowTitle( tr( "Debug information" ) ); ) } @@ -245,4 +233,4 @@ DebugWindow::closeEvent( QCloseEvent* e ) emit closed(); } -} // namespace Calamares +} // namespace Calamares diff --git a/src/calamares/DebugWindow.h b/src/calamares/DebugWindow.h index 1a121455e..764a141c2 100644 --- a/src/calamares/DebugWindow.h +++ b/src/calamares/DebugWindow.h @@ -27,12 +27,13 @@ #include -namespace Calamares { +namespace Calamares +{ // From the .ui file namespace Ui { - class DebugWindow; +class DebugWindow; } class DebugWindow : public QWidget @@ -49,13 +50,13 @@ protected: void closeEvent( QCloseEvent* e ) override; private: - Ui::DebugWindow *m_ui; + Ui::DebugWindow* m_ui; QVariant m_globals; QVariant m_module; - std::unique_ptr< VariantModel> m_globals_model; - std::unique_ptr< VariantModel> m_module_model; + std::unique_ptr< VariantModel > m_globals_model; + std::unique_ptr< VariantModel > m_module_model; }; -} // namespace +} // namespace Calamares #endif From dc09c5700b53c3a01e0bfff1eab68cfbf3d7964f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:15:18 +0200 Subject: [PATCH 208/626] [calamares] Remove unreachable return --- src/calamares/VariantModel.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/calamares/VariantModel.cpp b/src/calamares/VariantModel.cpp index 965f0f3e0..5eaf4bac7 100644 --- a/src/calamares/VariantModel.cpp +++ b/src/calamares/VariantModel.cpp @@ -265,6 +265,4 @@ VariantModel::underlying( const QModelIndex& index ) const { return thing; } - - return QVariant(); } From 6f73151786dbd1bc4d2d3a892c13252b416071e0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:22:22 +0200 Subject: [PATCH 209/626] [libcalamares] Reduce warnings - Although milliseconds::count() is long long, we pass it to a Qt interface that only takes int; let's assume we have only a 32-bit count, since a timeout of 4 billion milliseconds is roughly 46 days, which we'll just call "no timeout". --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 00b879224..ea8f507bd 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -236,8 +236,9 @@ System::runCommand( System::RunLocation location, } process.closeWriteChannel(); - if ( !process.waitForFinished( - timeoutSec > std::chrono::seconds::zero() ? ( std::chrono::milliseconds( timeoutSec ).count() ) : -1 ) ) + if ( !process.waitForFinished( timeoutSec > std::chrono::seconds::zero() + ? ( static_cast< int >( std::chrono::milliseconds( timeoutSec ).count() ) ) + : -1 ) ) { cWarning().noquote().nospace() << "Timed out. Output so far:\n" << process.readAllStandardOutput(); return ProcessResult::Code::TimedOut; From 739363cecd0ef6bdcd6689e53275f8c16363ced2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:28:29 +0200 Subject: [PATCH 210/626] [libcalamaresui] Fix initialization order (reduce warnings) --- src/libcalamaresui/Branding.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 876fdfa80..d3b0de97d 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -125,9 +125,9 @@ Branding::Branding( const QString& brandingFilePath, QObject* parent ) : QObject( parent ) , m_descriptorPath( brandingFilePath ) + , m_slideshowAPI( 1 ) , m_welcomeStyleCalamares( false ) , m_welcomeExpandingLogo( true ) - , m_slideshowAPI( 1 ) { cDebug() << "Using Calamares branding file at" << brandingFilePath; From e81bd52fb53a8640072eae3cdd1b680247c47d17 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:29:55 +0200 Subject: [PATCH 211/626] [initcpio] [initramfs] Set compilation options on tests - calamares_automoc() sets AUTOMOC, but also adds some flags to avoid compilation warnings from the generated MOC code. - drop weird hard-coded include paths --- src/modules/initcpio/CMakeLists.txt | 3 +-- src/modules/initramfs/CMakeLists.txt | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/modules/initcpio/CMakeLists.txt b/src/modules/initcpio/CMakeLists.txt index 990220b10..af217fb1a 100644 --- a/src/modules/initcpio/CMakeLists.txt +++ b/src/modules/initcpio/CMakeLists.txt @@ -21,6 +21,5 @@ if( ECM_FOUND AND BUILD_TESTING ) Qt5::Core Qt5::Test ) - set_target_properties( initcpiotest PROPERTIES AUTOMOC TRUE ) - target_include_directories( initcpiotest PRIVATE /usr/local/include ) + calamares_automoc( initcpiotest ) endif() diff --git a/src/modules/initramfs/CMakeLists.txt b/src/modules/initramfs/CMakeLists.txt index c2496b2a1..d7da12d55 100644 --- a/src/modules/initramfs/CMakeLists.txt +++ b/src/modules/initramfs/CMakeLists.txt @@ -21,6 +21,5 @@ if( ECM_FOUND AND BUILD_TESTING ) Qt5::Core Qt5::Test ) - set_target_properties( initramfstest PROPERTIES AUTOMOC TRUE ) - target_include_directories( initramfstest PRIVATE /usr/local/include ) + calamares_automoc( initramfstest ) endif() From 76041a21841d61c6c7fafd8d9206890915bbdacd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:34:53 +0200 Subject: [PATCH 212/626] [dummycpp] Reduce warnings and apply coding style - tired of the (IMO, bogus) clang warnings from the switch() statement with a default:, so swap it out for some cascaded ifs. --- src/modules/dummycpp/DummyCppJob.cpp | 61 ++++++++++++++++------------ src/modules/dummycpp/DummyCppJob.h | 2 +- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/src/modules/dummycpp/DummyCppJob.cpp b/src/modules/dummycpp/DummyCppJob.cpp index b404eaf63..a38cddc40 100644 --- a/src/modules/dummycpp/DummyCppJob.cpp +++ b/src/modules/dummycpp/DummyCppJob.cpp @@ -20,13 +20,13 @@ #include "DummyCppJob.h" -#include #include +#include #include #include "CalamaresVersion.h" -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" #include "utils/Logger.h" @@ -36,9 +36,7 @@ DummyCppJob::DummyCppJob( QObject* parent ) } -DummyCppJob::~DummyCppJob() -{ -} +DummyCppJob::~DummyCppJob() {} QString @@ -56,19 +54,20 @@ static QString variantHashToString( const QVariantHash& variantHash ); static QString variantToString( const QVariant& variant ) { - switch ( variant.type() ) + if ( variant.type() == QVariant::Map ) { - case QVariant::Map: return variantMapToString( variant.toMap() ); - - case QVariant::Hash: + } + else if ( variant.type() == QVariant::Hash ) + { return variantHashToString( variant.toHash() ); - - case QVariant::List: - case QVariant::StringList: + } + else if ( ( variant.type() == QVariant::List ) || ( variant.type() == QVariant::StringList ) ) + { return variantListToString( variant.toList() ); - - default: + } + else + { return variant.toString(); } } @@ -79,8 +78,10 @@ variantListToString( const QVariantList& variantList ) { QStringList result; for ( const QVariant& variant : variantList ) + { result.append( variantToString( variant ) ); - return '{' + result.join(',') + '}'; + } + return '{' + result.join( ',' ) + '}'; } @@ -89,8 +90,10 @@ variantMapToString( const QVariantMap& variantMap ) { QStringList result; for ( auto it = variantMap.constBegin(); it != variantMap.constEnd(); ++it ) + { result.append( it.key() + '=' + variantToString( it.value() ) ); - return '[' + result.join(',') + ']'; + } + return '[' + result.join( ',' ) + ']'; } @@ -99,8 +102,10 @@ variantHashToString( const QVariantHash& variantHash ) { QStringList result; for ( auto it = variantHash.constBegin(); it != variantHash.constEnd(); ++it ) + { result.append( it.key() + '=' + variantToString( it.value() ) ); - return '<' + result.join(',') + '>'; + } + return '<' + result.join( ',' ) + '>'; } @@ -108,24 +113,28 @@ Calamares::JobResult DummyCppJob::exec() { // Ported from dummypython - QProcess::execute( "/bin/sh", QStringList() << "-c" << "touch ~/calamares-dummycpp" ); + QProcess::execute( "/bin/sh", + QStringList() << "-c" + << "touch ~/calamares-dummycpp" ); QString accumulator = QDateTime::currentDateTimeUtc().toString( Qt::ISODate ) + '\n'; accumulator += QStringLiteral( "Calamares version: " ) + CALAMARES_VERSION_SHORT + '\n'; accumulator += QStringLiteral( "This job's name: " ) + prettyName() + '\n'; accumulator += QStringLiteral( "Configuration map: %1\n" ).arg( variantMapToString( m_configurationMap ) ); accumulator += QStringLiteral( " *** globalstorage test ***\n" ); - Calamares::GlobalStorage *globalStorage = Calamares::JobQueue::instance()->globalStorage(); - accumulator += QStringLiteral( "lala: " ) + (globalStorage->contains( "lala" ) ? QStringLiteral( "true" ) : QStringLiteral( "false" )) + '\n'; - accumulator += QStringLiteral( "foo: " ) + (globalStorage->contains( "foo" ) ? QStringLiteral( "true" ) : QStringLiteral( "false" )) + '\n'; + Calamares::GlobalStorage* globalStorage = Calamares::JobQueue::instance()->globalStorage(); + accumulator += QStringLiteral( "lala: " ) + + ( globalStorage->contains( "lala" ) ? QStringLiteral( "true" ) : QStringLiteral( "false" ) ) + '\n'; + accumulator += QStringLiteral( "foo: " ) + + ( globalStorage->contains( "foo" ) ? QStringLiteral( "true" ) : QStringLiteral( "false" ) ) + '\n'; accumulator += QStringLiteral( "count: " ) + QString::number( globalStorage->count() ) + '\n'; globalStorage->insert( "item2", "value2" ); globalStorage->insert( "item3", 3 ); accumulator += QStringLiteral( "keys: %1\n" ).arg( globalStorage->keys().join( ',' ) ); accumulator += QStringLiteral( "remove: %1\n" ).arg( QString::number( globalStorage->remove( "item2" ) ) ); - accumulator += QStringLiteral( "values: %1 %2 %3\n" ).arg( - globalStorage->value( "foo" ).toString(), - globalStorage->value( "item2" ).toString(), - globalStorage->value( "item3" ).toString() ); + accumulator += QStringLiteral( "values: %1 %2 %3\n" ) + .arg( globalStorage->value( "foo" ).toString(), + globalStorage->value( "item2" ).toString(), + globalStorage->value( "item3" ).toString() ); emit progress( 0.1 ); cDebug() << "[DUMMYCPP]: " << accumulator; @@ -145,4 +154,4 @@ DummyCppJob::setConfigurationMap( const QVariantMap& configurationMap ) m_configurationMap = configurationMap; } -CALAMARES_PLUGIN_FACTORY_DEFINITION( DummyCppJobFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( DummyCppJobFactory, registerPlugin< DummyCppJob >(); ) diff --git a/src/modules/dummycpp/DummyCppJob.h b/src/modules/dummycpp/DummyCppJob.h index 98c4d19d6..4a79d0378 100644 --- a/src/modules/dummycpp/DummyCppJob.h +++ b/src/modules/dummycpp/DummyCppJob.h @@ -49,4 +49,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( DummyCppJobFactory ) -#endif // DUMMYCPPJOB_H +#endif // DUMMYCPPJOB_H From 41173360a71c6c13bb6e1fbcd1bf1c500b075b2c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:36:38 +0200 Subject: [PATCH 213/626] [libcalamares] We're just testing file modes, not whole int range --- src/libcalamares/utils/Tests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/Tests.cpp b/src/libcalamares/utils/Tests.cpp index 2f2b7ff4b..0f7d6cd81 100644 --- a/src/libcalamares/utils/Tests.cpp +++ b/src/libcalamares/utils/Tests.cpp @@ -158,7 +158,7 @@ LibCalamaresTests::testUmask() mode_t m = CalamaresUtils::setUMask( 022 ); QCOMPARE( CalamaresUtils::setUMask( m ), m ); - for ( int i = 0; i <= 0777 /* octal! */; ++i ) + for ( mode_t i = 0; i <= 0777 /* octal! */; ++i ) { QByteArray name = ( ft.fileName() + QChar( '.' ) + QString::number( i, 8 ) ).toLatin1(); CalamaresUtils::UMask um( i ); From 91d327b224b867960b991bb0afc79d124c373403 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:41:59 +0200 Subject: [PATCH 214/626] [libcalamaresui] Paste TCP port is quint16 - no sense in feeding in an int (and getting a compiler warning for narrowing) into something that by spec is a 16-bit value. --- src/libcalamaresui/utils/Paste.cpp | 2 +- src/libcalamaresui/utils/Paste.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/utils/Paste.cpp b/src/libcalamaresui/utils/Paste.cpp index 6fead59e6..1b9ad4dfe 100644 --- a/src/libcalamaresui/utils/Paste.cpp +++ b/src/libcalamaresui/utils/Paste.cpp @@ -29,7 +29,7 @@ namespace CalamaresUtils { QString -sendLogToPastebin( QObject* parent, const QString& ficheHost, int fichePort ) +sendLogToPastebin( QObject* parent, const QString& ficheHost, quint16 fichePort ) { QString pasteUrlFmt = parent->tr( "Install log posted to:\n%1" ); QFile pasteSourceFile( Logger::logFile() ); diff --git a/src/libcalamaresui/utils/Paste.h b/src/libcalamaresui/utils/Paste.h index 2ac77f2f3..fd088882c 100644 --- a/src/libcalamaresui/utils/Paste.h +++ b/src/libcalamaresui/utils/Paste.h @@ -19,6 +19,8 @@ #ifndef UTILS_PASTE_H #define UTILS_PASTE_H +#include // for quint16 + class QObject; class QString; @@ -29,7 +31,7 @@ namespace CalamaresUtils * * Returns the (string) URL that the pastebin gives us. */ -QString sendLogToPastebin( QObject* parent, const QString& ficheHost, int fichePort ); +QString sendLogToPastebin( QObject* parent, const QString& ficheHost, quint16 fichePort ); } // namespace CalamaresUtils From ec08a293b28fc374b250b3549f1f742563fbc232 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:43:50 +0200 Subject: [PATCH 215/626] [libcalamaresui] Reduce compile warnings - "this" isn't used in the lambda; in future it might be if the lambda needs to get the configuration from settings. --- src/libcalamaresui/ViewManager.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index b27b36f80..7baefdbd0 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -241,7 +241,7 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail msgBox->show(); cDebug() << "Calamares will quit when the dialog closes."; - connect( msgBox, &QMessageBox::buttonClicked, [this,msgBox]( QAbstractButton* button ) { + connect( msgBox, &QMessageBox::buttonClicked, [msgBox]( QAbstractButton* button ) { if ( msgBox->buttonRole( button ) == QMessageBox::ButtonRole::YesRole ) { // TODO: host and port should be configurable @@ -254,9 +254,7 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail } // TODO: make the URL clickable, or copy it to the clipboard automatically - QMessageBox::critical(nullptr, - pasteUrlTitle, - pasteUrlMsg); + QMessageBox::critical( nullptr, pasteUrlTitle, pasteUrlMsg ); } QApplication::quit(); } ); From 8a7f32d3aa45fd1d34bbb7a704fc8aa39c334544 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 16:52:54 +0200 Subject: [PATCH 216/626] [libcalamaresui] Polish ImageRegistry - do static initialization more carefully - float -> qreal (double) because that's what the Qt API expects, to reduce type-conversion warnings - apply current coding style --- src/libcalamaresui/utils/ImageRegistry.cpp | 45 +++++++++++++--------- src/libcalamaresui/utils/ImageRegistry.h | 23 +++++++---- 2 files changed, 42 insertions(+), 26 deletions(-) diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index 96ea92bbb..5cffac11c 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -2,6 +2,8 @@ * * SPDX-License-Identifier: GPLv3+ * License-Filename: LICENSES/GPLv3+-ImageRegistry + * + * Copyright 2019, Adriaan de Groot */ /* @@ -23,25 +25,22 @@ #include "ImageRegistry.h" -#include #include +#include #include static QHash< QString, QHash< int, QHash< qint64, QPixmap > > > s_cache; -ImageRegistry* ImageRegistry::s_instance = 0; ImageRegistry* ImageRegistry::instance() { + static ImageRegistry* s_instance = new ImageRegistry(); return s_instance; } -ImageRegistry::ImageRegistry() -{ - s_instance = this; -} +ImageRegistry::ImageRegistry() {} QIcon @@ -52,16 +51,20 @@ ImageRegistry::icon( const QString& image, CalamaresUtils::ImageMode mode ) qint64 -ImageRegistry::cacheKey( const QSize& size, float opacity, QColor tint ) +ImageRegistry::cacheKey( const QSize& size, qreal opacity, QColor tint ) { - return size.width() * 100 + size.height() * 10 + ( opacity * 100.0 ) + tint.value(); + return size.width() * 100 + size.height() * 10 + static_cast< qint64 >( opacity * 100.0 ) + tint.value(); } QPixmap -ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, QColor tint ) +ImageRegistry::pixmap( const QString& image, + const QSize& size, + CalamaresUtils::ImageMode mode, + qreal opacity, + QColor tint ) { - Q_ASSERT( !(size.width() < 0 || size.height() < 0) ); + Q_ASSERT( !( size.width() < 0 || size.height() < 0 ) ); if ( size.width() < 0 || size.height() < 0 ) { return QPixmap(); @@ -110,23 +113,20 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: resultImage.setAlphaChannel( p.toImage().alphaChannel() ); p = QPixmap::fromImage( resultImage ); - } + } pixmap = p; } else + { pixmap = QPixmap( image ); + } if ( !pixmap.isNull() ) { - switch ( mode ) + if ( mode == CalamaresUtils::RoundedCorners ) { - case CalamaresUtils::RoundedCorners: - pixmap = CalamaresUtils::createRoundedImage( pixmap, size ); - break; - - default: - break; + pixmap = CalamaresUtils::createRoundedImage( pixmap, size ); } if ( !size.isNull() && pixmap.size() != size ) @@ -140,7 +140,9 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: pixmap = pixmap.scaledToWidth( size.width(), Qt::SmoothTransformation ); } else + { pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + } } putInCache( image, size, mode, opacity, pixmap, tint ); @@ -151,7 +153,12 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: void -ImageRegistry::putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ) +ImageRegistry::putInCache( const QString& image, + const QSize& size, + CalamaresUtils::ImageMode mode, + qreal opacity, + const QPixmap& pixmap, + QColor tint ) { QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index e35eaf74a..06ab45831 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -2,6 +2,8 @@ * * SPDX-License-Identifier: GPLv3+ * License-Filename: LICENSES/GPLv3+-ImageRegistry + * + * Copyright 2019, Adriaan de Groot */ /* @@ -26,8 +28,8 @@ #include -#include "utils/CalamaresUtilsGui.h" #include "UiDllMacro.h" +#include "utils/CalamaresUtilsGui.h" class UIDLLEXPORT ImageRegistry { @@ -37,13 +39,20 @@ public: explicit ImageRegistry(); QIcon icon( const QString& image, CalamaresUtils::ImageMode mode = CalamaresUtils::Original ); - QPixmap pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode = CalamaresUtils::Original, float opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); + QPixmap pixmap( const QString& image, + const QSize& size, + CalamaresUtils::ImageMode mode = CalamaresUtils::Original, + qreal opacity = 1.0, + QColor tint = QColor( 0, 0, 0, 0 ) ); private: - qint64 cacheKey( const QSize& size, float opacity, QColor tint ); - void putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ); - - static ImageRegistry* s_instance; + qint64 cacheKey( const QSize& size, qreal opacity, QColor tint ); + void putInCache( const QString& image, + const QSize& size, + CalamaresUtils::ImageMode mode, + qreal opacity, + const QPixmap& pixmap, + QColor tint ); }; -#endif // IMAGE_REGISTRY_H +#endif // IMAGE_REGISTRY_H From 96ef488f1bbd0c298c7d20efc2722ab46fc21944 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 17:17:46 +0200 Subject: [PATCH 217/626] [calamares] Clean up VariantModel - stop compiler warnings with some judicious casting; that's what you get when a container indexed by int stored those indexes as quintptr. - apply coding style --- src/calamares/VariantModel.cpp | 46 +++++++++++++++++++++------------- src/calamares/VariantModel.h | 4 +++ 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/src/calamares/VariantModel.cpp b/src/calamares/VariantModel.cpp index 5eaf4bac7..a7e1243f3 100644 --- a/src/calamares/VariantModel.cpp +++ b/src/calamares/VariantModel.cpp @@ -19,7 +19,7 @@ #include "VariantModel.h" static void -overallLength( const QVariant& item, int& c, int parent, VariantModel::IndexVector* skiplist ) +overallLength( const QVariant& item, quintptr& c, quintptr parent, VariantModel::IndexVector* skiplist ) { if ( skiplist ) { @@ -46,9 +46,11 @@ overallLength( const QVariant& item, int& c, int parent, VariantModel::IndexVect static quintptr findNth( const VariantModel::IndexVector& skiplist, quintptr value, int n ) { + constexpr const quintptr invalid_index = static_cast< quintptr >( -1 ); + if ( n < 0 ) { - return -1; + return invalid_index; } int index = 0; @@ -58,12 +60,13 @@ findNth( const VariantModel::IndexVector& skiplist, quintptr value, int n ) { if ( --n < 0 ) { - return index; + // It's bigger than 0 + return static_cast< quintptr >( index ); } } index++; } - return -1; + return invalid_index; } @@ -78,16 +81,19 @@ VariantModel::~VariantModel() {} void VariantModel::reload() { - int x = 0; - overallLength( *m_p, x, -1, nullptr ); + constexpr const quintptr invalid_index = static_cast< quintptr >( -1 ); + + quintptr x = 0; m_rows.clear(); // Start over - m_rows.reserve( x ); // We'll need this much - x = 0; - overallLength( *m_p, x, -1, &m_rows ); + if ( m_rows.capacity() < 64 ) + { + m_rows.reserve( 64 ); // Start reasonably-sized + } + overallLength( *m_p, x, invalid_index, &m_rows ); } int -VariantModel::columnCount( const QModelIndex& index ) const +VariantModel::columnCount( const QModelIndex& ) const { return 2; } @@ -106,7 +112,7 @@ VariantModel::index( int row, int column, const QModelIndex& parent ) const if ( parent.isValid() ) { - if ( !( parent.internalId() >= m_rows.count() ) ) + if ( inRange( parent ) ) { p = parent.internalId(); } @@ -115,27 +121,33 @@ VariantModel::index( int row, int column, const QModelIndex& parent ) const return createIndex( row, column, findNth( m_rows, p, row ) ); } +static inline quintptr +deref( const VariantModel::IndexVector& v, quintptr i ) +{ + return v[ static_cast< int >( i ) ]; +} + QModelIndex VariantModel::parent( const QModelIndex& index ) const { - if ( !index.isValid() || ( index.internalId() > m_rows.count() ) ) + if ( !index.isValid() || !inRange( index ) ) { return QModelIndex(); } - quintptr p = m_rows[ index.internalId() ]; + quintptr p = deref( m_rows, index.internalId() ); if ( p == 0 ) { return QModelIndex(); } - if ( p >= m_rows.count() ) + if ( !inRange( p ) ) { return QModelIndex(); } - quintptr p_pid = m_rows[ p ]; + quintptr p_pid = deref( m_rows, p ); int row = 0; - for ( int i = 0; i < p; ++i ) + for ( int i = 0; i < static_cast< int >( p ); ++i ) { if ( m_rows[ i ] == p_pid ) { @@ -164,7 +176,7 @@ VariantModel::data( const QModelIndex& index, int role ) const return QVariant(); } - if ( index.internalId() >= m_rows.count() ) + if ( !inRange( index ) ) { return QVariant(); } diff --git a/src/calamares/VariantModel.h b/src/calamares/VariantModel.h index 9c4256f6a..372400940 100644 --- a/src/calamares/VariantModel.h +++ b/src/calamares/VariantModel.h @@ -79,6 +79,10 @@ private: /// @brief Implementation of walking an index through the variant-tree const QVariant underlying( const QModelIndex& index ) const; + + /// @brief Helpers for range-checking + inline bool inRange( quintptr p ) const { return p < static_cast< quintptr >( m_rows.count() ); } + inline bool inRange( const QModelIndex& index ) const { return inRange( index.internalId() ); } }; #endif From 08a08f9b54b0a2fc1f84d30c2ec0d8f6caceb7c7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 9 Aug 2019 17:29:28 +0200 Subject: [PATCH 218/626] [calamares] Minor optimizations and documentation - document the data structure; for the vector V (called m_rows) the values are V_i < i, so that enables microscopic optimizations. --- src/calamares/VariantModel.cpp | 4 ++-- src/calamares/VariantModel.h | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/calamares/VariantModel.cpp b/src/calamares/VariantModel.cpp index a7e1243f3..2d8313665 100644 --- a/src/calamares/VariantModel.cpp +++ b/src/calamares/VariantModel.cpp @@ -53,7 +53,7 @@ findNth( const VariantModel::IndexVector& skiplist, quintptr value, int n ) return invalid_index; } - int index = 0; + int index = static_cast< int >( value ); while ( ( n >= 0 ) && ( index < skiplist.count() ) ) { if ( skiplist[ index ] == value ) @@ -147,7 +147,7 @@ VariantModel::parent( const QModelIndex& index ) const } quintptr p_pid = deref( m_rows, p ); int row = 0; - for ( int i = 0; i < static_cast< int >( p ); ++i ) + for ( int i = static_cast< int >( p_pid ); i < static_cast< int >( p ); ++i ) { if ( m_rows[ i ] == p_pid ) { diff --git a/src/calamares/VariantModel.h b/src/calamares/VariantModel.h index 372400940..bdf6da866 100644 --- a/src/calamares/VariantModel.h +++ b/src/calamares/VariantModel.h @@ -75,6 +75,30 @@ public: private: const QVariant* const m_p; + + /** @brief Tree representation of the variant. + * + * At index 0 in the vector , we store -1 to indicate the root. + * + * Then we enumerate all the elements in the tree (by traversing + * the variant and using QVariantMap and QVariantList as having + * children, and everything else being a leaf node) and at the index + * for a child, store the index of its parent. This means that direct + * children of the root store a 0 in their indexes, children of the first + * child of the root store a 1, and we can "pointer chase" from an index + * through parents back to index 0. + * + * Because of this structure, the value stored at index i must be + * less than i (except for index 0, which is special). This makes it + * slightly easier to search for a given value *p*, because we can start + * at index *p* (or even *p+1*). + * + * Given an index *i* into the vector corresponding to a child, we know the + * parent, but can also count which row this child should have, by counting + * *other* indexes before *i* with the same parent (and by the ordering + * of values, we can start counting at index *parent-index*). + * + */ IndexVector m_rows; /// @brief Implementation of walking an index through the variant-tree From 8c78a6cdfa6bc0943b7e2ac4776636f811e6d222 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 12 Aug 2019 12:05:50 +0200 Subject: [PATCH 219/626] Documentation: match stated requirements with CMakeLists.txt --- README.md | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f35b012c8..df4c02b66 100644 --- a/README.md +++ b/README.md @@ -13,28 +13,22 @@ ### Dependencies Main: -* Compiler with C++11 support: GCC >= 4.9.0 or Clang >= 3.5.1 -* CMake >= 3.2 -* Qt >= 5.7 +* Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1 +* CMake >= 3.3 +* Qt >= 5.9 * yaml-cpp >= 0.5.1 * Python >= 3.3 (required for some modules) -* Boost.Python >= 1.55.0 (recommended, or PythonQt; one is required for some modules) -* PythonQt (recommended, or Boost.Python; one is required for some modules) -* extra-cmake-modules >= 5.18 (recommended; required for some modules) +* Boost.Python >= 1.55.0 (required for some modules) +* KDE extra-cmake-modules >= 5.18 (recommended; required for some modules; + required for some tests) +* PythonQt (optional, deprecated) Modules: -* welcome: - * NetworkManager - * UPower (optional, runtime) -* partition: - * extra-cmake-modules - * KF5: KCoreAddons, KConfig, KI18n, KService, KWidgetsAddons - * KPMcore >= 3.3 -* bootloader: - * systemd-boot or GRUB -* unpackfs: - * squashfs-tools - * rsync +* Individual modules may have their own requirements; + these are listed in CMake output. Particular requirements (not complete): +* *fsresizer* KPMCore >= 3.3 +* *partition* KPMCore >= 3.3 +* *users* LibPWQuality (optional) ### Building From a6db224fcb98d90309aea2795ad444e4c16231f0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 13:32:20 +0200 Subject: [PATCH 220/626] [fsresizer] [partition] Gracefully fail on missing dependencies - If KPMcore is found -- it requires some other KDE Frameworks but at least in pre-4.0 versions doesn't check very well for them -- then missing its dependencies is no cause for CMake failure. Instead, log it nicely and suppress the module. --- src/modules/fsresizer/CMakeLists.txt | 14 +++++++++----- src/modules/partition/CMakeLists.txt | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/modules/fsresizer/CMakeLists.txt b/src/modules/fsresizer/CMakeLists.txt index ba9c81f4c..3d82489b7 100644 --- a/src/modules/fsresizer/CMakeLists.txt +++ b/src/modules/fsresizer/CMakeLists.txt @@ -1,11 +1,11 @@ find_package( KPMcore 3.3 ) +find_package( KF5Config CONFIG ) +find_package( KF5I18n CONFIG ) +find_package( KF5WidgetsAddons CONFIG ) set( _partition_defs "" ) -if ( KPMcore_FOUND ) - find_package( Qt5 REQUIRED DBus ) # Needed for KPMCore - find_package( KF5 REQUIRED I18n WidgetsAddons ) # Needed for KPMCore - +if ( KPMcore_FOUND AND Qt5DBus_FOUND AND KF5CoreAddons_FOUND AND KF5Config_FOUND ) include_directories( ${KPMCORE_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/src/modules/partition ) if ( KPMcore_VERSION VERSION_GREATER "3.3.0") @@ -48,5 +48,9 @@ if ( KPMcore_FOUND ) target_compile_definitions( fsresizertest PRIVATE ${_partition_defs} ) endif() else() - calamares_skip_module( "fsresizer (missing suitable KPMcore)" ) + if ( NOT KPMcore_FOUND ) + calamares_skip_module( "fsresizer (missing suitable KPMcore)" ) + else() + calamares_skip_module( "fsresizer (missing dependencies for KPMcore)" ) + endif() endif() diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index df1588cb2..f9c32b39e 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -22,11 +22,11 @@ set_package_properties( KPMcore PROPERTIES PURPOSE "For partitioning module" ) +find_package( KF5Config CONFIG ) +find_package( KF5I18n CONFIG ) +find_package( KF5WidgetsAddons CONFIG ) -if ( KPMcore_FOUND ) - find_package( Qt5 REQUIRED DBus ) - find_package( KF5 REQUIRED Config CoreAddons I18n WidgetsAddons ) - +if ( KPMcore_FOUND AND Qt5DBus_FOUND AND KF5CoreAddons_FOUND AND KF5Config_FOUND ) if ( KPMcore_VERSION VERSION_GREATER "3.3.0") list( APPEND _partition_defs WITH_KPMCORE331API) # kpmcore > 3.3.0 with deprecations endif() @@ -106,5 +106,9 @@ if ( KPMcore_FOUND ) SHARED_LIB ) else() - calamares_skip_module( "partition (missing suitable KPMcore)" ) + if ( NOT KPMcore_FOUND ) + calamares_skip_module( "partition (missing suitable KPMcore)" ) + else() + calamares_skip_module( "partition (missing dependencies for KPMcore)" ) + endif() endif() From bcb7f17584161fe0805605ca8eae2db8c2f3d1a2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 14:06:33 +0200 Subject: [PATCH 221/626] [calamares] Make KCoreAddons a requirement - Require KCoreAddons for KAboutData (also, optionally, for KOSRelease) --- CMakeLists.txt | 30 +++++++++++++++++++++++++++--- src/calamares/CMakeLists.txt | 2 +- src/calamares/main.cpp | 7 ++++--- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36c09abf0..5461aa3c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -261,6 +261,8 @@ if( Qt5_VERSION VERSION_GREATER 5.12.1 ) list( APPEND _tx_ok "eo" ) endif() endif() +# Optional Qt parts +find_package( Qt5DBus CONFIG ) find_package( YAMLCPP ${YAMLCPP_VERSION} REQUIRED ) if( INSTALL_POLKIT ) @@ -291,7 +293,14 @@ if( ECM_FOUND ) include(KDEInstallDirs) endif() -find_package( KF5 COMPONENTS CoreAddons Crash ) +find_package( KF5 QUIET COMPONENTS CoreAddons Crash ) +set_package_properties( + KF5::CoreAddons PROPERTIES + TYPE REQUIRED + DESCRIPTION "Classes built on QtCore for About Data" + URL "https://api.kde.org/frameworks/kcoreaddons/" + PURPOSE "About Calamares" +) if( NOT KF5Crash_FOUND ) set( WITH_KF5Crash OFF ) endif() @@ -590,10 +599,25 @@ add_custom_target( uninstall ### CMAKE SUMMARY REPORT # -feature_summary(WHAT ALL) - get_directory_property( SKIPPED_MODULES DIRECTORY src/modules DEFINITION LIST_SKIPPED_MODULES ) calamares_explain_skipped_modules( ${SKIPPED_MODULES} ) + +feature_summary( + WHAT DISABLED_FEATURES + DESCRIPTION "The following features have been disabled:" + QUIET_ON_EMPTY +) +feature_summary( + WHAT OPTIONAL_PACKAGES_NOT_FOUND + DESCRIPTION "The following OPTIONAL packages were not found:" + QUIET_ON_EMPTY +) +feature_summary( + WHAT REQUIRED_PACKAGES_NOT_FOUND + FATAL_ON_MISSING_REQUIRED_PACKAGES + DESCRIPTION "The following REQUIRED packages were not found:" + QUIET_ON_EMPTY +) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 259e3bf56..a55e26b6d 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -46,11 +46,11 @@ target_link_libraries( calamares_bin calamaresui Qt5::Core Qt5::Widgets + KF5::CoreAddons ) if( WITH_KF5Crash ) target_link_libraries( calamares_bin PRIVATE - KF5::CoreAddons KF5::Crash ) target_compile_definitions( calamares_bin PRIVATE WITH_KF5Crash ) diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index 704c2bf59..caf1f6cfd 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -26,8 +26,8 @@ #include "3rdparty/kdsingleapplicationguard/kdsingleapplicationguard.h" -#ifdef WITH_KF5Crash #include +#ifdef WITH_KF5Crash #include #endif @@ -93,7 +93,6 @@ main( int argc, char* argv[] ) { CalamaresApplication a( argc, argv ); -#ifdef WITH_KF5Crash KAboutData aboutData( "calamares", "Calamares", a.applicationVersion(), @@ -104,12 +103,14 @@ main( int argc, char* argv[] ) "https://calamares.io", "https://github.com/calamares/calamares/issues" ); KAboutData::setApplicationData( aboutData ); + a.setApplicationDisplayName( QString() ); // To avoid putting an extra "Calamares/" into the log-file + +#ifdef WITH_KF5Crash KCrash::initialize(); // KCrash::setCrashHandler(); KCrash::setDrKonqiEnabled( true ); KCrash::setFlags( KCrash::SaferDialog | KCrash::AlwaysDirectly ); // TODO: umount anything in /tmp/calamares-... as an emergency save function - a.setApplicationDisplayName( QString() ); #endif handle_args( a ); From 44991e700b943003fe58030ce7dbdcaa43bbf0dd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 14:30:50 +0200 Subject: [PATCH 222/626] [libcalamaresui] Check KCoreAddons version directly --- src/libcalamaresui/CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 111113a47..a9d31c2c3 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -75,8 +75,6 @@ calamares_add_library( calamaresui VERSION ${CALAMARES_VERSION_SHORT} ) -find_package( KF5CoreAddons 5.58 QUIET ) # If it's really new -if ( KF5CoreAddons_FOUND ) +if ( KF5CoreAddons_FOUND AND KF5CoreAddons_VERSION VERSION_GREATER_EQUAL 5.58 ) target_compile_definitions( calamaresui PRIVATE WITH_KOSRelease ) - target_link_libraries( calamaresui PRIVATE KF5::CoreAddons ) endif() From 1711071c588b6fdd779ca06dcbcea1f99dbb62f5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Aug 2019 14:31:25 +0200 Subject: [PATCH 223/626] [libcalamares] Swap out own PluginLoader for KCoreAddons --- src/libcalamares/CMakeLists.txt | 2 +- src/libcalamares/utils/PluginFactory.cpp | 127 ---------- src/libcalamares/utils/PluginFactory.h | 291 +---------------------- src/libcalamares/utils/PluginFactory_p.h | 55 ----- 4 files changed, 5 insertions(+), 470 deletions(-) delete mode 100644 src/libcalamares/utils/PluginFactory.cpp delete mode 100644 src/libcalamares/utils/PluginFactory_p.h diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 790d4b6ac..c6f8cd0d2 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -44,7 +44,6 @@ set( libSources utils/CommandList.cpp utils/Dirs.cpp utils/Logger.cpp - utils/PluginFactory.cpp utils/Retranslator.cpp utils/String.cpp utils/UMask.cpp @@ -120,6 +119,7 @@ target_link_libraries( calamares LINK_PUBLIC ${YAMLCPP_LIBRARY} Qt5::Core + KF5::CoreAddons ${OPTIONAL_PUBLIC_LIBRARIES} ) diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp deleted file mode 100644 index 878182ea4..000000000 --- a/src/libcalamares/utils/PluginFactory.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2015, Teo Mrnjavac - * Copyright 2017-2018, Adriaan de Groot - * - * Based on KPluginFactory from KCoreAddons, KDE project - * Copyright 2007, Matthias Kretz - * Copyright 2007, Bernhard Loos - * - * 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 . - */ - -#include "PluginFactory.h" -#include "PluginFactory_p.h" - -#include -#include - -// *INDENT-OFF* -// clang-format off - -Q_GLOBAL_STATIC( QObjectCleanupHandler, factorycleanup ) - -namespace Calamares -{ - -PluginFactory::PluginFactory() - : pd_ptr( new PluginFactoryPrivate ) -{ - pd_ptr->q_ptr = this; - - factorycleanup()->add( this ); -} - -PluginFactory::PluginFactory( PluginFactoryPrivate& d ) - : pd_ptr( &d ) -{ - factorycleanup()->add( this ); -} - -PluginFactory::~PluginFactory() -{ - delete pd_ptr; -} - -void PluginFactory::doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ) -{ - Q_ASSERT( metaObject ); - - // we allow different interfaces to be registered without keyword - if ( !keyword.isEmpty() ) - { - if ( pd_ptr->createInstanceHash.contains( keyword ) ) - qWarning() << "A plugin with the keyword" << keyword << "was already registered. A keyword must be unique!"; - pd_ptr->createInstanceHash.insert( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); - } - else - { - const QList clashes( pd_ptr->createInstanceHash.values( keyword ) ); - const QMetaObject* superClass = metaObject->superClass(); - if ( superClass ) - { - for ( const PluginFactoryPrivate::Plugin& plugin : clashes ) - { - for ( const QMetaObject* otherSuper = plugin.first->superClass(); otherSuper; - otherSuper = otherSuper->superClass() ) - { - if ( superClass == otherSuper ) - qWarning() << "Two plugins with the same interface(" << superClass->className() << ") were registered. Use keywords to identify the plugins."; - } - } - } - for ( const PluginFactoryPrivate::Plugin& plugin : clashes ) - { - superClass = plugin.first->superClass(); - if ( superClass ) - { - for ( const QMetaObject* otherSuper = metaObject->superClass(); otherSuper; - otherSuper = otherSuper->superClass() ) - { - if ( superClass == otherSuper ) - qWarning() << "Two plugins with the same interface(" << superClass->className() << ") were registered. Use keywords to identify the plugins."; - } - } - } - pd_ptr->createInstanceHash.insertMulti( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); - } -} - -QObject* PluginFactory::create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ) -{ - QObject* obj = nullptr; - - const QList candidates( pd_ptr->createInstanceHash.values( keyword ) ); - // for !keyword.isEmpty() candidates.count() is 0 or 1 - - for ( const PluginFactoryPrivate::Plugin& plugin : candidates ) - { - for ( const QMetaObject* current = plugin.first; current; current = current->superClass() ) - { - if ( 0 == qstrcmp( iface, current->className() ) ) - { - if ( obj ) - qWarning() << "ambiguous interface requested from a DSO containing more than one plugin"; - obj = plugin.second( parentWidget, parent ); - break; - } - } - } - - if ( obj ) - emit objectCreated( obj ); - return obj; -} - -} diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index f2481f10d..2ba9fd3cd 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -24,298 +24,15 @@ #ifndef UTILS_PLUGINFACTORY_H #define UTILS_PLUGINFACTORY_H -#include "DllMacro.h" - -#include -#include -#include - -// *INDENT-OFF* -// clang-format off - -namespace Calamares -{ -class PluginFactoryPrivate; -} +#include #define CalamaresPluginFactory_iid "io.calamares.PluginFactory" -/** - * \relates PluginFactory - * - * CALAMARES_PLUGIN_FACTORY_DECLARATION declares the PluginFactory subclass. This macro - * can be used in a header file. - * - * \param name The name of the PluginFactory derived class. - * - * \see CALAMARES_PLUGIN_FACTORY - * \see CALAMARES_PLUGIN_FACTORY_DEFINITION - */ #define CALAMARES_PLUGIN_FACTORY_DECLARATION(name) \ - class name : public Calamares::PluginFactory \ - { \ - Q_OBJECT \ - Q_INTERFACES(Calamares::PluginFactory) \ - Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid) \ - public: \ - explicit name(); \ - ~name(); \ - private: \ - void init(); \ - }; - -/** - * \relates PluginFactory - * CALAMARES_PLUGIN_FACTORY_DEFINITION defines the PluginFactory subclass. This macro - * can not be used in a header file. - * - * \param name The name of the PluginFactory derived class. - * - * \param pluginRegistrations Code to be inserted into the constructor of the - * class. Usually a series of registerPlugin() calls. - * - * \see CALAMARES_PLUGIN_FACTORY - * \see CALAMARES_PLUGIN_FACTORY_DECLARATION - */ + K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY_SKEL(name,KPluginFactory,Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid)) #define CALAMARES_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations) \ - name::name() \ - { \ - pluginRegistrations \ - } \ - name::~name() {} + K_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations ) -namespace Calamares -{ - -/** - * \class PluginFactory PluginFactory.h - * - * PluginFactory provides a convenient way to provide factory-style plugins. - * Qt plugins provide a singleton object, but a common pattern is for plugins - * to generate as many objects of a particular type as the application requires. - * By using PluginFactory, you can avoid implementing the factory pattern - * yourself. - * - * PluginFactory also allows plugins to provide multiple different object - * types, indexed by keywords. - * - * The objects created by PluginFactory must inherit QObject, and must have a - * standard constructor pattern: - * \li if the object is a KPart::Part, it must be of the form - * \code - * T(QWidget *parentWidget, QObject *parent, const QVariantList &args) - * \endcode - * \li if it is a QWidget, it must be of the form - * \code - * T(QWidget *parent, const QVariantList &args) - * \endcode - * \li otherwise it must be of the form - * \code - * T(QObject *parent, const QVariantList &args) - * \endcode - * - * You should typically use CALAMARES_PLUGIN_FACTORY_DEFINITION() in your plugin code to - * create the factory. The pattern is - * - * \code - * #include "utils/PluginFactory.h" - * - * class MyPlugin : public PluginInterface - * { - * public: - * MyPlugin(QObject *parent, const QVariantList &args) - * : PluginInterface(parent) - * {} - * }; - * - * CALAMARES_PLUGIN_FACTORY_DEFINITION(MyPluginFactory, - * registerPlugin(); - * ) - * \endcode - * - * If you want to load a library use KPluginLoader. - * The application that wants to instantiate plugin classes can do the following: - * \code - * PluginFactory *factory = KPluginLoader("libraryname").factory(); - * if (factory) { - * PluginInterface *p1 = factory->create(parent); - * OtherInterface *p2 = factory->create(parent); - * NextInterface *p3 = factory->create("keyword1", parent); - * NextInterface *p3 = factory->create("keyword2", parent); - * } - * \endcode - * - * \author Matthias Kretz - * \author Bernhard Loos - */ -class DLLEXPORT PluginFactory : public QObject -{ - Q_OBJECT - friend class PluginFactoryPrivate; -public: - /** - * This constructor creates a factory for a plugin. - */ - explicit PluginFactory(); - - /** - * This destroys the PluginFactory. - */ - virtual ~PluginFactory(); - - /** - * Use this method to create an object. It will try to create an object which inherits - * \p T. If it has multiple choices, you will get a fatal error (kFatal()), so be careful - * to request a unique interface or use keywords. - * - * \tparam T The interface for which an object should be created. The object will inherit \p T. - * \param parent The parent of the object. If \p parent is a widget type, it will also passed - * to the parentWidget argument of the CreateInstanceFunction for the object. - * \returns A pointer to the created object is returned, or 0 if an error occurred. - */ - template - T* create( QObject* parent = nullptr ); - - /** - * Use this method to create an object. It will try to create an object which inherits - * \p T and was registered with \p keyword. - * - * \tparam T The interface for which an object should be created. The object will inherit \p T. - * \param keyword The keyword of the object. - * \param parent The parent of the object. If \p parent is a widget type, it will also passed - * to the parentWidget argument of the CreateInstanceFunction for the object. - * \returns A pointer to the created object is returned, or 0 if an error occurred. - */ - template - T* create( const QString& keyword, QObject* parent = nullptr ); - -Q_SIGNALS: - void objectCreated( QObject* object ); - -protected: - /** - * Function pointer type to a function that instantiates a plugin. - */ - typedef QObject* ( *CreateInstanceFunction )( QWidget*, QObject* ); - - /** - * This is used to detect the arguments need for the constructor of plugin classes. - * You can inherit it, if you want to add new classes and still keep support for the old ones. - */ - template - struct InheritanceChecker - { - CreateInstanceFunction createInstanceFunction( QWidget* ) - { - return &createInstance; - } - CreateInstanceFunction createInstanceFunction( ... ) - { - return &createInstance; - } - }; - - explicit PluginFactory( PluginFactoryPrivate& dd ); - - /** - * Registers a plugin with the factory. Call this function from the constructor of the - * PluginFactory subclass to make the create function able to instantiate the plugin when asked - * for an interface the plugin implements. - * - * \tparam T the name of the plugin class - * - * \param keyword An optional keyword as unique identifier for the plugin. This allows you to - * put more than one plugin with the same interface into the same library using the same - * factory. X-KDE-PluginKeyword is a convenient way to specify the keyword in a desktop file. - * - * \param instanceFunction A function pointer to a function that creates an instance of the - * plugin. The default function that will be used depends on the type of interface. If the - * interface inherits from - * \li \c KParts::Part the function will call - * \code - * new T(QWidget *parentWidget, QObject *parent) - * \endcode - * \li \c QWidget the function will call - * \code - * new T(QWidget *parent) - * \endcode - * \li else the function will call - * \code - * new T(QObject *parent) - * \endcode - */ - template - void registerPlugin( const QString& keyword = QString(), - CreateInstanceFunction instanceFunction - = InheritanceChecker().createInstanceFunction( reinterpret_cast( 0 ) ) ) - { - doRegisterPlugin( keyword, &T::staticMetaObject, instanceFunction ); - } - - PluginFactoryPrivate* const pd_ptr; - - /** - * This function is called when the factory asked to create an Object. - * - * You may reimplement it to provide a very flexible factory. This is especially useful to - * provide generic factories for plugins implemeted using a scripting language. - * - * \param iface The staticMetaObject::className() string identifying the plugin interface that - * was requested. E.g. for KCModule plugins this string will be "KCModule". - * \param parentWidget Only used if the requested plugin is a KPart. - * \param parent The parent object for the plugin object. - * \param keyword A string that uniquely identifies the plugin. If a KService is used this - * keyword is read from the X-KDE-PluginKeyword entry in the .desktop file. - */ - virtual QObject* create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ); - - template - static QObject* createInstance( QWidget* parentWidget, QObject* parent ) - { - Q_UNUSED( parentWidget ) - ParentType* p = nullptr; - if ( parent ) - { - p = qobject_cast( parent ); - Q_ASSERT( p ); - } - return new impl( p ); - } - -private: - void doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ); -}; - -template -inline T* PluginFactory::create( QObject* parent ) -{ - QObject* o = create( T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, - parent, - QString() ); - - T* t = qobject_cast( o ); - if ( !t ) - delete o; - return t; -} - -template -inline T* PluginFactory::create( const QString& keyword, QObject* parent ) -{ - QObject* o = create( T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, - parent, - keyword ); - - T* t = qobject_cast( o ); - if ( !t ) - delete o; - return t; -} - -} // namespace - -Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) +// Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) #endif diff --git a/src/libcalamares/utils/PluginFactory_p.h b/src/libcalamares/utils/PluginFactory_p.h deleted file mode 100644 index dc272f077..000000000 --- a/src/libcalamares/utils/PluginFactory_p.h +++ /dev/null @@ -1,55 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2015, Teo Mrnjavac - * - * Based on KPluginFactory from KCoreAddons, KDE project - * Copyright 2007, Matthias Kretz - * Copyright 2007, Bernhard Loos - * - * 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 . - */ - -#ifndef UTILS_PLUGINFACTORY_P_H -#define UTILS_PLUGINFACTORY_P_H - -#include "PluginFactory.h" - -#include - -namespace Calamares -{ - -class PluginFactoryPrivate -{ - Q_DECLARE_PUBLIC( PluginFactory ) -protected: - typedef QPair< const QMetaObject*, PluginFactory::CreateInstanceFunction > Plugin; - - PluginFactoryPrivate() - : catalogInitialized( false ) - , q_ptr( nullptr ) - { - } - ~PluginFactoryPrivate() {} - - QHash< QString, Plugin > createInstanceHash; - QString catalogName; - bool catalogInitialized; - - PluginFactory* q_ptr; -}; - -} // namespace Calamares - -#endif From 9098f8d7410661e286787200c19c079a2522ec28 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 12 Aug 2019 13:29:53 +0200 Subject: [PATCH 224/626] Changes: document KCoreAddons dependency --- CHANGES | 5 +++++ README.md | 1 + 2 files changed, 6 insertions(+) diff --git a/CHANGES b/CHANGES index dbdcb3523..00ea25223 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,11 @@ This release contains contributions from (alphabetically by first name): has had a few updates and has now been consistently applied across the core codebase (e.g. libcalamares, libcalamaresui, calamares, but not the modules). +- *KCoreAddons* is now a required dependency. This lets us drop a chunk + of code that was copied from KCoreAddons years ago, and use the + (maintained!) upstream version instead. It also gives us KMacroExpander + everywhere, which will simplify code for handling substitutions + in configuration files. ## Modules ## diff --git a/README.md b/README.md index df4c02b66..e2e87fddf 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Main: * Boost.Python >= 1.55.0 (required for some modules) * KDE extra-cmake-modules >= 5.18 (recommended; required for some modules; required for some tests) +* KDE Frameworks KCoreAddons (>= 5.58 recommended) * PythonQt (optional, deprecated) Modules: From 2ab45cf4f0d7181ca3b393feb213288e16a8f77b Mon Sep 17 00:00:00 2001 From: Arnaud Rebillout Date: Tue, 16 Jul 2019 20:20:19 +0700 Subject: [PATCH 225/626] Make sure that variable num_files_total_local is declared This variable is declared in `if m:`. Of course if this codepath doesn't run, the variable is not declared an Python doesn't like this kind of surprise... Signed-off-by: Arnaud Rebillout --- src/modules/unpackfs/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index ac90a994e..e956dc070 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -103,6 +103,7 @@ def file_copy(source, dest, progress_cb): if not source.endswith("/"): source += "/" + num_files_total_local = 0 num_files_copied = 0 # Gets updated through rsync output args = ['rsync', '-aHAXr'] From bf47e761b041c55aa880650759a311e225e24bbe Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Wed, 17 Jul 2019 12:15:22 +0200 Subject: [PATCH 226/626] mount: Make sure extra mounts are mounted right after / When the rootfs partition is read-only, mount points for the other partitions cannot be created, therefore they need to be created in a tmpfs, already mounted somewhere in `/`. However, the extra mounts are only mounted at the end, which causes an error as no tmpfs is currently mounted. This patch makes sure all extra mounts are mounted right after the `/` partition, allowing the use of a read-only rootfs. Signed-off-by: Arnaud Ferraris --- src/modules/mount/main.py | 184 +++++++++++++++++++------------------- 1 file changed, 94 insertions(+), 90 deletions(-) diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py index ed649aead..b093d0dfb 100644 --- a/src/modules/mount/main.py +++ b/src/modules/mount/main.py @@ -37,104 +37,109 @@ _ = gettext.translation("calamares-python", def pretty_name(): return _("Mounting partitions.") +def mount_part(root_mount_point, partition, partitions): + # Create mount point with `+` rather than `os.path.join()` because + # `partition["mountPoint"]` starts with a '/'. + raw_mount_point = partition["mountPoint"] + mount_point = root_mount_point + raw_mount_point -def mount_partitions(root_mount_point, partitions): + # Ensure that the created directory has the correct SELinux context on + # SELinux-enabled systems. + os.makedirs(mount_point, exist_ok=True) + subprocess.call(['chcon', '--reference=' + raw_mount_point, + mount_point]) + + fstype = partition.get("fs", "").lower() + + if fstype == "fat16" or fstype == "fat32": + fstype = "vfat" + + if "luksMapperName" in partition: + libcalamares.utils.debug( + "about to mount {!s}".format(partition["luksMapperName"])) + libcalamares.utils.mount( + "/dev/mapper/{!s}".format(partition["luksMapperName"]), + mount_point, + fstype, + partition.get("options", ""), + ) + + else: + libcalamares.utils.mount(partition["device"], + mount_point, + fstype, + partition.get("options", ""), + ) + + # If the root partition is btrfs, we create a subvolume "@" + # for the root mount point. + # If a separate /home partition isn't defined, we also create + # a subvolume "@home". + # Finally we remount all of the above on the correct paths. + if fstype == "btrfs" and partition["mountPoint"] == '/': + has_home_mount_point = False + for p in partitions: + if "mountPoint" not in p or not p["mountPoint"]: + continue + if p["mountPoint"] == "/home": + has_home_mount_point = True + break + + subprocess.check_call(['btrfs', 'subvolume', 'create', + root_mount_point + '/@']) + + if not has_home_mount_point: + subprocess.check_call(['btrfs', 'subvolume', 'create', + root_mount_point + '/@home']) + + subprocess.check_call(["umount", "-v", root_mount_point]) + + if "luksMapperName" in partition: + libcalamares.utils.mount( + "/dev/mapper/{!s}".format(partition["luksMapperName"]), + mount_point, + fstype, + ",".join( + ["subvol=@", partition.get("options", "")]), + ) + if not has_home_mount_point: + libcalamares.utils.mount( + "/dev/mapper/{!s}".format(partition["luksMapperName"]), + root_mount_point + "/home", + fstype, + ",".join( + ["subvol=@home", partition.get("options", "")]), + ) + else: + libcalamares.utils.mount( + partition["device"], + mount_point, + fstype, + ",".join(["subvol=@", partition.get("options", "")]), + ) + if not has_home_mount_point: + libcalamares.utils.mount( + partition["device"], + root_mount_point + "/home", + fstype, + ",".join( + ["subvol=@home", partition.get("options", "")]), + ) + +def mount_partitions(root_mount_point, partitions, extra_mounts=None): """ Pass back mount point and filesystem for each partition. :param root_mount_point: :param partitions: + :param extra_mounts: """ for partition in partitions: if "mountPoint" not in partition or not partition["mountPoint"]: continue - # Create mount point with `+` rather than `os.path.join()` because - # `partition["mountPoint"]` starts with a '/'. - raw_mount_point = partition["mountPoint"] - mount_point = root_mount_point + raw_mount_point - - # Ensure that the created directory has the correct SELinux context on - # SELinux-enabled systems. - os.makedirs(mount_point, exist_ok=True) - subprocess.call(['chcon', '--reference=' + raw_mount_point, - mount_point]) - - fstype = partition.get("fs", "").lower() - - if fstype == "fat16" or fstype == "fat32": - fstype = "vfat" - - if "luksMapperName" in partition: - libcalamares.utils.debug( - "about to mount {!s}".format(partition["luksMapperName"])) - libcalamares.utils.mount( - "/dev/mapper/{!s}".format(partition["luksMapperName"]), - mount_point, - fstype, - partition.get("options", ""), - ) - - else: - libcalamares.utils.mount(partition["device"], - mount_point, - fstype, - partition.get("options", ""), - ) - - # If the root partition is btrfs, we create a subvolume "@" - # for the root mount point. - # If a separate /home partition isn't defined, we also create - # a subvolume "@home". - # Finally we remount all of the above on the correct paths. - if fstype == "btrfs" and partition["mountPoint"] == '/': - has_home_mount_point = False - for p in partitions: - if "mountPoint" not in p or not p["mountPoint"]: - continue - if p["mountPoint"] == "/home": - has_home_mount_point = True - break - - subprocess.check_call(['btrfs', 'subvolume', 'create', - root_mount_point + '/@']) - - if not has_home_mount_point: - subprocess.check_call(['btrfs', 'subvolume', 'create', - root_mount_point + '/@home']) - - subprocess.check_call(["umount", "-v", root_mount_point]) - - if "luksMapperName" in partition: - libcalamares.utils.mount( - "/dev/mapper/{!s}".format(partition["luksMapperName"]), - mount_point, - fstype, - ",".join( - ["subvol=@", partition.get("options", "")]), - ) - if not has_home_mount_point: - libcalamares.utils.mount( - "/dev/mapper/{!s}".format(partition["luksMapperName"]), - root_mount_point + "/home", - fstype, - ",".join( - ["subvol=@home", partition.get("options", "")]), - ) - else: - libcalamares.utils.mount( - partition["device"], - mount_point, - fstype, - ",".join(["subvol=@", partition.get("options", "")]), - ) - if not has_home_mount_point: - libcalamares.utils.mount( - partition["device"], - root_mount_point + "/home", - fstype, - ",".join( - ["subvol=@home", partition.get("options", "")]), - ) + mount_part(root_mount_point, partition, partitions) + if partition["mountPoint"] is "/" and extra_mounts is not None: + mount_partitions(root_mount_point, extra_mounts) def run(): @@ -160,8 +165,7 @@ def run(): # Sort by mount points to ensure / is mounted before the rest partitions.sort(key=lambda x: x["mountPoint"]) - mount_partitions(root_mount_point, partitions) - mount_partitions(root_mount_point, extra_mounts) + mount_partitions(root_mount_point, partitions, extra_mounts) all_extra_mounts = extra_mounts if libcalamares.globalstorage.value("firmwareType") == "efi": From 0d06e047ae32f5a0c9afddb8a0df1986f3b006d4 Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Mon, 22 Jul 2019 15:56:20 +0200 Subject: [PATCH 227/626] libcalamares: Prevent integer overflows when parsing configuration Currently, a number of configuration parsing-related functions and classes use only `int` type for dealing with integers. Should the user need a bigger integer value, this would result in an erroneous value being used (`0`), as the correct value would overflow the 32-bits type. In order to prevent these overflow, this patch replaces `int` with `qint64` in the following functions & classes : * CalamaresUtils::yamlScalarToVariant() * CalamaresUtils::getInteger * NamedSuffix * PartitionSize This way, sizes or other integer values greater than 2^31 (for signed types) can be used. Signed-off-by: Arnaud Ferraris --- src/libcalamares/partition/PartitionSize.cpp | 2 +- src/libcalamares/utils/NamedSuffix.h | 8 ++++---- src/libcalamares/utils/Variant.cpp | 10 +++++++--- src/libcalamares/utils/Variant.h | 2 +- src/libcalamares/utils/Yaml.cpp | 2 +- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/libcalamares/partition/PartitionSize.cpp b/src/libcalamares/partition/PartitionSize.cpp index 3f4463f3c..3397dcbec 100644 --- a/src/libcalamares/partition/PartitionSize.cpp +++ b/src/libcalamares/partition/PartitionSize.cpp @@ -50,7 +50,7 @@ PartitionSize::PartitionSize( const QString& s ) if ( m_unit == SizeUnit::None ) { - m_value = s.toInt(); + m_value = s.toLongLong(); if ( m_value > 0 ) { m_unit = SizeUnit::Byte; diff --git a/src/libcalamares/utils/NamedSuffix.h b/src/libcalamares/utils/NamedSuffix.h index e697c0640..8ad52edea 100644 --- a/src/libcalamares/utils/NamedSuffix.h +++ b/src/libcalamares/utils/NamedSuffix.h @@ -58,7 +58,7 @@ public: } /** @brief Specific value and unit. */ - NamedSuffix( int value, unit_t unit ) + NamedSuffix( qint64 value, unit_t unit ) : m_value( value ) , m_unit( unit ) { @@ -75,7 +75,7 @@ public: for ( const auto& suffix : table.table ) if ( s.endsWith( suffix.first ) ) { - m_value = s.left( s.length() - suffix.first.length() ).toInt(); + m_value = s.left( s.length() - suffix.first.length() ).toLongLong(); m_unit = suffix.second; break; } @@ -89,7 +89,7 @@ public: */ NamedSuffix( const QString& s ); - int value() const { return m_value; } + qint64 value() const { return m_value; } unit_t unit() const { return m_unit; } /** @brief Check that a value-unit combination is valid. @@ -100,7 +100,7 @@ public: bool isValid() const; protected: - int m_value; + qint64 m_value; unit_t m_unit; }; diff --git a/src/libcalamares/utils/Variant.cpp b/src/libcalamares/utils/Variant.cpp index 2e7a13eed..c56f9301a 100644 --- a/src/libcalamares/utils/Variant.cpp +++ b/src/libcalamares/utils/Variant.cpp @@ -61,10 +61,10 @@ getString( const QVariantMap& map, const QString& key ) return QString(); } -int -getInteger( const QVariantMap& map, const QString& key, int d ) +qint64 +getInteger( const QVariantMap& map, const QString& key, qint64 d ) { - int result = d; + qint64 result = d; if ( map.contains( key ) ) { auto v = map.value( key ); @@ -72,6 +72,10 @@ getInteger( const QVariantMap& map, const QString& key, int d ) { result = v.toInt(); } + else if ( v.type() == QVariant::LongLong ) + { + result = v.toLongLong(); + } } return result; diff --git a/src/libcalamares/utils/Variant.h b/src/libcalamares/utils/Variant.h index c68c2a801..15f791b74 100644 --- a/src/libcalamares/utils/Variant.h +++ b/src/libcalamares/utils/Variant.h @@ -41,7 +41,7 @@ DLLEXPORT QString getString( const QVariantMap& map, const QString& key ); /** * Get an integer value from a mapping; returns @p d if no value. */ -DLLEXPORT int getInteger( const QVariantMap& map, const QString& key, int d ); +DLLEXPORT qint64 getInteger( const QVariantMap& map, const QString& key, qint64 d ); /** * Get a double value from a mapping (integers are converted); returns @p d if no value. diff --git a/src/libcalamares/utils/Yaml.cpp b/src/libcalamares/utils/Yaml.cpp index cad6ac1fe..164c17a21 100644 --- a/src/libcalamares/utils/Yaml.cpp +++ b/src/libcalamares/utils/Yaml.cpp @@ -79,7 +79,7 @@ yamlScalarToVariant( const YAML::Node& scalarNode ) } if ( QRegExp( "[-+]?\\d+" ).exactMatch( scalarString ) ) { - return QVariant( scalarString.toInt() ); + return QVariant( scalarString.toLongLong() ); } if ( QRegExp( "[-+]?\\d*\\.?\\d+" ).exactMatch( scalarString ) ) { From 3929557a5ac5ad69af6f6ada1a9a3c04941d9c9d Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Thu, 25 Jul 2019 09:53:02 +0200 Subject: [PATCH 228/626] welcome: Fix requirements parsing As the config files integer are now of type `QVariant::LongLong` instead of `QVariant::Int`, requirements relying on this type were not parsed correctly. This patch fixes this, and adds an option to the python conversion to take into account `QVariant::LongLong` types. Signed-off-by: Arnaud Ferraris --- src/libcalamares/PythonHelper.cpp | 3 +++ src/modules/welcome/checker/GeneralRequirements.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index 40210856b..670390d6c 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -52,6 +52,9 @@ variantToPyObject( const QVariant& variant ) case QVariant::Int: return bp::object( variant.toInt() ); + case QVariant::LongLong: + return bp::object( variant.toLongLong() ); + case QVariant::Double: return bp::object( variant.toDouble() ); diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp index 812605091..0e6133d3f 100644 --- a/src/modules/welcome/checker/GeneralRequirements.cpp +++ b/src/modules/welcome/checker/GeneralRequirements.cpp @@ -206,7 +206,7 @@ GeneralRequirements::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "requiredStorage" ) && ( configurationMap.value( "requiredStorage" ).type() == QVariant::Double || - configurationMap.value( "requiredStorage" ).type() == QVariant::Int ) ) + configurationMap.value( "requiredStorage" ).type() == QVariant::LongLong ) ) { bool ok = false; m_requiredStorageGiB = configurationMap.value( "requiredStorage" ).toDouble( &ok ); @@ -227,7 +227,7 @@ GeneralRequirements::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "requiredRam" ) && ( configurationMap.value( "requiredRam" ).type() == QVariant::Double || - configurationMap.value( "requiredRam" ).type() == QVariant::Int ) ) + configurationMap.value( "requiredRam" ).type() == QVariant::LongLong ) ) { bool ok = false; m_requiredRamGiB = configurationMap.value( "requiredRam" ).toDouble( &ok ); From 0716a46eb2a79668c727bfc5b24f539306cd65e2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 12 Aug 2019 15:52:59 +0200 Subject: [PATCH 229/626] [libcalamares] Switch to using KPluginFactory - this is not entirely straightfoward, since we need different constructor arguments for the objects Calamares creates (no QVariantList& args, in particular). Implement our own registerPlugin() and createInstance() for that. - work around a bug in K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY --- src/libcalamares/CMakeLists.txt | 1 + src/libcalamares/utils/PluginFactory.cpp | 11 +++ src/libcalamares/utils/PluginFactory.h | 69 ++++++++++++++++++- .../modulesystem/CppJobModule.cpp | 2 +- .../modulesystem/ViewModule.cpp | 2 +- 5 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 src/libcalamares/utils/PluginFactory.cpp diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index c6f8cd0d2..f2063813c 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -44,6 +44,7 @@ set( libSources utils/CommandList.cpp utils/Dirs.cpp utils/Logger.cpp + utils/PluginFactory.cpp utils/Retranslator.cpp utils/String.cpp utils/UMask.cpp diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp new file mode 100644 index 000000000..7e1b29921 --- /dev/null +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -0,0 +1,11 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + */ + +#include "PluginFactory.h" + +CalamaresPluginFactory::~CalamaresPluginFactory() +{ +} diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 2ba9fd3cd..20c82c464 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -28,10 +28,75 @@ #define CalamaresPluginFactory_iid "io.calamares.PluginFactory" +/** @brief Plugin factory for Calamares + * + * Try to re-use KPluginFactory as much as possible (since the + * old code for PluginFactory was a fork of an old version of + * exactly that). + * + * The current createInstance() method passes more arguments + * to the job and viewstep constructors than we want; chasing + * that change means modifying each Calamares module. This class + * implements a version of createInstance() with fewer arguments + * and overloads registerPlugin() to use that. + */ +class CalamaresPluginFactory : public KPluginFactory +{ + Q_OBJECT +public: + explicit CalamaresPluginFactory() : KPluginFactory() {} + ~CalamaresPluginFactory() override; + + /** @brief Create an object from the factory. + * + * Ignores all the @p args since they are not used. Calls + * Calamares constructors for the Jobs and ViewSteps. + */ + template + static QObject *createInstance(QWidget *parentWidget, QObject *parent, const QVariantList &args) + { + Q_UNUSED(parentWidget); + Q_UNUSED(args); + ParentType *p = nullptr; + if (parent) { + p = qobject_cast(parent); + Q_ASSERT(p); + } + return new impl(p); + } + + /** @brief register a plugin + * + * The Calamares version doesn't accept keywords, and uses + * the Calamares createInstance() version which ignores + * the QVariantList of arguments. + */ + template + void registerPlugin() + { + KPluginFactory::registerPlugin(QString(), &createInstance); + } +}; + +/** @brief declare a Calamares Plugin Factory + * + * This would be defined as K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY, + * except that does not actually use the base factory class that is + * passed in. + */ #define CALAMARES_PLUGIN_FACTORY_DECLARATION(name) \ - K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY_SKEL(name,KPluginFactory,Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid)) + class name : public CalamaresPluginFactory \ + { \ + Q_OBJECT \ + Q_INTERFACES(KPluginFactory) \ + Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid) \ + public: \ + explicit name(); \ + ~name(); \ + }; #define CALAMARES_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations) \ - K_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations ) + K_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY(name,CalamaresPluginFactory,pluginRegistrations) + // Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) diff --git a/src/libcalamaresui/modulesystem/CppJobModule.cpp b/src/libcalamaresui/modulesystem/CppJobModule.cpp index 17c191024..c6571dbf6 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.cpp +++ b/src/libcalamaresui/modulesystem/CppJobModule.cpp @@ -49,7 +49,7 @@ CppJobModule::loadSelf() { if ( m_loader ) { - PluginFactory* pf = qobject_cast< PluginFactory* >( m_loader->instance() ); + CalamaresPluginFactory* pf = qobject_cast< CalamaresPluginFactory* >( m_loader->instance() ); if ( !pf ) { cDebug() << Q_FUNC_INFO << m_loader->errorString(); diff --git a/src/libcalamaresui/modulesystem/ViewModule.cpp b/src/libcalamaresui/modulesystem/ViewModule.cpp index 5cd2fe7d9..7506e5348 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.cpp +++ b/src/libcalamaresui/modulesystem/ViewModule.cpp @@ -50,7 +50,7 @@ ViewModule::loadSelf() { if ( m_loader ) { - PluginFactory* pf = qobject_cast< PluginFactory* >( m_loader->instance() ); + CalamaresPluginFactory* pf = qobject_cast< CalamaresPluginFactory* >( m_loader->instance() ); if ( !pf ) { cWarning() << Q_FUNC_INFO << "No factory:" << m_loader->errorString(); From 209e8331b7843e1dbc2ead5931a8354074865b43 Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Mon, 22 Jul 2019 16:29:39 +0200 Subject: [PATCH 230/626] libcalamares: Add support for KB/MB/GB size units Currently, all size units are expressed as KiB, MiB or GiB (resp. 2^10, 2^20 or 2^30). In order to maximize compatibility and consistent results with other partitioning tools, this commit adds support for sizes expressed as KB, MB or GB (resp. 10^3, 10^6 or 10^9). This change won't affect existing users, it simply adds a new option that wasn't previously handled. Signed-off-by: Arnaud Ferraris --- src/libcalamares/partition/PartitionSize.cpp | 27 +++++++++- src/libcalamares/partition/PartitionSize.h | 3 ++ src/libcalamares/utils/Units.h | 54 ++++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/partition/PartitionSize.cpp b/src/libcalamares/partition/PartitionSize.cpp index 3f4463f3c..bdb9eaad8 100644 --- a/src/libcalamares/partition/PartitionSize.cpp +++ b/src/libcalamares/partition/PartitionSize.cpp @@ -33,7 +33,8 @@ unitSuffixes() { QStringLiteral( "%" ), SizeUnit::Percent }, { QStringLiteral( "K" ), SizeUnit::KiB }, { QStringLiteral( "KiB" ), SizeUnit::KiB }, { QStringLiteral( "M" ), SizeUnit::MiB }, { QStringLiteral( "MiB" ), SizeUnit::MiB }, { QStringLiteral( "G" ), SizeUnit::GiB }, - { QStringLiteral( "GiB" ), SizeUnit::GiB } + { QStringLiteral( "GiB" ), SizeUnit::GiB }, { QStringLiteral( "KB" ), SizeUnit::KB }, + { QStringLiteral( "MB" ), SizeUnit::MB }, { QStringLiteral( "GB" ), SizeUnit::GB } }; return names; @@ -90,8 +91,11 @@ PartitionSize::toSectors( qint64 totalSectors, qint64 sectorSize ) const return totalSectors * value() / 100; } case SizeUnit::Byte: + case SizeUnit::KB: case SizeUnit::KiB: + case SizeUnit::MB: case SizeUnit::MiB: + case SizeUnit::GB: case SizeUnit::GiB: return CalamaresUtils::bytesToSectors( toBytes(), sectorSize ); } @@ -125,8 +129,11 @@ PartitionSize::toBytes( qint64 totalSectors, qint64 sectorSize ) const return totalSectors * value() / 100; } case SizeUnit::Byte: + case SizeUnit::KB: case SizeUnit::KiB: + case SizeUnit::MB: case SizeUnit::MiB: + case SizeUnit::GB: case SizeUnit::GiB: return toBytes(); } @@ -161,8 +168,11 @@ PartitionSize::toBytes( qint64 totalBytes ) const return totalBytes * value() / 100; } case SizeUnit::Byte: + case SizeUnit::KB: case SizeUnit::KiB: + case SizeUnit::MB: case SizeUnit::MiB: + case SizeUnit::GB: case SizeUnit::GiB: return toBytes(); } @@ -186,10 +196,16 @@ PartitionSize::toBytes() const return -1; case SizeUnit::Byte: return value(); + case SizeUnit::KB: + return CalamaresUtils::KBtoBytes( static_cast< unsigned long long >( value() ) ); case SizeUnit::KiB: return CalamaresUtils::KiBtoBytes( static_cast< unsigned long long >( value() ) ); + case SizeUnit::MB: + return CalamaresUtils::MBtoBytes( static_cast< unsigned long long >( value() ) ); case SizeUnit::MiB: return CalamaresUtils::MiBtoBytes( static_cast< unsigned long long >( value() ) ); + case SizeUnit::GB: + return CalamaresUtils::GBtoBytes( static_cast< unsigned long long >( value() ) ); case SizeUnit::GiB: return CalamaresUtils::GiBtoBytes( static_cast< unsigned long long >( value() ) ); } @@ -211,8 +227,11 @@ PartitionSize::operator<( const PartitionSize& other ) const case SizeUnit::Percent: return ( m_value < other.m_value ); case SizeUnit::Byte: + case SizeUnit::KB: case SizeUnit::KiB: + case SizeUnit::MB: case SizeUnit::MiB: + case SizeUnit::GB: case SizeUnit::GiB: return ( toBytes() < other.toBytes() ); } @@ -234,8 +253,11 @@ PartitionSize::operator>( const PartitionSize& other ) const case SizeUnit::Percent: return ( m_value > other.m_value ); case SizeUnit::Byte: + case SizeUnit::KB: case SizeUnit::KiB: + case SizeUnit::MB: case SizeUnit::MiB: + case SizeUnit::GB: case SizeUnit::GiB: return ( toBytes() > other.toBytes() ); } @@ -257,8 +279,11 @@ PartitionSize::operator==( const PartitionSize& other ) const case SizeUnit::Percent: return ( m_value == other.m_value ); case SizeUnit::Byte: + case SizeUnit::KB: case SizeUnit::KiB: + case SizeUnit::MB: case SizeUnit::MiB: + case SizeUnit::GB: case SizeUnit::GiB: return ( toBytes() == other.toBytes() ); } diff --git a/src/libcalamares/partition/PartitionSize.h b/src/libcalamares/partition/PartitionSize.h index 44cedbffe..b22698e55 100644 --- a/src/libcalamares/partition/PartitionSize.h +++ b/src/libcalamares/partition/PartitionSize.h @@ -36,8 +36,11 @@ enum class SizeUnit None, Percent, Byte, + KB, KiB, + MB, MiB, + GB, GiB }; diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h index e1f30460a..b869d7dde 100644 --- a/src/libcalamares/utils/Units.h +++ b/src/libcalamares/utils/Units.h @@ -25,54 +25,108 @@ namespace CalamaresUtils { +/** User defined literals, 1_KB is 1 KiloByte (= 10^3 bytes) */ +constexpr qint64 operator""_KB( unsigned long long m ) +{ + return qint64( m ) * 1000; +} + /** User defined literals, 1_KiB is 1 KibiByte (= 2^10 bytes) */ constexpr qint64 operator""_KiB( unsigned long long m ) { return qint64( m ) * 1024; } +/** User defined literals, 1_MB is 1 MegaByte (= 10^6 bytes) */ +constexpr qint64 operator""_MB( unsigned long long m ) +{ + return operator""_KB(m)*1000; +} + /** User defined literals, 1_MiB is 1 MibiByte (= 2^20 bytes) */ constexpr qint64 operator""_MiB( unsigned long long m ) { return operator""_KiB(m)*1024; } +/** User defined literals, 1_GB is 1 GigaByte (= 10^9 bytes) */ +constexpr qint64 operator""_GB( unsigned long long m ) +{ + return operator""_MB(m)*1000; +} + /** User defined literals, 1_GiB is 1 GibiByte (= 2^30 bytes) */ constexpr qint64 operator""_GiB( unsigned long long m ) { return operator""_MiB(m)*1024; } +constexpr qint64 +KBtoBytes( unsigned long long m ) +{ + return operator""_KB( m ); +} + constexpr qint64 KiBtoBytes( unsigned long long m ) { return operator""_KiB( m ); } +constexpr qint64 +MBtoBytes( unsigned long long m ) +{ + return operator""_MB( m ); +} + constexpr qint64 MiBtoBytes( unsigned long long m ) { return operator""_MiB( m ); } +constexpr qint64 +GBtoBytes( unsigned long long m ) +{ + return operator""_GB( m ); +} + constexpr qint64 GiBtoBytes( unsigned long long m ) { return operator""_GiB( m ); } +constexpr qint64 +KBtoBytes( double m ) +{ + return qint64( m * 1000 ); +} + constexpr qint64 KiBtoBytes( double m ) { return qint64( m * 1024 ); } +constexpr qint64 +MBtoBytes( double m ) +{ + return qint64( m * 1000 * 1000 ); +} + constexpr qint64 MiBtoBytes( double m ) { return qint64( m * 1024 * 1024 ); } +constexpr qint64 +GBtoBytes( double m ) +{ + return qint64( m * 1000 * 1000 * 1000 ); +} + constexpr qint64 GiBtoBytes( double m ) { From 40202705ffd397757d74f9c0ab1ac82ce990a2c9 Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Mon, 22 Jul 2019 16:33:00 +0200 Subject: [PATCH 231/626] libcalamares: Align partition sizes on actual sectors Currently, the `bytesToSectors()` function rounds a partition size to the nearest MiB unit, which may lead to inconsistencies when a partition is expected to only be a few KiB's. This patch changes the behaviour of `bytesToSectors()` so that it aligns on sector size, without rounding the partition size to a multiple of 1MiB. Signed-off-by: Arnaud Ferraris --- src/libcalamares/utils/Units.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h index b869d7dde..7b8b8c172 100644 --- a/src/libcalamares/utils/Units.h +++ b/src/libcalamares/utils/Units.h @@ -160,7 +160,7 @@ alignBytesToBlockSize( qint64 bytes, qint64 blocksize ) constexpr qint64 bytesToSectors( qint64 bytes, qint64 blocksize ) { - return alignBytesToBlockSize( alignBytesToBlockSize( bytes, blocksize ), MiBtoBytes( 1ULL ) ) / blocksize; + return alignBytesToBlockSize( bytes, blocksize ) / blocksize; } } // namespace CalamaresUtils From a51d612afa456191b5c88be2ac32f89c06f09fba Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Tue, 13 Aug 2019 16:57:47 +0200 Subject: [PATCH 232/626] Revert "libcalamares: Align partition sizes on actual sectors" This reverts commit 40202705ffd397757d74f9c0ab1ac82ce990a2c9. --- src/libcalamares/utils/Units.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h index 7b8b8c172..b869d7dde 100644 --- a/src/libcalamares/utils/Units.h +++ b/src/libcalamares/utils/Units.h @@ -160,7 +160,7 @@ alignBytesToBlockSize( qint64 bytes, qint64 blocksize ) constexpr qint64 bytesToSectors( qint64 bytes, qint64 blocksize ) { - return alignBytesToBlockSize( bytes, blocksize ) / blocksize; + return alignBytesToBlockSize( alignBytesToBlockSize( bytes, blocksize ), MiBtoBytes( 1ULL ) ) / blocksize; } } // namespace CalamaresUtils From c57a30c73fb28718bfa0ad1bb7ababa49d26cf76 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 17:06:27 +0200 Subject: [PATCH 233/626] Changes: credit where due for recent PRs --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES b/CHANGES index 00ea25223..3f4aad749 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,8 @@ website will have to do for older versions. # 3.2.13 (unreleased) # This release contains contributions from (alphabetically by first name): + - Arnaud Ferraris + - Arnaud Rebillout ## Core ## From ccd707b23a82d1f426ec93af315f893c72cbde06 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 20:49:58 +0200 Subject: [PATCH 234/626] [libcalamares] Apply coding style - .. or, rather, avoid re-formatting tables in future. --- src/libcalamares/partition/PartitionSize.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/libcalamares/partition/PartitionSize.cpp b/src/libcalamares/partition/PartitionSize.cpp index 90431fb70..fc8d72582 100644 --- a/src/libcalamares/partition/PartitionSize.cpp +++ b/src/libcalamares/partition/PartitionSize.cpp @@ -29,13 +29,22 @@ namespace Partition static const NamedEnumTable< SizeUnit >& unitSuffixes() { + // *INDENT-OFF* + // clang-format off static const NamedEnumTable< SizeUnit > names { - { QStringLiteral( "%" ), SizeUnit::Percent }, { QStringLiteral( "K" ), SizeUnit::KiB }, - { QStringLiteral( "KiB" ), SizeUnit::KiB }, { QStringLiteral( "M" ), SizeUnit::MiB }, - { QStringLiteral( "MiB" ), SizeUnit::MiB }, { QStringLiteral( "G" ), SizeUnit::GiB }, - { QStringLiteral( "GiB" ), SizeUnit::GiB }, { QStringLiteral( "KB" ), SizeUnit::KB }, - { QStringLiteral( "MB" ), SizeUnit::MB }, { QStringLiteral( "GB" ), SizeUnit::GB } + { QStringLiteral( "%" ), SizeUnit::Percent }, + { QStringLiteral( "K" ), SizeUnit::KiB }, + { QStringLiteral( "KiB" ), SizeUnit::KiB }, + { QStringLiteral( "M" ), SizeUnit::MiB }, + { QStringLiteral( "MiB" ), SizeUnit::MiB }, + { QStringLiteral( "G" ), SizeUnit::GiB }, + { QStringLiteral( "GiB" ), SizeUnit::GiB }, + { QStringLiteral( "KB" ), SizeUnit::KB }, + { QStringLiteral( "MB" ), SizeUnit::MB }, + { QStringLiteral( "GB" ), SizeUnit::GB } }; + // clang-format on + // *INDENT-ON* return names; } From f31ff8b9ea4ae05aaaf349b3bf66999212a3c500 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 20:50:52 +0200 Subject: [PATCH 235/626] [libcalamares] Apply coding style to PluginFactory --- src/libcalamares/utils/PluginFactory.cpp | 4 +-- src/libcalamares/utils/PluginFactory.h | 38 +++++++++++++----------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 7e1b29921..50b88ebfd 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -6,6 +6,4 @@ #include "PluginFactory.h" -CalamaresPluginFactory::~CalamaresPluginFactory() -{ -} +CalamaresPluginFactory::~CalamaresPluginFactory() {} diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 20c82c464..84694a83a 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -44,7 +44,10 @@ class CalamaresPluginFactory : public KPluginFactory { Q_OBJECT public: - explicit CalamaresPluginFactory() : KPluginFactory() {} + explicit CalamaresPluginFactory() + : KPluginFactory() + { + } ~CalamaresPluginFactory() override; /** @brief Create an object from the factory. @@ -52,17 +55,18 @@ public: * Ignores all the @p args since they are not used. Calls * Calamares constructors for the Jobs and ViewSteps. */ - template - static QObject *createInstance(QWidget *parentWidget, QObject *parent, const QVariantList &args) + template < class impl, class ParentType > + static QObject* createInstance( QWidget* parentWidget, QObject* parent, const QVariantList& args ) { - Q_UNUSED(parentWidget); - Q_UNUSED(args); - ParentType *p = nullptr; - if (parent) { - p = qobject_cast(parent); - Q_ASSERT(p); + Q_UNUSED( parentWidget ); + Q_UNUSED( args ); + ParentType* p = nullptr; + if ( parent ) + { + p = qobject_cast< ParentType* >( parent ); + Q_ASSERT( p ); } - return new impl(p); + return new impl( p ); } /** @brief register a plugin @@ -71,10 +75,10 @@ public: * the Calamares createInstance() version which ignores * the QVariantList of arguments. */ - template + template < class T > void registerPlugin() { - KPluginFactory::registerPlugin(QString(), &createInstance); + KPluginFactory::registerPlugin< T >( QString(), &createInstance< T, QObject > ); } }; @@ -84,18 +88,18 @@ public: * except that does not actually use the base factory class that is * passed in. */ -#define CALAMARES_PLUGIN_FACTORY_DECLARATION(name) \ +#define CALAMARES_PLUGIN_FACTORY_DECLARATION( name ) \ class name : public CalamaresPluginFactory \ { \ Q_OBJECT \ - Q_INTERFACES(KPluginFactory) \ - Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid) \ + Q_INTERFACES( KPluginFactory ) \ + Q_PLUGIN_METADATA( IID CalamaresPluginFactory_iid ) \ public: \ explicit name(); \ ~name(); \ }; -#define CALAMARES_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations) \ - K_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY(name,CalamaresPluginFactory,pluginRegistrations) +#define CALAMARES_PLUGIN_FACTORY_DEFINITION( name, pluginRegistrations ) \ + K_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY( name, CalamaresPluginFactory, pluginRegistrations ) // Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) From 27c3a5a11d4739e5fe7081e72b48ed5318443f42 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 20:51:46 +0200 Subject: [PATCH 236/626] [calamares] Apply coding style --- src/calamares/CalamaresVersion.h.in | 2 +- src/calamares/progresstree/ProgressTreeView.cpp | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/calamares/CalamaresVersion.h.in b/src/calamares/CalamaresVersion.h.in index 13a8c9e2e..4ac7ee1d1 100644 --- a/src/calamares/CalamaresVersion.h.in +++ b/src/calamares/CalamaresVersion.h.in @@ -14,4 +14,4 @@ #cmakedefine CALAMARES_TRANSLATION_LANGUAGES "${CALAMARES_TRANSLATION_LANGUAGES}" -#endif // CALAMARES_VERSION_H +#endif // CALAMARES_VERSION_H diff --git a/src/calamares/progresstree/ProgressTreeView.cpp b/src/calamares/progresstree/ProgressTreeView.cpp index d4f652363..5c81e3851 100644 --- a/src/calamares/progresstree/ProgressTreeView.cpp +++ b/src/calamares/progresstree/ProgressTreeView.cpp @@ -76,10 +76,9 @@ ProgressTreeView::setModel( QAbstractItemModel* model ) QTreeView::setModel( model ); expandAll(); - connect( - Calamares::ViewManager::instance(), - &Calamares::ViewManager::currentStepChanged, - this, - [this]() { viewport()->update(); }, - Qt::UniqueConnection ); + connect( Calamares::ViewManager::instance(), + &Calamares::ViewManager::currentStepChanged, + this, + [this]() { viewport()->update(); }, + Qt::UniqueConnection ); } From 6224d6605b20be6580b49b6ff1dbf2badc515834 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 20:57:52 +0200 Subject: [PATCH 237/626] [libcalamaresui] Apply coding style to widgets/ --- src/libcalamaresui/widgets/ClickableLabel.cpp | 11 +++++++---- src/libcalamaresui/widgets/ClickableLabel.h | 2 +- .../widgets/FixedAspectRatioLabel.cpp | 17 +++++------------ .../widgets/FixedAspectRatioLabel.h | 4 ++-- src/libcalamaresui/widgets/WaitingWidget.h | 2 +- 5 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/libcalamaresui/widgets/ClickableLabel.cpp b/src/libcalamaresui/widgets/ClickableLabel.cpp index b6786cab8..62985acf8 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.cpp +++ b/src/libcalamaresui/widgets/ClickableLabel.cpp @@ -23,16 +23,17 @@ ClickableLabel::ClickableLabel( QWidget* parent ) : QLabel( parent ) -{} +{ +} ClickableLabel::ClickableLabel( const QString& text, QWidget* parent ) : QLabel( text, parent ) -{} +{ +} -ClickableLabel::~ClickableLabel() -{} +ClickableLabel::~ClickableLabel() {} void @@ -48,5 +49,7 @@ ClickableLabel::mouseReleaseEvent( QMouseEvent* event ) { QLabel::mouseReleaseEvent( event ); if ( m_time.elapsed() < qApp->doubleClickInterval() ) + { emit clicked(); + } } diff --git a/src/libcalamaresui/widgets/ClickableLabel.h b/src/libcalamaresui/widgets/ClickableLabel.h index ab993c721..fd66082c5 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.h +++ b/src/libcalamaresui/widgets/ClickableLabel.h @@ -42,4 +42,4 @@ private: QTime m_time; }; -#endif // CLICKABLELABEL_H +#endif // CLICKABLELABEL_H diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp index d1094bb7c..c495ca5bb 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp @@ -22,21 +22,18 @@ FixedAspectRatioLabel::FixedAspectRatioLabel( QWidget* parent ) : QLabel( parent ) -{} +{ +} -FixedAspectRatioLabel::~FixedAspectRatioLabel() -{} +FixedAspectRatioLabel::~FixedAspectRatioLabel() {} void FixedAspectRatioLabel::setPixmap( const QPixmap& pixmap ) { m_pixmap = pixmap; - QLabel::setPixmap( pixmap.scaled( - contentsRect().size(), - Qt::KeepAspectRatio, - Qt::SmoothTransformation ) ); + QLabel::setPixmap( pixmap.scaled( contentsRect().size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ) ); } @@ -44,9 +41,5 @@ void FixedAspectRatioLabel::resizeEvent( QResizeEvent* event ) { Q_UNUSED( event ) - QLabel::setPixmap( m_pixmap.scaled( - contentsRect().size(), - Qt::KeepAspectRatio, - Qt::SmoothTransformation ) ); + QLabel::setPixmap( m_pixmap.scaled( contentsRect().size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ) ); } - diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h index 8f881753c..9466fcd15 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h @@ -31,11 +31,11 @@ public: virtual ~FixedAspectRatioLabel() override; public slots: - void setPixmap( const QPixmap &pixmap ); + void setPixmap( const QPixmap& pixmap ); void resizeEvent( QResizeEvent* event ) override; private: QPixmap m_pixmap; }; -#endif // FIXEDASPECTRATIOLABEL_H +#endif // FIXEDASPECTRATIOLABEL_H diff --git a/src/libcalamaresui/widgets/WaitingWidget.h b/src/libcalamaresui/widgets/WaitingWidget.h index 5c19cce26..0d8b6fd5b 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.h +++ b/src/libcalamaresui/widgets/WaitingWidget.h @@ -35,4 +35,4 @@ private: QLabel* m_waitingLabel; }; -#endif // WAITINGWIDGET_H +#endif // WAITINGWIDGET_H From 1b6aed8c402f1898727833b450c269e39e0856dd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 20:58:39 +0200 Subject: [PATCH 238/626] [libcalamaresui] Apply coding style to modulesystem/ --- src/libcalamaresui/modulesystem/ProcessJobModule.cpp | 2 ++ src/libcalamaresui/modulesystem/RequirementsChecker.cpp | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp index 74c195b6b..fc4b5f254 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp @@ -77,7 +77,9 @@ ProcessJobModule::initFrom( const QVariantMap& moduleDescriptor ) { int sec = moduleDescriptor.value( "timeout" ).toInt(); if ( sec < 0 ) + { sec = 0; + } m_secondsTimeout = std::chrono::seconds( sec ); } diff --git a/src/libcalamaresui/modulesystem/RequirementsChecker.cpp b/src/libcalamaresui/modulesystem/RequirementsChecker.cpp index 916463ae4..41281c9b9 100644 --- a/src/libcalamaresui/modulesystem/RequirementsChecker.cpp +++ b/src/libcalamaresui/modulesystem/RequirementsChecker.cpp @@ -151,8 +151,7 @@ RequirementsChecker::reportProgress() m_progressTimeouts++; QStringList remainingNames; - auto remaining = std::count_if( m_watchers.cbegin(), m_watchers.cend(), - [&]( const Watcher* w ) { + auto remaining = std::count_if( m_watchers.cbegin(), m_watchers.cend(), [&]( const Watcher* w ) { if ( w && !w->isFinished() ) { remainingNames << w->objectName(); From 6f74463a80d608808c2136c617bd2672da9dacd9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 21:00:36 +0200 Subject: [PATCH 239/626] [libcalamaresui] Apply coding style to utils/ --- src/libcalamaresui/utils/CalamaresUtilsGui.cpp | 18 ++++++++++++++---- src/libcalamaresui/utils/CalamaresUtilsGui.h | 12 +++++------- src/libcalamaresui/utils/ImageRegistry.cpp | 2 +- src/libcalamaresui/utils/ImageRegistry.h | 2 +- src/libcalamaresui/utils/PythonQtUtils.cpp | 4 +++- src/libcalamaresui/utils/PythonQtUtils.h | 4 ++-- 6 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/libcalamaresui/utils/CalamaresUtilsGui.cpp b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp index 808c805cb..b6c927763 100644 --- a/src/libcalamaresui/utils/CalamaresUtilsGui.cpp +++ b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp @@ -34,11 +34,10 @@ namespace CalamaresUtils { -static int s_defaultFontSize = 0; +static int s_defaultFontSize = 0; static int s_defaultFontHeight = 0; - QPixmap defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) { @@ -152,11 +151,15 @@ createRoundedImage( const QPixmap& pixmap, const QSize& size, float frameWidthPc } if ( !height || !width ) + { return QPixmap(); + } QPixmap scaledAvatar = pixmap.scaled( width, height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); if ( frameWidthPct == 0.00f ) + { return scaledAvatar; + } QPixmap frame( width, height ); frame.fill( Qt::transparent ); @@ -172,7 +175,8 @@ createRoundedImage( const QPixmap& pixmap, const QSize& size, float frameWidthPc painter.setBrush( brush ); painter.setPen( pen ); - painter.drawRoundedRect( outerRect, qreal( frameWidthPct ) * 100.0, qreal( frameWidthPct ) * 100.0, Qt::RelativeSize ); + painter.drawRoundedRect( + outerRect, qreal( frameWidthPct ) * 100.0, qreal( frameWidthPct ) * 100.0, Qt::RelativeSize ); return frame; } @@ -189,7 +193,9 @@ unmarginLayout( QLayout* layout ) { QLayout* childLayout = layout->itemAt( i )->layout(); if ( childLayout ) + { unmarginLayout( childLayout ); + } } } @@ -255,13 +261,17 @@ clearLayout( QLayout* layout ) while ( QLayoutItem* item = layout->takeAt( 0 ) ) { if ( QWidget* widget = item->widget() ) + { widget->deleteLater(); + } if ( QLayout* childLayout = item->layout() ) + { clearLayout( childLayout ); + } delete item; } } -} // namespace +} // namespace CalamaresUtils diff --git a/src/libcalamaresui/utils/CalamaresUtilsGui.h b/src/libcalamaresui/utils/CalamaresUtilsGui.h index 72430a083..012795e34 100644 --- a/src/libcalamaresui/utils/CalamaresUtilsGui.h +++ b/src/libcalamaresui/utils/CalamaresUtilsGui.h @@ -56,7 +56,7 @@ enum ImageType : int PartitionTable, BootEnvironment, Squid, - StatusOk, // Icons for the requirements checker + StatusOk, // Icons for the requirements checker StatusWarning, StatusError }; @@ -94,9 +94,7 @@ UIDLLEXPORT QPixmap defaultPixmap( ImageType type, * @return the transformed pixmap. * This one is currently unused. */ -UIDLLEXPORT QPixmap createRoundedImage( const QPixmap& avatar, - const QSize& size, - float frameWidthPct = 0.20f ); +UIDLLEXPORT QPixmap createRoundedImage( const QPixmap& avatar, const QSize& size, float frameWidthPct = 0.20f ); /** * @brief unmarginLayout recursively walks the QLayout tree and removes all margins. @@ -112,8 +110,8 @@ UIDLLEXPORT void unmarginLayout( QLayout* layout ); UIDLLEXPORT void clearLayout( QLayout* layout ); UIDLLEXPORT void setDefaultFontSize( int points ); -UIDLLEXPORT int defaultFontSize(); // in points -UIDLLEXPORT int defaultFontHeight(); // in pixels, DPI-specific +UIDLLEXPORT int defaultFontSize(); // in points +UIDLLEXPORT int defaultFontHeight(); // in pixels, DPI-specific UIDLLEXPORT QFont defaultFont(); UIDLLEXPORT QFont largeFont(); UIDLLEXPORT QSize defaultIconSize(); @@ -128,4 +126,4 @@ constexpr int windowPreferredHeight = 520; } // namespace CalamaresUtils -#endif // CALAMARESUTILSGUI_H +#endif // CALAMARESUTILSGUI_H diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index 5cffac11c..1c3b9433e 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -2,7 +2,7 @@ * * SPDX-License-Identifier: GPLv3+ * License-Filename: LICENSES/GPLv3+-ImageRegistry - * + * * Copyright 2019, Adriaan de Groot */ diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index 06ab45831..454cb500d 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -2,7 +2,7 @@ * * SPDX-License-Identifier: GPLv3+ * License-Filename: LICENSES/GPLv3+-ImageRegistry - * + * * Copyright 2019, Adriaan de Groot */ diff --git a/src/libcalamaresui/utils/PythonQtUtils.cpp b/src/libcalamaresui/utils/PythonQtUtils.cpp index 201fe6635..3a60839a4 100644 --- a/src/libcalamaresui/utils/PythonQtUtils.cpp +++ b/src/libcalamaresui/utils/PythonQtUtils.cpp @@ -34,11 +34,13 @@ lookupAndCall( PyObject* object, { PythonQtObjectPtr callable = PythonQt::self()->lookupCallable( object, name ); if ( callable ) + { return callable.call( args, kwargs ); + } } // If we haven't found a callable with the given names, we force an error: return PythonQt::self()->call( object, candidateNames.first(), args, kwargs ); } -} +} // namespace CalamaresUtils diff --git a/src/libcalamaresui/utils/PythonQtUtils.h b/src/libcalamaresui/utils/PythonQtUtils.h index 22a248cea..dc889b2d0 100644 --- a/src/libcalamaresui/utils/PythonQtUtils.h +++ b/src/libcalamaresui/utils/PythonQtUtils.h @@ -33,6 +33,6 @@ QVariant lookupAndCall( PyObject* object, const QVariantList& args = QVariantList(), const QVariantMap& kwargs = QVariantMap() ); -} //ns +} // namespace CalamaresUtils -#endif // PYTHONQTUTILS_H +#endif // PYTHONQTUTILS_H From d44e8f61153096595cf6272e17688696e3ddc433 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 21:02:30 +0200 Subject: [PATCH 240/626] [libcalamaresui] Apply coding style to viewpages/ --- .../viewpages/BlankViewStep.cpp | 13 +-- src/libcalamaresui/viewpages/BlankViewStep.h | 7 +- .../PythonQtGlobalStorageWrapper.cpp | 3 +- .../viewpages/PythonQtGlobalStorageWrapper.h | 2 +- src/libcalamaresui/viewpages/PythonQtJob.cpp | 28 +++---- src/libcalamaresui/viewpages/PythonQtJob.h | 15 ++-- .../viewpages/PythonQtUtilsWrapper.cpp | 61 +++++--------- .../viewpages/PythonQtUtilsWrapper.h | 26 ++---- .../viewpages/PythonQtViewStep.cpp | 81 ++++++++----------- .../viewpages/PythonQtViewStep.h | 7 +- src/libcalamaresui/viewpages/ViewStep.cpp | 25 +++--- src/libcalamaresui/viewpages/ViewStep.h | 9 +-- 12 files changed, 110 insertions(+), 167 deletions(-) diff --git a/src/libcalamaresui/viewpages/BlankViewStep.cpp b/src/libcalamaresui/viewpages/BlankViewStep.cpp index 243305c1f..af10c7a99 100644 --- a/src/libcalamaresui/viewpages/BlankViewStep.cpp +++ b/src/libcalamaresui/viewpages/BlankViewStep.cpp @@ -26,7 +26,10 @@ namespace Calamares { -BlankViewStep::BlankViewStep( const QString& title, const QString& description, const QString& details, QObject* parent) +BlankViewStep::BlankViewStep( const QString& title, + const QString& description, + const QString& details, + QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new QWidget() ) { @@ -54,14 +57,12 @@ BlankViewStep::BlankViewStep( const QString& title, const QString& description, layout->addWidget( label ); } - layout->addStretch( 1 ); // Push the rest to the top + layout->addStretch( 1 ); // Push the rest to the top m_widget->setLayout( layout ); } -BlankViewStep::~BlankViewStep() -{ -} +BlankViewStep::~BlankViewStep() {} QString BlankViewStep::prettyName() const @@ -115,4 +116,4 @@ BlankViewStep::jobs() const return JobList(); } -} // namespace +} // namespace Calamares diff --git a/src/libcalamaresui/viewpages/BlankViewStep.h b/src/libcalamaresui/viewpages/BlankViewStep.h index a3f46d1d5..17d323c85 100644 --- a/src/libcalamaresui/viewpages/BlankViewStep.h +++ b/src/libcalamaresui/viewpages/BlankViewStep.h @@ -39,7 +39,10 @@ class BlankViewStep : public Calamares::ViewStep Q_OBJECT public: - explicit BlankViewStep( const QString& title, const QString& description, const QString& details = QString(), QObject* parent = nullptr ); + explicit BlankViewStep( const QString& title, + const QString& description, + const QString& details = QString(), + QObject* parent = nullptr ); virtual ~BlankViewStep() override; QString prettyName() const override; @@ -61,5 +64,5 @@ private: QWidget* m_widget; }; -} // namespace +} // namespace Calamares #endif // BLANKVIEWSTEP_H diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp index 4eae8cf98..ba7657b09 100644 --- a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp +++ b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp @@ -24,7 +24,8 @@ GlobalStorage::GlobalStorage( Calamares::GlobalStorage* gs ) : QObject( gs ) , m_gs( gs ) -{} +{ +} bool diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h index 8a8b775fc..946f93e97 100644 --- a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h +++ b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h @@ -54,4 +54,4 @@ private: Calamares::GlobalStorage* m_gs; }; -#endif // PYTHONQTGLOBALSTORAGEWRAPPER_H +#endif // PYTHONQTGLOBALSTORAGEWRAPPER_H diff --git a/src/libcalamaresui/viewpages/PythonQtJob.cpp b/src/libcalamaresui/viewpages/PythonQtJob.cpp index 291cbd014..0718df95d 100644 --- a/src/libcalamaresui/viewpages/PythonQtJob.cpp +++ b/src/libcalamaresui/viewpages/PythonQtJob.cpp @@ -20,34 +20,26 @@ #include "utils/PythonQtUtils.h" -PythonQtJob::PythonQtJob( PythonQtObjectPtr cxt, - PythonQtObjectPtr pyJob, - QObject* parent ) +PythonQtJob::PythonQtJob( PythonQtObjectPtr cxt, PythonQtObjectPtr pyJob, QObject* parent ) : Calamares::Job( parent ) , m_cxt( cxt ) , m_pyJob( pyJob ) { - } QString PythonQtJob::prettyName() const { - return CalamaresUtils::lookupAndCall( m_pyJob, - { "prettyName", - "prettyname", - "pretty_name" } ).toString(); + return CalamaresUtils::lookupAndCall( m_pyJob, { "prettyName", "prettyname", "pretty_name" } ).toString(); } QString PythonQtJob::prettyDescription() const { - return CalamaresUtils::lookupAndCall( m_pyJob, - { "prettyDescription", - "prettydescription", - "pretty_description" } ).toString(); + return CalamaresUtils::lookupAndCall( m_pyJob, { "prettyDescription", "prettydescription", "pretty_description" } ) + .toString(); } @@ -55,9 +47,8 @@ QString PythonQtJob::prettyStatusMessage() const { return CalamaresUtils::lookupAndCall( m_pyJob, - { "prettyStatusMessage", - "prettystatusmessage", - "pretty_status_message" } ).toString(); + { "prettyStatusMessage", "prettystatusmessage", "pretty_status_message" } ) + .toString(); } @@ -66,12 +57,15 @@ PythonQtJob::exec() { QVariant response = m_pyJob.call( "exec" ); if ( response.isNull() ) + { return Calamares::JobResult::ok(); + } QVariantMap map = response.toMap(); if ( map.isEmpty() || map.value( "ok" ).toBool() ) + { return Calamares::JobResult::ok(); + } - return Calamares::JobResult::error( map.value( "message" ).toString(), - map.value( "details" ).toString() ); + return Calamares::JobResult::error( map.value( "message" ).toString(), map.value( "details" ).toString() ); } diff --git a/src/libcalamaresui/viewpages/PythonQtJob.h b/src/libcalamaresui/viewpages/PythonQtJob.h index 2b50c0ded..a73e7eb82 100644 --- a/src/libcalamaresui/viewpages/PythonQtJob.h +++ b/src/libcalamaresui/viewpages/PythonQtJob.h @@ -32,12 +32,11 @@ class PythonQtJobResult : public QObject, public Calamares::JobResult { Q_OBJECT public: - explicit PythonQtJobResult( bool ok, - const QString& message, - const QString& details ) + explicit PythonQtJobResult( bool ok, const QString& message, const QString& details ) : QObject( nullptr ) , Calamares::JobResult( message, details, ok ? 0 : Calamares::JobResult::GenericError ) - {} + { + } }; @@ -53,13 +52,11 @@ public: Calamares::JobResult exec() override; private: - explicit PythonQtJob( PythonQtObjectPtr cxt, - PythonQtObjectPtr pyJob, - QObject* parent = nullptr ); - friend class Calamares::PythonQtViewStep; // only this one can call the ctor + explicit PythonQtJob( PythonQtObjectPtr cxt, PythonQtObjectPtr pyJob, QObject* parent = nullptr ); + friend class Calamares::PythonQtViewStep; // only this one can call the ctor PythonQtObjectPtr m_cxt; PythonQtObjectPtr m_pyJob; }; -#endif // PYTHONQTJOB_H +#endif // PYTHONQTJOB_H diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp index 69027d018..c13e063bd 100644 --- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp +++ b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp @@ -25,7 +25,7 @@ #include -Utils::Utils(QObject* parent) +Utils::Utils( QObject* parent ) : QObject( parent ) , m_exceptionCxt( PythonQt::self()->createUniqueModule() ) { @@ -34,7 +34,7 @@ Utils::Utils(QObject* parent) void -Utils::debug(const QString& s) const +Utils::debug( const QString& s ) const { cDebug() << "PythonQt DBG>" << s; } @@ -46,35 +46,28 @@ Utils::mount( const QString& device_path, const QString& filesystem_name, const QString& options ) const { - return CalamaresUtils::System::instance()-> - mount( device_path, mount_point, filesystem_name, options ); + return CalamaresUtils::System::instance()->mount( device_path, mount_point, filesystem_name, options ); } int -Utils::target_env_call( const QString& command, - const QString& stdin, - int timeout ) const +Utils::target_env_call( const QString& command, const QString& stdin, int timeout ) const { - return CalamaresUtils::System::instance()-> - targetEnvCall( command, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); + return CalamaresUtils::System::instance()->targetEnvCall( + command, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); } int -Utils::target_env_call( const QStringList& args, - const QString& stdin, - int timeout ) const +Utils::target_env_call( const QStringList& args, const QString& stdin, int timeout ) const { - return CalamaresUtils::System::instance()-> - targetEnvCall( args, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); + return CalamaresUtils::System::instance()->targetEnvCall( + args, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); } int -Utils::check_target_env_call( const QString& command, - const QString& stdin, - int timeout ) const +Utils::check_target_env_call( const QString& command, const QString& stdin, int timeout ) const { int ec = target_env_call( command, stdin, timeout ); return _handle_check_target_env_call_error( ec, command ); @@ -82,9 +75,7 @@ Utils::check_target_env_call( const QString& command, int -Utils::check_target_env_call( const QStringList& args, - const QString& stdin, - int timeout) const +Utils::check_target_env_call( const QStringList& args, const QString& stdin, int timeout ) const { int ec = target_env_call( args, stdin, timeout ); return _handle_check_target_env_call_error( ec, args.join( ' ' ) ); @@ -92,34 +83,22 @@ Utils::check_target_env_call( const QStringList& args, QString -Utils::check_target_env_output( const QString& command, - const QString& stdin, - int timeout ) const +Utils::check_target_env_output( const QString& command, const QString& stdin, int timeout ) const { QString output; - int ec = CalamaresUtils::System::instance()-> - targetEnvOutput( command, - output, - QString(), - stdin, - std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); + int ec = CalamaresUtils::System::instance()->targetEnvOutput( + command, output, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); _handle_check_target_env_call_error( ec, command ); return output; } QString -Utils::check_target_env_output( const QStringList& args, - const QString& stdin, - int timeout ) const +Utils::check_target_env_output( const QStringList& args, const QString& stdin, int timeout ) const { QString output; - int ec = CalamaresUtils::System::instance()-> - targetEnvOutput( args, - output, - QString(), - stdin, - std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); + int ec = CalamaresUtils::System::instance()->targetEnvOutput( + args, output, QString(), stdin, std::chrono::seconds( timeout > 0 ? timeout : 0 ) ); _handle_check_target_env_call_error( ec, args.join( ' ' ) ); return output; } @@ -133,13 +112,11 @@ Utils::obscure( const QString& string ) const int -Utils::_handle_check_target_env_call_error( int ec, const QString& cmd) const +Utils::_handle_check_target_env_call_error( int ec, const QString& cmd ) const { if ( ec ) { - QString raise = QString( "raise subprocess.CalledProcessError(%1,\"%2\")" ) - .arg( ec ) - .arg( cmd ); + QString raise = QString( "raise subprocess.CalledProcessError(%1,\"%2\")" ).arg( ec ).arg( cmd ); PythonQt::self()->evalScript( m_exceptionCxt, raise ); } return ec; diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h index ea6955337..19b8b623d 100644 --- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h +++ b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h @@ -43,29 +43,17 @@ public slots: const QString& filesystem_name, const QString& options ) const; - int target_env_call( const QString& command, - const QString& stdin = QString(), - int timeout = 0 ) const; + int target_env_call( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const; - int target_env_call( const QStringList& args, - const QString& stdin = QString(), - int timeout = 0 ) const; + int target_env_call( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const; - int check_target_env_call( const QString& command, - const QString& stdin = QString(), - int timeout = 0 ) const; + int check_target_env_call( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const; - int check_target_env_call( const QStringList& args, - const QString& stdin = QString(), - int timeout = 0 ) const; + int check_target_env_call( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const; - QString check_target_env_output( const QString& command, - const QString& stdin = QString(), - int timeout = 0 ) const; + QString check_target_env_output( const QString& command, const QString& stdin = QString(), int timeout = 0 ) const; - QString check_target_env_output( const QStringList& args, - const QString& stdin = QString(), - int timeout = 0 ) const; + QString check_target_env_output( const QStringList& args, const QString& stdin = QString(), int timeout = 0 ) const; QString obscure( const QString& string ) const; @@ -75,4 +63,4 @@ private: PythonQtObjectPtr m_exceptionCxt; }; -#endif // PYTHONQTUTILSWRAPPER_H +#endif // PYTHONQTUTILSWRAPPER_H diff --git a/src/libcalamaresui/viewpages/PythonQtViewStep.cpp b/src/libcalamaresui/viewpages/PythonQtViewStep.cpp index 2d128d1af..5e313ff98 100644 --- a/src/libcalamaresui/viewpages/PythonQtViewStep.cpp +++ b/src/libcalamaresui/viewpages/PythonQtViewStep.cpp @@ -18,8 +18,8 @@ */ #include "PythonQtViewStep.h" -#include "utils/Logger.h" #include "utils/CalamaresUtilsGui.h" +#include "utils/Logger.h" #include "utils/PythonQtUtils.h" #include "utils/Retranslator.h" #include "viewpages/PythonQtJob.h" @@ -33,8 +33,7 @@ namespace Calamares { -PythonQtViewStep::PythonQtViewStep( PythonQtObjectPtr cxt, - QObject* parent ) +PythonQtViewStep::PythonQtViewStep( PythonQtObjectPtr cxt, QObject* parent ) : ViewStep( parent ) , m_widget( new QWidget() ) , m_cxt( cxt ) @@ -48,32 +47,26 @@ PythonQtViewStep::PythonQtViewStep( PythonQtObjectPtr cxt, // Instantiate an object of the class marked with @calamares_module and // store it as _calamares_module. - pq->evalScript( m_cxt, QString( "_calamares_module = %1()" ) - .arg( className ) ); + pq->evalScript( m_cxt, QString( "_calamares_module = %1()" ).arg( className ) ); m_obj = pq->lookupObject( m_cxt, "_calamares_module" ); - Q_ASSERT( !m_obj.isNull() ); // no entry point, no party + Q_ASSERT( !m_obj.isNull() ); // no entry point, no party // Prepare the base widget for the module's pages m_widget->setLayout( new QVBoxLayout ); CalamaresUtils::unmarginLayout( m_widget->layout() ); m_cxt.addObject( "_calamares_module_basewidget", m_widget ); - CALAMARES_RETRANSLATE_WIDGET( m_widget, - CalamaresUtils::lookupAndCall( m_obj, - { "retranslate" }, - { CalamaresUtils::translatorLocaleName() } ); - ) + CALAMARES_RETRANSLATE_WIDGET( + m_widget, + CalamaresUtils::lookupAndCall( m_obj, { "retranslate" }, { CalamaresUtils::translatorLocaleName() } ); ) } QString PythonQtViewStep::prettyName() const { - return CalamaresUtils::lookupAndCall( m_obj, - { "prettyName", - "prettyname", - "pretty_name" } ).toString(); + return CalamaresUtils::lookupAndCall( m_obj, { "prettyName", "prettyname", "pretty_name" } ).toString(); } @@ -82,12 +75,14 @@ PythonQtViewStep::widget() { if ( m_widget->layout()->count() > 1 ) cWarning() << "PythonQtViewStep wrapper widget has more than 1 child. " - "This should never happen."; + "This should never happen."; - bool nothingChanged = m_cxt.evalScript( - "_calamares_module.widget() in _calamares_module_basewidget.children()" ).toBool(); + bool nothingChanged + = m_cxt.evalScript( "_calamares_module.widget() in _calamares_module_basewidget.children()" ).toBool(); if ( nothingChanged ) + { return m_widget; + } // Else, we either don't have a child widget, or we have a child widget that // was previously set and doesn't apply any more since the Python module @@ -97,10 +92,11 @@ PythonQtViewStep::widget() // We only remove from the layout and not delete because Python is in charge // of memory management for these widgets. while ( m_widget->layout()->itemAt( 0 ) ) + { m_widget->layout()->takeAt( 0 ); + } - m_cxt.evalScript( - "_calamares_module_basewidget.layout().addWidget(_calamares_module.widget())" ); + m_cxt.evalScript( "_calamares_module_basewidget.layout().addWidget(_calamares_module.widget())" ); return m_widget; } @@ -123,58 +119,40 @@ PythonQtViewStep::back() bool PythonQtViewStep::isNextEnabled() const { - return CalamaresUtils::lookupAndCall( m_obj, - { "isNextEnabled", - "isnextenabled", - "is_next_enabled" } ).toBool(); + return CalamaresUtils::lookupAndCall( m_obj, { "isNextEnabled", "isnextenabled", "is_next_enabled" } ).toBool(); } bool PythonQtViewStep::isBackEnabled() const { - return CalamaresUtils::lookupAndCall( m_obj, - { "isBackEnabled", - "isbackenabled", - "is_back_enabled" } ).toBool(); + return CalamaresUtils::lookupAndCall( m_obj, { "isBackEnabled", "isbackenabled", "is_back_enabled" } ).toBool(); } bool PythonQtViewStep::isAtBeginning() const { - return CalamaresUtils::lookupAndCall( m_obj, - { "isAtBeginning", - "isatbeginning", - "is_at_beginning" } ).toBool(); + return CalamaresUtils::lookupAndCall( m_obj, { "isAtBeginning", "isatbeginning", "is_at_beginning" } ).toBool(); } bool PythonQtViewStep::isAtEnd() const { - return CalamaresUtils::lookupAndCall( m_obj, - { "isAtEnd", - "isatend", - "is_at_end" } ).toBool(); + return CalamaresUtils::lookupAndCall( m_obj, { "isAtEnd", "isatend", "is_at_end" } ).toBool(); } void -PythonQtViewStep::onActivate() +PythonQtViewStep::onActivate() { - CalamaresUtils::lookupAndCall( m_obj, - { "onActivate", - "onactivate", - "on_activate" }); + CalamaresUtils::lookupAndCall( m_obj, { "onActivate", "onactivate", "on_activate" } ); } void PythonQtViewStep::onLeave() { - CalamaresUtils::lookupAndCall( m_obj, - { "onLeave", - "onleave", - "on_leave" }); + CalamaresUtils::lookupAndCall( m_obj, { "onLeave", "onleave", "on_leave" } ); } @@ -185,21 +163,29 @@ PythonQtViewStep::jobs() const PythonQtObjectPtr jobsCallable = PythonQt::self()->lookupCallable( m_obj, "jobs" ); if ( jobsCallable.isNull() ) + { return jobs; + } PythonQtObjectPtr response = PythonQt::self()->callAndReturnPyObject( jobsCallable ); if ( response.isNull() ) + { return jobs; + } PythonQtObjectPtr listPopCallable = PythonQt::self()->lookupCallable( response, "pop" ); if ( listPopCallable.isNull() ) + { return jobs; + } forever { PythonQtObjectPtr aJob = PythonQt::self()->callAndReturnPyObject( listPopCallable, { 0 } ); if ( aJob.isNull() ) + { break; + } jobs.append( Calamares::job_ptr( new PythonQtJob( m_cxt, aJob ) ) ); } @@ -219,9 +205,8 @@ QWidget* PythonQtViewStep::createScriptingConsole() { PythonQtScriptingConsole* console = new PythonQtScriptingConsole( nullptr, m_cxt ); - console->setProperty( "classname", - m_cxt.getVariable( "_calamares_module_typename" ).toString() ); + console->setProperty( "classname", m_cxt.getVariable( "_calamares_module_typename" ).toString() ); return console; } -} +} // namespace Calamares diff --git a/src/libcalamaresui/viewpages/PythonQtViewStep.h b/src/libcalamaresui/viewpages/PythonQtViewStep.h index b6b7c193b..5358bc824 100644 --- a/src/libcalamaresui/viewpages/PythonQtViewStep.h +++ b/src/libcalamaresui/viewpages/PythonQtViewStep.h @@ -30,8 +30,7 @@ class PythonQtViewStep : public Calamares::ViewStep { Q_OBJECT public: - PythonQtViewStep( PythonQtObjectPtr cxt, - QObject* parent = nullptr ); + PythonQtViewStep( PythonQtObjectPtr cxt, QObject* parent = nullptr ); QString prettyName() const override; @@ -62,6 +61,6 @@ private: PythonQtObjectPtr m_obj; }; -} +} // namespace Calamares -#endif // PYTHONQTVIEWSTEP_H +#endif // PYTHONQTVIEWSTEP_H diff --git a/src/libcalamaresui/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp index cdfc7bbc9..af1e347eb 100644 --- a/src/libcalamaresui/viewpages/ViewStep.cpp +++ b/src/libcalamaresui/viewpages/ViewStep.cpp @@ -24,11 +24,11 @@ namespace Calamares ViewStep::ViewStep( QObject* parent ) : QObject( parent ) -{} +{ +} -ViewStep::~ViewStep() -{} +ViewStep::~ViewStep() {} QString @@ -45,20 +45,24 @@ ViewStep::createSummaryWidget() const void ViewStep::onActivate() -{} +{ +} void ViewStep::onLeave() -{} +{ +} void ViewStep::next() -{} +{ +} void ViewStep::back() -{} +{ +} void @@ -69,10 +73,7 @@ ViewStep::setModuleInstanceKey( const QString& instanceKey ) void -ViewStep::setConfigurationMap( const QVariantMap& configurationMap ) -{ - Q_UNUSED( configurationMap ) -} +ViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { Q_UNUSED( configurationMap ) } RequirementsList ViewStep::checkRequirements() @@ -80,4 +81,4 @@ RequirementsList ViewStep::checkRequirements() return RequirementsList(); } -} +} // namespace Calamares diff --git a/src/libcalamaresui/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h index e3d5a021e..8c5020f83 100644 --- a/src/libcalamaresui/viewpages/ViewStep.h +++ b/src/libcalamaresui/viewpages/ViewStep.h @@ -130,10 +130,7 @@ public: virtual JobList jobs() const = 0; void setModuleInstanceKey( const QString& instanceKey ); - QString moduleInstanceKey() const - { - return m_instanceKey; - } + QString moduleInstanceKey() const { return m_instanceKey; } virtual void setConfigurationMap( const QVariantMap& configurationMap ); @@ -161,6 +158,6 @@ protected: }; using ViewStepList = QList< ViewStep* >; -} +} // namespace Calamares -#endif // VIEWSTEP_H +#endif // VIEWSTEP_H From e7dedbbfe0363aa0ff0256d48d30c66bc960cf10 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 21:07:46 +0200 Subject: [PATCH 241/626] [libcalamaresui] Apply coding style to remainder --- src/libcalamaresui/Branding.cpp | 8 +++++ src/libcalamaresui/Branding.h | 43 ++++++++++++++++-------- src/libcalamaresui/ExecutionViewStep.cpp | 24 +++++++------ src/libcalamaresui/ExecutionViewStep.h | 2 +- src/libcalamaresui/UiDllMacro.h | 10 +++--- 5 files changed, 56 insertions(+), 31 deletions(-) diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index d3b0de97d..98dbab06c 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -52,6 +52,8 @@ Branding::instance() } +// *INDENT-OFF* +// clang-format off const QStringList Branding::s_stringEntryStrings = { "productName", @@ -82,15 +84,21 @@ const QStringList Branding::s_styleEntryStrings = "sidebarTextSelect", "sidebarTextHighlight" }; +// clang-format on +// *INDENT-ON* const NamedEnumTable& Branding::WindowDimension::suffixes() { using Unit = Branding::WindowDimensionUnit; + // *INDENT-OFF* + // clang-format off static const NamedEnumTable names{ {"px", Unit::Pixies}, {"em", Unit::Fonties} }; + // clang-format on + // *INDENT-ON* return names; } diff --git a/src/libcalamaresui/Branding.h b/src/libcalamaresui/Branding.h index a3909bc00..3723fd07f 100644 --- a/src/libcalamaresui/Branding.h +++ b/src/libcalamaresui/Branding.h @@ -25,13 +25,13 @@ #include "utils/NamedSuffix.h" +#include #include #include -#include namespace YAML { - class Node; +class Node; } namespace Calamares @@ -79,27 +79,39 @@ public: }; /** @brief Setting for how much the main window may expand. */ - enum class WindowExpansion { Normal, Fullscreen, Fixed } ; + enum class WindowExpansion + { + Normal, + Fullscreen, + Fixed + }; /** @brief Setting for the main window size. * * The units are pixels (Pixies) or something-based-on-fontsize (Fonties), which * we suffix as "em", e.g. "600px" or "32em". */ - enum class WindowDimensionUnit { None, Pixies, Fonties }; - class WindowDimension : public NamedSuffix + enum class WindowDimensionUnit + { + None, + Pixies, + Fonties + }; + class WindowDimension : public NamedSuffix< WindowDimensionUnit, WindowDimensionUnit::None > { public: - static const NamedEnumTable< WindowDimensionUnit >& suffixes(); + static const NamedEnumTable< WindowDimensionUnit >& suffixes(); bool isValid() const; using NamedSuffix::NamedSuffix; - WindowDimension( const QString& s ) : NamedSuffix( suffixes(), s ) {} - } ; + WindowDimension( const QString& s ) + : NamedSuffix( suffixes(), s ) + { + } + }; static Branding* instance(); - explicit Branding( const QString& brandingFilePath, - QObject* parent = nullptr ); + explicit Branding( const QString& brandingFilePath, QObject* parent = nullptr ); /** @brief Complete path of the branding descriptor file. */ QString descriptorPath() const { return m_descriptorPath; } @@ -184,11 +196,14 @@ private: WindowExpansion m_windowExpansion; WindowDimension m_windowHeight, m_windowWidth; - }; -template inline QString operator*(U e) { return Branding::instance()->string( e ); } - +template < typename U > +inline QString operator*( U e ) +{ + return Branding::instance()->string( e ); } -#endif // BRANDING_H +} // namespace Calamares + +#endif // BRANDING_H diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index e242622a0..4dd10bd93 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -23,10 +23,10 @@ #include "Branding.h" #include "Job.h" #include "JobQueue.h" -#include "modulesystem/Module.h" -#include "modulesystem/ModuleManager.h" #include "Settings.h" #include "ViewManager.h" +#include "modulesystem/Module.h" +#include "modulesystem/ModuleManager.h" #include "utils/CalamaresUtilsGui.h" #include "utils/Dirs.h" @@ -56,7 +56,7 @@ callQMLFunction( QQuickItem* qmlObject, const char* method ) QByteArray methodSignature( method ); methodSignature.append( "()" ); - if ( qmlObject && qmlObject->metaObject()->indexOfMethod( methodSignature ) >= 0 ) + if ( qmlObject && qmlObject->metaObject()->indexOfMethod( methodSignature ) >= 0 ) { QVariant returnValue; QMetaObject::invokeMethod( qmlObject, method, Q_RETURN_ARG( QVariant, returnValue ) ); @@ -117,9 +117,7 @@ ExecutionViewStep::ExecutionViewStep( QObject* parent ) QString ExecutionViewStep::prettyName() const { - return Calamares::Settings::instance()->isSetupMode() - ? tr( "Set up" ) - : tr( "Install" ); + return Calamares::Settings::instance()->isSetupMode() ? tr( "Set up" ) : tr( "Install" ); } @@ -176,8 +174,7 @@ ExecutionViewStep::loadQmlV2() { m_qmlComponent = new QQmlComponent( m_qmlShow->engine(), QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ), - QQmlComponent::CompilationMode::Asynchronous - ); + QQmlComponent::CompilationMode::Asynchronous ); connect( m_qmlComponent, &QQmlComponent::statusChanged, this, &ExecutionViewStep::loadQmlV2Complete ); } } @@ -194,14 +191,17 @@ ExecutionViewStep::loadQmlV2Complete() QObject* o = m_qmlComponent->create(); m_qmlObject = qobject_cast< QQuickItem* >( o ); if ( !m_qmlObject ) + { delete o; + } else { // setContent() is public API, but not documented publicly. // It is marked \internal in the Qt sources, but does exactly // what is needed: sets up visual parent by replacing the root // item, and handling resizes. - m_qmlShow->setContent( QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ), m_qmlComponent, m_qmlObject ); + m_qmlShow->setContent( + QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ), m_qmlComponent, m_qmlObject ); if ( ViewManager::instance()->currentStep() == this ) { // We're alreay visible! Must have been slow QML loading, and we @@ -235,8 +235,10 @@ ExecutionViewStep::onActivate() auto jl = module->jobs(); if ( module->isEmergency() ) { - for( auto& j : jl ) + for ( auto& j : jl ) + { j->setEmergency( true ); + } } queue->enqueue( jl ); } @@ -279,4 +281,4 @@ ExecutionViewStep::onLeave() } } -} // namespace +} // namespace Calamares diff --git a/src/libcalamaresui/ExecutionViewStep.h b/src/libcalamaresui/ExecutionViewStep.h index 63594b151..8c4174cdb 100644 --- a/src/libcalamaresui/ExecutionViewStep.h +++ b/src/libcalamaresui/ExecutionViewStep.h @@ -77,6 +77,6 @@ private: void updateFromJobQueue( qreal percent, const QString& message ); }; -} +} // namespace Calamares #endif /* EXECUTIONVIEWSTEP_H */ diff --git a/src/libcalamaresui/UiDllMacro.h b/src/libcalamaresui/UiDllMacro.h index 35ad67453..3064ca68c 100644 --- a/src/libcalamaresui/UiDllMacro.h +++ b/src/libcalamaresui/UiDllMacro.h @@ -22,11 +22,11 @@ #include #ifndef UIDLLEXPORT -# if defined (UIDLLEXPORT_PRO) -# define UIDLLEXPORT Q_DECL_EXPORT -# else -# define UIDLLEXPORT Q_DECL_IMPORT -# endif +#if defined( UIDLLEXPORT_PRO ) +#define UIDLLEXPORT Q_DECL_EXPORT +#else +#define UIDLLEXPORT Q_DECL_IMPORT +#endif #endif #endif From 6b8c0129fdb2a6f3f9a82ea6b45d57b78292a5d3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 22:24:30 +0200 Subject: [PATCH 242/626] [libcalamaresui] Add one more icon (donate) from Breeze - LGPLv3 like the others --- data/images/help-donate.svg | 18 ++++++++++++++++++ src/libcalamaresui/libcalamaresui.qrc | 1 + src/libcalamaresui/utils/CalamaresUtilsGui.cpp | 4 ++++ src/libcalamaresui/utils/CalamaresUtilsGui.h | 1 + 4 files changed, 24 insertions(+) create mode 100644 data/images/help-donate.svg diff --git a/data/images/help-donate.svg b/data/images/help-donate.svg new file mode 100644 index 000000000..2370c127e --- /dev/null +++ b/data/images/help-donate.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/src/libcalamaresui/libcalamaresui.qrc b/src/libcalamaresui/libcalamaresui.qrc index 79ae4e45f..eeb3fc490 100644 --- a/src/libcalamaresui/libcalamaresui.qrc +++ b/src/libcalamaresui/libcalamaresui.qrc @@ -7,6 +7,7 @@ ../../data/images/bugs.svg ../../data/images/help.svg ../../data/images/release.svg + ../../data/images/help-donate.svg ../../data/images/partition-disk.svg ../../data/images/partition-partition.svg ../../data/images/partition-alongside.svg diff --git a/src/libcalamaresui/utils/CalamaresUtilsGui.cpp b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp index b6c927763..bd15d7a68 100644 --- a/src/libcalamaresui/utils/CalamaresUtilsGui.cpp +++ b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp @@ -74,6 +74,10 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/release.svg", size ); break; + case Donate: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/donate.svg", size ); + break; + case PartitionDisk: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/partition-disk.svg", size ); break; diff --git a/src/libcalamaresui/utils/CalamaresUtilsGui.h b/src/libcalamaresui/utils/CalamaresUtilsGui.h index 012795e34..0c10dcc30 100644 --- a/src/libcalamaresui/utils/CalamaresUtilsGui.h +++ b/src/libcalamaresui/utils/CalamaresUtilsGui.h @@ -47,6 +47,7 @@ enum ImageType : int Bugs, Help, Release, + Donate, PartitionDisk, PartitionPartition, PartitionAlongside, From b60ec123a0937e2a65d855ec1447534a5ab42890 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 21:21:19 +0200 Subject: [PATCH 243/626] [branding] [welcome] Document interrelationship of settings --- src/branding/default/branding.desc | 5 ++++- src/modules/welcome/welcome.conf | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/branding/default/branding.desc b/src/branding/default/branding.desc index 1bd76cd29..3d1079a8c 100644 --- a/src/branding/default/branding.desc +++ b/src/branding/default/branding.desc @@ -56,6 +56,9 @@ windowSize: 800px,520px # Note that ANSI_COLOR and CPE_NAME don't make sense here, and # are not supported (the rest are). Remember to quote the string # if it contains substitutions, or you'll get YAML exceptions. +# +# The *Url* entries are used on the welcome page, and they +# are visible as buttons there if the corresponding *show* keys are set. strings: productName: "@{NAME}" shortProductName: Generic @@ -84,7 +87,7 @@ strings: # the window. Use `welcomeExpandingLogo` to make it non-scaled. # Recommended size is 320x150. # -# These strings can also use substitutions from os-release (see above). +# These filenames can also use substitutions from os-release (see above). images: productLogo: "squid.png" productIcon: "squid.png" diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf index a89b63854..a430345a2 100644 --- a/src/modules/welcome/welcome.conf +++ b/src/modules/welcome/welcome.conf @@ -7,6 +7,7 @@ # can check requirements for installation. --- # Display settings for various buttons on the welcome page. +# The URLs themselves come from branding.desc showSupportUrl: true showKnownIssuesUrl: true showReleaseNotesUrl: true From 03e506a826dd2c72386babdae3e22171952f25d3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 22:29:01 +0200 Subject: [PATCH 244/626] [welcome] Add a donate button FIXES #1197 --- src/modules/welcome/WelcomePage.cpp | 187 ++++++++++++++---------- src/modules/welcome/WelcomePage.h | 16 +- src/modules/welcome/WelcomePage.ui | 10 ++ src/modules/welcome/WelcomeViewStep.cpp | 41 ++++-- src/modules/welcome/welcome.conf | 7 + 5 files changed, 160 insertions(+), 101 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index b29b2e23e..6d0fc0d98 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -20,8 +20,8 @@ #include "WelcomePage.h" -#include "ui_WelcomePage.h" #include "checker/CheckerContainer.h" +#include "ui_WelcomePage.h" #include "Branding.h" #include "CalamaresVersion.h" @@ -48,9 +48,18 @@ WelcomePage::WelcomePage( QWidget* parent ) , m_checkingWidget( new CheckerContainer( this ) ) , m_languages( nullptr ) { - connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsResult, m_checkingWidget, &CheckerContainer::requirementsChecked ); - connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsComplete, m_checkingWidget, &CheckerContainer::requirementsComplete ); - connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsProgress, m_checkingWidget, &CheckerContainer::requirementsProgress ); + connect( Calamares::ModuleManager::instance(), + &Calamares::ModuleManager::requirementsResult, + m_checkingWidget, + &CheckerContainer::requirementsChecked ); + connect( Calamares::ModuleManager::instance(), + &Calamares::ModuleManager::requirementsComplete, + m_checkingWidget, + &CheckerContainer::requirementsComplete ); + connect( Calamares::ModuleManager::instance(), + &Calamares::ModuleManager::requirementsProgress, + m_checkingWidget, + &CheckerContainer::requirementsProgress ); ui->setupUi( this ); ui->verticalLayout->insertSpacing( 1, CalamaresUtils::defaultFontHeight() * 2 ); @@ -61,38 +70,31 @@ WelcomePage::WelcomePage( QWidget* parent ) ui->mainText->setOpenExternalLinks( true ); cDebug() << "Welcome string" << Calamares::Branding::instance()->welcomeStyleCalamares() - << *Calamares::Branding::VersionedName; + << *Calamares::Branding::VersionedName; - CALAMARES_RETRANSLATE( - QString message; + CALAMARES_RETRANSLATE( QString message; - if ( Calamares::Settings::instance()->isSetupMode() ) - message = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares setup program for %1.

" ) - : tr( "

Welcome to %1 setup.

" ); - else - message = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares installer for %1.

" ) - : tr( "

Welcome to the %1 installer.

" ); + if ( Calamares::Settings::instance()->isSetupMode() ) message + = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares setup program for %1.

" ) + : tr( "

Welcome to %1 setup.

" ); + else message = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares installer for %1.

" ) + : tr( "

Welcome to the %1 installer.

" ); - ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); - ui->retranslateUi( this ); - ) + ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); + ui->retranslateUi( this ); ) - ui->aboutButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Information, - CalamaresUtils::Original, - 2*QSize( CalamaresUtils::defaultFontHeight(), - CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->aboutButton, &QPushButton::clicked, - this, [ this ] - { - QString title = Calamares::Settings::instance()->isSetupMode() - ? tr( "About %1 setup" ) - : tr( "About %1 installer" ); + ui->aboutButton->setIcon( CalamaresUtils::defaultPixmap( + CalamaresUtils::Information, + CalamaresUtils::Original, + 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); + connect( ui->aboutButton, &QPushButton::clicked, this, [this] { + QString title + = Calamares::Settings::instance()->isSetupMode() ? tr( "About %1 setup" ) : tr( "About %1 installer" ); QMessageBox mb( QMessageBox::Information, title.arg( CALAMARES_APPLICATION_NAME ), - tr( - "

%1


" + tr( "

%1


" "%2
" "for %3


" "Copyright 2014-2017 Teo Mrnjavac <teo@kde.org>
" @@ -103,24 +105,23 @@ WelcomePage::WelcomePage( QWidget* parent ) "Calamares " "development is sponsored by
" "Blue Systems - " - "Liberating Software." - ) - .arg( CALAMARES_APPLICATION_NAME ) - .arg( CALAMARES_VERSION ) - .arg( *Calamares::Branding::VersionedName ), + "Liberating Software." ) + .arg( CALAMARES_APPLICATION_NAME ) + .arg( CALAMARES_VERSION ) + .arg( *Calamares::Branding::VersionedName ), QMessageBox::Ok, this ); - mb.setIconPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Squid, - CalamaresUtils::Original, - QSize( CalamaresUtils::defaultFontHeight() * 6, - CalamaresUtils::defaultFontHeight() * 6 ) ) ); - QGridLayout* layout = reinterpret_cast( mb.layout() ); + mb.setIconPixmap( CalamaresUtils::defaultPixmap( + CalamaresUtils::Squid, + CalamaresUtils::Original, + QSize( CalamaresUtils::defaultFontHeight() * 6, CalamaresUtils::defaultFontHeight() * 6 ) ) ); + QGridLayout* layout = reinterpret_cast< QGridLayout* >( mb.layout() ); if ( layout ) layout->setColumnMinimumWidth( 2, CalamaresUtils::defaultFontHeight() * 24 ); mb.exec(); } ); - ui->verticalLayout->insertWidget( 3, m_checkingWidget); + ui->verticalLayout->insertWidget( 3, m_checkingWidget ); } @@ -139,15 +140,16 @@ WelcomePage::initLanguages() QLocale defaultLocale = QLocale( QLocale::system().name() ); cDebug() << "Matching locale" << defaultLocale; - int matchedLocaleIndex = m_languages->find( - [&](const QLocale& x){ return x.language() == defaultLocale.language() && x.country() == defaultLocale.country(); } ); + int matchedLocaleIndex = m_languages->find( [&]( const QLocale& x ) { + return x.language() == defaultLocale.language() && x.country() == defaultLocale.country(); + } ); if ( matchedLocaleIndex < 0 ) { cDebug() << Logger::SubEntry << "Matching approximate locale" << defaultLocale.language(); - matchedLocaleIndex = m_languages->find( - [&](const QLocale& x){ return x.language() == defaultLocale.language(); } ); + matchedLocaleIndex + = m_languages->find( [&]( const QLocale& x ) { return x.language() == defaultLocale.language(); } ); } if ( matchedLocaleIndex < 0 ) @@ -159,7 +161,9 @@ WelcomePage::initLanguages() // Now, if it matched, because we didn't match the system locale, switch to the one found if ( matchedLocaleIndex >= 0 ) + { QLocale::setDefault( m_languages->locale( matchedLocaleIndex ).locale() ); + } } if ( matchedLocaleIndex >= 0 ) @@ -171,44 +175,36 @@ WelcomePage::initLanguages() ui->languageWidget->setCurrentIndex( matchedLocaleIndex ); } else + { cWarning() << "No available translation matched" << defaultLocale; + } connect( ui->languageWidget, static_cast< void ( QComboBox::* )( int ) >( &QComboBox::currentIndexChanged ), this, - [&]( int newIndex ) - { + [&]( int newIndex ) { const auto& selectedLocale = m_languages->locale( newIndex ).locale(); cDebug() << "Selected locale" << selectedLocale; QLocale::setDefault( selectedLocale ); - CalamaresUtils::installTranslator( selectedLocale, - Calamares::Branding::instance()->translationsDirectory(), - qApp ); + CalamaresUtils::installTranslator( + selectedLocale, Calamares::Branding::instance()->translationsDirectory(), qApp ); } ); } void -WelcomePage::setUpLinks( bool showSupportUrl, - bool showKnownIssuesUrl, - bool showReleaseNotesUrl ) +WelcomePage::setUpLinks( bool showSupportUrl, bool showKnownIssuesUrl, bool showReleaseNotesUrl ) { using namespace Calamares; if ( showSupportUrl && !( *Branding::SupportUrl ).isEmpty() ) { - CALAMARES_RETRANSLATE( - ui->supportButton->setText( tr( "%1 support" ) - .arg( *Branding::ShortProductName ) ); - ) - ui->supportButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Help, - CalamaresUtils::Original, - 2*QSize( CalamaresUtils::defaultFontHeight(), - CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->supportButton, &QPushButton::clicked, [] - { - QDesktopServices::openUrl( *Branding::SupportUrl ); - } ); + CALAMARES_RETRANSLATE( ui->supportButton->setText( tr( "%1 support" ).arg( *Branding::ShortProductName ) ); ) + ui->supportButton->setIcon( CalamaresUtils::defaultPixmap( + CalamaresUtils::Help, + CalamaresUtils::Original, + 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); + connect( ui->supportButton, &QPushButton::clicked, [] { QDesktopServices::openUrl( *Branding::SupportUrl ); } ); } else { @@ -217,12 +213,11 @@ WelcomePage::setUpLinks( bool showSupportUrl, if ( showKnownIssuesUrl && !( *Branding::KnownIssuesUrl ).isEmpty() ) { - ui->knownIssuesButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Bugs, - CalamaresUtils::Original, - 2*QSize( CalamaresUtils::defaultFontHeight(), - CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->knownIssuesButton, &QPushButton::clicked, [] - { + ui->knownIssuesButton->setIcon( CalamaresUtils::defaultPixmap( + CalamaresUtils::Bugs, + CalamaresUtils::Original, + 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); + connect( ui->knownIssuesButton, &QPushButton::clicked, [] { QDesktopServices::openUrl( *Branding::KnownIssuesUrl ); } ); } @@ -233,12 +228,11 @@ WelcomePage::setUpLinks( bool showSupportUrl, if ( showReleaseNotesUrl && !( *Branding::ReleaseNotesUrl ).isEmpty() ) { - ui->releaseNotesButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Release, - CalamaresUtils::Original, - 2*QSize( CalamaresUtils::defaultFontHeight(), - CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->releaseNotesButton, &QPushButton::clicked, [] - { + ui->releaseNotesButton->setIcon( CalamaresUtils::defaultPixmap( + CalamaresUtils::Release, + CalamaresUtils::Original, + 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); + connect( ui->releaseNotesButton, &QPushButton::clicked, [] { QDesktopServices::openUrl( *Branding::ReleaseNotesUrl ); } ); } @@ -249,11 +243,38 @@ WelcomePage::setUpLinks( bool showSupportUrl, } +void +WelcomePage::setupDonateButton( const QString& url ) +{ + if ( url.isEmpty() ) + { + ui->donateButton->hide(); + return; + } + + QUrl u( url ); + if ( u.isValid() ) + { + ui->donateButton->setIcon( CalamaresUtils::defaultPixmap( + CalamaresUtils::Donate, + CalamaresUtils::Original, + 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); + connect( ui->donateButton, &QPushButton::clicked, [u]() { QDesktopServices::openUrl( u ); } ); + } + else + { + qWarning() << "Donate URL" << url << "is invalid."; + ui->donateButton->hide(); + } +} + void WelcomePage::focusInEvent( QFocusEvent* e ) { if ( ui->languageWidget ) + { ui->languageWidget->setFocus(); + } e->accept(); } @@ -267,7 +288,9 @@ void WelcomePage::externallySelectedLanguage( int row ) { if ( ( row >= 0 ) && ( row < ui->languageWidget->count() ) ) + { ui->languageWidget->setCurrentIndex( row ); + } } void @@ -278,8 +301,14 @@ WelcomePage::setLanguageIcon( QPixmap i ) void -LocaleTwoColumnDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const +LocaleTwoColumnDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const { QStyledItemDelegate::paint( painter, option, index ); - option.widget->style()->drawItemText( painter, option.rect, Qt::AlignRight | Qt::AlignVCenter, option.palette, false, index.data( CalamaresUtils::Locale::LabelModel::EnglishLabelRole ).toString() ); + option.widget->style()->drawItemText( + painter, + option.rect, + Qt::AlignRight | Qt::AlignVCenter, + option.palette, + false, + index.data( CalamaresUtils::Locale::LabelModel::EnglishLabelRole ).toString() ); } diff --git a/src/modules/welcome/WelcomePage.h b/src/modules/welcome/WelcomePage.h index 6c244bf0c..d8a1bd4f2 100644 --- a/src/modules/welcome/WelcomePage.h +++ b/src/modules/welcome/WelcomePage.h @@ -39,9 +39,10 @@ public: explicit WelcomePage( QWidget* parent = nullptr ); /// @brief Configure the buttons for URLs from the branding configuration - void setUpLinks( bool showSupportUrl, - bool showKnownIssuesUrl, - bool showReleaseNotesUrl ); + void setUpLinks( bool showSupportUrl, bool showKnownIssuesUrl, bool showReleaseNotesUrl ); + /// @brief Configure the "Donate" button + void setupDonateButton( const QString& ); + /// @brief Set international language-selector icon void setLanguageIcon( QPixmap ); @@ -50,8 +51,9 @@ public: /// @brief Change the language from an external source. void externallySelectedLanguage( int row ); + protected: - void focusInEvent( QFocusEvent* e ) override; //choose the child widget to focus + void focusInEvent( QFocusEvent* e ) override; //choose the child widget to focus private: /// @brief Fill the list of languages with the available translations @@ -59,7 +61,7 @@ private: Ui::WelcomePage* ui; CheckerContainer* m_checkingWidget; - CalamaresUtils::Locale::LabelModel *m_languages; + CalamaresUtils::Locale::LabelModel* m_languages; }; /** @brief Delegate to display language information in two columns. @@ -72,6 +74,6 @@ public: using QStyledItemDelegate::QStyledItemDelegate; void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const override; -} ; +}; -#endif // WELCOMEPAGE_H +#endif // WELCOMEPAGE_H diff --git a/src/modules/welcome/WelcomePage.ui b/src/modules/welcome/WelcomePage.ui index 548bd5d27..0787ac6e7 100644 --- a/src/modules/welcome/WelcomePage.ui +++ b/src/modules/welcome/WelcomePage.ui @@ -134,6 +134,16 @@ + + + + &Donate + + + true + + + diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index 938fe1f45..60dd6f500 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -33,13 +33,16 @@ #include #include -CALAMARES_PLUGIN_FACTORY_DEFINITION( WelcomeViewStepFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( WelcomeViewStepFactory, registerPlugin< WelcomeViewStep >(); ) WelcomeViewStep::WelcomeViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_requirementsChecker( new GeneralRequirements( this ) ) { - connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsComplete, this, &WelcomeViewStep::nextStatusChanged ); + connect( Calamares::ModuleManager::instance(), + &Calamares::ModuleManager::requirementsComplete, + this, + &WelcomeViewStep::nextStatusChanged ); m_widget = new WelcomePage(); } @@ -47,7 +50,9 @@ WelcomeViewStep::WelcomeViewStep( QObject* parent ) WelcomeViewStep::~WelcomeViewStep() { if ( m_widget && m_widget->parent() == nullptr ) + { m_widget->deleteLater(); + } } @@ -107,16 +112,17 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) bool showKnownIssuesUrl = CalamaresUtils::getBool( configurationMap, "showKnownIssuesUrl", false ); bool showReleaseNotesUrl = CalamaresUtils::getBool( configurationMap, "showReleaseNotesUrl", false ); - m_widget->setUpLinks( showSupportUrl, - showKnownIssuesUrl, - showReleaseNotesUrl ); + m_widget->setUpLinks( showSupportUrl, showKnownIssuesUrl, showReleaseNotesUrl ); + m_widget->setupDonateButton( CalamaresUtils::getString( configurationMap, "donateUrl" ) ); - if ( configurationMap.contains( "requirements" ) && - configurationMap.value( "requirements" ).type() == QVariant::Map ) + if ( configurationMap.contains( "requirements" ) + && configurationMap.value( "requirements" ).type() == QVariant::Map ) + { m_requirementsChecker->setConfigurationMap( configurationMap.value( "requirements" ).toMap() ); + } else cWarning() << "no valid requirements map found in welcome " - "module configuration."; + "module configuration."; bool ok = false; QVariantMap geoip = CalamaresUtils::getSubMap( configurationMap, "geoip", ok ); @@ -124,15 +130,13 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { using FWString = QFutureWatcher< QString >; - auto* handler = new CalamaresUtils::GeoIP::Handler( - CalamaresUtils::getString( geoip, "style" ), - CalamaresUtils::getString( geoip, "url" ), - CalamaresUtils::getString( geoip, "selector" ) ); + auto* handler = new CalamaresUtils::GeoIP::Handler( CalamaresUtils::getString( geoip, "style" ), + CalamaresUtils::getString( geoip, "url" ), + CalamaresUtils::getString( geoip, "selector" ) ); if ( handler->type() != CalamaresUtils::GeoIP::Handler::Type::None ) { auto* future = new FWString(); - connect( future, &FWString::finished, [view=this, f=future, h=handler]() - { + connect( future, &FWString::finished, [view = this, f = future, h = handler]() { QString countryResult = f->future().result(); cDebug() << "GeoIP result for welcome=" << countryResult; view->setCountry( countryResult, h ); @@ -154,7 +158,9 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { auto icon = Calamares::Branding::instance()->image( language, QSize( 48, 48 ) ); if ( !icon.isNull() ) + { m_widget->setLanguageIcon( icon ); + } } } @@ -169,7 +175,8 @@ logGeoIPHandler( CalamaresUtils::GeoIP::Handler* handler ) { if ( handler ) { - cDebug() << Logger::SubEntry << "Obtained from" << handler->url() << " (" << static_cast( handler->type() ) << handler->selector() << ')'; + cDebug() << Logger::SubEntry << "Obtained from" << handler->url() << " (" + << static_cast< int >( handler->type() ) << handler->selector() << ')'; } } @@ -194,8 +201,12 @@ WelcomeViewStep::setCountry( const QString& countryCode, CalamaresUtils::GeoIP:: { int r = CalamaresUtils::Locale::availableTranslations()->find( countryCode ); if ( r < 0 ) + { cDebug() << "Unusable country code" << countryCode << "(no suitable translation)"; + } if ( ( r >= 0 ) && m_widget ) + { m_widget->externallySelectedLanguage( r ); + } } } diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf index a430345a2..e8433c48d 100644 --- a/src/modules/welcome/welcome.conf +++ b/src/modules/welcome/welcome.conf @@ -12,6 +12,13 @@ showSupportUrl: true showKnownIssuesUrl: true showReleaseNotesUrl: true +# If this Url is set to something non-empty, a "donate" +# button is added to the welcome page alongside the +# others (see settings, above). Clicking the button opens +# the corresponding link. +# +# donateUrl: https://kde.org/community/donations/ + # Requirements checking. These are general, generic, things # that are checked. They may not match with the actual requirements # imposed by other modules in the system. From 64d4b0a46cbbb6f630cdd348610be7ee5c7d10fd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 22:43:11 +0200 Subject: [PATCH 245/626] [welcome] Switch API for buttons to an enum + string - Handle buttons and their URL-opening in a more general way with an enum; drop existing three-boot method and special setupDonateButton() - Doesn't compile because consumers haven't changed. --- src/modules/welcome/WelcomePage.cpp | 51 ++++++++++++++++++++++++----- src/modules/welcome/WelcomePage.h | 14 +++++--- 2 files changed, 52 insertions(+), 13 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 6d0fc0d98..35807e93c 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -32,6 +32,7 @@ #include "modulesystem/ModuleManager.h" #include "utils/CalamaresUtilsGui.h" #include "utils/Logger.h" +#include "utils/NamedEnum.h" #include "utils/Retranslator.h" #include @@ -244,27 +245,59 @@ WelcomePage::setUpLinks( bool showSupportUrl, bool showKnownIssuesUrl, bool show void -WelcomePage::setupDonateButton( const QString& url ) +WelcomePage::setupButton( Button role, const QString& url ) { + QPushButton* button = nullptr; + CalamaresUtils::ImageType icon = CalamaresUtils::Information; + + switch ( role ) + { + case Button::Donate: + button = ui->donateButton; + icon = CalamaresUtils::Donate; + break; + case Button::KnownIssues: + button = ui->knownIssuesButton; + icon = CalamaresUtils::Bugs; + break; + case Button::ReleaseNotes: + button = ui->releaseNotesButton; + icon = CalamaresUtils::Release; + break; + case Button::Support: + button = ui->supportButton; + icon = CalamaresUtils::Help; + break; + } + if ( !button ) + { + qWarning() << "Unknown button role" << smash( role ); + return; + } + if ( url.isEmpty() ) { - ui->donateButton->hide(); + button->hide(); return; } QUrl u( url ); if ( u.isValid() ) { - ui->donateButton->setIcon( CalamaresUtils::defaultPixmap( - CalamaresUtils::Donate, - CalamaresUtils::Original, - 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->donateButton, &QPushButton::clicked, [u]() { QDesktopServices::openUrl( u ); } ); + auto size = 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ); + button->setIcon( CalamaresUtils::defaultPixmap( + icon, + CalamaresUtils::Original,size + ); + connect( button, &QPushButton::clicked, [u]() + { + QDesktopServices::openUrl( u ); + } ); } else { - qWarning() << "Donate URL" << url << "is invalid."; - ui->donateButton->hide(); + qWarning() << "Welcome button" << smash( role ) << "URL" << url << "is invalid."; + button->hide(); } } diff --git a/src/modules/welcome/WelcomePage.h b/src/modules/welcome/WelcomePage.h index d8a1bd4f2..3e776a5f0 100644 --- a/src/modules/welcome/WelcomePage.h +++ b/src/modules/welcome/WelcomePage.h @@ -38,10 +38,16 @@ class WelcomePage : public QWidget public: explicit WelcomePage( QWidget* parent = nullptr ); - /// @brief Configure the buttons for URLs from the branding configuration - void setUpLinks( bool showSupportUrl, bool showKnownIssuesUrl, bool showReleaseNotesUrl ); - /// @brief Configure the "Donate" button - void setupDonateButton( const QString& ); + enum class Button + { + Support, + Donate, + KnownIssues, + ReleaseNotes + }; + + /// @brief Configure the button @p n, to open @p url + void setupButton( Button b, const QString& url ); /// @brief Set international language-selector icon void setLanguageIcon( QPixmap ); From 119f84d6c146b86fa659727bd57f64aabb810383 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 22:57:33 +0200 Subject: [PATCH 246/626] [welcome] Remove setupLinks() method, use generic - the generic (enum-based) setupButton() can handle all four of the buttons, so setupLinks() can go away. Only the (re)translation of the text on the button needs to be done, so move that to the main RETRANSLATE. --- src/modules/welcome/WelcomePage.cpp | 84 ++++++----------------------- 1 file changed, 15 insertions(+), 69 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 35807e93c..8f989c47c 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -73,18 +73,20 @@ WelcomePage::WelcomePage( QWidget* parent ) cDebug() << "Welcome string" << Calamares::Branding::instance()->welcomeStyleCalamares() << *Calamares::Branding::VersionedName; - CALAMARES_RETRANSLATE( QString message; + CALAMARES_RETRANSLATE( + QString message; - if ( Calamares::Settings::instance()->isSetupMode() ) message - = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares setup program for %1.

" ) - : tr( "

Welcome to %1 setup.

" ); - else message = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares installer for %1.

" ) - : tr( "

Welcome to the %1 installer.

" ); + if ( Calamares::Settings::instance()->isSetupMode() ) message + = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares setup program for %1.

" ) + : tr( "

Welcome to %1 setup.

" ); + else message = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares installer for %1.

" ) + : tr( "

Welcome to the %1 installer.

" ); - ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); - ui->retranslateUi( this ); ) + ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); + ui->retranslateUi( this ); + ui->supportButton->setText( tr( "%1 support" ).arg( *Calamares::Branding::ShortProductName ) ); ) ui->aboutButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Information, @@ -194,56 +196,6 @@ WelcomePage::initLanguages() } -void -WelcomePage::setUpLinks( bool showSupportUrl, bool showKnownIssuesUrl, bool showReleaseNotesUrl ) -{ - using namespace Calamares; - if ( showSupportUrl && !( *Branding::SupportUrl ).isEmpty() ) - { - CALAMARES_RETRANSLATE( ui->supportButton->setText( tr( "%1 support" ).arg( *Branding::ShortProductName ) ); ) - ui->supportButton->setIcon( CalamaresUtils::defaultPixmap( - CalamaresUtils::Help, - CalamaresUtils::Original, - 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->supportButton, &QPushButton::clicked, [] { QDesktopServices::openUrl( *Branding::SupportUrl ); } ); - } - else - { - ui->supportButton->hide(); - } - - if ( showKnownIssuesUrl && !( *Branding::KnownIssuesUrl ).isEmpty() ) - { - ui->knownIssuesButton->setIcon( CalamaresUtils::defaultPixmap( - CalamaresUtils::Bugs, - CalamaresUtils::Original, - 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->knownIssuesButton, &QPushButton::clicked, [] { - QDesktopServices::openUrl( *Branding::KnownIssuesUrl ); - } ); - } - else - { - ui->knownIssuesButton->hide(); - } - - if ( showReleaseNotesUrl && !( *Branding::ReleaseNotesUrl ).isEmpty() ) - { - ui->releaseNotesButton->setIcon( CalamaresUtils::defaultPixmap( - CalamaresUtils::Release, - CalamaresUtils::Original, - 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->releaseNotesButton, &QPushButton::clicked, [] { - QDesktopServices::openUrl( *Branding::ReleaseNotesUrl ); - } ); - } - else - { - ui->releaseNotesButton->hide(); - } -} - - void WelcomePage::setupButton( Button role, const QString& url ) { @@ -284,15 +236,9 @@ WelcomePage::setupButton( Button role, const QString& url ) QUrl u( url ); if ( u.isValid() ) { - auto size = 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ); - button->setIcon( CalamaresUtils::defaultPixmap( - icon, - CalamaresUtils::Original,size - ); - connect( button, &QPushButton::clicked, [u]() - { - QDesktopServices::openUrl( u ); - } ); + auto size = 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ); + button->setIcon( CalamaresUtils::defaultPixmap( icon, CalamaresUtils::Original, size ) ); + connect( button, &QPushButton::clicked, [u]() { QDesktopServices::openUrl( u ); } ); } else { From 341965c2b1f72bf34541b89bb90ec894accd38e4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 23:01:52 +0200 Subject: [PATCH 247/626] [welcome] Use setupButton for all four buttons - the show* settings in welcome.conf are "upgraded" to allow setting the URL directly in the module configuration. --- src/modules/welcome/WelcomeViewStep.cpp | 45 ++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index 60dd6f500..b489adc9e 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -105,15 +105,50 @@ WelcomeViewStep::jobs() const } +/** @brief Look up a URL for a button + * + * Looks up @p key in @p map; if it is a *boolean* value, then + * assume an old-style configuration, and fetch the string from + * the branding settings @p e. If it is a string, not a boolean, + * use it as-is. If not found, or a weird type, returns empty. + * + * This allows switching the showKnownIssuesUrl and similar settings + * in welcome.conf from a boolean (deferring to branding) to an + * actual string for immediate use. Empty strings, as well as + * "false" as a setting, will hide the buttons as before. + */ +static QString +jobOrBrandingSetting( Calamares::Branding::StringEntry e, const QVariantMap& map, const QString& key ) +{ + if ( !map.contains( key ) ) + { + return QString(); + } + auto v = map.value( key ); + if ( v.type() == QVariant::Bool ) + { + return v.toBool() ? ( *e ) : QString(); + } + if ( v.type() == QVariant::String ) + { + return v.toString(); + } + + return QString(); +} + void WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { - bool showSupportUrl = CalamaresUtils::getBool( configurationMap, "showSupportUrl", false ); - bool showKnownIssuesUrl = CalamaresUtils::getBool( configurationMap, "showKnownIssuesUrl", false ); - bool showReleaseNotesUrl = CalamaresUtils::getBool( configurationMap, "showReleaseNotesUrl", false ); + using Calamares::Branding; - m_widget->setUpLinks( showSupportUrl, showKnownIssuesUrl, showReleaseNotesUrl ); - m_widget->setupDonateButton( CalamaresUtils::getString( configurationMap, "donateUrl" ) ); + m_widget->setupButton( WelcomePage::Button::Support, + jobOrBrandingSetting( Branding::SupportUrl, configurationMap, "showSupportUrl" ) ); + m_widget->setupButton( WelcomePage::Button::KnownIssues, + jobOrBrandingSetting( Branding::KnownIssuesUrl, configurationMap, "showKnownIssuesUrl" ) ); + m_widget->setupButton( WelcomePage::Button::ReleaseNotes, + jobOrBrandingSetting( Branding::ReleaseNotesUrl, configurationMap, "showReleaseNotesUrl" ) ); + m_widget->setupButton( WelcomePage::Button::Donate, CalamaresUtils::getString( configurationMap, "donateUrl" ) ); if ( configurationMap.contains( "requirements" ) && configurationMap.value( "requirements" ).type() == QVariant::Map ) From 706cc7392520f833c077b5a76879b41efecc564c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 23:07:21 +0200 Subject: [PATCH 248/626] [branding] [welcome] Adjust documentation for welcome-overrides --- src/branding/default/branding.desc | 3 ++- src/modules/welcome/welcome.conf | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/branding/default/branding.desc b/src/branding/default/branding.desc index 3d1079a8c..5d9b29c69 100644 --- a/src/branding/default/branding.desc +++ b/src/branding/default/branding.desc @@ -58,7 +58,8 @@ windowSize: 800px,520px # if it contains substitutions, or you'll get YAML exceptions. # # The *Url* entries are used on the welcome page, and they -# are visible as buttons there if the corresponding *show* keys are set. +# are visible as buttons there if the corresponding *show* keys +# are set to "true" (they can also be overridden). strings: productName: "@{NAME}" shortProductName: Generic diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf index e8433c48d..f0f9e7394 100644 --- a/src/modules/welcome/welcome.conf +++ b/src/modules/welcome/welcome.conf @@ -7,7 +7,11 @@ # can check requirements for installation. --- # Display settings for various buttons on the welcome page. -# The URLs themselves come from branding.desc +# The URLs themselves come from branding.desc is the setting +# here is "true". If the setting is false, the button is hidden. +# The setting can also be a full URL which will then be used +# instead of the one from the branding file, or empty or not-set +# which will hide the button. showSupportUrl: true showKnownIssuesUrl: true showReleaseNotesUrl: true From c36f963954d3ad0acf4ff7ddadd9227074aaf579 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 23:08:33 +0200 Subject: [PATCH 249/626] [welcome] Adjust names of URLs to be consistent - having show*Url and donateUrl seems inconsistent, although the show*Url settings were originally boolean-only. - add "show" to the Donate button setting, to make them all consistent (putting a boolean there will generate a warning and hide the button, that's all). --- src/modules/welcome/WelcomeViewStep.cpp | 2 +- src/modules/welcome/welcome.conf | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index b489adc9e..17a10f754 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -148,7 +148,7 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) jobOrBrandingSetting( Branding::KnownIssuesUrl, configurationMap, "showKnownIssuesUrl" ) ); m_widget->setupButton( WelcomePage::Button::ReleaseNotes, jobOrBrandingSetting( Branding::ReleaseNotesUrl, configurationMap, "showReleaseNotesUrl" ) ); - m_widget->setupButton( WelcomePage::Button::Donate, CalamaresUtils::getString( configurationMap, "donateUrl" ) ); + m_widget->setupButton( WelcomePage::Button::Donate, CalamaresUtils::getString( configurationMap, "showDonateUrl" ) ); if ( configurationMap.contains( "requirements" ) && configurationMap.value( "requirements" ).type() == QVariant::Map ) diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf index f0f9e7394..9488daa5e 100644 --- a/src/modules/welcome/welcome.conf +++ b/src/modules/welcome/welcome.conf @@ -19,9 +19,10 @@ showReleaseNotesUrl: true # If this Url is set to something non-empty, a "donate" # button is added to the welcome page alongside the # others (see settings, above). Clicking the button opens -# the corresponding link. +# the corresponding link. (This button has no corresponding +# branding.desc string) # -# donateUrl: https://kde.org/community/donations/ +# showDonateUrl: https://kde.org/community/donations/ # Requirements checking. These are general, generic, things # that are checked. They may not match with the actual requirements From 0b7dcf7c50559fb7a29486c2eda0751039a423b1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Aug 2019 23:22:33 +0200 Subject: [PATCH 250/626] [welcome] Fix up tooltips - the "Select language" tooltip was applied to the form, so it would show up inappropriately all over the place - the buttons didn't have useful tooltips. --- src/modules/welcome/WelcomePage.ui | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/modules/welcome/WelcomePage.ui b/src/modules/welcome/WelcomePage.ui index 0787ac6e7..160daa595 100644 --- a/src/modules/welcome/WelcomePage.ui +++ b/src/modules/welcome/WelcomePage.ui @@ -13,9 +13,6 @@ Form - - Select language - @@ -69,7 +66,7 @@ - Select language + Select application and system language @@ -81,6 +78,9 @@ + + Select application and system language + 2 @@ -136,6 +136,9 @@ + + Open donations website + &Donate @@ -146,6 +149,9 @@ + + Open help and support website + &Support @@ -156,6 +162,9 @@ + + Open issues and bug-tracking website + &Known issues @@ -166,6 +175,9 @@ + + Open relead notes website + &Release notes From 257f5da1af78747759dc580eec27a6d1667f2304 Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Wed, 14 Aug 2019 09:58:40 +0200 Subject: [PATCH 251/626] mount: Use a single partitions list sorted by mount point Instead of having a special case for extra mounts to be processed right after the rootfs, a better approach is to add them to the partitions list, and then sort the list by mount point. This way, we make sure every partition is mounted right when it is needed: `/` is obviously mounted first, `/run` is mounted before `/run/udev`, and so on. The overall process is therefore more generic and should suit all use-cases. Signed-off-by: Arnaud Ferraris --- src/modules/mount/main.py | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py index b093d0dfb..1c684c43f 100644 --- a/src/modules/mount/main.py +++ b/src/modules/mount/main.py @@ -37,7 +37,7 @@ _ = gettext.translation("calamares-python", def pretty_name(): return _("Mounting partitions.") -def mount_part(root_mount_point, partition, partitions): +def mount_partition(root_mount_point, partition, partitions): # Create mount point with `+` rather than `os.path.join()` because # `partition["mountPoint"]` starts with a '/'. raw_mount_point = partition["mountPoint"] @@ -126,21 +126,6 @@ def mount_part(root_mount_point, partition, partitions): ["subvol=@home", partition.get("options", "")]), ) -def mount_partitions(root_mount_point, partitions, extra_mounts=None): - """ - Pass back mount point and filesystem for each partition. - - :param root_mount_point: - :param partitions: - :param extra_mounts: - """ - for partition in partitions: - if "mountPoint" not in partition or not partition["mountPoint"]: - continue - mount_part(root_mount_point, partition, partitions) - if partition["mountPoint"] is "/" and extra_mounts is not None: - mount_partitions(root_mount_point, extra_mounts) - def run(): """ @@ -163,16 +148,21 @@ def run(): if not extra_mounts and not extra_mounts_efi: libcalamares.utils.warning("No extra mounts defined. Does mount.conf exist?") - # Sort by mount points to ensure / is mounted before the rest - partitions.sort(key=lambda x: x["mountPoint"]) - mount_partitions(root_mount_point, partitions, extra_mounts) - - all_extra_mounts = extra_mounts if libcalamares.globalstorage.value("firmwareType") == "efi": - mount_partitions(root_mount_point, extra_mounts_efi) - all_extra_mounts.extend(extra_mounts_efi) + extra_mounts.extend(extra_mounts_efi) + + # Add extra mounts to the partitions list and sort by mount points. + # This way, we ensure / is mounted before the rest, and every mount point + # is created on the right partition (e.g. if a partition is to be mounted + # under /tmp, we make sure /tmp is mounted before the partition) + partitions.extend(extra_mounts) + partitions.sort(key=lambda x: x["mountPoint"]) + for partition in partitions: + if "mountPoint" not in partition or not partition["mountPoint"]: + continue + mount_partition(root_mount_point, partition, partitions) libcalamares.globalstorage.insert("rootMountPoint", root_mount_point) # Remember the extra mounts for the unpackfs module - libcalamares.globalstorage.insert("extraMounts", all_extra_mounts) + libcalamares.globalstorage.insert("extraMounts", extra_mounts) From 2e8a106f2c82266448f13591cf3c9206ac7fee64 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 16 Aug 2019 04:21:53 -0400 Subject: [PATCH 252/626] Changes: document new stuff --- CHANGES | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGES b/CHANGES index 3f4aad749..e926da175 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,13 @@ This release contains contributions from (alphabetically by first name): ## Modules ## +- The *partition* module now understands the units *KB*, *MB*, *GB* which + are powers-of-ten sizes, alongside the powers-of-two sizes that it already + used. (thanks to Arnaud) +- The *welcome* module now supports a *Donate* button if *showDonateUrl* + is set to a non-empty URL. #1197 +- The *welcome* module can have URLs for the various buttons configured + directly in the module configuration (rather than in `branding.desc`). # 3.2.12 (2019-08-07) # From 395c375c603f401e4c0ac780fb243c39b1b3c990 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 06:28:32 -0400 Subject: [PATCH 253/626] [mount] Winnow partition list - Simplify the iteration by first determining which partitions are mountable (at all). - This guards against the very rare case that a partition does not have a mountPoint at all (the if guarded against that) where the lambda passed to sort() would get a KeyError. --- src/modules/mount/main.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py index 1c684c43f..d33b4681b 100644 --- a/src/modules/mount/main.py +++ b/src/modules/mount/main.py @@ -155,11 +155,9 @@ def run(): # This way, we ensure / is mounted before the rest, and every mount point # is created on the right partition (e.g. if a partition is to be mounted # under /tmp, we make sure /tmp is mounted before the partition) - partitions.extend(extra_mounts) - partitions.sort(key=lambda x: x["mountPoint"]) - for partition in partitions: - if "mountPoint" not in partition or not partition["mountPoint"]: - continue + mountable_partitions = [ p for p in partitions + extra_mounts if "mountPoint" in p and p["mountPoint"] ] + mountable_partitions.sort(key=lambda x: x["mountPoint"]) + for partition in mountable_partitions: mount_partition(root_mount_point, partition, partitions) libcalamares.globalstorage.insert("rootMountPoint", root_mount_point) From 52af9dbaad1775de5fa4b6f2c053ee7f73fc301b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 06:31:37 -0400 Subject: [PATCH 254/626] [mount] Add docstrings to methods --- src/modules/mount/main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py index d33b4681b..b10c5c0bf 100644 --- a/src/modules/mount/main.py +++ b/src/modules/mount/main.py @@ -38,6 +38,12 @@ def pretty_name(): return _("Mounting partitions.") def mount_partition(root_mount_point, partition, partitions): + """ + Do a single mount of @p partition inside @p root_mount_point. + + The @p partitions are used to handle btrfs special-cases: + then subvolumes are created for root and home. + """ # Create mount point with `+` rather than `os.path.join()` because # `partition["mountPoint"]` starts with a '/'. raw_mount_point = partition["mountPoint"] @@ -129,9 +135,8 @@ def mount_partition(root_mount_point, partition, partitions): def run(): """ - Define mountpoints. - - :return: + Mount all the partitions from GlobalStorage and from the job configuration. + Partitions are mounted in-lexical-order of their mountPoint. """ partitions = libcalamares.globalstorage.value("partitions") From 5b4152133d5721a6dda6b2a6bba14074c05cf96b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 06:45:05 -0400 Subject: [PATCH 255/626] [packagechooser] Look for AppStream libs --- src/modules/packagechooser/CMakeLists.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index 70a86a3bb..ec3c15826 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -9,7 +9,19 @@ if ( Qt5Xml_FOUND ) add_definitions( -DHAVE_XML ) list( APPEND _extra_libraries Qt5::Xml ) endif() - + +find_package(AppStreamQt) +set_package_properties( + AppStreamQt PROPERTIES + DESCRIPTION "Support for AppStream (cache) data" + URL "https://github.com/ximion/appstream" + PURPOSE "AppStream provides package data" + TYPE OPTIONAL +) +if ( AppStreamQt_FOUND ) + add_definitions( -DHAVE_APPSTREAM ) + list( APPEND _extra_libraries AppStreamQt ) +endif() calamares_add_plugin( packagechooser TYPE viewmodule From 2f20ad30bf067a1380177421b0221373702e3eac Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 06:55:36 -0400 Subject: [PATCH 256/626] [packagechooser] Refactor AppData XML support into separate file - Put the implementation entirely in a separate file, keep the not-supported one in PackageModel.cpp (but only in an #ifdef). - Makes the various optional-data-sources more similar. --- src/modules/packagechooser/CMakeLists.txt | 3 + src/modules/packagechooser/ItemAppData.cpp | 234 ++++++++++++++++++++ src/modules/packagechooser/PackageModel.cpp | 212 +----------------- 3 files changed, 239 insertions(+), 210 deletions(-) create mode 100644 src/modules/packagechooser/ItemAppData.cpp diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index ec3c15826..e93a5816f 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -1,5 +1,6 @@ find_package( Qt5 COMPONENTS Core Gui Widgets REQUIRED ) set( _extra_libraries "" ) +set( _extra_src "" ) ### OPTIONAL AppData XML support in PackageModel # @@ -8,6 +9,7 @@ find_package(Qt5 COMPONENTS Xml) if ( Qt5Xml_FOUND ) add_definitions( -DHAVE_XML ) list( APPEND _extra_libraries Qt5::Xml ) + list( APPEND _extra_src ItemAppData.cpp ) endif() find_package(AppStreamQt) @@ -30,6 +32,7 @@ calamares_add_plugin( packagechooser PackageChooserPage.cpp PackageChooserViewStep.cpp PackageModel.cpp + ${_extra_src} RESOURCES packagechooser.qrc UI diff --git a/src/modules/packagechooser/ItemAppData.cpp b/src/modules/packagechooser/ItemAppData.cpp new file mode 100644 index 000000000..7c80a1c3d --- /dev/null +++ b/src/modules/packagechooser/ItemAppData.cpp @@ -0,0 +1,234 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +/** @brief Loading items from AppData XML files. + * + * Only used if QtXML is found, implements PackageItem::fromAppData(). + */ +#include "PackageModel.h" + +#include "utils/Logger.h" +#include "utils/Variant.h" + +#include +#include +#include + +/** @brief try to load the given @p fileName XML document + * + * Returns a QDomDocument, which will be valid iff the file can + * be read and contains valid XML data. + */ +static inline QDomDocument +loadAppData( const QString& fileName ) +{ + QFile file( fileName ); + if ( !file.open( QIODevice::ReadOnly ) ) + { + return QDomDocument(); + } + QDomDocument doc( "AppData" ); + if ( !doc.setContent( &file ) ) + { + file.close(); + return QDomDocument(); + } + file.close(); + return doc; +} + +/** @brief gets the text of child element @p tagName + */ +static inline QString +getChildText( const QDomNode& n, const QString& tagName ) +{ + QDomElement e = n.firstChildElement( tagName ); + return e.isNull() ? QString() : e.text(); +} + +/** @brief Gets a suitable screenshot path + * + * The element contains zero or more + * elements, which can have a *type* associated with them. + * Scan the screenshot elements, return the path + * for the one labeled with type=default or, if there is no + * default, the first element. + */ +static inline QString +getScreenshotPath( const QDomNode& n ) +{ + QDomElement shotsNode = n.firstChildElement( "screenshots" ); + if ( shotsNode.isNull() ) + { + return QString(); + } + + const QDomNodeList shotList = shotsNode.childNodes(); + int firstScreenshot = -1; // Use which screenshot node? + for ( int i = 0; i < shotList.count(); ++i ) + { + if ( !shotList.at( i ).isElement() ) + { + continue; + } + QDomElement e = shotList.at( i ).toElement(); + if ( e.tagName() != "screenshot" ) + { + continue; + } + // If none has the "type=default" attribute, use the first one + if ( firstScreenshot < 0 ) + { + firstScreenshot = i; + } + // But type=default takes precedence. + if ( e.hasAttribute( "type" ) && e.attribute( "type" ) == "default" ) + { + firstScreenshot = i; + break; + } + } + + if ( firstScreenshot >= 0 ) + { + return shotList.at( firstScreenshot ).firstChildElement( "image" ).text(); + } + + return QString(); +} + +/** @brief Returns language of the given element @p e + * + * Transforms the attribute value for xml:lang to something + * suitable for TranslatedString (e.g. [lang]). + */ +static inline QString +getLanguage( const QDomElement& e ) +{ + QString language = e.attribute( "xml:lang" ); + if ( !language.isEmpty() ) + { + language.replace( '-', '_' ); + language.prepend( '[' ); + language.append( ']' ); + } + return language; +} + +/** @brief Scan the list of @p children for @p tagname elements and add them to the map + * + * Uses @p mapname instead of @p tagname for the entries in map @p m + * to allow renaming from XML to map keys (in particular for + * TranslatedString). Also transforms xml:lang attributes to suitable + * key-decorations on @p mapname. + */ +static inline void +fillMap( QVariantMap& m, const QDomNodeList& children, const QString& tagname, const QString& mapname ) +{ + for ( int i = 0; i < children.count(); ++i ) + { + if ( !children.at( i ).isElement() ) + { + continue; + } + + QDomElement e = children.at( i ).toElement(); + if ( e.tagName() != tagname ) + { + continue; + } + + m[ mapname + getLanguage( e ) ] = e.text(); + } +} + +/** @brief gets the and elements +* +* Builds up a map of the elements (which may have a *lang* +* attribute to indicate translations and paragraphs of the +* element (also with lang). Uses the +* elements to supplement the description if no description +* is available for a given language. +* +* Returns a map with keys suitable for use by TranslatedString. +*/ +static inline QVariantMap +getNameAndSummary( const QDomNode& n ) +{ + QVariantMap m; + + const QDomNodeList children = n.childNodes(); + fillMap( m, children, "name", "name" ); + fillMap( m, children, "summary", "description" ); + + const QDomElement description = n.firstChildElement( "description" ); + if ( !description.isNull() ) + { + fillMap( m, description.childNodes(), "p", "description" ); + } + + return m; +} + +PackageItem +PackageItem::fromAppData( const QVariantMap& item_map ) +{ + QString fileName = CalamaresUtils::getString( item_map, "appdata" ); + if ( fileName.isEmpty() ) + { + cWarning() << "Can't load AppData without a suitable key."; + return PackageItem(); + } + cDebug() << "Loading AppData XML from" << fileName; + + QDomDocument doc = loadAppData( fileName ); + if ( doc.isNull() ) + { + return PackageItem(); + } + + QDomElement componentNode = doc.documentElement(); + if ( !componentNode.isNull() && componentNode.tagName() == "component" ) + { + // An "id" entry in the Calamares config overrides ID in the AppData + QString id = CalamaresUtils::getString( item_map, "id" ); + if ( id.isEmpty() ) + { + id = getChildText( componentNode, "id" ); + } + if ( id.isEmpty() ) + { + return PackageItem(); + } + + // A "screenshot" entry in the Calamares config overrides AppData + QString screenshotPath = CalamaresUtils::getString( item_map, "screenshot" ); + if ( screenshotPath.isEmpty() ) + { + screenshotPath = getScreenshotPath( componentNode ); + } + + QVariantMap map = getNameAndSummary( componentNode ); + map.insert( "id", id ); + map.insert( "screenshot", screenshotPath ); + + return PackageItem( map ); + } + + return PackageItem(); +} diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index 59c6973ba..e15559552 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -21,12 +21,6 @@ #include "utils/Logger.h" #include "utils/Variant.h" -#ifdef HAVE_XML -#include -#include -#include -#endif - const NamedEnumTable< PackageChooserMode >& roleNames() { @@ -94,217 +88,15 @@ PackageItem::PackageItem::PackageItem( const QVariantMap& item_map ) } } -#ifdef HAVE_XML -/** @brief try to load the given @p fileName XML document - * - * Returns a QDomDocument, which will be valid iff the file can - * be read and contains valid XML data. - */ -static inline QDomDocument -loadAppData( const QString& fileName ) -{ - QFile file( fileName ); - if ( !file.open( QIODevice::ReadOnly ) ) - { - return QDomDocument(); - } - QDomDocument doc( "AppData" ); - if ( !doc.setContent( &file ) ) - { - file.close(); - return QDomDocument(); - } - file.close(); - return doc; -} - -/** @brief gets the text of child element @p tagName - */ -static inline QString -getChildText( const QDomNode& n, const QString& tagName ) -{ - QDomElement e = n.firstChildElement( tagName ); - return e.isNull() ? QString() : e.text(); -} - -/** @brief Gets a suitable screenshot path - * - * The element contains zero or more - * elements, which can have a *type* associated with them. - * Scan the screenshot elements, return the path - * for the one labeled with type=default or, if there is no - * default, the first element. - */ -static inline QString -getScreenshotPath( const QDomNode& n ) -{ - QDomElement shotsNode = n.firstChildElement( "screenshots" ); - if ( shotsNode.isNull() ) - { - return QString(); - } - - const QDomNodeList shotList = shotsNode.childNodes(); - int firstScreenshot = -1; // Use which screenshot node? - for ( int i = 0; i < shotList.count(); ++i ) - { - if ( !shotList.at( i ).isElement() ) - { - continue; - } - QDomElement e = shotList.at( i ).toElement(); - if ( e.tagName() != "screenshot" ) - { - continue; - } - // If none has the "type=default" attribute, use the first one - if ( firstScreenshot < 0 ) - { - firstScreenshot = i; - } - // But type=default takes precedence. - if ( e.hasAttribute( "type" ) && e.attribute( "type" ) == "default" ) - { - firstScreenshot = i; - break; - } - } - - if ( firstScreenshot >= 0 ) - { - return shotList.at( firstScreenshot ).firstChildElement( "image" ).text(); - } - - return QString(); -} - -/** @brief Returns language of the given element @p e - * - * Transforms the attribute value for xml:lang to something - * suitable for TranslatedString (e.g. [lang]). - */ -static inline QString -getLanguage( const QDomElement& e ) -{ - QString language = e.attribute( "xml:lang" ); - if ( !language.isEmpty() ) - { - language.replace( '-', '_' ); - language.prepend( '[' ); - language.append( ']' ); - } - return language; -} - -/** @brief Scan the list of @p children for @p tagname elements and add them to the map - * - * Uses @p mapname instead of @p tagname for the entries in map @p m - * to allow renaming from XML to map keys (in particular for - * TranslatedString). Also transforms xml:lang attributes to suitable - * key-decorations on @p mapname. - */ -static inline void -fillMap( QVariantMap& m, const QDomNodeList& children, const QString& tagname, const QString& mapname ) -{ - for ( int i = 0; i < children.count(); ++i ) - { - if ( !children.at( i ).isElement() ) - { - continue; - } - - QDomElement e = children.at( i ).toElement(); - if ( e.tagName() != tagname ) - { - continue; - } - - m[ mapname + getLanguage( e ) ] = e.text(); - } -} - -/** @brief gets the and elements -* -* Builds up a map of the elements (which may have a *lang* -* attribute to indicate translations and paragraphs of the -* element (also with lang). Uses the -* elements to supplement the description if no description -* is available for a given language. -* -* Returns a map with keys suitable for use by TranslatedString. -*/ -static inline QVariantMap -getNameAndSummary( const QDomNode& n ) -{ - QVariantMap m; - - const QDomNodeList children = n.childNodes(); - fillMap( m, children, "name", "name" ); - fillMap( m, children, "summary", "description" ); - - const QDomElement description = n.firstChildElement( "description" ); - if ( !description.isNull() ) - { - fillMap( m, description.childNodes(), "p", "description" ); - } - - return m; -} -#endif +#ifndef HAVE_XML PackageItem PackageItem::fromAppData( const QVariantMap& item_map ) { -#ifdef HAVE_XML - QString fileName = CalamaresUtils::getString( item_map, "appdata" ); - if ( fileName.isEmpty() ) - { - cWarning() << "Can't load AppData without a suitable key."; - return PackageItem(); - } - cDebug() << "Loading AppData XML from" << fileName; - - QDomDocument doc = loadAppData( fileName ); - if ( doc.isNull() ) - { - return PackageItem(); - } - - QDomElement componentNode = doc.documentElement(); - if ( !componentNode.isNull() && componentNode.tagName() == "component" ) - { - // An "id" entry in the Calamares config overrides ID in the AppData - QString id = CalamaresUtils::getString( item_map, "id" ); - if ( id.isEmpty() ) - { - id = getChildText( componentNode, "id" ); - } - if ( id.isEmpty() ) - { - return PackageItem(); - } - - // A "screenshot" entry in the Calamares config overrides AppData - QString screenshotPath = CalamaresUtils::getString( item_map, "screenshot" ); - if ( screenshotPath.isEmpty() ) - { - screenshotPath = getScreenshotPath( componentNode ); - } - - QVariantMap map = getNameAndSummary( componentNode ); - map.insert( "id", id ); - map.insert( "screenshot", screenshotPath ); - - return PackageItem( map ); - } - - return PackageItem(); -#else cWarning() << "Loading AppData XML is not supported."; - return PackageItem(); -#endif } +#endif PackageListModel::PackageListModel( QObject* parent ) From eaa0c02f8db46a18d1b7928ff00296d0a24d4417 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 07:10:38 -0400 Subject: [PATCH 257/626] [packagechooser] Initial support for appstream items - Use *appstream* as key in one of the items for the package- chooser to load data from the AppStream cache in the system. - Usable for some applications; for DE-selection not so much. - Currently unimplemented. --- src/modules/packagechooser/CMakeLists.txt | 1 + src/modules/packagechooser/ItemAppStream.cpp | 33 +++++++++++++++++++ .../packagechooser/PackageChooserViewStep.cpp | 4 +++ src/modules/packagechooser/PackageModel.cpp | 9 +++++ src/modules/packagechooser/PackageModel.h | 14 ++++++++ .../packagechooser/packagechooser.conf | 18 +++++++--- 6 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 src/modules/packagechooser/ItemAppStream.cpp diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index e93a5816f..eb84c9bab 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -23,6 +23,7 @@ set_package_properties( if ( AppStreamQt_FOUND ) add_definitions( -DHAVE_APPSTREAM ) list( APPEND _extra_libraries AppStreamQt ) + list( APPEND _extra_src ItemAppStream.cpp ) endif() calamares_add_plugin( packagechooser diff --git a/src/modules/packagechooser/ItemAppStream.cpp b/src/modules/packagechooser/ItemAppStream.cpp new file mode 100644 index 000000000..287e5a139 --- /dev/null +++ b/src/modules/packagechooser/ItemAppStream.cpp @@ -0,0 +1,33 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +/** @brief Loading items from AppData XML files. + * + * Only used if QtXML is found, implements PackageItem::fromAppData(). + */ +#include "PackageModel.h" + +#include "utils/Logger.h" +#include "utils/Variant.h" + +PackageItem +PackageItem::fromAppStream( const QVariantMap& map ) +{ + cWarning() << "AppStream loading not implemented."; + return PackageItem(); +} diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index c2e849d5f..412658394 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -219,6 +219,10 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) { m_model->addPackage( PackageItem::fromAppData( item_map ) ); } + else if ( item_map.contains( "appstream" ) ) + { + m_model->addPackage( PackageItem::fromAppStream( item_map ) ); + } else { m_model->addPackage( PackageItem( item_map ) ); diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index e15559552..bc80109f3 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -98,6 +98,15 @@ PackageItem::fromAppData( const QVariantMap& item_map ) } #endif +#ifndef HAVE_APPSTREAM +PackageItem +PackageItem::fromAppStream( const QVariantMap& item_map ) +{ + cWarning() << "Loading AppStream data is not supported."; + return PackageItem(); +} +#endif + PackageListModel::PackageListModel( QObject* parent ) : QAbstractListModel( parent ) diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 869e124f0..49b4bc0dd 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -93,6 +93,20 @@ struct PackageItem * return invalid PackageItems. */ static PackageItem fromAppData( const QVariantMap& map ); + + /** @brief Loads an item from AppStream data. + * + * The @p map must have a key *appstream*. That is used as the + * primary source of information from the AppStream cache, but + * keys *id* and *screenshotPath* may be used to override parts + * of the AppStream data -- so that the ID is under the control + * of Calamares, and the screenshot can be forced to a local path + * available on the installation medium. + * + * Requires AppStreamQt, if not present will return invalid + * PackageItems. + */ + static PackageItem fromAppStream( const QVariantMap& map ); }; using PackageList = QVector< PackageItem >; diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index e9b2d9329..eebe4dfb4 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -20,14 +20,15 @@ # or one-or-more). mode: required -# Items to display in the chooser. In general, this should be a +# Items to display in the chooser. In general, this should be a # pretty short list to avoid overwhelming the UI. This is a list # of objects, and the items are displayed in list order. # # Either provide the data for an item in the list (using the keys -# below), or use existing AppData XML files as a source for the data. +# below), or use existing AppData XML files, or use AppStream cache +# as a source for the data. # -# For data provided by the list: the item has an id, which is used in +# For data provided by the list: the item has an id, which is used in # setting the value of *packagechooser_*). The following fields # are mandatory: # @@ -60,6 +61,14 @@ mode: required # be loaded and the screenshot will be missing. An item with *appdata* # **may** specify an ID or screenshot path, as above. This will override # the settings from AppData. +# +# For data provided by AppStream cache: the item has an *appstream* +# key which matches the AppStream identifier in the cache (e.g. +# *org.kde.kwrite.desktop*). Data is retrieved from the AppStream +# cache for that ID. The package name is set from the AppStream data. +# +# An item for AppStream may also contain an *id* and a *screenshot* +# key which will override the data from AppStream. items: - id: "" package: "" @@ -81,4 +90,5 @@ items: - id: calamares appdata: ../io.calamares.calamares.appdata.xml screenshot: ":/images/calamares.png" - + - id: kate + appstream: org.kde.kwrite.desktop From fa2f5763c64e486eac428d91fe9683e1571655c7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 07:25:28 -0400 Subject: [PATCH 258/626] [packagechooser] Load AppStream data - Get the id, name, and description from AppStream data Missing: - No translations - No screenshots --- src/modules/packagechooser/ItemAppStream.cpp | 62 ++++++++++++++++++-- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/src/modules/packagechooser/ItemAppStream.cpp b/src/modules/packagechooser/ItemAppStream.cpp index 287e5a139..769973575 100644 --- a/src/modules/packagechooser/ItemAppStream.cpp +++ b/src/modules/packagechooser/ItemAppStream.cpp @@ -25,9 +25,63 @@ #include "utils/Logger.h" #include "utils/Variant.h" -PackageItem -PackageItem::fromAppStream( const QVariantMap& map ) +#include + +static PackageItem +fromComponent( const AppStream::Component& component ) { - cWarning() << "AppStream loading not implemented."; - return PackageItem(); + cDebug() << "Loaded" << component.id(); + + QVariantMap map; + map.insert( "id", component.id() ); + map.insert( "name", component.name() ); + map.insert( "description", component.description() ); + // map.insert( "screenshot", component.screenshots() ); + return PackageItem( map ); +} + +PackageItem +PackageItem::fromAppStream( const QVariantMap& item_map ) +{ + QString appstreamId = CalamaresUtils::getString( item_map, "appstream" ); + if ( appstreamId.isEmpty() ) + { + cWarning() << "Can't load AppStream without a suitable appstreamId."; + return PackageItem(); + } + cDebug() << "Loading AppStream data for" << appstreamId; + + AppStream::Pool pool; + if ( !pool.load() ) + { + cWarning() << "AppStream load failed" << pool.lastError(); + return PackageItem(); + } + + auto itemList = pool.componentsById( appstreamId ); + if ( itemList.count() < 1 ) + { + cWarning() << "No AppStream data for" << appstreamId; + return PackageItem(); + } + if ( itemList.count() > 1 ) + { + cDebug() << "Multiple AppStream data for" << appstreamId << "using first."; + } + + auto r = fromComponent( itemList.first() ); + if ( r.isValid() ) + { + QString id = CalamaresUtils::getString( item_map, "id" ); + QString screenshotPath = CalamaresUtils::getString( item_map, "screenshot" ); + if ( !id.isEmpty() ) + { + r.id = id; + } + if ( !screenshotPath.isEmpty() ) + { + r.screenshot = screenshotPath; + } + } + return r; } From 17abbeda96737b006bd286813fb3b0c103a28d7f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 19 Aug 2019 10:02:43 -0400 Subject: [PATCH 259/626] [packagechooser] Try to load a screenshot - The smallest size image of the default (or, if there is no default, the first) screenshot is used. - Remote URLs are not supported by QPixmap, so most will not load anyway. --- src/modules/packagechooser/ItemAppStream.cpp | 63 ++++++++++++++++++-- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/src/modules/packagechooser/ItemAppStream.cpp b/src/modules/packagechooser/ItemAppStream.cpp index 769973575..392797846 100644 --- a/src/modules/packagechooser/ItemAppStream.cpp +++ b/src/modules/packagechooser/ItemAppStream.cpp @@ -22,21 +22,76 @@ */ #include "PackageModel.h" +#include "locale/LabelModel.h" #include "utils/Logger.h" #include "utils/Variant.h" +#include #include +#include -static PackageItem -fromComponent( const AppStream::Component& component ) +/// @brief Return number of pixels in a size, for < ordering purposes +static inline quint64 +sizeOrder( const QSize& size ) { - cDebug() << "Loaded" << component.id(); + return size.width() * size.height(); +} +/// @brief Sets a screenshot in @p map from @p screenshot, if a usable one is found +static void +setScreenshot( QVariantMap& map, const AppStream::Screenshot& screenshot ) +{ + if ( screenshot.images().count() < 1 ) + { + return; + } + + // Pick the smallest + QUrl url; + quint64 size = sizeOrder( screenshot.images().first().size() ); + for ( const auto& img : screenshot.images() ) + { + if ( sizeOrder( img.size() ) <= size ) + { + url = img.url(); + } + } + + if ( url.isValid() ) + { + map.insert( "screenshot", url.toString() ); + } +} + +/// @brief Interpret an AppStream Component +static PackageItem +fromComponent( AppStream::Component& component ) +{ QVariantMap map; map.insert( "id", component.id() ); map.insert( "name", component.name() ); map.insert( "description", component.description() ); - // map.insert( "screenshot", component.screenshots() ); + map.insert( "package", component.packageNames().join(",") ); + + auto screenshots = component.screenshots(); + if ( screenshots.count() > 0 ) + { + bool done = false; + for ( const auto& s : screenshots ) + { + if ( s.isDefault() ) + { + setScreenshot( map, s ); + done = true; + break; + } + } + if ( !done ) + { + setScreenshot( map, screenshots.first() ); + } + } + return PackageItem( map ); } From 0a92ef7655f6c897ada15c75ad0b2470bdd40ce1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 04:15:35 -0400 Subject: [PATCH 260/626] [packagechooser] Refactor fromApp*() - These don't have to be static methods of PackageItem, a free function is more convenient. - Since it's not API of PackageItem anymore, need to - update tests not to use API - do API-not-available warnings in consumers --- src/modules/packagechooser/ItemAppData.cpp | 2 +- src/modules/packagechooser/ItemAppData.h | 37 ++++++++++++++++++ src/modules/packagechooser/ItemAppStream.cpp | 4 +- src/modules/packagechooser/ItemAppStream.h | 38 +++++++++++++++++++ .../packagechooser/PackageChooserViewStep.cpp | 18 ++++++++- src/modules/packagechooser/PackageModel.cpp | 20 ---------- src/modules/packagechooser/PackageModel.h | 27 ------------- src/modules/packagechooser/Tests.cpp | 12 ++++-- 8 files changed, 102 insertions(+), 56 deletions(-) create mode 100644 src/modules/packagechooser/ItemAppData.h create mode 100644 src/modules/packagechooser/ItemAppStream.h diff --git a/src/modules/packagechooser/ItemAppData.cpp b/src/modules/packagechooser/ItemAppData.cpp index 7c80a1c3d..ed0ba9223 100644 --- a/src/modules/packagechooser/ItemAppData.cpp +++ b/src/modules/packagechooser/ItemAppData.cpp @@ -186,7 +186,7 @@ getNameAndSummary( const QDomNode& n ) } PackageItem -PackageItem::fromAppData( const QVariantMap& item_map ) +fromAppData( const QVariantMap& item_map ) { QString fileName = CalamaresUtils::getString( item_map, "appdata" ); if ( fileName.isEmpty() ) diff --git a/src/modules/packagechooser/ItemAppData.h b/src/modules/packagechooser/ItemAppData.h new file mode 100644 index 000000000..72617ff0c --- /dev/null +++ b/src/modules/packagechooser/ItemAppData.h @@ -0,0 +1,37 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef ITEMAPPDATA_H +#define ITEMAPPDATA_H + +#include "PackageModel.h" + +/** @brief Loads an AppData XML file and returns a PackageItem + * + * The @p map must have a key *appdata*. That is used as the + * primary source of information, but keys *id* and *screenshotPath* + * may be used to override parts of the AppData -- so that the + * ID is under the control of Calamares, and the screenshot can be + * forced to a local path available on the installation medium. + * + * Requires XML support in libcalamares, if not present will + * return invalid PackageItems. + */ +PackageItem fromAppData( const QVariantMap& map ); + +#endif diff --git a/src/modules/packagechooser/ItemAppStream.cpp b/src/modules/packagechooser/ItemAppStream.cpp index 392797846..3ee49f7d0 100644 --- a/src/modules/packagechooser/ItemAppStream.cpp +++ b/src/modules/packagechooser/ItemAppStream.cpp @@ -71,7 +71,7 @@ fromComponent( AppStream::Component& component ) map.insert( "id", component.id() ); map.insert( "name", component.name() ); map.insert( "description", component.description() ); - map.insert( "package", component.packageNames().join(",") ); + map.insert( "package", component.packageNames().join( "," ) ); auto screenshots = component.screenshots(); if ( screenshots.count() > 0 ) @@ -96,7 +96,7 @@ fromComponent( AppStream::Component& component ) } PackageItem -PackageItem::fromAppStream( const QVariantMap& item_map ) +fromAppStream( const QVariantMap& item_map ) { QString appstreamId = CalamaresUtils::getString( item_map, "appstream" ); if ( appstreamId.isEmpty() ) diff --git a/src/modules/packagechooser/ItemAppStream.h b/src/modules/packagechooser/ItemAppStream.h new file mode 100644 index 000000000..7d820400f --- /dev/null +++ b/src/modules/packagechooser/ItemAppStream.h @@ -0,0 +1,38 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef ITEMAPPSTREAM_H +#define ITEMAPPSTREAM_H + +#include "PackageModel.h" + +/** @brief Loads an item from AppStream data. + * + * The @p map must have a key *appstream*. That is used as the + * primary source of information from the AppStream cache, but + * keys *id* and *screenshotPath* may be used to override parts + * of the AppStream data -- so that the ID is under the control + * of Calamares, and the screenshot can be forced to a local path + * available on the installation medium. + * + * Requires AppStreamQt, if not present will return invalid + * PackageItems. + */ +PackageItem fromAppStream( const QVariantMap& map ); + +#endif diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 412658394..bf45c6726 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -18,6 +18,12 @@ #include "PackageChooserViewStep.h" +#ifdef HAVE_XML +#include "ItemAppData.h" +#endif +#ifdef HAVE_APPSTREAM +#include "ItemAppStream.h" +#endif #include "PackageChooserPage.h" #include "PackageModel.h" @@ -217,11 +223,19 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) if ( item_map.contains( "appdata" ) ) { - m_model->addPackage( PackageItem::fromAppData( item_map ) ); +#ifdef HAVE_XML + m_model->addPackage( fromAppData( item_map ) ); +#else + cWarning() << "Loading AppData XML is not supported."; +#endif } else if ( item_map.contains( "appstream" ) ) { - m_model->addPackage( PackageItem::fromAppStream( item_map ) ); +#ifdef HAVE_APPSTREAM + m_model->addPackage( fromAppStream( item_map ) ); +#else + cWarning() << "Loading AppStream data is not supported."; +#endif } else { diff --git a/src/modules/packagechooser/PackageModel.cpp b/src/modules/packagechooser/PackageModel.cpp index bc80109f3..12995fad5 100644 --- a/src/modules/packagechooser/PackageModel.cpp +++ b/src/modules/packagechooser/PackageModel.cpp @@ -88,26 +88,6 @@ PackageItem::PackageItem::PackageItem( const QVariantMap& item_map ) } } - -#ifndef HAVE_XML -PackageItem -PackageItem::fromAppData( const QVariantMap& item_map ) -{ - cWarning() << "Loading AppData XML is not supported."; - return PackageItem(); -} -#endif - -#ifndef HAVE_APPSTREAM -PackageItem -PackageItem::fromAppStream( const QVariantMap& item_map ) -{ - cWarning() << "Loading AppStream data is not supported."; - return PackageItem(); -} -#endif - - PackageListModel::PackageListModel( QObject* parent ) : QAbstractListModel( parent ) { diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 49b4bc0dd..8362bee33 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -80,33 +80,6 @@ struct PackageItem * A valid item has an untranslated name available. */ bool isValid() const { return !name.isEmpty(); } - - /** @brief Loads an AppData XML file and returns a PackageItem - * - * The @p map must have a key *appdata*. That is used as the - * primary source of information, but keys *id* and *screenshotPath* - * may be used to override parts of the AppData -- so that the - * ID is under the control of Calamares, and the screenshot can be - * forced to a local path available on the installation medium. - * - * Requires XML support in libcalamares, if not present will - * return invalid PackageItems. - */ - static PackageItem fromAppData( const QVariantMap& map ); - - /** @brief Loads an item from AppStream data. - * - * The @p map must have a key *appstream*. That is used as the - * primary source of information from the AppStream cache, but - * keys *id* and *screenshotPath* may be used to override parts - * of the AppStream data -- so that the ID is under the control - * of Calamares, and the screenshot can be forced to a local path - * available on the installation medium. - * - * Requires AppStreamQt, if not present will return invalid - * PackageItems. - */ - static PackageItem fromAppStream( const QVariantMap& map ); }; using PackageList = QVector< PackageItem >; diff --git a/src/modules/packagechooser/Tests.cpp b/src/modules/packagechooser/Tests.cpp index 537ecbd3c..639d06d65 100644 --- a/src/modules/packagechooser/Tests.cpp +++ b/src/modules/packagechooser/Tests.cpp @@ -18,6 +18,12 @@ #include "Tests.h" +#ifdef HAVE_XML +#include "ItemAppData.h" +#endif +#ifdef HAVE_APPSTREAM +#include "ItemAppStream.h" +#endif #include "PackageModel.h" #include "utils/Logger.h" @@ -62,8 +68,8 @@ PackageChooserTests::testAppData() QVariantMap m; m.insert( "appdata", appdataName ); - PackageItem p1 = PackageItem::fromAppData( m ); #ifdef HAVE_XML + PackageItem p1 = fromAppData( m ); QVERIFY( p1.isValid() ); QCOMPARE( p1.id, "io.calamares.calamares.desktop" ); QCOMPARE( p1.name.get(), "Calamares" ); @@ -76,12 +82,10 @@ PackageChooserTests::testAppData() m.insert( "id", "calamares" ); m.insert( "screenshot", ":/images/calamares.png" ); - PackageItem p2 = PackageItem::fromAppData( m ); + PackageItem p2 = fromAppData( m ); QVERIFY( p2.isValid() ); QCOMPARE( p2.id, "calamares" ); QCOMPARE( p2.description.get( QLocale( "nl" ) ), "Calamares is een installatieprogramma voor Linux distributies." ); QVERIFY( !p2.screenshot.isNull() ); -#else - QVERIFY( !p1.isValid() ); #endif } From d8af11adeee88b41ff210ed9e06ffcfd890cd219 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 04:38:24 -0400 Subject: [PATCH 261/626] [packagechooser] Build AppStream Pool first - Don't build a Pool for each PackageItem loaded - Do make it load all languages instead of only the current one --- src/modules/packagechooser/ItemAppStream.cpp | 9 +-------- src/modules/packagechooser/ItemAppStream.h | 7 ++++++- .../packagechooser/PackageChooserViewStep.cpp | 18 +++++++++++++++++- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/modules/packagechooser/ItemAppStream.cpp b/src/modules/packagechooser/ItemAppStream.cpp index 3ee49f7d0..fe4af95b4 100644 --- a/src/modules/packagechooser/ItemAppStream.cpp +++ b/src/modules/packagechooser/ItemAppStream.cpp @@ -96,7 +96,7 @@ fromComponent( AppStream::Component& component ) } PackageItem -fromAppStream( const QVariantMap& item_map ) +fromAppStream( AppStream::Pool& pool, const QVariantMap& item_map ) { QString appstreamId = CalamaresUtils::getString( item_map, "appstream" ); if ( appstreamId.isEmpty() ) @@ -106,13 +106,6 @@ fromAppStream( const QVariantMap& item_map ) } cDebug() << "Loading AppStream data for" << appstreamId; - AppStream::Pool pool; - if ( !pool.load() ) - { - cWarning() << "AppStream load failed" << pool.lastError(); - return PackageItem(); - } - auto itemList = pool.componentsById( appstreamId ); if ( itemList.count() < 1 ) { diff --git a/src/modules/packagechooser/ItemAppStream.h b/src/modules/packagechooser/ItemAppStream.h index 7d820400f..c44b84b06 100644 --- a/src/modules/packagechooser/ItemAppStream.h +++ b/src/modules/packagechooser/ItemAppStream.h @@ -21,6 +21,11 @@ #include "PackageModel.h" +namespace AppStream +{ +class Pool; +} + /** @brief Loads an item from AppStream data. * * The @p map must have a key *appstream*. That is used as the @@ -33,6 +38,6 @@ * Requires AppStreamQt, if not present will return invalid * PackageItems. */ -PackageItem fromAppStream( const QVariantMap& map ); +PackageItem fromAppStream( AppStream::Pool& pool, const QVariantMap& map ); #endif diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index bf45c6726..7758986ba 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -23,6 +23,8 @@ #endif #ifdef HAVE_APPSTREAM #include "ItemAppStream.h" +#include +#include #endif #include "PackageChooserPage.h" #include "PackageModel.h" @@ -209,6 +211,11 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) return; } +#ifdef HAVE_APPSTREAM + std::unique_ptr< AppStream::Pool > pool; + bool poolOk = false; +#endif + cDebug() << "Loading PackageChooser model items from config"; int item_index = 0; for ( const auto& item_it : items ) @@ -232,7 +239,16 @@ PackageChooserViewStep::fillModel( const QVariantList& items ) else if ( item_map.contains( "appstream" ) ) { #ifdef HAVE_APPSTREAM - m_model->addPackage( fromAppStream( item_map ) ); + if ( !pool ) + { + pool = std::make_unique< AppStream::Pool >(); + pool->setLocale( QStringLiteral( "ALL" ) ); + poolOk = pool->load(); + } + if ( pool && poolOk ) + { + m_model->addPackage( fromAppStream( *pool, item_map ) ); + } #else cWarning() << "Loading AppStream data is not supported."; #endif From 7b699bfc762353cfd22da93ed3cfe2c09d472a1f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 05:26:26 -0400 Subject: [PATCH 262/626] [libcalamares] Access list of locale Ids - Make it easier to obtain locale-ids (from CALAMARES_TRANSLATION_LANGUAGES) so avoid splitting that string multiple times. --- src/libcalamares/locale/LabelModel.cpp | 3 ++- src/libcalamares/locale/LabelModel.h | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/locale/LabelModel.cpp b/src/libcalamares/locale/LabelModel.cpp index 87fca9d85..bcb8af057 100644 --- a/src/libcalamares/locale/LabelModel.cpp +++ b/src/libcalamares/locale/LabelModel.cpp @@ -29,6 +29,7 @@ namespace Locale LabelModel::LabelModel( const QStringList& locales, QObject* parent ) : QAbstractListModel( parent ) + , m_localeIds( locales ) { Q_ASSERT( locales.count() > 0 ); m_locales.reserve( locales.count() ); @@ -132,7 +133,7 @@ LabelModel::find( const QString& countryCode ) const LabelModel* availableTranslations() { - static LabelModel* model = new LabelModel( QString( CALAMARES_TRANSLATION_LANGUAGES ).split( ';' ) ); + static LabelModel* model = new LabelModel( QStringLiteral( CALAMARES_TRANSLATION_LANGUAGES ).split( ';' ) ); return model; } diff --git a/src/libcalamares/locale/LabelModel.h b/src/libcalamares/locale/LabelModel.h index 5082440d3..03daddbf3 100644 --- a/src/libcalamares/locale/LabelModel.h +++ b/src/libcalamares/locale/LabelModel.h @@ -54,6 +54,9 @@ public: */ const Label& locale( int row ) const; + /// @brief Returns all of the locale Ids (e.g. en_US) put into this model. + const QStringList& localeIds() const { return m_localeIds; } + /** @brief Searches for an item that matches @p predicate * * Returns the row number of the first match, or -1 if there isn't one. @@ -67,6 +70,7 @@ public: private: QVector< Label > m_locales; + QStringList m_localeIds; }; /** @brief Returns a model with all available translations. From ffa899b4977cde0d4525f9dad1f16a41c2572e67 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 05:37:52 -0400 Subject: [PATCH 263/626] [packagechooser] Assemble the translated name and description --- src/modules/packagechooser/ItemAppStream.cpp | 28 ++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/ItemAppStream.cpp b/src/modules/packagechooser/ItemAppStream.cpp index fe4af95b4..83837a9ca 100644 --- a/src/modules/packagechooser/ItemAppStream.cpp +++ b/src/modules/packagechooser/ItemAppStream.cpp @@ -69,10 +69,34 @@ fromComponent( AppStream::Component& component ) { QVariantMap map; map.insert( "id", component.id() ); - map.insert( "name", component.name() ); - map.insert( "description", component.description() ); map.insert( "package", component.packageNames().join( "," ) ); + // Assume that the pool has loaded "ALL" locales, but it might be set + // to any of them; get the en_US locale as "untranslated" and then + // loop over Calamares locales (since there is no way to query for + // available locales in the Component) to see if there's anything else. + component.setActiveLocale( QStringLiteral( "en_US" ) ); + QString en_name = component.name(); + QString en_description = component.description(); + map.insert( "name", en_name ); + map.insert( "description", en_description ); + + for ( const QString& locale : CalamaresUtils::Locale::availableTranslations()->localeIds() ) + { + component.setActiveLocale( locale ); + QString name = component.name(); + if ( name != en_name ) + { + map.insert( QStringLiteral( "name[%1]" ).arg( locale ), name ); + } + QString description = component.description(); + if ( description != en_description ) + { + map.insert( QStringLiteral( "description[%1]" ).arg( locale ), description ); + } + } + + auto screenshots = component.screenshots(); if ( screenshots.count() > 0 ) { From 8c5caf9fd05278b1a0a24424808efb288c4fdc42 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 13:56:23 +0200 Subject: [PATCH 264/626] [packagechooser] Add CMake knobs to enable/disable item choices - AppData and AppStream can be disabled independently of finding their requirements (possibly useful if you want to ignore AppStream even when it's installed in your build environment). - Add a little top-level documentation about WITH_ --- CMakeLists.txt | 3 ++ src/modules/packagechooser/CMakeLists.txt | 43 ++++++++++++++--------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5461aa3c8..321989ac0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,9 @@ # SKIP_MODULES : a space or semicolon-separated list of directory names # under src/modules that should not be built. # USE_ : fills in SKIP_MODULES for modules called - +# WITH_ : try to enable (these usually default to ON). For +# a list of WITH_ grep CMakeCache.txt after running +# CMake once. # BUILD_ : choose additional things to build # DEBUG_ : special developer flags for debugging # diff --git a/src/modules/packagechooser/CMakeLists.txt b/src/modules/packagechooser/CMakeLists.txt index eb84c9bab..eeae655c9 100644 --- a/src/modules/packagechooser/CMakeLists.txt +++ b/src/modules/packagechooser/CMakeLists.txt @@ -5,25 +5,34 @@ set( _extra_src "" ) ### OPTIONAL AppData XML support in PackageModel # # -find_package(Qt5 COMPONENTS Xml) -if ( Qt5Xml_FOUND ) - add_definitions( -DHAVE_XML ) - list( APPEND _extra_libraries Qt5::Xml ) - list( APPEND _extra_src ItemAppData.cpp ) +option( WITH_APPDATA "Support appdata: items in PackageChooser (requires QtXml)" ON ) +if ( WITH_APPDATA ) + find_package(Qt5 COMPONENTS Xml) + if ( Qt5Xml_FOUND ) + add_definitions( -DHAVE_XML ) + list( APPEND _extra_libraries Qt5::Xml ) + list( APPEND _extra_src ItemAppData.cpp ) + endif() endif() -find_package(AppStreamQt) -set_package_properties( - AppStreamQt PROPERTIES - DESCRIPTION "Support for AppStream (cache) data" - URL "https://github.com/ximion/appstream" - PURPOSE "AppStream provides package data" - TYPE OPTIONAL -) -if ( AppStreamQt_FOUND ) - add_definitions( -DHAVE_APPSTREAM ) - list( APPEND _extra_libraries AppStreamQt ) - list( APPEND _extra_src ItemAppStream.cpp ) +### OPTIONAL AppStream support in PackageModel +# +# +option( WITH_APPSTREAM "Support appstream: items in PackageChooser (requires libappstream-qt)" ON ) +if ( WITH_APPSTREAM ) + find_package(AppStreamQt) + set_package_properties( + AppStreamQt PROPERTIES + DESCRIPTION "Support for AppStream (cache) data" + URL "https://github.com/ximion/appstream" + PURPOSE "AppStream provides package data" + TYPE OPTIONAL + ) + if ( AppStreamQt_FOUND ) + add_definitions( -DHAVE_APPSTREAM ) + list( APPEND _extra_libraries AppStreamQt ) + list( APPEND _extra_src ItemAppStream.cpp ) + endif() endif() calamares_add_plugin( packagechooser From 4b35d193b743f83c6d5b6a9f01074a4f7c90e010 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 14:03:52 +0200 Subject: [PATCH 265/626] Changes: mention #1212, AppStream data loading --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index e926da175..66323ff9f 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,9 @@ This release contains contributions from (alphabetically by first name): ## Modules ## +- The *packagechooser* module can load data from the config-file, + from AppData XML files referred by the config-file, and (new) also + from AppStream caches by referring to an application's AppStream id. #1212 - The *partition* module now understands the units *KB*, *MB*, *GB* which are powers-of-ten sizes, alongside the powers-of-two sizes that it already used. (thanks to Arnaud) From d7602df51e8c12112cbc16ceea9ceceb6900af60 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 09:25:37 -0400 Subject: [PATCH 266/626] [libcalamares] Introduce networking service - The networking service is intended to wrap up use of QNetworkAccessManager and others for consumption within Calamares, and to provide some convenience functions for internet access. - Medium term, it may also monitor network access, so that we can respond to changes in network availability during installation. Currently very minimal and undocumented. --- src/libcalamares/CMakeLists.txt | 3 + src/libcalamares/network/Manager.cpp | 93 ++++++++++++++++++++++++++++ src/libcalamares/network/Manager.h | 55 ++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 src/libcalamares/network/Manager.cpp create mode 100644 src/libcalamares/network/Manager.h diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index f2063813c..ac9b2df08 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -36,6 +36,9 @@ set( libSources locale/Lookup.cpp locale/TranslatableConfiguration.cpp + # Network service + network/Manager.cpp + # Partition service partition/PartitionSize.cpp diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp new file mode 100644 index 000000000..c229ab036 --- /dev/null +++ b/src/libcalamares/network/Manager.cpp @@ -0,0 +1,93 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Manager.h" + +#include +#include +#include +#include + +namespace CalamaresUtils +{ +namespace Network +{ +struct Manager::Private +{ + std::unique_ptr< QNetworkAccessManager > m_nam; + QUrl m_hasInternetUrl; + bool m_hasInternet; + + Private(); +}; +} // namespace Network +} // namespace CalamaresUtils +CalamaresUtils::Network::Manager::Private::Private() + : m_nam( std::make_unique< QNetworkAccessManager >() ) + , m_hasInternet( false ) +{ +} + +CalamaresUtils::Network::Manager::Manager() + : d( std::make_unique< Private >() ) +{ +} + +CalamaresUtils::Network::Manager::~Manager() {} + +CalamaresUtils::Network::Manager& +CalamaresUtils::Network::Manager::instance() +{ + static auto* s_manager = new CalamaresUtils::Network::Manager(); + return *s_manager; +} + +bool +CalamaresUtils::Network::Manager::hasInternet() +{ + return d->m_hasInternet; +} + +bool +CalamaresUtils::Network::Manager::checkHasInternet() +{ + bool b = false; + if ( d->m_hasInternetUrl.isValid() ) + { + b = synchronousPing( d->m_hasInternetUrl ); + } + d->m_hasInternet = b; + return b; +} + +void +CalamaresUtils::Network::Manager::setCheckHasInternetUrl( const QUrl& url ) +{ + d->m_hasInternetUrl = url; +} + +bool +CalamaresUtils::Network::Manager::synchronousPing( const QUrl& url ) +{ + QNetworkRequest req = QNetworkRequest( url ); + QNetworkReply* reply = d->m_nam->get( req ); + QEventLoop loop; + connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); + loop.exec(); + return reply->bytesAvailable(); +} diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h new file mode 100644 index 000000000..a9903e115 --- /dev/null +++ b/src/libcalamares/network/Manager.h @@ -0,0 +1,55 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef LIBCALAMARES_NETWORK_MANAGER_H +#define LIBCALAMARES_NETWORK_MANAGER_H + +#include "DllMacro.h" + +#include +#include + +#include + +namespace CalamaresUtils +{ +namespace Network +{ +class DLLEXPORT Manager : QObject +{ + Q_OBJECT + + Manager(); + +public: + static Manager& instance(); + virtual ~Manager(); + + bool synchronousPing( const QUrl& url ); + + void setCheckHasInternetUrl( const QUrl& url ); + bool checkHasInternet(); + bool hasInternet(); + +private: + struct Private; + std::unique_ptr< Private > d; +}; +} // namespace Network +} // namespace CalamaresUtils +#endif // LIBCALAMARES_NETWORK_MANAGER_H From b8d56bb4a63100cfc5fa1d0b7b284be9d6deeebc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 09:51:39 -0400 Subject: [PATCH 267/626] [libcalamares] Add tests for network service --- src/libcalamares/CMakeLists.txt | 10 +++++++ src/libcalamares/network/Tests.cpp | 43 ++++++++++++++++++++++++++++++ src/libcalamares/network/Tests.h | 37 +++++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 src/libcalamares/network/Tests.cpp create mode 100644 src/libcalamares/network/Tests.h diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index ac9b2df08..87338ae6c 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -197,6 +197,16 @@ if ( ECM_FOUND AND BUILD_TESTING ) Qt5::Test ) calamares_automoc( libcalamareslocaletest ) + + ecm_add_test( + network/Tests.cpp + TEST_NAME + libcalamaresnetworktest + LINK_LIBRARIES + calamares + Qt5::Test + ) + calamares_automoc( libcalamaresnetworktest ) endif() if( BUILD_TESTING ) diff --git a/src/libcalamares/network/Tests.cpp b/src/libcalamares/network/Tests.cpp new file mode 100644 index 000000000..a13a74c86 --- /dev/null +++ b/src/libcalamares/network/Tests.cpp @@ -0,0 +1,43 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Tests.h" + +#include "Manager.h" + +#include + +QTEST_GUILESS_MAIN( NetworkTests ) + +NetworkTests::NetworkTests() +{ +} + +NetworkTests::~NetworkTests() +{ +} + +void NetworkTests::initTestCase() +{ +} + +void NetworkTests::testInstance() +{ + auto& nam = CalamaresUtils::Network::Manager::instance(); + QVERIFY( !nam.hasInternet() ); +} diff --git a/src/libcalamares/network/Tests.h b/src/libcalamares/network/Tests.h new file mode 100644 index 000000000..56f87cc67 --- /dev/null +++ b/src/libcalamares/network/Tests.h @@ -0,0 +1,37 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef LIBCALAMARES_NETWORK_TESTS_H +#define LIBCALAMARES_NETWORK_TESTS_H + +#include + +class NetworkTests : public QObject +{ + Q_OBJECT +public: + NetworkTests(); + ~NetworkTests() override; + +private Q_SLOTS: + void initTestCase(); + + void testInstance(); +}; + +#endif From 8d3530154f007793a7e50223512a155ef68395e5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 09:57:04 -0400 Subject: [PATCH 268/626] [libcalamares] Expand network service test - Do an actual ping (also to check for memory leaks) --- src/libcalamares/network/Tests.cpp | 25 +++++++++++++++---------- src/libcalamares/network/Tests.h | 1 + 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/libcalamares/network/Tests.cpp b/src/libcalamares/network/Tests.cpp index a13a74c86..559a955fe 100644 --- a/src/libcalamares/network/Tests.cpp +++ b/src/libcalamares/network/Tests.cpp @@ -24,20 +24,25 @@ QTEST_GUILESS_MAIN( NetworkTests ) -NetworkTests::NetworkTests() +NetworkTests::NetworkTests() {} + +NetworkTests::~NetworkTests() {} + +void +NetworkTests::initTestCase() { } -NetworkTests::~NetworkTests() -{ -} - -void NetworkTests::initTestCase() -{ -} - -void NetworkTests::testInstance() +void +NetworkTests::testInstance() { auto& nam = CalamaresUtils::Network::Manager::instance(); QVERIFY( !nam.hasInternet() ); } + +void +NetworkTests::testPing() +{ + auto& nam = CalamaresUtils::Network::Manager::instance(); + QVERIFY( nam.synchronousPing( QUrl( "https://www.kde.org" ) ) ); +} diff --git a/src/libcalamares/network/Tests.h b/src/libcalamares/network/Tests.h index 56f87cc67..b63f7eff0 100644 --- a/src/libcalamares/network/Tests.h +++ b/src/libcalamares/network/Tests.h @@ -32,6 +32,7 @@ private Q_SLOTS: void initTestCase(); void testInstance(); + void testPing(); }; #endif From 82622373bc8778e5b4f4563723871b35b5d7e1a8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 16:05:22 +0200 Subject: [PATCH 269/626] [libcalamares] Remove superfluous ; (warnings--) --- src/libcalamares/utils/PluginFactory.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 84694a83a..e8236a888 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -58,8 +58,8 @@ public: template < class impl, class ParentType > static QObject* createInstance( QWidget* parentWidget, QObject* parent, const QVariantList& args ) { - Q_UNUSED( parentWidget ); - Q_UNUSED( args ); + Q_UNUSED( parentWidget ) + Q_UNUSED( args ) ParentType* p = nullptr; if ( parent ) { From 11d52df04c64a7af54db5634e78a89bf2f95f3fa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 10:18:49 -0400 Subject: [PATCH 270/626] [libcalamares] Add API docs to network service --- src/libcalamares/network/Manager.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index a9903e115..f357d8d70 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -37,13 +37,36 @@ class DLLEXPORT Manager : QObject Manager(); public: + /** @brief Gets the single Manager instance. + * + * Typical code will use `auto& nam = Manager::instance();` + * to keep the reference. + */ static Manager& instance(); virtual ~Manager(); + /** @brief Checks if the given @p url returns data. + * + * Returns @c true if it does; @c false means no data, typically + * because of an error or no network access. + */ bool synchronousPing( const QUrl& url ); + /// @brief Set the URL which is used for the general "is there internet" check. void setCheckHasInternetUrl( const QUrl& url ); + /** @brief Do an explicit check for internet connectivity. + * + * This **may** do a ping to the configured check URL, but can also + * use other mechanisms. + */ bool checkHasInternet(); + /** @brief Is there internet connectivity? + * + * This returns the result of the last explicit check, or if there + * is other information about the state of the internet connection, + * whatever is known. @c true means you can expect (all) internet + * connectivity to be present. + */ bool hasInternet(); private: From 4389c254df1165bbb524e819db766aeea71d8ea2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 10:22:03 -0400 Subject: [PATCH 271/626] [libcalamares] Rely directly on QNAM's networkAccessible() --- src/libcalamares/network/Manager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index c229ab036..716c93f6a 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -66,8 +66,9 @@ CalamaresUtils::Network::Manager::hasInternet() bool CalamaresUtils::Network::Manager::checkHasInternet() { - bool b = false; - if ( d->m_hasInternetUrl.isValid() ) + bool b = d->m_nam->networkAccessible() == QNetworkAccessManager::Accessible; + + if ( !b && d->m_hasInternetUrl.isValid() ) { b = synchronousPing( d->m_hasInternetUrl ); } From e06500863101b6d3506c5710b81ab35e948fe2f6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Aug 2019 10:57:02 -0400 Subject: [PATCH 272/626] [welcome] Switch to the network service - simplify configuration - use existing ping- and hasInternet() --- .../welcome/checker/GeneralRequirements.cpp | 41 ++++++++----------- .../welcome/checker/GeneralRequirements.h | 1 - 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp index 0e6133d3f..4787fe51d 100644 --- a/src/modules/welcome/checker/GeneralRequirements.cpp +++ b/src/modules/welcome/checker/GeneralRequirements.cpp @@ -25,12 +25,14 @@ #include "partman_devices.h" #include "modulesystem/Requirement.h" +#include "network/Manager.h" #include "widgets/WaitingWidget.h" #include "utils/CalamaresUtilsGui.h" #include "utils/Logger.h" #include "utils/Retranslator.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Units.h" +#include "utils/Variant.h" #include "Settings.h" #include "JobQueue.h" @@ -245,16 +247,16 @@ GeneralRequirements::setConfigurationMap( const QVariantMap& configurationMap ) incompleteConfiguration = true; } - if ( configurationMap.contains( "internetCheckUrl" ) && - configurationMap.value( "internetCheckUrl" ).type() == QVariant::String ) + QUrl checkInternetUrl; + QString checkInternetSetting = CalamaresUtils::getString( configurationMap, "internetCheckUrl" ); + if ( !checkInternetSetting.isEmpty() ) { - m_checkHasInternetUrl = configurationMap.value( "internetCheckUrl" ).toString().trimmed(); - if ( m_checkHasInternetUrl.isEmpty() || - !QUrl( m_checkHasInternetUrl ).isValid() ) + checkInternetUrl = QUrl( checkInternetSetting.trimmed() ); + if ( !checkInternetUrl.isValid() ) { - cWarning() << "GeneralRequirements entry 'internetCheckUrl' is invalid in welcome.conf" << m_checkHasInternetUrl + cWarning() << "GeneralRequirements entry 'internetCheckUrl' is invalid in welcome.conf" << checkInternetSetting << "reverting to default (http://example.com)."; - m_checkHasInternetUrl = "http://example.com"; + checkInternetUrl = QUrl( "http://example.com" ); incompleteConfiguration = true; } } @@ -262,10 +264,13 @@ GeneralRequirements::setConfigurationMap( const QVariantMap& configurationMap ) { cWarning() << "GeneralRequirements entry 'internetCheckUrl' is undefined in welcome.conf," "reverting to default (http://example.com)."; - - m_checkHasInternetUrl = "http://example.com"; + checkInternetUrl = "http://example.com"; incompleteConfiguration = true; } + if ( checkInternetUrl.isValid() ) + { + CalamaresUtils::Network::Manager::instance().setCheckHasInternetUrl( checkInternetUrl ); + } if ( incompleteConfiguration ) { @@ -357,22 +362,8 @@ GeneralRequirements::checkHasPower() bool GeneralRequirements::checkHasInternet() { - // default to true in the QNetworkAccessManager::UnknownAccessibility case - QNetworkAccessManager qnam; - bool hasInternet = qnam.networkAccessible() == QNetworkAccessManager::Accessible; - - if ( !hasInternet && qnam.networkAccessible() == QNetworkAccessManager::UnknownAccessibility ) - { - QNetworkRequest req = QNetworkRequest( QUrl( m_checkHasInternetUrl ) ); - QNetworkReply* reply = qnam.get( req ); - QEventLoop loop; - connect( reply, &QNetworkReply::finished, - &loop, &QEventLoop::quit ); - loop.exec(); - if( reply->bytesAvailable() ) - hasInternet = true; - } - + auto& nam = CalamaresUtils::Network::Manager::instance(); + bool hasInternet = nam.checkHasInternet(); Calamares::JobQueue::instance()->globalStorage()->insert( "hasInternet", hasInternet ); return hasInternet; } diff --git a/src/modules/welcome/checker/GeneralRequirements.h b/src/modules/welcome/checker/GeneralRequirements.h index 1efe118a6..8e5a6cd54 100644 --- a/src/modules/welcome/checker/GeneralRequirements.h +++ b/src/modules/welcome/checker/GeneralRequirements.h @@ -48,7 +48,6 @@ private: qreal m_requiredStorageGiB; qreal m_requiredRamGiB; - QString m_checkHasInternetUrl; }; #endif // REQUIREMENTSCHECKER_H From eae931f2ed21e82abb1461042251a8e9dcd370c6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 21 Aug 2019 03:43:51 -0400 Subject: [PATCH 273/626] [libcalamares] Ping only when accessibility is unknown - Restores exact functionality of previous version (noted by Kevin Kofler) - Short-circuit ping if the URL is bad. --- src/libcalamares/network/Manager.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 716c93f6a..b0c068c6e 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -66,14 +66,14 @@ CalamaresUtils::Network::Manager::hasInternet() bool CalamaresUtils::Network::Manager::checkHasInternet() { - bool b = d->m_nam->networkAccessible() == QNetworkAccessManager::Accessible; + bool hasInternet = d->m_nam->networkAccessible() == QNetworkAccessManager::Accessible; - if ( !b && d->m_hasInternetUrl.isValid() ) + if ( !hasInternet && ( d->m_nam->networkAccessible() == QNetworkAccessManager::UnknownAccessibility ) ) { - b = synchronousPing( d->m_hasInternetUrl ); + hasInternet = synchronousPing( d->m_hasInternetUrl ); } - d->m_hasInternet = b; - return b; + d->m_hasInternet = hasInternet; + return hasInternet; } void @@ -85,6 +85,11 @@ CalamaresUtils::Network::Manager::setCheckHasInternetUrl( const QUrl& url ) bool CalamaresUtils::Network::Manager::synchronousPing( const QUrl& url ) { + if ( !url.isValid() ) + { + return false; + } + QNetworkRequest req = QNetworkRequest( url ); QNetworkReply* reply = d->m_nam->get( req ); QEventLoop loop; From 310a1d76cf6ff00f9120a1ea785587ff89178cd8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 21 Aug 2019 11:56:49 +0200 Subject: [PATCH 274/626] [calamares] Reduce warnings now that getInteger is qint64 --- src/calamares/CalamaresWindow.cpp | 4 ++-- src/libcalamares/utils/CommandList.cpp | 2 +- src/modules/contextualprocess/ContextualProcessJob.cpp | 2 +- src/modules/shellprocess/ShellProcessJob.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index 1638d6392..ac00bafd4 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -48,11 +48,11 @@ windowDimensionToPixels( const Calamares::Branding::WindowDimension& u ) } if ( u.unit() == Calamares::Branding::WindowDimensionUnit::Pixies ) { - return u.value(); + return static_cast< int >( u.value() ); } if ( u.unit() == Calamares::Branding::WindowDimensionUnit::Fonties ) { - return u.value() * CalamaresUtils::defaultFontHeight(); + return static_cast< int >( u.value() * CalamaresUtils::defaultFontHeight() ); } return 0; } diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 85b4cd1e3..1a3075a43 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -36,7 +36,7 @@ static CommandLine get_variant_object( const QVariantMap& m ) { QString command = CalamaresUtils::getString( m, "command" ); - int timeout = CalamaresUtils::getInteger( m, "timeout", -1 ); + qint64 timeout = CalamaresUtils::getInteger( m, "timeout", -1 ); if ( !command.isEmpty() ) { diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp index 1be4950c9..c65261b23 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.cpp +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -152,7 +152,7 @@ void ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) { bool dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); - int timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); + qint64 timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); if ( timeout < 1 ) { timeout = 10; diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index 59d37d34b..ff73e83af 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -69,7 +69,7 @@ void ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) { bool dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); - int timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); + qint64 timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); if ( timeout < 1 ) { timeout = 10; From dbe0ccf2e14bcd75c86ab83de2c7300a27a3b3b1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 21 Aug 2019 11:58:58 +0200 Subject: [PATCH 275/626] [calamares] Apply coding style --- src/calamares/progresstree/ProgressTreeView.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/calamares/progresstree/ProgressTreeView.cpp b/src/calamares/progresstree/ProgressTreeView.cpp index 5c81e3851..d4f652363 100644 --- a/src/calamares/progresstree/ProgressTreeView.cpp +++ b/src/calamares/progresstree/ProgressTreeView.cpp @@ -76,9 +76,10 @@ ProgressTreeView::setModel( QAbstractItemModel* model ) QTreeView::setModel( model ); expandAll(); - connect( Calamares::ViewManager::instance(), - &Calamares::ViewManager::currentStepChanged, - this, - [this]() { viewport()->update(); }, - Qt::UniqueConnection ); + connect( + Calamares::ViewManager::instance(), + &Calamares::ViewManager::currentStepChanged, + this, + [this]() { viewport()->update(); }, + Qt::UniqueConnection ); } From 85f541073558b3e206b742ccc97cfa1e4745cd72 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 21 Aug 2019 12:00:26 +0200 Subject: [PATCH 276/626] [libcalamaresui] Apply coding style --- src/libcalamaresui/Branding.cpp | 120 ++++++++++++---------- src/libcalamaresui/viewpages/ViewStep.cpp | 8 +- 2 files changed, 74 insertions(+), 54 deletions(-) diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 98dbab06c..c0ee71089 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -87,7 +87,7 @@ const QStringList Branding::s_styleEntryStrings = // clang-format on // *INDENT-ON* -const NamedEnumTable& +const NamedEnumTable< Branding::WindowDimensionUnit >& Branding::WindowDimension::suffixes() { using Unit = Branding::WindowDimensionUnit; @@ -110,16 +110,23 @@ Branding::WindowDimension::suffixes() * the @p transform function, which may change strings. */ static void -loadStrings( QMap& map, const YAML::Node& doc, const std::string& key, const std::function< QString(const QString&) >& transform ) +loadStrings( QMap< QString, QString >& map, + const YAML::Node& doc, + const std::string& key, + const std::function< QString( const QString& ) >& transform ) { if ( !doc[ key ].IsMap() ) - throw YAML::Exception( YAML::Mark(), std::string("Branding configuration is not a map: ") + key ); + { + throw YAML::Exception( YAML::Mark(), std::string( "Branding configuration is not a map: " ) + key ); + } const auto& config = CalamaresUtils::yamlMapToVariant( doc[ key ] ).toMap(); map.clear(); for ( auto it = config.constBegin(); it != config.constEnd(); ++it ) + { map.insert( it.key(), transform( it.value().toString() ) ); + } } /** @brief Load the @p map with strings from @p config @@ -129,8 +136,7 @@ loadStrings( QMap& map, const YAML::Node& doc, const std::stri * documentation for details. */ -Branding::Branding( const QString& brandingFilePath, - QObject* parent ) +Branding::Branding( const QString& brandingFilePath, QObject* parent ) : QObject( parent ) , m_descriptorPath( brandingFilePath ) , m_slideshowAPI( 1 ) @@ -141,7 +147,9 @@ Branding::Branding( const QString& brandingFilePath, QDir componentDir( componentDirectory() ); if ( !componentDir.exists() ) + { bail( "Bad component directory path." ); + } QFile file( brandingFilePath ); if ( file.exists() && file.open( QFile::ReadOnly | QFile::Text ) ) @@ -153,8 +161,7 @@ Branding::Branding( const QString& brandingFilePath, YAML::Node doc = YAML::Load( ba.constData() ); Q_ASSERT( doc.IsMap() ); - m_componentName = QString::fromStdString( doc[ "componentName" ] - .as< std::string >() ); + m_componentName = QString::fromStdString( doc[ "componentName" ].as< std::string >() ); if ( m_componentName != componentDir.dirName() ) bail( "The branding component name should match the name of the " "component directory." ); @@ -165,8 +172,7 @@ Branding::Branding( const QString& brandingFilePath, // Copy the os-release information into a QHash for use by KMacroExpander. KOSRelease relInfo; - QHash< QString, QString > relMap{ - std::initializer_list< std::pair< QString, QString > > { + QHash< QString, QString > relMap { std::initializer_list< std::pair< QString, QString > > { { QStringLiteral( "NAME" ), relInfo.name() }, { QStringLiteral( "VERSION" ), relInfo.version() }, { QStringLiteral( "ID" ), relInfo.id() }, @@ -182,9 +188,10 @@ Branding::Branding( const QString& brandingFilePath, { QStringLiteral( "BUILD_ID" ), relInfo.buildId() }, { QStringLiteral( "VARIANT" ), relInfo.variant() }, { QStringLiteral( "VARIANT_ID" ), relInfo.variantId() }, - { QStringLiteral( "LOGO" ), relInfo.logo() } - } }; - auto expand = [&]( const QString& s ) -> QString { return KMacroExpander::expandMacros( s, relMap, QLatin1Char( '@' ) ); }; + { QStringLiteral( "LOGO" ), relInfo.logo() } } }; + auto expand = [&]( const QString& s ) -> QString { + return KMacroExpander::expandMacros( s, relMap, QLatin1Char( '@' ) ); + }; #else auto expand = []( const QString& s ) -> QString { return s; }; #endif @@ -192,26 +199,23 @@ Branding::Branding( const QString& brandingFilePath, // Massage the strings, images and style sections. loadStrings( m_strings, doc, "strings", expand ); - loadStrings( m_images, doc, "images", - [&]( const QString& s ) -> QString + loadStrings( m_images, doc, "images", [&]( const QString& s ) -> QString { + // See also image() + const QString imageName( expand( s ) ); + QFileInfo imageFi( componentDir.absoluteFilePath( imageName ) ); + if ( !imageFi.exists() ) { - // See also image() - const QString imageName( expand( s ) ); - QFileInfo imageFi( componentDir.absoluteFilePath( imageName ) ); - if ( !imageFi.exists() ) + const auto icon = QIcon::fromTheme( imageName ); + // Not found, bail out with the filename used + if ( icon.isNull() ) { - const auto icon = QIcon::fromTheme( imageName ); - // Not found, bail out with the filename used - if ( icon.isNull() ) - bail( QString( "Image file %1 does not exist." ).arg( imageFi.absoluteFilePath() ) ); - return imageName; // Not turned into a path + bail( QString( "Image file %1 does not exist." ).arg( imageFi.absoluteFilePath() ) ); } - return imageFi.absoluteFilePath(); + return imageName; // Not turned into a path } - ); - loadStrings( m_style, doc, "style", - []( const QString& s ) -> QString { return s; } - ); + return imageFi.absoluteFilePath(); + } ); + loadStrings( m_style, doc, "style", []( const QString& s ) -> QString { return s; } ); if ( doc[ "slideshow" ].IsSequence() ) { @@ -222,8 +226,7 @@ Branding::Branding( const QString& brandingFilePath, QString pathString = slideShowPictures[ i ]; QFileInfo imageFi( componentDir.absoluteFilePath( pathString ) ); if ( !imageFi.exists() ) - bail( QString( "Slideshow file %1 does not exist." ) - .arg( imageFi.absoluteFilePath() ) ); + bail( QString( "Slideshow file %1 does not exist." ).arg( imageFi.absoluteFilePath() ) ); slideShowPictures[ i ] = imageFi.absoluteFilePath(); } @@ -232,19 +235,19 @@ Branding::Branding( const QString& brandingFilePath, } else if ( doc[ "slideshow" ].IsScalar() ) { - QString slideshowPath = QString::fromStdString( doc[ "slideshow" ] - .as< std::string >() ); + QString slideshowPath = QString::fromStdString( doc[ "slideshow" ].as< std::string >() ); QFileInfo slideshowFi( componentDir.absoluteFilePath( slideshowPath ) ); - if ( !slideshowFi.exists() || - !slideshowFi.fileName().toLower().endsWith( ".qml" ) ) + if ( !slideshowFi.exists() || !slideshowFi.fileName().toLower().endsWith( ".qml" ) ) bail( QString( "Slideshow file %1 does not exist or is not a valid QML file." ) - .arg( slideshowFi.absoluteFilePath() ) ); + .arg( slideshowFi.absoluteFilePath() ) ); m_slideshowPath = slideshowFi.absoluteFilePath(); } else + { bail( "Syntax error in slideshow sequence." ); + } - int api = doc[ "slideshowAPI" ].IsScalar() ? doc[ "slideshowAPI" ].as() : -1; + int api = doc[ "slideshowAPI" ].IsScalar() ? doc[ "slideshowAPI" ].as< int >() : -1; if ( ( api < 1 ) || ( api > 2 ) ) { cWarning() << "Invalid or missing *slideshowAPI* in branding file."; @@ -260,11 +263,11 @@ Branding::Branding( const QString& brandingFilePath, QDir translationsDir( componentDir.filePath( "lang" ) ); if ( !translationsDir.exists() ) + { cWarning() << "the branding component" << componentDir.absolutePath() << "does not ship translations."; + } m_translationsPathPrefix = translationsDir.absolutePath(); - m_translationsPathPrefix.append( QString( "%1calamares-%2" ) - .arg( QDir::separator() ) - .arg( m_componentName ) ); + m_translationsPathPrefix.append( QString( "%1calamares-%2" ).arg( QDir::separator() ).arg( m_componentName ) ); } else { @@ -286,7 +289,7 @@ Branding::Branding( const QString& brandingFilePath, QString Branding::componentDirectory() const { - QFileInfo fi ( m_descriptorPath ); + QFileInfo fi( m_descriptorPath ); return fi.absoluteDir().absolutePath(); } @@ -325,7 +328,7 @@ Branding::image( Branding::ImageEntry imageEntry, const QSize& size ) const } else { - auto icon = QIcon::fromTheme(path); + auto icon = QIcon::fromTheme( path ); Q_ASSERT( !icon.isNull() ); return icon.pixmap( size ); @@ -333,7 +336,7 @@ Branding::image( Branding::ImageEntry imageEntry, const QSize& size ) const } QPixmap -Branding::image(const QString& imageName, const QSize& size) const +Branding::image( const QString& imageName, const QSize& size ) const { QDir componentDir( componentDirectory() ); QFileInfo imageFi( componentDir.absoluteFilePath( imageName ) ); @@ -342,7 +345,9 @@ Branding::image(const QString& imageName, const QSize& size) const const auto icon = QIcon::fromTheme( imageName ); // Not found, bail out with the filename used if ( icon.isNull() ) + { return QPixmap(); + } return icon.pixmap( size ); } return ImageRegistry::instance()->pixmap( imageFi.absoluteFilePath(), size ); @@ -360,7 +365,9 @@ Branding::stylesheet() const return stylesheetFile.readAll(); } else + { cWarning() << "The branding component" << fi.absoluteDir().absolutePath() << "does not ship stylesheet.qss."; + } return QString(); } @@ -369,7 +376,9 @@ Branding::setGlobals( GlobalStorage* globalStorage ) const { QVariantMap brandingMap; for ( const QString& key : s_stringEntryStrings ) + { brandingMap.insert( key, m_strings.value( key ) ); + } globalStorage->insert( "branding", brandingMap ); } @@ -384,15 +393,17 @@ Branding::WindowDimension::isValid() const static inline QString getString( const YAML::Node& doc, const char* key ) { - if ( doc[key] ) - return QString::fromStdString( doc[key].as< std::string >() ); + if ( doc[ key ] ) + { + return QString::fromStdString( doc[ key ].as< std::string >() ); + } return QString(); } void Branding::initSimpleSettings( const YAML::Node& doc ) { - static const NamedEnumTable< WindowExpansion > expansionNames{ + static const NamedEnumTable< WindowExpansion > expansionNames { { QStringLiteral( "normal" ), WindowExpansion::Normal }, { QStringLiteral( "fullscreen" ), WindowExpansion::Fullscreen }, { QStringLiteral( "noexpand" ), WindowExpansion::Fixed } @@ -403,7 +414,10 @@ Branding::initSimpleSettings( const YAML::Node& doc ) m_welcomeExpandingLogo = doc[ "welcomeExpandingLogo" ].as< bool >( true ); m_windowExpansion = expansionNames.find( getString( doc, "windowExpanding" ), ok ); if ( !ok ) - cWarning() << "Branding module-setting *windowExpanding* interpreted as" << expansionNames.find( m_windowExpansion, ok ); + { + cWarning() << "Branding module-setting *windowExpanding* interpreted as" + << expansionNames.find( m_windowExpansion, ok ); + } QString windowSize = getString( doc, "windowSize" ); if ( !windowSize.isEmpty() ) @@ -411,24 +425,26 @@ Branding::initSimpleSettings( const YAML::Node& doc ) auto l = windowSize.split( ',' ); if ( l.count() == 2 ) { - m_windowWidth = WindowDimension( l[0] ); - m_windowHeight = WindowDimension( l[1] ); + m_windowWidth = WindowDimension( l[ 0 ] ); + m_windowHeight = WindowDimension( l[ 1 ] ); } } if ( !m_windowWidth.isValid() ) + { m_windowWidth = WindowDimension( CalamaresUtils::windowPreferredWidth, WindowDimensionUnit::Pixies ); + } if ( !m_windowHeight.isValid() ) + { m_windowHeight = WindowDimension( CalamaresUtils::windowPreferredHeight, WindowDimensionUnit::Pixies ); + } } [[noreturn]] void Branding::bail( const QString& message ) { - cError() << "FATAL in" - << m_descriptorPath - << "\n" + message; + cError() << "FATAL in" << m_descriptorPath << "\n" + message; ::exit( EXIT_FAILURE ); } -} +} // namespace Calamares diff --git a/src/libcalamaresui/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp index af1e347eb..7fe7ff88d 100644 --- a/src/libcalamaresui/viewpages/ViewStep.cpp +++ b/src/libcalamaresui/viewpages/ViewStep.cpp @@ -73,10 +73,14 @@ ViewStep::setModuleInstanceKey( const QString& instanceKey ) void -ViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { Q_UNUSED( configurationMap ) } +ViewStep::setConfigurationMap( const QVariantMap& configurationMap ) +{ + Q_UNUSED( configurationMap ) +} -RequirementsList ViewStep::checkRequirements() +RequirementsList +ViewStep::checkRequirements() { return RequirementsList(); } From 9aae9b2f02ba92d94864b1162c294085994ae52b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 22 Aug 2019 10:26:15 +0200 Subject: [PATCH 277/626] [libcalamares] Restore Q_DELCARE_INTERFACE - This **may** be the cause of build failures on aarch64. --- src/libcalamares/utils/PluginFactory.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index e8236a888..d60e84b6f 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -102,6 +102,6 @@ public: K_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY( name, CalamaresPluginFactory, pluginRegistrations ) -// Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) +Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) #endif From 0b2855d6e092822b13d3821b91f017cc5879ee20 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 22 Aug 2019 10:29:39 +0200 Subject: [PATCH 278/626] [libcalamares] Fix build (bad class name) --- src/libcalamares/utils/PluginFactory.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index d60e84b6f..57ef44fb7 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -102,6 +102,6 @@ public: K_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY( name, CalamaresPluginFactory, pluginRegistrations ) -Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) +Q_DECLARE_INTERFACE( CalamaresPluginFactory, CalamaresPluginFactory_iid ) #endif From 8ea1ea666237de767eddd09bc5596b719589d733 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 22 Aug 2019 16:03:21 +0200 Subject: [PATCH 279/626] [libcalamares] Add synchronousGet() to network service - Synchronous download of a given URL; not something to do from the GUI thread. - Use it from the GeoIP service, which downloads in a separate thread to do GeoIP lookups. - Drop now-unused headers. - Adjust tests for GeoIP to use network service --- src/libcalamares/geoip/GeoIPTests.cpp | 26 +++----------------------- src/libcalamares/geoip/Handler.cpp | 25 +++---------------------- src/libcalamares/network/Manager.cpp | 18 ++++++++++++++++++ src/libcalamares/network/Manager.h | 8 ++++++++ 4 files changed, 32 insertions(+), 45 deletions(-) diff --git a/src/libcalamares/geoip/GeoIPTests.cpp b/src/libcalamares/geoip/GeoIPTests.cpp index c24b6d98f..3400bb24f 100644 --- a/src/libcalamares/geoip/GeoIPTests.cpp +++ b/src/libcalamares/geoip/GeoIPTests.cpp @@ -24,9 +24,7 @@ #endif #include "Handler.h" -#include -#include -#include +#include "network/Manager.h" #include @@ -197,27 +195,9 @@ GeoIPTests::testSplitTZ() } -static QByteArray -synchronous_get( const char* urlstring ) -{ - QUrl url( urlstring ); - QNetworkAccessManager manager; - QEventLoop loop; - - qDebug() << "Fetching" << url; - - QObject::connect( &manager, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit ); - - QNetworkRequest request( url ); - QNetworkReply* reply = manager.get( request ); - loop.exec(); - reply->deleteLater(); - return reply->readAll(); -} - #define CHECK_GET( t, selector, url ) \ { \ - auto tz = GeoIP##t( selector ).processReply( synchronous_get( url ) ); \ + auto tz = GeoIP##t( selector ).processReply( CalamaresUtils::Network::Manager::instance().synchronousGet( QUrl( url ) ) ); \ qDebug() << tz; \ QCOMPARE( default_tz, tz ); \ auto tz2 = CalamaresUtils::GeoIP::Handler( "" #t, url, selector ).get(); \ @@ -236,7 +216,7 @@ GeoIPTests::testGet() GeoIPJSON default_handler; // Call the KDE service the definitive source. - auto default_tz = default_handler.processReply( synchronous_get( "https://geoip.kde.org/v1/calamares" ) ); + auto default_tz = default_handler.processReply( CalamaresUtils::Network::Manager::instance().synchronousGet( QUrl( "https://geoip.kde.org/v1/calamares" ) ) ); // This is bogus, because the test isn't always run by me // QCOMPARE( default_tz.first, QStringLiteral("Europe") ); diff --git a/src/libcalamares/geoip/Handler.cpp b/src/libcalamares/geoip/Handler.cpp index 6017c404f..99e55e926 100644 --- a/src/libcalamares/geoip/Handler.cpp +++ b/src/libcalamares/geoip/Handler.cpp @@ -23,14 +23,11 @@ #include "GeoIPXML.h" #endif +#include "network/Manager.h" #include "utils/Logger.h" #include "utils/NamedEnum.h" #include "utils/Variant.h" -#include -#include -#include - #include static const NamedEnumTable< CalamaresUtils::GeoIP::Handler::Type >& @@ -87,22 +84,6 @@ Handler::Handler( const QString& implementation, const QString& url, const QStri Handler::~Handler() {} -static QByteArray -synchronous_get( const QString& urlstring ) -{ - QUrl url( urlstring ); - QNetworkAccessManager manager; - QEventLoop loop; - - QObject::connect( &manager, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit ); - - QNetworkRequest request( url ); - QNetworkReply* reply = manager.get( request ); - loop.exec(); - reply->deleteLater(); - return reply->readAll(); -} - static std::unique_ptr< Interface > create_interface( Handler::Type t, const QString& selector ) { @@ -131,7 +112,7 @@ do_query( Handler::Type type, const QString& url, const QString& selector ) return RegionZonePair(); } - return interface->processReply( synchronous_get( url ) ); + return interface->processReply( CalamaresUtils::Network::Manager::instance().synchronousGet( url ) ); } static QString @@ -143,7 +124,7 @@ do_raw_query( Handler::Type type, const QString& url, const QString& selector ) return QString(); } - return interface->rawReply( synchronous_get( url ) ); + return interface->rawReply( CalamaresUtils::Network::Manager::instance().synchronousGet( url ) ); } RegionZonePair diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index b0c068c6e..c98863835 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -95,5 +95,23 @@ CalamaresUtils::Network::Manager::synchronousPing( const QUrl& url ) QEventLoop loop; connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); loop.exec(); + reply->deleteLater(); return reply->bytesAvailable(); } + +QByteArray +CalamaresUtils::Network::Manager::synchronousGet( const QUrl& url ) +{ + if ( !url.isValid() ) + { + return QByteArray(); + } + + QNetworkRequest request( url ); + QNetworkReply* reply = d->m_nam->get( request ); + QEventLoop loop; + connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); + loop.exec(); + reply->deleteLater(); + return reply->readAll(); +} diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index f357d8d70..1c965d27e 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -21,6 +21,7 @@ #include "DllMacro.h" +#include #include #include @@ -52,6 +53,13 @@ public: */ bool synchronousPing( const QUrl& url ); + /** @brief Downloads the data from a given @p url + * + * Returns the data as a QByteArray, or an empty + * array if any error occurred. + */ + QByteArray synchronousGet( const QUrl& url ); + /// @brief Set the URL which is used for the general "is there internet" check. void setCheckHasInternetUrl( const QUrl& url ); /** @brief Do an explicit check for internet connectivity. From b8bad1c0b4b25c20b4254e4d292ec1c6639d5acf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 22 Aug 2019 16:16:29 +0200 Subject: [PATCH 280/626] [welcome] Drop unused includes --- src/modules/welcome/checker/GeneralRequirements.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp index 4787fe51d..1881558b8 100644 --- a/src/modules/welcome/checker/GeneralRequirements.cpp +++ b/src/modules/welcome/checker/GeneralRequirements.cpp @@ -44,13 +44,9 @@ #include #include #include -#include #include #include #include -#include -#include -#include #include #include From b66f3434af597c990feb4370ce1b488156a501bc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 03:09:53 -0400 Subject: [PATCH 281/626] [displaymanager] Consistent Copyright notices --- src/modules/displaymanager/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 639edbea7..0b644dd4b 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -3,13 +3,13 @@ # # === This file is part of Calamares - === # -# Copyright 2019 Dominic Hayes # Copyright 2014-2018, Philip Müller # Copyright 2014-2015, Teo Mrnjavac # Copyright 2014, Kevin Kofler # Copyright 2017, Alf Gaida # Copyright 2017, Bernhard Landauer # Copyright 2017, Adriaan de Groot +# Copyright 2019, Dominic Hayes # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by From 333a1f6e840c43324665027b5dd91cba038a3760 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 03:12:48 -0400 Subject: [PATCH 282/626] [displaymanager] Non-existent DMs don't exist - Returning True for a non-existent DM is weird - Avoid suggestive parenthesis in return type --- src/modules/displaymanager/main.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 0b644dd4b..9cb7b088e 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -8,7 +8,7 @@ # Copyright 2014, Kevin Kofler # Copyright 2017, Alf Gaida # Copyright 2017, Bernhard Landauer -# Copyright 2017, Adriaan de Groot +# Copyright 2017, 2019, Adriaan de Groot # Copyright 2019, Dominic Hayes # # Calamares is free software: you can redistribute it and/or modify @@ -117,14 +117,11 @@ class DisplayManager(metaclass=abc.ABCMeta): in the target system. """ if self.executable is None: - return True + return False bin_path = "{!s}/usr/bin/{!s}".format(self.root_mount_point, self.executable) sbin_path = "{!s}/usr/sbin/{!s}".format(self.root_mount_point, self.executable) - return ( - os.path.exists(bin_path) - or os.path.exists(sbin_path) - ) + return os.path.exists(bin_path) or os.path.exists(sbin_path) # The four abstract methods below are called in the order listed here. # They must all be implemented by subclasses, but not all of them From 1c61181624893a6d1e2d1d876281c7319d4372a2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 03:25:41 -0400 Subject: [PATCH 283/626] [displaymanager] Handle variations in GDM executable name - Debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934504 - Instead of hard-coding one or the other, search for gdm and gdm3 --- src/modules/displaymanager/main.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 9cb7b088e..1fcafb58b 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -249,6 +249,21 @@ class DMgdm(DisplayManager): name = "gdm" executable = "gdm" + def have_dm(self): + """ + GDM exists with different executable names, so search + for one of them and use it. + """ + for executable in ( "gdm", "gdm3" ): + bin_path = "{!s}/usr/bin/{!s}".format(self.root_mount_point, executable) + sbin_path = "{!s}/usr/sbin/{!s}".format(self.root_mount_point, executable) + if os.path.exists(bin_path) or os.path.exists(sbin_path): + # Keep the found-executable name around for later + self.executable = executable + return True + + return False + def set_autologin(self, username, do_autologin, default_desktop_environment): # Systems with GDM as Desktop Manager gdm_conf_path = os.path.join(self.root_mount_point, "etc/gdm/custom.conf") From 383bd97a9cfde98f3a0a0bac30197b00064b8987 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 03:40:10 -0400 Subject: [PATCH 284/626] [displaymanager] Handle variations in config file - GDM3 uses a different config file than previous GDM --- src/modules/displaymanager/main.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 1fcafb58b..f85a8aecc 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -248,25 +248,33 @@ class DMmdm(DisplayManager): class DMgdm(DisplayManager): name = "gdm" executable = "gdm" + config = None # Set by have_dm() def have_dm(self): """ GDM exists with different executable names, so search for one of them and use it. """ - for executable in ( "gdm", "gdm3" ): + for executable, config in ( + ( "gdm", "etc/gdm/custom.conf" ), + ( "gdm3", "etc/gdm3/daemon.conf" ) + ): bin_path = "{!s}/usr/bin/{!s}".format(self.root_mount_point, executable) sbin_path = "{!s}/usr/sbin/{!s}".format(self.root_mount_point, executable) if os.path.exists(bin_path) or os.path.exists(sbin_path): # Keep the found-executable name around for later self.executable = executable + self.config = config return True return False def set_autologin(self, username, do_autologin, default_desktop_environment): + if self.config is None: + raise ValueError( "No config file for GDM has been set." ) + # Systems with GDM as Desktop Manager - gdm_conf_path = os.path.join(self.root_mount_point, "etc/gdm/custom.conf") + gdm_conf_path = os.path.join(self.root_mount_point, self.config) if os.path.exists(gdm_conf_path): with open(gdm_conf_path, 'r') as gdm_conf: From af1aa701bc2c22b79049c8ba44dfc4b417c2cbf5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 12:09:30 +0200 Subject: [PATCH 285/626] [libcalamares] Shuffle namespace lines around - put all the definitions inside namespace {} to avoid needlessly long source lines. --- src/libcalamares/network/Manager.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index c98863835..66721c812 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -35,36 +35,35 @@ struct Manager::Private Private(); }; -} // namespace Network -} // namespace CalamaresUtils -CalamaresUtils::Network::Manager::Private::Private() + +Manager::Private::Private() : m_nam( std::make_unique< QNetworkAccessManager >() ) , m_hasInternet( false ) { } -CalamaresUtils::Network::Manager::Manager() +Manager::Manager() : d( std::make_unique< Private >() ) { } -CalamaresUtils::Network::Manager::~Manager() {} +Manager::~Manager() {} -CalamaresUtils::Network::Manager& -CalamaresUtils::Network::Manager::instance() +Manager& +Manager::instance() { - static auto* s_manager = new CalamaresUtils::Network::Manager(); + static auto* s_manager = new Manager(); return *s_manager; } bool -CalamaresUtils::Network::Manager::hasInternet() +Manager::hasInternet() { return d->m_hasInternet; } bool -CalamaresUtils::Network::Manager::checkHasInternet() +Manager::checkHasInternet() { bool hasInternet = d->m_nam->networkAccessible() == QNetworkAccessManager::Accessible; @@ -77,13 +76,13 @@ CalamaresUtils::Network::Manager::checkHasInternet() } void -CalamaresUtils::Network::Manager::setCheckHasInternetUrl( const QUrl& url ) +Manager::setCheckHasInternetUrl( const QUrl& url ) { d->m_hasInternetUrl = url; } bool -CalamaresUtils::Network::Manager::synchronousPing( const QUrl& url ) +Manager::synchronousPing( const QUrl& url ) { if ( !url.isValid() ) { @@ -100,7 +99,7 @@ CalamaresUtils::Network::Manager::synchronousPing( const QUrl& url ) } QByteArray -CalamaresUtils::Network::Manager::synchronousGet( const QUrl& url ) +Manager::synchronousGet( const QUrl& url ) { if ( !url.isValid() ) { @@ -115,3 +114,6 @@ CalamaresUtils::Network::Manager::synchronousGet( const QUrl& url ) reply->deleteLater(); return reply->readAll(); } + +} // namespace Network +} // namespace CalamaresUtils From 1f2b3b734d683e1ed2f89bc575179703dae0eec0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 12:18:59 +0200 Subject: [PATCH 286/626] [libcalamares] Extend synchronous API with options --- src/libcalamares/network/Manager.cpp | 27 +++++++++++++++++--- src/libcalamares/network/Manager.h | 38 ++++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 66721c812..857a93b69 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -27,6 +27,23 @@ namespace CalamaresUtils { namespace Network { +void +RequestOptions::applyToRequest( QNetworkRequest* request ) const +{ + if ( m_flags & Flag::FollowRedirect ) + { + // Follows all redirects except unsafe ones (https to http). + request->setAttribute( QNetworkRequest::FollowRedirectsAttribute, true ); + } + + if ( m_flags & Flag::FakeUserAgent ) + { + // Not everybody likes the default User Agent used by this class (looking at you, + // sourceforge.net), so let's set a more descriptive one. + request->setRawHeader( "User-Agent", "Mozilla/5.0 (compatible; Calamares)" ); + } +} + struct Manager::Private { std::unique_ptr< QNetworkAccessManager > m_nam; @@ -82,16 +99,17 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) } bool -Manager::synchronousPing( const QUrl& url ) +Manager::synchronousPing( const QUrl& url, const RequestOptions& options ) { if ( !url.isValid() ) { return false; } - QNetworkRequest req = QNetworkRequest( url ); - QNetworkReply* reply = d->m_nam->get( req ); + QNetworkRequest request = QNetworkRequest( url ); + QNetworkReply* reply = d->m_nam->get( request ); QEventLoop loop; + options.applyToRequest( &request ); connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); loop.exec(); reply->deleteLater(); @@ -99,7 +117,7 @@ Manager::synchronousPing( const QUrl& url ) } QByteArray -Manager::synchronousGet( const QUrl& url ) +Manager::synchronousGet( const QUrl& url, const RequestOptions& options ) { if ( !url.isValid() ) { @@ -109,6 +127,7 @@ Manager::synchronousGet( const QUrl& url ) QNetworkRequest request( url ); QNetworkReply* reply = d->m_nam->get( request ); QEventLoop loop; + options.applyToRequest( &request ); connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); loop.exec(); reply->deleteLater(); diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index 1c965d27e..7f12925ef 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -25,12 +25,46 @@ #include #include +#include #include +class QNetworkRequest; + namespace CalamaresUtils { namespace Network { +class DLLEXPORT RequestOptions +{ +public: + enum Flag + { + FollowRedirect = 0x1, + FakeUserAgent = 0x100 + }; + Q_DECLARE_FLAGS( Flags, Flag ) + + RequestOptions() + : m_flags( 0 ) + , m_timeout( -1 ) + { + } + + RequestOptions( Flags f, std::chrono::milliseconds timeout = std::chrono::milliseconds( -1 ) ) + : m_flags( f ) + , m_timeout( timeout ) + { + } + + void applyToRequest( QNetworkRequest* ) const; + +private: + Flags m_flags; + std::chrono::milliseconds m_timeout; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS( RequestOptions::Flags ); + class DLLEXPORT Manager : QObject { Q_OBJECT @@ -51,14 +85,14 @@ public: * Returns @c true if it does; @c false means no data, typically * because of an error or no network access. */ - bool synchronousPing( const QUrl& url ); + bool synchronousPing( const QUrl& url, const RequestOptions& options = RequestOptions() ); /** @brief Downloads the data from a given @p url * * Returns the data as a QByteArray, or an empty * array if any error occurred. */ - QByteArray synchronousGet( const QUrl& url ); + QByteArray synchronousGet( const QUrl& url, const RequestOptions& options = RequestOptions() ); /// @brief Set the URL which is used for the general "is there internet" check. void setCheckHasInternetUrl( const QUrl& url ); From 85f0d386980b5aec0539a442cde608adfbc68107 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 14:59:35 +0200 Subject: [PATCH 287/626] [libcalamares] Refactor synchronous get - Add timeout support - Refactor into a static helper method --- src/libcalamares/network/Manager.cpp | 39 ++++++++++++++++++---------- src/libcalamares/network/Manager.h | 9 +++++-- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 857a93b69..d5e27e611 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -22,6 +22,7 @@ #include #include #include +#include namespace CalamaresUtils { @@ -98,6 +99,28 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) d->m_hasInternetUrl = url; } +static QNetworkReply* +synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) +{ + QNetworkRequest request = QNetworkRequest( url ); + QNetworkReply* reply = nam->get( request ); + QEventLoop loop; + QTimer timer; + + options.applyToRequest( &request ); + if ( options.hasTimeout() ) + { + timer.setSingleShot( true ); + QObject::connect( &timer, &QTimer::timeout, &loop, &QEventLoop::quit ); + timer.start( options.timeout() ); + } + + QObject::connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); + loop.exec(); + reply->deleteLater(); + return reply; +} + bool Manager::synchronousPing( const QUrl& url, const RequestOptions& options ) { @@ -106,13 +129,7 @@ Manager::synchronousPing( const QUrl& url, const RequestOptions& options ) return false; } - QNetworkRequest request = QNetworkRequest( url ); - QNetworkReply* reply = d->m_nam->get( request ); - QEventLoop loop; - options.applyToRequest( &request ); - connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); - loop.exec(); - reply->deleteLater(); + auto reply = synchronousRun( d->m_nam, url, options ); return reply->bytesAvailable(); } @@ -124,13 +141,7 @@ Manager::synchronousGet( const QUrl& url, const RequestOptions& options ) return QByteArray(); } - QNetworkRequest request( url ); - QNetworkReply* reply = d->m_nam->get( request ); - QEventLoop loop; - options.applyToRequest( &request ); - connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); - loop.exec(); - reply->deleteLater(); + auto reply = synchronousRun( d->m_nam, url, options ); return reply->readAll(); } diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index 7f12925ef..fef75ffb8 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -37,6 +37,8 @@ namespace Network class DLLEXPORT RequestOptions { public: + using milliseconds = std::chrono::milliseconds; + enum Flag { FollowRedirect = 0x1, @@ -50,7 +52,7 @@ public: { } - RequestOptions( Flags f, std::chrono::milliseconds timeout = std::chrono::milliseconds( -1 ) ) + RequestOptions( Flags f, milliseconds timeout = milliseconds( -1 ) ) : m_flags( f ) , m_timeout( timeout ) { @@ -58,9 +60,12 @@ public: void applyToRequest( QNetworkRequest* ) const; + bool hasTimeout() const { return m_timeout > milliseconds( 0 ); } + auto timeout() const { return m_timeout; } + private: Flags m_flags; - std::chrono::milliseconds m_timeout; + milliseconds m_timeout; }; Q_DECLARE_OPERATORS_FOR_FLAGS( RequestOptions::Flags ); From d422c782ba2c638515422bf394d2d0160620558d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 23 Aug 2019 17:15:51 +0200 Subject: [PATCH 288/626] [libcalamares] Correct include path - no need for the subdirectories, and this confuses MOC Reported-by: Jonathan Riddell Fix-by: Harald Sitter --- src/libcalamares/utils/PluginFactory.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 57ef44fb7..958a7858a 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -24,7 +24,7 @@ #ifndef UTILS_PLUGINFACTORY_H #define UTILS_PLUGINFACTORY_H -#include +#include #define CalamaresPluginFactory_iid "io.calamares.PluginFactory" From 0f6b2dbe2dd8766c3fb581fe0027467dc98255d8 Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Fri, 23 Aug 2019 17:26:45 +0200 Subject: [PATCH 289/626] [unpackfs] Enable to use "/" as a source If we don't have/need an image for the rootfs, we might want to configure the `/` directory as a source for unpackfs. Unfortunately, this raises an error: - unpackfs first creates a temporary directory - it then creates a subdirectory for each source, using the source path's basename - when the source is `/`, the basename is an empty string, therefore the module tries to create an already existing directory In order to prevent this error, we use the `os.makedirs` function with parameter `exist_ok=True` instead of `os.mkdir`. Signed-off-by: Arnaud Ferraris --- src/modules/unpackfs/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index e956dc070..90c258cd7 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -208,7 +208,7 @@ class UnpackOperation: imgbasename = os.path.splitext( os.path.basename(entry.source))[0] imgmountdir = os.path.join(source_mount_path, imgbasename) - os.mkdir(imgmountdir) + os.makedirs(imgmountdir, exist_ok=True) self.mount_image(entry, imgmountdir) From ededebbc6c399395e61351fb7ffc56fb1c8b96b7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 24 Aug 2019 15:23:07 +0200 Subject: [PATCH 290/626] [libcalamares] Return reply early if the request is bad --- src/libcalamares/network/Manager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index d5e27e611..b4e37d895 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -107,6 +107,12 @@ synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& QEventLoop loop; QTimer timer; + if ( reply->error() ) + { + reply->deleteLater(); + return reply; + } + options.applyToRequest( &request ); if ( options.hasTimeout() ) { From 87ea14f68abf0a04189f8f91f0e7ffa926334f5c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 10:15:22 +0200 Subject: [PATCH 291/626] [libcalamares] Drop INTERFACES again - The compile failure came from bad #include paths, so restoring this interface declaration wasn't a fix. - Reported to cause runtime failures on both KaOS and Manjaro. --- src/libcalamares/utils/PluginFactory.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 958a7858a..65ee6eee9 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -101,7 +101,4 @@ public: #define CALAMARES_PLUGIN_FACTORY_DEFINITION( name, pluginRegistrations ) \ K_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY( name, CalamaresPluginFactory, pluginRegistrations ) - -Q_DECLARE_INTERFACE( CalamaresPluginFactory, CalamaresPluginFactory_iid ) - #endif From f0be7fd4aa01ff9247ab1413ffaff973902d92b3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 14:43:41 +0200 Subject: [PATCH 292/626] [libcalamares] Make failures in the internal methods obvious - internally, timeout and error will return nullptr --- src/libcalamares/network/Manager.cpp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index b4e37d895..fd58c5408 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -99,6 +99,14 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) d->m_hasInternetUrl = url; } +/** @brief Does a request synchronously, returns the request itself + * + * The extra options for the request are taken from @p options, + * including the timeout setting. + * + * On failure, returns nullptr (e.g. bad URL, timeout). The request + * is marked for later automatic deletion, so don't store the pointer. + */ static QNetworkReply* synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) { @@ -107,10 +115,11 @@ synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& QEventLoop loop; QTimer timer; + // Bail out early if the request is bad if ( reply->error() ) { reply->deleteLater(); - return reply; + return nullptr; } options.applyToRequest( &request ); @@ -123,6 +132,12 @@ synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& QObject::connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); loop.exec(); + if ( options.hasTimeout() && !timer.isActive() ) + { + reply->deleteLater(); + return nullptr; + } + reply->deleteLater(); return reply; } @@ -135,8 +150,8 @@ Manager::synchronousPing( const QUrl& url, const RequestOptions& options ) return false; } - auto reply = synchronousRun( d->m_nam, url, options ); - return reply->bytesAvailable(); + auto* reply = synchronousRun( d->m_nam, url, options ); + return reply && reply->bytesAvailable(); } QByteArray @@ -147,8 +162,8 @@ Manager::synchronousGet( const QUrl& url, const RequestOptions& options ) return QByteArray(); } - auto reply = synchronousRun( d->m_nam, url, options ); - return reply->readAll(); + auto* reply = synchronousRun( d->m_nam, url, options ); + return reply ? reply->readAll() : QByteArray(); } } // namespace Network From e2c6591a77c36dd7d6aea62aa66fb3946f53f716 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 15:24:58 +0200 Subject: [PATCH 293/626] [libcalamares] Refactor request internals - distinguish timeouts from other failures - git synchronousPing() a more detailed result, which is still bool-compatible. --- src/libcalamares/network/Manager.cpp | 27 +++++++++++++++++---------- src/libcalamares/network/Manager.h | 28 ++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index fd58c5408..6c2d6caab 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -107,7 +107,7 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) * On failure, returns nullptr (e.g. bad URL, timeout). The request * is marked for later automatic deletion, so don't store the pointer. */ -static QNetworkReply* +static QPair< RequestStatus, QNetworkReply* > synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) { QNetworkRequest request = QNetworkRequest( url ); @@ -119,7 +119,7 @@ synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& if ( reply->error() ) { reply->deleteLater(); - return nullptr; + return qMakePair( RequestStatus( RequestStatus::Failed ), nullptr ); } options.applyToRequest( &request ); @@ -135,23 +135,30 @@ synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& if ( options.hasTimeout() && !timer.isActive() ) { reply->deleteLater(); - return nullptr; + return qMakePair( RequestStatus( RequestStatus::Timeout ), nullptr ); } reply->deleteLater(); - return reply; + return qMakePair( RequestStatus( RequestStatus::Ok ), reply ); } -bool +RequestStatus Manager::synchronousPing( const QUrl& url, const RequestOptions& options ) { if ( !url.isValid() ) { - return false; + return RequestStatus::Failed; } - auto* reply = synchronousRun( d->m_nam, url, options ); - return reply && reply->bytesAvailable(); + auto reply = synchronousRun( d->m_nam, url, options ); + if ( reply.first ) + { + return reply.second->bytesAvailable() ? RequestStatus::Ok : RequestStatus::Empty; + } + else + { + return reply.first; + } } QByteArray @@ -162,8 +169,8 @@ Manager::synchronousGet( const QUrl& url, const RequestOptions& options ) return QByteArray(); } - auto* reply = synchronousRun( d->m_nam, url, options ); - return reply ? reply->readAll() : QByteArray(); + auto reply = synchronousRun( d->m_nam, url, options ); + return reply.first ? reply.second->readAll() : QByteArray(); } } // namespace Network diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index fef75ffb8..33a1ba350 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -70,6 +70,22 @@ private: Q_DECLARE_OPERATORS_FOR_FLAGS( RequestOptions::Flags ); +struct RequestStatus +{ + enum State + { + Ok, + Timeout, // Timeout exceeded + Failed, // bad Url + Empty // for ping(), response is empty + }; + + RequestStatus( State s = Ok ); + operator bool() const { return m_s == Ok; } + + State m_s; +}; + class DLLEXPORT Manager : QObject { Q_OBJECT @@ -87,15 +103,19 @@ public: /** @brief Checks if the given @p url returns data. * - * Returns @c true if it does; @c false means no data, typically - * because of an error or no network access. + * Returns a RequestStatus, which converts to @c true if the ping + * was successful. Other status reasons convert to @c false, + * typically because of no data, a Url error or no network access. + * + * May return Empty if the request was successful but returned + * no data at all. */ - bool synchronousPing( const QUrl& url, const RequestOptions& options = RequestOptions() ); + RequestStatus synchronousPing( const QUrl& url, const RequestOptions& options = RequestOptions() ); /** @brief Downloads the data from a given @p url * * Returns the data as a QByteArray, or an empty - * array if any error occurred. + * array if any error occurred (or no data was returned). */ QByteArray synchronousGet( const QUrl& url, const RequestOptions& options = RequestOptions() ); From a1b0049bbfa16655441acc24a2d8cf4c3c6f2caa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 15:41:30 +0200 Subject: [PATCH 294/626] [libcalamares] Use more readable names --- src/libcalamares/network/Manager.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index 33a1ba350..0f2d0c651 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -80,10 +80,13 @@ struct RequestStatus Empty // for ping(), response is empty }; - RequestStatus( State s = Ok ); - operator bool() const { return m_s == Ok; } + RequestStatus( State s = Ok ) + : status( s ) + { + } + operator bool() const { return status == Ok; } - State m_s; + State status; }; class DLLEXPORT Manager : QObject From f7215393d1332f91f9e72578137274269c578417 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 15:45:10 +0200 Subject: [PATCH 295/626] [tracking] Use the network service - drop own NAM handling - use timeout mechanism - report timeout as fatal error (like it already did), other errors are ignored. --- src/modules/tracking/TrackingJobs.cpp | 47 +++++---------------------- src/modules/tracking/TrackingJobs.h | 8 ----- 2 files changed, 9 insertions(+), 46 deletions(-) diff --git a/src/modules/tracking/TrackingJobs.cpp b/src/modules/tracking/TrackingJobs.cpp index bf71b541a..f101c8e6c 100644 --- a/src/modules/tracking/TrackingJobs.cpp +++ b/src/modules/tracking/TrackingJobs.cpp @@ -18,12 +18,10 @@ #include "TrackingJobs.h" +#include "network/Manager.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" -#include -#include -#include #include #include @@ -31,13 +29,11 @@ TrackingInstallJob::TrackingInstallJob( const QString& url ) : m_url( url ) - , m_networkManager( nullptr ) { } TrackingInstallJob::~TrackingInstallJob() { - delete m_networkManager; } QString @@ -61,48 +57,23 @@ TrackingInstallJob::prettyStatusMessage() const Calamares::JobResult TrackingInstallJob::exec() { - m_networkManager = new QNetworkAccessManager(); + using CalamaresUtils::Network::Manager; + using CalamaresUtils::Network::RequestOptions; + using CalamaresUtils::Network::RequestStatus; - QNetworkRequest request; - request.setUrl( QUrl( m_url ) ); - // Follows all redirects except unsafe ones (https to http). - request.setAttribute( QNetworkRequest::FollowRedirectsAttribute, true ); - // Not everybody likes the default User Agent used by this class (looking at you, - // sourceforge.net), so let's set a more descriptive one. - request.setRawHeader( "User-Agent", "Mozilla/5.0 (compatible; Calamares)" ); - - QTimer timeout; - timeout.setSingleShot( true ); - - QEventLoop loop; - - connect( m_networkManager, &QNetworkAccessManager::finished, this, &TrackingInstallJob::dataIsHere ); - connect( m_networkManager, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit ); - connect( &timeout, &QTimer::timeout, &loop, &QEventLoop::quit ); - - m_networkManager->get( request ); // The semaphore is released when data is received - timeout.start( std::chrono::milliseconds( 5000 ) ); - - loop.exec(); - - if ( !timeout.isActive() ) + auto result = Manager::instance().synchronousPing( + QUrl( m_url ), + RequestOptions( RequestOptions::FollowRedirect | RequestOptions::FakeUserAgent, + RequestOptions::milliseconds( 5000 ) ) ); + if ( result.status == RequestStatus::Timeout ) { cWarning() << "install-tracking request timed out."; return Calamares::JobResult::error( tr( "Internal error in install-tracking." ), tr( "HTTP request timed out." ) ); } - timeout.stop(); - return Calamares::JobResult::ok(); } -void -TrackingInstallJob::dataIsHere( QNetworkReply* reply ) -{ - cDebug() << "Installation feedback request OK"; - reply->deleteLater(); -} - QString TrackingMachineNeonJob::prettyName() const { diff --git a/src/modules/tracking/TrackingJobs.h b/src/modules/tracking/TrackingJobs.h index a379441c9..7351c3346 100644 --- a/src/modules/tracking/TrackingJobs.h +++ b/src/modules/tracking/TrackingJobs.h @@ -21,13 +21,10 @@ #include "Job.h" -class QNetworkAccessManager; -class QNetworkReply; class QSemaphore; class TrackingInstallJob : public Calamares::Job { - Q_OBJECT public: TrackingInstallJob( const QString& url ); ~TrackingInstallJob() override; @@ -37,13 +34,8 @@ public: QString prettyStatusMessage() const override; Calamares::JobResult exec() override; -public slots: - void dataIsHere( QNetworkReply* ); - private: const QString m_url; - - QNetworkAccessManager* m_networkManager; }; class TrackingMachineNeonJob : public Calamares::Job From ee29c45433b1549e7923ec00a168cf95987282c7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 16:01:14 +0200 Subject: [PATCH 296/626] [netinstall] Point documentation towards netinstall README.md --- src/modules/netinstall/netinstall.conf | 7 +++++++ src/modules/netinstall/netinstall.yaml | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/modules/netinstall/netinstall.conf b/src/modules/netinstall/netinstall.conf index fe99eb2be..fa160d34c 100644 --- a/src/modules/netinstall/netinstall.conf +++ b/src/modules/netinstall/netinstall.conf @@ -4,6 +4,13 @@ # groupsUrl: http://example.org/netinstall.php # or it can be a locally installed file: # groupsUrl: file:///usr/share/calamares/netinstall.yaml +# +# Note that the contents of the groups file is the **inmportant** +# part of the configuration of this module. It specifies what +# the user may select and what commands are to be run. +# +# The format of the groups file is documented in `README.md`. +# # groupsUrl: file:///usr/share/calamares/netinstall.yaml # If the installation can proceed without netinstall (e.g. the Live CD diff --git a/src/modules/netinstall/netinstall.yaml b/src/modules/netinstall/netinstall.yaml index 8e9037f4d..e00f06c73 100644 --- a/src/modules/netinstall/netinstall.yaml +++ b/src/modules/netinstall/netinstall.yaml @@ -1,3 +1,7 @@ +# Example configuration with groups and packages, taken from Chakra Linux. +# +# This example is rather limited. See `README.md` for full documentation +# on the configuration format. - name: "Default" description: "Default group" hidden: true From 56792fdcb578f41e9e2285c6918afb042b815a01 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 16:26:06 +0200 Subject: [PATCH 297/626] [netinstall] Polish the README - describe the format better - more consistent typography - refer to `packages.conf` for details on shell commands --- src/modules/netinstall/README.md | 134 +++++++++++++++++++------------ 1 file changed, 82 insertions(+), 52 deletions(-) diff --git a/src/modules/netinstall/README.md b/src/modules/netinstall/README.md index 6478a844e..855754822 100644 --- a/src/modules/netinstall/README.md +++ b/src/modules/netinstall/README.md @@ -1,86 +1,116 @@ # Netinstall module -The netinstall module allows distribution maintainers to ship minimal ISOs with only a basic set of preinstall packages. -At installation time, the user is presented with the choice to install groups of packages from a predefined list. +The netinstall module allows distribution maintainers to ship minimal ISOs with +only a basic set of preinstall packages. At installation time, the user is +presented with the choice to install groups of packages from a predefined list. Calamares will then invoke the correct backend to install the packages. -## Configuration of the packages -Every distribution can choose which groups to display and which packages should be in the groups. +## Module Configuration -The *netinstall.conf* file should have this format: +The `netinstall.conf` file is self-describing, and at the very +lease should contain a *groupsUrl* key: +``` ---- groupsUrl: +``` -The URL must point to a YAML file. Here is a short example of how the YAML file should look. +The URL must point to a YAML file, the *groups* file. See below for +the format of that groups file. The URL may be a local file. - - name: "Group name" - description: "Description of the group" - packages: - - lsb-release - - avahi - - grub - - name: "Second group name" + +## Groups Configuration + + Here is a short example +of how the YAML file should look. + +``` + - name: "Group name" + description: "Description of the group" + packages: + - lsb-release + - avahi + - grub + - name: "Second group name" ... +``` -The file is composed of a list of entry, each describing one group. The keys *name*, *description* and *packages* are required. +The file is composed of a list of entries, each describing one group. The +keys *name*, *description* and *packages* are required for each group. -More keys are supported: +More keys (per group) are supported: - - hidden: if true, do not show the group on the page. Defaults to false. - - selected: if true, display the group as selected. Defaults to false. - - critical: if true, make the installation process fail if installing - any of the packages in the group fails. Otherwise, just log a warning. - Defaults to false. - - subgroups: if present this follows the same structure as the top level - of the YAML file, allowing there to be sub-groups of packages to an - arbitary depth - - pre-install: an optional command to run within the new system before - the group's packages are installed. It will run before each package in - the group is installed. - - post-install: an optional command to run within the new system after - the group's packages are installed. It will run after each package in - the group is installed. + - *hidden*: if true, do not show the group on the page. Defaults to false. + - *selected*: if true, display the group as selected. Defaults to false. + - critical*: if true, make the installation process fail if installing + any of the packages in the group fails. Otherwise, just log a warning. + Defaults to false. + - *subgroups*: if present this follows the same structure as the top level + of the YAML file, allowing there to be sub-groups of packages to an + arbitary depth + - *pre-install*: an optional command to run within the new system before + the group's packages are installed. It will run before each package in + the group is installed. + - *post-install*: an optional command to run within the new system after + the group's packages are installed. It will run after each package in + the group is installed. -If you set both *hidden* and *selected* for a group, you are basically creating a "default" group of packages -which will always be installed in the user's system. +If you set both *hidden* and *selected* for a group, you are basically creating +a "default" group of packages which will always be installed in the user's +system. -## Configuration of the module +> The note below applies to Calamares up-to-and-including 3.2.13, but will +> change in a later release. -Here is the set of instructions to have the module work in your Calamares. As of July 2016, this has been successfully -tested using the live installation of Chakra Fermi. +The *pre-install* and *post-install* commands are **not** passed to +a shell; see the **packages** module configuration (i.e. `packages.conf`) +for details. To use a full shell pipeline, call the shell explicitly. -First, if the module is used, we need to require a working Internet connection, otherwise the module will be -unable to fetch the package groups and to perform the installation. Requirements for the Calamares instance -are configured in the **welcome.conf** file (configuration for the **welcome** module). Make sure *internet* -is listed below *required*. -In the *settings.conf* file, decide where the **netinstall** page should be displayed. I put it just after the -**welcome** page, but any position between that and just before **partition** should make no difference. -If not present, add the **packages** job in the **exec** list. This is the job that calls the package manager -to install packages. Make sure it is configured to use the correct package manager for your distribution; this -is configured in src/modules/packages/packages.conf. +## Overall Configuration -The **exec** list in *settings.conf* should contain the following items in +Here is the set of instructions to have the module work in your Calamares. + +First, if the module is used, we need to require a working Internet connection, +otherwise the module will be unable to fetch the package groups and to perform +the installation. Requirements for the Calamares instance are configured in the +`welcome.conf` file (configuration for the **welcome** module). Make sure +*internet* is listed under the *required* checks. + +In the `settings.conf` file, decide where the **netinstall** page should be +displayed. I put it just after the **welcome** page, but any position between +that and just before **partition** should make no difference. + +If not present, add the **packages** job in the *exec* list. This is the job +that calls the package manager to install packages. Make sure it is configured +to use the correct package manager for your distribution; this is configured in +`packages.conf`. + +The *exec* list in `settings.conf` should contain the following items in order (it's ok for other jobs to be listed inbetween them, though): +``` - unpackfs - networkcfg - packages +``` -**unpackfs** creates the chroot where the installation is performed, and unpacks the root image with the filesystem -structure; **networkcfg** set ups a working network in the chroot; and finally **packages** can install packages -in the chroot. +**unpackfs** creates the chroot where the installation is performed, and unpacks +the root image with the filesystem structure; **networkcfg** set ups a working +network in the chroot; and finally **packages** can install packages in the +chroot. ## Common issues -If launching the package manager command returns you negative exit statuses and nothing is actually invoked, this -is likely an error in the setup of the chroot; check that the parameter **rootMountPoint** is set to the correct -value in the Calamares configuration. +If launching the package manager command returns you negative exit statuses and +nothing is actually invoked, this is likely an error in the setup of the chroot; +check that the parameter **rootMountPoint** is set to the correct value in the +Calamares configuration. -If the command is run, but exits with error, check that the network is working in the chroot. Make sure /etc/resolv.conf -exists and that it's not empty. +If the command is run, but exits with error, check that the network is +working in the chroot. Make sure `/etc/resolv.conf` exists and that +it's not empty. From d063d60e37c25eff193ed3d3a96bd7aef0a168d7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 16:42:05 +0200 Subject: [PATCH 298/626] [packages] Explain pre-script isn't actually a shell script --- src/modules/packages/packages.conf | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf index 94f3cfdb6..e42e8e9b8 100644 --- a/src/modules/packages/packages.conf +++ b/src/modules/packages/packages.conf @@ -31,9 +31,9 @@ backend: dummy # # Set "update_db" to 'true' for refreshing the database on the # target system. On target installations, which got installed by -# unsquashing, a full system update may be needed. Otherwise +# unsquashing, a full system update may be needed. Otherwise # post-installing additional packages may result in conflicts. -# Therefore set also "update_system" to 'true'. +# Therefore set also "update_system" to 'true'. # skip_if_no_internet: false update_db: true @@ -87,9 +87,25 @@ update_system: false # pre-script: touch /tmp/installing-vi # post-script: rm -f /tmp/installing-vi # -# The pre- and post-scripts are optional, but you cannot leave both out: using -# "package: vi" with neither script option will trick Calamares into -# trying to install a package named "package: vi", which is unlikely to work. +# The pre- and post-scripts are optional, but you cannot leave both out +# if you do use the *package* key: using "package: vi" with neither script +# option will trick Calamares into trying to install a package named +# "package: vi", which is unlikely to work. +# +# The pre- and post-scripts are **not** executed by a shell unless you +# explicitly invoke `/bin/sh` in them. The command-lines are passed +# to exec(), which does not understand shell syntax. In other words: +# +# pre-script: ls | wc -l +# +# Will fail, because `|` is passed as a command-line argument to ls, +# as are `wc`, and `-l`. No shell pipeline is set up, and ls is likely +# to complain. Invoke the shell explicitly: +# +# pre-script: /bin/sh -c \"ls | wc -l\" +# +# The above note on shell-expansion applies to versions up-to-and-including +# Calamares 3.2.12, but will change in future. # # Any package name may be localized; this is used to install localization # packages for software based on the selected system locale. By including @@ -104,7 +120,7 @@ update_system: false # # Take care that just plain `LOCALE` will not be replaced, so `foo-LOCALE` will # be left unchanged, while `foo-$LOCALE` will be changed. However, `foo-LOCALE` -# **will** be removed from the list of packages (i.e. not installed), if +# **will** be removed from the list of packages (i.e. not installed), if # English is selected. If a non-English locale is selected, then `foo-LOCALE` # will be installed, unchanged (no language-name-substitution occurs). # From 5868f102f25c3f4e96936d2419871cfc24fa97a0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 16:49:58 +0200 Subject: [PATCH 299/626] [packagechooser] Less-bad "no selection" image - It's only "less bad", not actually a good image, composed from Breeze "empty" and "generic packages" icon. --- .../packagechooser/images/no-selection.png | Bin 4618 -> 1709 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/modules/packagechooser/images/no-selection.png b/src/modules/packagechooser/images/no-selection.png index f9dbbbac45d0b03667f66be54664fdc5dce71983..437c97051cb9d0d16049ebff1bdc6cffe1ddb8a1 100644 GIT binary patch literal 1709 zcmd^9`BT$J6yI+Mm;eGwXF}Bmt1XNpBzR(_K&+I2q~Mi7DuE~pB4VhN5+g^zY7a)x zVW`mn83v2+MFcD01kJ$!MwF{k2#|vY6ha_`1QG~G(jdx@{RiBco%i-#`}yp=eZL(J zC9bvIU<&|P8ypmH6adJgLI7oB5s{b5V=V%m6cmvRfJ5{0h6=VjYy`k2Iym6KaeARz zCP<)+ekRgtZl#^wbnIYo@RlT1W9~M2Vav^+WA^G^|IM=3^dAyMGIj}$VoTl{caF{2 zc1Gh$ZFsTm3vw{JrK`ED-7)4nTbGwDm^V;A_07PrCZ=#V3^B9hqOy$mvhv`Z6vZ1|E1k zUcQk=i60rCJ05~$i2ceXM2GgJ3yF#9i{bBRcdm0cw= z(mEm5B~PRlaWa0&JgZl=JNh@IEXwKQhsZ^hx%t90F=l^y>=PJas*=^vHCPJLl`ErN?+r{u4f*Yc!51T1rLO3sU2ot2l9IO2(h{z9-2k z#-VG+?Cj)*rkfrf9{;?}!Gw}~FjwkwI-owjB3xAL%Scl7Ks-r5+s9&^bQT(985-j$ z7QfcpCr{ap1asHd0hAkXB7w~;K=6W?R0L>5f^0NEI)5~dzN`p5leo}5IN8BK=T*hS z8FPz64{kSZMG2Wp+D`L?nj0QLXu*gQK1RxeKyCaWawCxinCh3d85$ z7GNr2mCi8C6VJ>%o3M6XiI5C}!vdqWDc@Y@Ka--uCg&>c)h| zr@fVxl2kK(pRx3P-2p5OvCmkso_Qkt3C*N-`k93AqNZp5ZgQ8fP3_4ceve#V`o6oX z#?ODvVGDx6YVm0n36yl0C!dQ=Y!5f)=aTA}ey!^(Bxoc7tKM0z)YKWSLlJ7G1r)Y^ zJ!=OIddES^E~TyDuJJR+IF;{&2)mtyOzs-OAZfL)W`WIvPJgrw*$w<^Vd!NA(sw}w zFH78~K*>gf>^s1wjRvi%#<1n&Hl){?K){Gy;W>@TTJ?)8S-`$8b5dHUUvGHf7|R3L z1Hk6O(m+@o56M?Ztv<>|{=Y9=6OZt!fH&lc62lT8Y}0MS$i4ABMOIz4bw|j0?R}1n zbBQAK>-#V%2;Gs@@b?isM)JPckJiJ`BU wydCia1Lb90lj*6q{2^Qwfk%B9@1PHFwr;kvMwtJ0mo6KFzYPs|_zgAtKayIY1ONa4 literal 4618 zcmdUz`9IX_-^Z`d3}Xx?OF4F<(?XW0oJca3?4d~|q!E>jecxwDp#^n>BZPfr!@*sl;kBG`?sSKf7Y!|h>s$r}K4^Y;gOERPlkK%mA*Punsel`($FTihU# zllHrbqLrb^qGx^Q&W^vNP?;g@{A0>V#|uyb_uB-U1HR0!62~x6B2Z&YldXFS&KMGS z;Yi)$^VY5ZxBtsPhczBf;?0q8w^zN#F=-m$gA37{ES+KB3FILUi zH-cW#k(v3gTebJ4jV-}6F5WxTRBouXlOv=2C@4@ZZgGk08Za<&dE=!;qdxEkRhC;H&E?~_&HV@1!I z2Bg5#4Rr~4^mZ?Ig48| zyoGCT?4mWvUz3D6n#xQb<2;%AODTjmb)^j^Gb*)1pBldyr`Q^YzFbxeD&@lS($chN z6p_hb`%N6@14eRGAgo9@Ut4H-falatL%s7lo}MvVErb3A_~?I+C)vN zOp~2gtieiJlTtvZ%CFOVy_AgXK!Gl4|K!cP0m-ndkJhyoZ3 zp2HjjaY|M?ErCV>DG_A!V)^*!&{Sc=u*L#cobF1roHv^GtV7fn$v^L2x-9WIAT}CR zUEY<6YB@3QQ_)wuF;3NpTEwP10bo zYOH%&;a@`z7sX$y(4R_nbv0&m{h^>TRnwpTh`h!+Qw}G8P}5IMirnwm+$=+m^4H{2 zz8&2sxTJg-dG-njxKS)F5!+r4KuwV@U@F|_#K~FV8UtejQiYKVlVN>@U@rAdU#~st zb1$5K0};da8p(Fl0`p5Vve}A1t7gZOibKsi8|Im0(c|a(H99lXAIrL?Rd?|PWLw4? zYr6^A(Hjo6yQMSaI8_E8Kianu%D)HroL$%3-I-~2XYCYO{gy3CDmS|F-RAnlq}x!F z*scA86X%?w@)E7O&$qd3awvo5LwQfKp2vHn{FqcXCIq%M3^p< zRCT7Ji6$9ajovvCTdW+d;$Xcuy~-+|=7Ged)BstmHe{^b5Y&6-2HegcKDstn5MD0q zz?{6SNs+>hqu5#kQekE$&AaCp%dIb}qWTg!We>&*HEg9qTw{z8B%vRd(6Of4 zdcO~6j!2)4?!)EFrRg^IqRDe1J3b}So)GqN<%u1l$jQYu%~R4rW6a>xnP_kMg2K~Id=-ItNr>hqR;l=x4KkV7%@fQT-cz7 zVJe*8+zOQZLGe1jZuaRA7NVIJ-YBO_qIILTLgTulAek9ge|)rPt{iP$7&SyK8o6-r zRp_2f2gn}6J}HYMx;=i_;-<}1FovYeAQM9@wAnRTL4Rnhc`$zT;~}}BX9HsSayJ{< z(EyNvnmqip+He(w%8>7l`o7)$O<4bG^u(o3R~8Yyn!mW$R04r)0sPLI=##f2-C~Pd zO2nWSgQiZWb?$U!Eq`C+T=fsfxKd}TY?MpyYNw(SO#Fb0H^gM=YzJ0KveI;FLXyul z27XRDGFdpo+MJ!RQ6nf#+7sS^2h1y#&Ki%1AtO-6$ZuSD3$FtEVyly1qnqYDB{X~n z9hT5hJyXhlbG5g_M;3Xk2wabBc|qpj6gj6KrRDeH2CPQa@EXYiK};gc;H@Y&yp%DYKVfgBbe#K= zO*fQ<{kT)J7*KY7!(NV()eo?gpK&JEvNNmwl=BLpq#W#lYo0Xd>}Jd4!d>1Og1Zalz&#!nHN|)YeL|b2t6i86nlRHRhat z_}NPI5^n3^hEg;iU<`I>&+^-wDlV#&ZxZRg_@;rO;YwEne63`j%R%nbWg##!d*5mF z-m|6>QKAQv%JLhEi>f(-nI84|Z*)TQMM^HqpIUZSX0K$#K(C#zS9gZr*3&C|7nDn? zp&j4jjmfLVpQCd}2CAVz)num+unbxt#8b$r4ain-g3`rXg{|QlSIoB{Y^Sg8`x3p* zLd#)6f+9JA=k>-q^P}{lm*CRO6#;EqU~vuj4E7Tms#fn72b~$VUtk}-&rAA9xun$a z!?~PS%pmh~%_SvI!X1g50}cRr-W+bt%L>{*{L#6%ltaXHTp+odb9Vm+Pn0T{A*t)x z@n!)yR^hKSM2#)q;H2`V_3mRsuJzuAYTW{rczM)jzY_1H6!^*xQO#;Gmz4^wl?|V~ zgRpKB*88VP!*7W>41F3y{<<*7S$1&rF9)%U7_lXGT9P(jJ+ZV5>y&Z7c&pY&1sM!p ztAOkyrMrjUmrIfB(mB38t$yXVo)n}yEFmam#;n{*wsl}q^-^>IRyh= zh56U`@-9AJDgWx1O01knk)t2{RGjpUIaTCCm`gRXP9q4NFB3fMd|q^vR6a95NE;oG zf}Vf$QXLjNa(!QRV}8Rv2O#^`W${HqPDZK;SAk9y+cH4P~WQI!@ch<6a)!a=kz; zh3iNztZ9~pSdBF{l-(k|rq+wALJgGgPdEI|3(R?>(_*`h+l=^*gvgDW^sFlGo*m^)w-{m zakHe>7hz{i^a4IIAMx&mlR8LP{gJm3;tumEVQ(qIw4~IeVKn#tR9zjz%C7z2ZWV1k zdvC$Nn_moYWQ_CR6Z^xKhyGyIvCq;+`wv7`B=U8iL>I8bC9m|5$K^r7wFc|JVjC|d z!yK1V*pVW{Zu9G)z;~gpZo=pf%lC<_ggS`WF0Tr83=BByPGKWO6140t)@ zdaMZEOMR9-Ud;73Xn5+9g6VOW|u43a_;v36O0Q)L+b-#C(7Aw#}<53Kk* zsav#2{R2zdQ{cmiJ4*!^*(B&w;oA!WC8d&?XQDO#rj~Xw7%kBJ%%&ikr6!gLpfwO} z`JG}8I3q1c7n&GV>EaimIo0DY5!H3Vrc0~%1?YbmC^=7^RCLp-B~#i!x7vQ!-$3-? z4(R?fLcU(?{`TFWB1C>E)FDq?p8a2{VxGW3dK^og3rn3Ec}%+)*Zb4dKwVP4FPT0{ z(sTbj`%&u;*PmMdO<2hl*T}A)b}68YsYM~@Z7&>Ri~lbKV~h8oTPs&es%@TqNqI2+ zTk}6X5|aYA;&P^hx+x%asGmm0Nu*&T@N*~u>2bS*wBlb=!Xf)g^3^{UAforW$6+q@ z0Fmg4Kg*fz#R>Ur?_Rk zSM;?WC6+b)P}s}|DXjt%4bir1*q~~YYPqDUN3bUXKZXjaa%@!jiFZWwtsnaM^_k_r zmIDCFS|L3@Ejw;%uAUjR?et_<05xev_osK+fmC$dg?pTQS}Qrx@8_)F0hap-yyE^? zSwt+u5z}Mia$0+c82OvbPsg|*EnXeKur6DVqJN0_U6n(YaE1(X7$sWtJbcFVCEU&{ z$ZdP+3^(3)2%u2$M~%(eRI-{$62jB*6I(ewQLA6LG=8}!0XM!YtDZTn@Wtvy9>}|y zcGgR;T|k|4TJ2W@1gJf8C!cZfbV4ej`YH(VumO$*&y?+anpRc#QE?Xxvv@ zL@cz1fA2A2Ur(P*ee>R*{gra^JA*qY`$*|B%MD^6{M`(513Avh-P2=I6z?piePOsN xBVY5l{veK&2QXRX_CK=1zjxaI)n&&PvHiG~mG*{#Gy8G}7@aoLd#Qtu_z$sg6Py45 From 9dbd3a765bf76aff56ddcdce0943004bccc365bb Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Mon, 26 Aug 2019 19:02:15 +0200 Subject: [PATCH 300/626] [netinstall] Fix typo in netinstall.conf comment s/inmportant/important/ --- src/modules/netinstall/netinstall.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/netinstall/netinstall.conf b/src/modules/netinstall/netinstall.conf index fa160d34c..fd59c24c6 100644 --- a/src/modules/netinstall/netinstall.conf +++ b/src/modules/netinstall/netinstall.conf @@ -5,7 +5,7 @@ # or it can be a locally installed file: # groupsUrl: file:///usr/share/calamares/netinstall.yaml # -# Note that the contents of the groups file is the **inmportant** +# Note that the contents of the groups file is the **important** # part of the configuration of this module. It specifies what # the user may select and what commands are to be run. # From 6035a74a93c070c960c0cd4701a6c6f810bdb30c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 20:34:32 +0200 Subject: [PATCH 301/626] [packagechooser] Align the screenshot - hcenter + vcenter the screenshot - make it expand as necessary - fill in some sample text --- src/modules/packagechooser/page_package.ui | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui index 17a960549..496c478a1 100644 --- a/src/modules/packagechooser/page_package.ui +++ b/src/modules/packagechooser/page_package.ui @@ -37,21 +37,36 @@ - TextLabel + Product Name + + + 1 + 0 + + TextLabel + + Qt::AlignCenter + + + + 0 + 2 + + - TextLabel + Long Product Description true From d8a587e16e3b45cb99abf289a6c7ec021c0b62c4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 21:40:16 +0200 Subject: [PATCH 302/626] [packagechooser] Scale screenshot - if the screenshot is too large, scale it down - (doesn't react to window resizes though) --- .../packagechooser/PackageChooserPage.cpp | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 6f565c914..f0a6579b4 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -52,6 +52,37 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent } } +/** @brief size the given @p pixmap to @p size + * + * This is "smart" in the sense that it tries to keep the image un-scaled + * (if it's just a little too big) and otherwise scales as needed. + * + * Returns a copy if any modifications are done. + */ +static QPixmap +smartClip( const QPixmap& pixmap, QSize size ) +{ + auto pixSize = pixmap.size(); + if ( ( pixSize.width() <= size.width() ) && ( pixSize.height() <= size.height() ) ) + { + return pixmap; + } + + // only slightly bigger? Trim the edges + constexpr int margin = 16; + if ( ( pixSize.width() <= size.width() + margin ) && ( pixSize.height() <= size.height() + margin ) ) + { + int x = pixSize.width() <= size.width() ? 0 : ( pixSize.width() - size.width() / 2 ); + int new_width = pixSize.width() <= size.width() ? pixSize.width() : size.width(); + int y = pixSize.height() <= size.height() ? 0 : ( pixSize.height() - size.height() / 2 ); + int new_height = pixSize.height() <= size.height() ? pixSize.height() : size.height(); + + return pixmap.copy( x, y, new_width, new_height ); + } + + return pixmap.scaled( size, Qt::KeepAspectRatio ); +} + void PackageChooserPage::currentChanged( const QModelIndex& index ) { @@ -66,8 +97,17 @@ PackageChooserPage::currentChanged( const QModelIndex& index ) const auto* model = ui->products->model(); ui->productName->setText( model->data( index, PackageListModel::NameRole ).toString() ); - ui->productScreenshot->setPixmap( model->data( index, PackageListModel::ScreenshotRole ).value< QPixmap >() ); ui->productDescription->setText( model->data( index, PackageListModel::DescriptionRole ).toString() ); + + QPixmap currentScreenshot = model->data( index, PackageListModel::ScreenshotRole ).value< QPixmap >(); + if ( currentScreenshot.isNull() ) + { + ui->productScreenshot->setPixmap( m_introduction.screenshot ); + } + else + { + ui->productScreenshot->setPixmap( smartClip( currentScreenshot, ui->productScreenshot->size() ) ); + } } } From eb21c90861f399236357b1f68cd22bb04a1111c6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 26 Aug 2019 16:54:35 +0200 Subject: [PATCH 303/626] [libcalamares] Avoid implicit 0-to-flags conversion - clang complains about using 0 as a Flags value, so make the default (empty) initialization explicit. --- src/libcalamares/network/Manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index 0f2d0c651..041314f13 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -47,7 +47,7 @@ public: Q_DECLARE_FLAGS( Flags, Flag ) RequestOptions() - : m_flags( 0 ) + : m_flags( Flags() ) , m_timeout( -1 ) { } From e0bb53aff4130a2c06cbecd86c2fd7b715c5c4bb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 13:34:26 +0200 Subject: [PATCH 304/626] [dummycpp] Replace QProcess::execute() - hangs unpredictably during testing - replace with the Calamares process-invocation runCommand(), which is also synchronous but doesn't hang (or, hasn't, in testing so far) --- src/modules/dummycpp/DummyCppJob.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/dummycpp/DummyCppJob.cpp b/src/modules/dummycpp/DummyCppJob.cpp index a38cddc40..5a2ca1803 100644 --- a/src/modules/dummycpp/DummyCppJob.cpp +++ b/src/modules/dummycpp/DummyCppJob.cpp @@ -28,6 +28,7 @@ #include "GlobalStorage.h" #include "JobQueue.h" +#include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" DummyCppJob::DummyCppJob( QObject* parent ) @@ -113,9 +114,10 @@ Calamares::JobResult DummyCppJob::exec() { // Ported from dummypython - QProcess::execute( "/bin/sh", - QStringList() << "-c" - << "touch ~/calamares-dummycpp" ); + CalamaresUtils::System::runCommand( CalamaresUtils::System::RunLocation::RunInHost, + QStringList() << "/bin/sh" + << "-c" + << "touch ~/calamares-dummycpp" ); QString accumulator = QDateTime::currentDateTimeUtc().toString( Qt::ISODate ) + '\n'; accumulator += QStringLiteral( "Calamares version: " ) + CALAMARES_VERSION_SHORT + '\n'; accumulator += QStringLiteral( "This job's name: " ) + prettyName() + '\n'; From ac8952f2236b74469f72062be54d94e9c0bf6978 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 11:02:27 +0200 Subject: [PATCH 305/626] [libcalamaresui] Improve QML API v2 debugging - log what is being loaded - distinguish "component complete" from actuial loading --- src/libcalamaresui/ExecutionViewStep.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index 4dd10bd93..7b6b597a3 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -184,7 +184,7 @@ ExecutionViewStep::loadQmlV2Complete() { if ( m_qmlComponent && m_qmlComponent->isReady() && !m_qmlObject ) { - cDebug() << "QML loading complete, API 2"; + cDebug() << "QML component complete, API 2"; // Don't do this again disconnect( m_qmlComponent, &QQmlComponent::statusChanged, this, &ExecutionViewStep::loadQmlV2Complete ); @@ -196,6 +196,8 @@ ExecutionViewStep::loadQmlV2Complete() } else { + cDebug() << Logger::SubEntry << "Loading" << Calamares::Branding::instance()->slideshowPath(); + // setContent() is public API, but not documented publicly. // It is marked \internal in the Qt sources, but does exactly // what is needed: sets up visual parent by replacing the root From 34cb777b0ae7465814b8ce1f698b02a25ec6e274 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 11:11:35 +0200 Subject: [PATCH 306/626] [qml] Disable all the key shortcuts via root.activatedInCalamares --- src/qml/calamares/slideshow/Presentation.qml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index 4843e15a6..7053fb0ae 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -77,6 +77,8 @@ Item { property string fontFamily: "Helvetica" property string codeFontFamily: "Courier New" + property bool activatedInCalamares: false; + // Private API property int _lastShownSlide: 0 @@ -136,17 +138,17 @@ Item { Keys.onLeftPressed: goToPreviousSlide() // navigate with arrow keys - Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.arrowNavigation; onActivated: goToNextSlide() } - Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } - Shortcut { sequence: StandardKey.MoveToNextChar; enabled: root.arrowNavigation; onActivated: goToNextSlide() } - Shortcut { sequence: StandardKey.MoveToPreviousChar; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.activatedInCalamares && root .arrowNavigation; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.MoveToNextChar; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousChar; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToPreviousSlide() } // presentation-specific single-key shortcuts (which interfere with normal typing) - Shortcut { sequence: " "; enabled: root.keyShortcutsEnabled; onActivated: goToNextSlide() } + Shortcut { sequence: " "; enabled: root.activatedInCalamares && root.keyShortcutsEnabled; onActivated: goToNextSlide() } // standard shortcuts - Shortcut { sequence: StandardKey.MoveToNextPage; onActivated: goToNextSlide() } - Shortcut { sequence: StandardKey.MoveToPreviousPage; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.MoveToNextPage; enabled: root.activatedInCalamares; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousPage; enabled: root.activatedInCalamares; onActivated: goToPreviousSlide() } MouseArea { id: mouseArea From 0a9d0ddf68e9b42a107f72edc30c36b7fb2340a5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 11:49:27 +0200 Subject: [PATCH 307/626] [qml] In the default (sample) slideshow, activate key shortcuts - with V2 loading, the key shortcuts should be enabled when the slideshow itself is activated, not when it is loaded. --- src/branding/default/show.qml | 10 ++++++++-- src/qml/calamares/slideshow/Presentation.qml | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/branding/default/show.qml b/src/branding/default/show.qml index c989676dd..1a174f0b6 100644 --- a/src/branding/default/show.qml +++ b/src/branding/default/show.qml @@ -25,7 +25,7 @@ Presentation id: presentation function nextSlide() { - console.log("Next slide"); + console.log("QML Component (default slideshow) Next slide"); presentation.goToNextSlide(); } @@ -70,7 +70,13 @@ Presentation function onActivate() { presentation.currentSlide = 0; - advanceTimer.running = true + presentation.activatedInCalamares = true; + advanceTimer.running = true; console.log("QML Component (default slideshow) activated"); } + + function onLeave() { + presentation.activatedInCalamares = true; + } + } diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index 7053fb0ae..a4138d588 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -8,6 +8,9 @@ * (this and the 'c' key make sense in a *presentation* * slideshow, not in a passive slideshow like Calamares) * - remove quit key + * Copyright 2019, Adriaan de Groot + * - Support "V2" loading + * - Disable shortcuts until the content is visible in Calamares * * SPDX-License-Identifier: LGPL-2.1 * License-Filename: LICENSES/LGPLv2.1-Presentation From 7df6ed31e9547f8a70b6bc3bdf5a672c2c474a47 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 12:01:36 +0200 Subject: [PATCH 308/626] [libcalamaresui] Refactor QML slideshow activation - one function for activation, since we activate from different places and each loader-API may need multiple steps for activation. --- src/libcalamaresui/ExecutionViewStep.cpp | 28 ++++++++++++++---------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index 7b6b597a3..c131d9c9a 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -179,6 +179,21 @@ ExecutionViewStep::loadQmlV2() } } +static void +activateSlideShow( QQuickItem* slideshow, QQuickWidget* widget) +{ + if ( Branding::instance()->slideshowAPI() == 2 ) + { + // The QML was already loaded in the constructor, need to start it + callQMLFunction( slideshow, "onActivate" ); + } + else if ( !Calamares::Branding::instance()->slideshowPath().isEmpty() ) + { + // API version 1 assumes onCompleted is the trigger + widget->setSource( QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ) ); + } +} + void ExecutionViewStep::loadQmlV2Complete() { @@ -208,7 +223,7 @@ ExecutionViewStep::loadQmlV2Complete() { // We're alreay visible! Must have been slow QML loading, and we // passed onActivate already. - callQMLFunction( m_qmlObject, "onActivate" ); + activateSlideShow( m_qmlObject, m_qmlShow ); } } } @@ -217,16 +232,7 @@ ExecutionViewStep::loadQmlV2Complete() void ExecutionViewStep::onActivate() { - if ( Branding::instance()->slideshowAPI() == 2 ) - { - // The QML was already loaded in the constructor, need to start it - callQMLFunction( m_qmlObject, "onActivate" ); - } - else if ( !Calamares::Branding::instance()->slideshowPath().isEmpty() ) - { - // API version 1 assumes onCompleted is the trigger - m_qmlShow->setSource( QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ) ); - } + activateSlideShow( m_qmlObject, m_qmlShow ); JobQueue* queue = JobQueue::instance(); foreach ( const QString& instanceKey, m_jobInstanceKeys ) From 1e3e53d30a38bd5aa2aec2220a2b806b465ba9ac Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 15:12:47 +0200 Subject: [PATCH 309/626] [libcalamaresui] Set activatedInCalamares special property - when the QML is activated, if the slideshow has this property, set it to true. This enables the keyboard shortcuts. --- src/libcalamaresui/ExecutionViewStep.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index c131d9c9a..2b2c47e88 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -191,6 +191,17 @@ activateSlideShow( QQuickItem* slideshow, QQuickWidget* widget) { // API version 1 assumes onCompleted is the trigger widget->setSource( QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ) ); + slideshow = widget->rootObject(); + } + + if ( slideshow ) + { + static const char propertyName[] = "activatedInCalamares"; + auto active = slideshow->property( propertyName ); + if ( active.isValid() && ( active.type() == QVariant::Bool ) && !active.toBool() ) + { + slideshow->setProperty( propertyName, true ); + } } } From be5388abcd27d2d1825fe6466391cf8369a9814d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 15:30:45 +0200 Subject: [PATCH 310/626] [libcalamaresui] activate -> change state - since we also need to *disable* the shortcuts, and should tell a V1 slideshow that it no longer is running, - use existing function to set the property to true / false depending. - instead of changeState( true ) or changeStage( false ), use meaningful enum names so that the code at the call site becomes readable; make the boolean part internal to the state-changing method. --- src/libcalamaresui/ExecutionViewStep.cpp | 49 ++++++++++++++++++------ 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index 2b2c47e88..501995c07 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -179,28 +179,53 @@ ExecutionViewStep::loadQmlV2() } } -static void -activateSlideShow( QQuickItem* slideshow, QQuickWidget* widget) +/// @brief State-change of the slideshow, for changeSlideShowState() +enum class Slideshow { + Start, + Stop +}; + +/** @brief Tells the slideshow we activated or left the show. + * + * If @p state is @c Slideshow::Start, calls suitable activation procedures. + * If @p state is @c Slideshow::Stop, calls deactivation procedures. + * + * Applies V1 and V2 QML activation / deactivation: + * - V1 loads the QML in @p widget on activation. Sets root object property + * *activatedInCalamares* as appropriate. + * - V2 calls onActivate() or onLeave() in the QML as appropriate. Also + * sets the *activatedInCalamares* property. + */ +static void +changeSlideShowState( Slideshow state, QQuickItem* slideshow, QQuickWidget* widget ) +{ + bool activate = state == Slideshow::Start; + if ( Branding::instance()->slideshowAPI() == 2 ) { // The QML was already loaded in the constructor, need to start it - callQMLFunction( slideshow, "onActivate" ); + callQMLFunction( slideshow, activate ? "onActivate" : "onLeave" ); } else if ( !Calamares::Branding::instance()->slideshowPath().isEmpty() ) { // API version 1 assumes onCompleted is the trigger - widget->setSource( QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ) ); + if ( activate ) + { + widget->setSource( QUrl::fromLocalFile( Calamares::Branding::instance()->slideshowPath() ) ); + } + // needs the root object for property setting, below slideshow = widget->rootObject(); } - + + // V1 API has picked up the root object for use, V2 passed it in. if ( slideshow ) { static const char propertyName[] = "activatedInCalamares"; - auto active = slideshow->property( propertyName ); - if ( active.isValid() && ( active.type() == QVariant::Bool ) && !active.toBool() ) + auto property = slideshow->property( propertyName ); + if ( property.isValid() && ( property.type() == QVariant::Bool ) && ( property.toBool() != activate ) ) { - slideshow->setProperty( propertyName, true ); + slideshow->setProperty( propertyName, activate ); } } } @@ -223,7 +248,7 @@ ExecutionViewStep::loadQmlV2Complete() else { cDebug() << Logger::SubEntry << "Loading" << Calamares::Branding::instance()->slideshowPath(); - + // setContent() is public API, but not documented publicly. // It is marked \internal in the Qt sources, but does exactly // what is needed: sets up visual parent by replacing the root @@ -234,7 +259,7 @@ ExecutionViewStep::loadQmlV2Complete() { // We're alreay visible! Must have been slow QML loading, and we // passed onActivate already. - activateSlideShow( m_qmlObject, m_qmlShow ); + changeSlideShowState( Slideshow::Start, m_qmlObject, m_qmlShow ); } } } @@ -243,7 +268,7 @@ ExecutionViewStep::loadQmlV2Complete() void ExecutionViewStep::onActivate() { - activateSlideShow( m_qmlObject, m_qmlShow ); + changeSlideShowState( Slideshow::Start, m_qmlObject, m_qmlShow ); JobQueue* queue = JobQueue::instance(); foreach ( const QString& instanceKey, m_jobInstanceKeys ) @@ -291,10 +316,10 @@ ExecutionViewStep::updateFromJobQueue( qreal percent, const QString& message ) void ExecutionViewStep::onLeave() { + changeSlideShowState( Slideshow::Stop, m_qmlObject, m_qmlShow ); // API version 2 is explicitly stopped; version 1 keeps running if ( Branding::instance()->slideshowAPI() == 2 ) { - callQMLFunction( m_qmlObject, "onLeave" ); delete m_qmlObject; m_qmlObject = nullptr; } From 03ac0d2cf0f9701e0edbd2cdf2a0ba7544b865cb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 15:54:06 +0200 Subject: [PATCH 311/626] [qml] Document the new property and how it updates --- CHANGES | 3 +++ src/branding/README.md | 10 ++++++++++ src/branding/default/show.qml | 14 +++++++++----- src/qml/calamares/slideshow/Presentation.qml | 8 +++++++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 66323ff9f..02a7fc4f5 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,9 @@ This release contains contributions from (alphabetically by first name): (maintained!) upstream version instead. It also gives us KMacroExpander everywhere, which will simplify code for handling substitutions in configuration files. +- *Slideshows* now have a new property *activatedInCalamares* which + controls the keyboard shortcuts (and can control timers and other + properties of the slideshow, too). ## Modules ## diff --git a/src/branding/README.md b/src/branding/README.md index 1b9eb57fd..099163836 100644 --- a/src/branding/README.md +++ b/src/branding/README.md @@ -66,6 +66,16 @@ The setting *slideshowAPI* in `branding.desc` indicates which one to use for a given branding slideshow. Which API to use is really a function of the QML. Expect the version 1 API to be deprecated in the course of Calamares 3.3. +In Calamares 3.2.13 support for activation notification to the QML +parts is improved: + - If the root object has a property *activatedInCalamares* (the examples do), + then that property is set to *true* when the slideshow becomes visible + (activated) and is set to *false* when the slideshow is hidden (e.g. + when the installation phase is done). + - The *actvatedInCalamares* property can be used to set up timers also in V1. + - The keyboard shortcuts in the example slideshow are enabled only while + the slideshow is visible. + ## Translations diff --git a/src/branding/default/show.qml b/src/branding/default/show.qml index 1a174f0b6..dcb0f9257 100644 --- a/src/branding/default/show.qml +++ b/src/branding/default/show.qml @@ -32,7 +32,7 @@ Presentation Timer { id: advanceTimer interval: 1000 - running: false + running: presentation.activatedInCalamares repeat: true onTriggered: nextSlide() } @@ -68,15 +68,19 @@ Presentation centeredText: qsTr("This is a third Slide element.") } + // When this slideshow is loaded as a V1 slideshow, only + // activatedInCalamares is set, which starts the timer (see above). + // + // In V2, also the onActivate() and onLeave() methods are called. + // These example functions log a message (and re-start the slides + // from the first). function onActivate() { - presentation.currentSlide = 0; - presentation.activatedInCalamares = true; - advanceTimer.running = true; console.log("QML Component (default slideshow) activated"); + presentation.currentSlide = 0; } function onLeave() { - presentation.activatedInCalamares = true; + console.log("QML Component (default slideshow) deactivated"); } } diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index a4138d588..1d2fd9c85 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -80,7 +80,13 @@ Item { property string fontFamily: "Helvetica" property string codeFontFamily: "Courier New" - property bool activatedInCalamares: false; + // This is set by the C++ part of Calamares when the slideshow + // becomes visible. You can connect it to a timer, or whatever + // else needs to start only when the slideshow becomes visible. + // + // It is used in this example also to keep the keyboard shortcuts + // enabled only while the slideshow is active. + property bool activatedInCalamares: false // Private API property int _lastShownSlide: 0 From 8ab0fb4e5f7b08b1ca4a967cc4ba25a72d9e916c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 27 Aug 2019 15:58:09 +0200 Subject: [PATCH 312/626] [libcalamaresui] Apply coding style (missed earlier) --- src/libcalamaresui/Branding.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index c0ee71089..edbced5fa 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -226,7 +226,9 @@ Branding::Branding( const QString& brandingFilePath, QObject* parent ) QString pathString = slideShowPictures[ i ]; QFileInfo imageFi( componentDir.absoluteFilePath( pathString ) ); if ( !imageFi.exists() ) + { bail( QString( "Slideshow file %1 does not exist." ).arg( imageFi.absoluteFilePath() ) ); + } slideShowPictures[ i ] = imageFi.absoluteFilePath(); } From e459b82cfeb6f9a57ae483603521bc95c3a8f0e2 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Mon, 26 Aug 2019 08:34:24 -0400 Subject: [PATCH 313/626] fix typo in src/libcalamaresui/ViewManager.cpp --- src/libcalamaresui/ViewManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 7baefdbd0..48c71a7ac 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -140,7 +140,7 @@ ViewManager::ViewManager( QObject* parent ) m_quit->setVisible( false ); } - // onInstallationFailed( "Tile of Failure", "Body of Failure"); // for testing paste functionality + // onInstallationFailed( "Title of Failure", "Body of Failure"); // for testing paste functionality } From 13a58a4ab289d50e7bc12a78e9768c88c9d4dfed Mon Sep 17 00:00:00 2001 From: bill-auger Date: Mon, 26 Aug 2019 08:34:35 -0400 Subject: [PATCH 314/626] update doc comment in src/modules/initcpio/initcpio.conf --- src/modules/initcpio/initcpio.conf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/modules/initcpio/initcpio.conf b/src/modules/initcpio/initcpio.conf index 8ad71e9f5..517e48392 100644 --- a/src/modules/initcpio/initcpio.conf +++ b/src/modules/initcpio/initcpio.conf @@ -1,8 +1,7 @@ # Run mkinitcpio(8) with the given preset value --- -# There is only one configuration item for this module, -# the kernel to be loaded. This can have the following -# values: +# This key defines the kernel to be loaded. +# It can have the following values: # - empty or unset, interpreted as "all" # - the literal string "$uname" (without quotes, with dollar), # which will use the output of `uname -r` to determine the From 4c3c6f3f91128a33ba4811df89a9f49bc7c6016c Mon Sep 17 00:00:00 2001 From: bill-auger Date: Wed, 28 Aug 2019 02:47:24 -0400 Subject: [PATCH 315/626] eliminate magic number in src/modules/welcome/WelcomePage.cpp --- src/modules/welcome/WelcomePage.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 8f989c47c..9c520a7fa 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -124,7 +124,8 @@ WelcomePage::WelcomePage( QWidget* parent ) mb.exec(); } ); - ui->verticalLayout->insertWidget( 3, m_checkingWidget ); + int welcome_text_idx = ui->verticalLayout->indexOf( ui->mainText ); + ui->verticalLayout->insertWidget( welcome_text_idx + 1, m_checkingWidget ); } From bb678e535b4a9340c61f9804d52b9791aff6bdaa Mon Sep 17 00:00:00 2001 From: bill-auger Date: Mon, 26 Aug 2019 07:07:18 -0400 Subject: [PATCH 316/626] add esperanto branding translations, fix mis-configured ones --- .../default/lang/calamares-default_ar.ts | 4 ++-- .../default/lang/calamares-default_en.ts | 2 +- .../default/lang/calamares-default_eo.ts | 17 +++++++++++++++++ .../default/lang/calamares-default_fr.ts | 4 ++-- .../default/lang/calamares-default_nl.ts | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 src/branding/default/lang/calamares-default_eo.ts diff --git a/src/branding/default/lang/calamares-default_ar.ts b/src/branding/default/lang/calamares-default_ar.ts index 05463dd72..3c4fe0933 100644 --- a/src/branding/default/lang/calamares-default_ar.ts +++ b/src/branding/default/lang/calamares-default_ar.ts @@ -1,6 +1,6 @@ - + show @@ -11,7 +11,7 @@ This is a third Slide element. - عرض الثالث + عرض الثالث diff --git a/src/branding/default/lang/calamares-default_en.ts b/src/branding/default/lang/calamares-default_en.ts index 30474fc02..b02dbd5b1 100644 --- a/src/branding/default/lang/calamares-default_en.ts +++ b/src/branding/default/lang/calamares-default_en.ts @@ -1,6 +1,6 @@ - + show diff --git a/src/branding/default/lang/calamares-default_eo.ts b/src/branding/default/lang/calamares-default_eo.ts new file mode 100644 index 000000000..7d1ef4e82 --- /dev/null +++ b/src/branding/default/lang/calamares-default_eo.ts @@ -0,0 +1,17 @@ + + + + + show + + + This is a second Slide element. + Ĉi tio estas la dua gliteja. + + + + This is a third Slide element. + Ĉi tio estas la tria gliteja. + + + diff --git a/src/branding/default/lang/calamares-default_fr.ts b/src/branding/default/lang/calamares-default_fr.ts index 9329e61ee..ec5e0411a 100644 --- a/src/branding/default/lang/calamares-default_fr.ts +++ b/src/branding/default/lang/calamares-default_fr.ts @@ -1,6 +1,6 @@ - + show @@ -11,7 +11,7 @@ This is a third Slide element. - La troisième affice ce trouve ici. + La troisième affice ce trouve ici. diff --git a/src/branding/default/lang/calamares-default_nl.ts b/src/branding/default/lang/calamares-default_nl.ts index aad00eaf7..19fd58361 100644 --- a/src/branding/default/lang/calamares-default_nl.ts +++ b/src/branding/default/lang/calamares-default_nl.ts @@ -11,7 +11,7 @@ This is a third Slide element. - Dit is het derde Dia element. + Dit is het derde Dia element. From 5642576cf33857aba43ca1710d196a68c394e794 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Wed, 28 Aug 2019 07:38:49 -0400 Subject: [PATCH 317/626] cross-reference/clarify geoip documentation --- src/modules/locale/LocaleViewStep.cpp | 2 +- src/modules/locale/locale.conf | 12 +++++++++--- src/modules/welcome/welcome.conf | 12 ++++++------ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 29006ec33..ee5c7699b 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -235,7 +235,7 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } else { - // Optional + // Accommodate deprecated geoip configuration m_geoipUrl = CalamaresUtils::getString( configurationMap, "geoipUrl" ); m_geoipStyle = CalamaresUtils::getString( configurationMap, "geoipStyle" ); m_geoipSelector = CalamaresUtils::getString( configurationMap, "geoipSelector" ); diff --git a/src/modules/locale/locale.conf b/src/modules/locale/locale.conf index 7c2ec332c..4beb4fe85 100644 --- a/src/modules/locale/locale.conf +++ b/src/modules/locale/locale.conf @@ -23,6 +23,7 @@ zone: "New_York" # # Enable only when your Distribution is using an # custom path for locale.gen +# #localeGenPath: "PATH_TO/locale.gen" # GeoIP based Language settings: Leave commented out to disable GeoIP. @@ -78,14 +79,19 @@ zone: "New_York" # Europe/Brussels # ``` # -# To accomodate providers of GeoIP timezone data with peculiar timezone +# To accommodate providers of GeoIP timezone data with peculiar timezone # naming conventions, the following cleanups are performed automatically: # - backslashes are removed # - spaces are replaced with _ # # Legacy settings "geoipStyle", "geoipUrl" and "geoipSelector" # in the top-level are still supported, but I'd advise against. +# +# To disable GeoIP checking, either comment-out the entire geoip section, +# or set the *style* key to an unsupported format (e.g. `none`). +# Also, note the analogous feature in src/modules/welcome/welcome.conf. +# geoip: - style: "json" - url: "https://geoip.kde.org/v1/calamares" + style: "json" + url: "https://geoip.kde.org/v1/calamares" selector: "" # leave blank for the default diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf index 9488daa5e..0361830aa 100644 --- a/src/modules/welcome/welcome.conf +++ b/src/modules/welcome/welcome.conf @@ -69,13 +69,13 @@ requirements: # but remember to use a URL that returns full data **and** to # use a selector that will pick the country, not the timezone. # -# To disable, either comment-out the entire section, or set -# the *style* key to an unsupported format (e.g. `none`, as is -# done here). - +# To disable GeoIP checking, either comment-out the entire geoip section, +# or set the *style* key to an unsupported format (e.g. `none`). +# Also, note the analogous feature in src/modules/locale/locale.conf. +# geoip: - style: "none" - url: "https://geoip.kde.org/v1/ubiquity" # extended XML format + style: "none" + url: "https://geoip.kde.org/v1/ubiquity" # extended XML format selector: "CountryCode" # blank uses default, which is wrong # User interface From fc5aa54cb2f18332a8c657ccfad3437944bff534 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 11:01:02 +0200 Subject: [PATCH 318/626] [welcome] Fix code formatting - the RETRANSLATE macro is a real challenge for astyle and clang-format --- src/modules/welcome/WelcomePage.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 9c520a7fa..05c955a2d 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -76,13 +76,18 @@ WelcomePage::WelcomePage( QWidget* parent ) CALAMARES_RETRANSLATE( QString message; - if ( Calamares::Settings::instance()->isSetupMode() ) message - = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares setup program for %1.

" ) - : tr( "

Welcome to %1 setup.

" ); - else message = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares installer for %1.

" ) - : tr( "

Welcome to the %1 installer.

" ); + if ( Calamares::Settings::instance()->isSetupMode() ) + { + message = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares setup program for %1.

" ) + : tr( "

Welcome to %1 setup.

" ); + } + else + { + message = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares installer for %1.

" ) + : tr( "

Welcome to the %1 installer.

" ); + } ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); ui->retranslateUi( this ); From 535bf01475d0cedccec76ea6724726b59a7e1b28 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 11:06:55 +0200 Subject: [PATCH 319/626] [welcome] Refactor lambdas to full slots - This helps give meaningful names to code chunks - Gives clang-format something to work with - Reduces indentation depth I think this is a bit of a code-style opinion issue: big complicated lambdas doing UI things just don't seem like a good idea. --- src/modules/welcome/WelcomePage.cpp | 111 +++++++++++++++------------- src/modules/welcome/WelcomePage.h | 4 + 2 files changed, 65 insertions(+), 50 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 05c955a2d..f46300097 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -73,61 +73,13 @@ WelcomePage::WelcomePage( QWidget* parent ) cDebug() << "Welcome string" << Calamares::Branding::instance()->welcomeStyleCalamares() << *Calamares::Branding::VersionedName; - CALAMARES_RETRANSLATE( - QString message; - - if ( Calamares::Settings::instance()->isSetupMode() ) - { - message = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares setup program for %1.

" ) - : tr( "

Welcome to %1 setup.

" ); - } - else - { - message = Calamares::Branding::instance()->welcomeStyleCalamares() - ? tr( "

Welcome to the Calamares installer for %1.

" ) - : tr( "

Welcome to the %1 installer.

" ); - } - - ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); - ui->retranslateUi( this ); - ui->supportButton->setText( tr( "%1 support" ).arg( *Calamares::Branding::ShortProductName ) ); ) + CALAMARES_RETRANSLATE( retranslate(); ) ui->aboutButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Information, CalamaresUtils::Original, 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() ) ) ); - connect( ui->aboutButton, &QPushButton::clicked, this, [this] { - QString title - = Calamares::Settings::instance()->isSetupMode() ? tr( "About %1 setup" ) : tr( "About %1 installer" ); - QMessageBox mb( QMessageBox::Information, - title.arg( CALAMARES_APPLICATION_NAME ), - tr( "

%1


" - "%2
" - "for %3


" - "Copyright 2014-2017 Teo Mrnjavac <teo@kde.org>
" - "Copyright 2017-2019 Adriaan de Groot <groot@kde.org>
" - "Thanks to the Calamares team " - "and the Calamares " - "translators team.

" - "Calamares " - "development is sponsored by
" - "Blue Systems - " - "Liberating Software." ) - .arg( CALAMARES_APPLICATION_NAME ) - .arg( CALAMARES_VERSION ) - .arg( *Calamares::Branding::VersionedName ), - QMessageBox::Ok, - this ); - mb.setIconPixmap( CalamaresUtils::defaultPixmap( - CalamaresUtils::Squid, - CalamaresUtils::Original, - QSize( CalamaresUtils::defaultFontHeight() * 6, CalamaresUtils::defaultFontHeight() * 6 ) ) ); - QGridLayout* layout = reinterpret_cast< QGridLayout* >( mb.layout() ); - if ( layout ) - layout->setColumnMinimumWidth( 2, CalamaresUtils::defaultFontHeight() * 24 ); - mb.exec(); - } ); + connect( ui->aboutButton, &QPushButton::clicked, this, &WelcomePage::showAboutBox ); int welcome_text_idx = ui->verticalLayout->indexOf( ui->mainText ); ui->verticalLayout->insertWidget( welcome_text_idx + 1, m_checkingWidget ); @@ -284,6 +236,65 @@ WelcomePage::setLanguageIcon( QPixmap i ) ui->languageIcon->setPixmap( i ); } +void +WelcomePage::retranslate() +{ + QString message; + + if ( Calamares::Settings::instance()->isSetupMode() ) + { + message = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares setup program for %1.

" ) + : tr( "

Welcome to %1 setup.

" ); + } + else + { + message = Calamares::Branding::instance()->welcomeStyleCalamares() + ? tr( "

Welcome to the Calamares installer for %1.

" ) + : tr( "

Welcome to the %1 installer.

" ); + } + + ui->mainText->setText( message.arg( *Calamares::Branding::VersionedName ) ); + ui->retranslateUi( this ); + ui->supportButton->setText( tr( "%1 support" ).arg( *Calamares::Branding::ShortProductName ) ); +} + +void +WelcomePage::showAboutBox() +{ + QString title + = Calamares::Settings::instance()->isSetupMode() ? tr( "About %1 setup" ) : tr( "About %1 installer" ); + QMessageBox mb( QMessageBox::Information, + title.arg( CALAMARES_APPLICATION_NAME ), + tr( "

%1


" + "%2
" + "for %3


" + "Copyright 2014-2017 Teo Mrnjavac <teo@kde.org>
" + "Copyright 2017-2019 Adriaan de Groot <groot@kde.org>
" + "Thanks to the Calamares team " + "and the Calamares " + "translators team.

" + "Calamares " + "development is sponsored by
" + "Blue Systems - " + "Liberating Software." ) + .arg( CALAMARES_APPLICATION_NAME ) + .arg( CALAMARES_VERSION ) + .arg( *Calamares::Branding::VersionedName ), + QMessageBox::Ok, + this ); + mb.setIconPixmap( CalamaresUtils::defaultPixmap( + CalamaresUtils::Squid, + CalamaresUtils::Original, + QSize( CalamaresUtils::defaultFontHeight() * 6, CalamaresUtils::defaultFontHeight() * 6 ) ) ); + QGridLayout* layout = reinterpret_cast< QGridLayout* >( mb.layout() ); + if ( layout ) + { + layout->setColumnMinimumWidth( 2, CalamaresUtils::defaultFontHeight() * 24 ); + } + mb.exec(); +} + void LocaleTwoColumnDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const diff --git a/src/modules/welcome/WelcomePage.h b/src/modules/welcome/WelcomePage.h index 3e776a5f0..3e20ab9ea 100644 --- a/src/modules/welcome/WelcomePage.h +++ b/src/modules/welcome/WelcomePage.h @@ -58,6 +58,10 @@ public: /// @brief Change the language from an external source. void externallySelectedLanguage( int row ); +public slots: + void retranslate(); + void showAboutBox(); + protected: void focusInEvent( QFocusEvent* e ) override; //choose the child widget to focus From e3f933259b57183311620dd02966856480213b33 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 14:46:16 +0200 Subject: [PATCH 320/626] CMake: missing return statement should be an error --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 321989ac0..644427d16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,6 +198,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) -Wno-missing-prototypes -Wno-documentation-unknown-command -Wno-unknown-warning-option + -Werror=return-type ) string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" ) endforeach() From f1971eed86ba230fff69c0f3c7b80a2b2e96819e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 14:53:03 +0200 Subject: [PATCH 321/626] [libcalamares] Support calling a slot on retranslation - sometimes a slot is easier than a lambda. Introduce a macro CALAMARES_RETRANSLATE_SLOT that calls a given slot in an object on language change. - extend the retranslator with support for calling slots: - use Qt's signal/slot mechanism alongside the private list of functions to call - provide convenience for obtaining the retranslator of an object. --- src/libcalamares/utils/Retranslator.cpp | 18 ++++++++++-------- src/libcalamares/utils/Retranslator.h | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/libcalamares/utils/Retranslator.cpp b/src/libcalamares/utils/Retranslator.cpp index e154350b9..d761263ac 100644 --- a/src/libcalamares/utils/Retranslator.cpp +++ b/src/libcalamares/utils/Retranslator.cpp @@ -118,8 +118,8 @@ translatorLocaleName() return s_translatorLocaleName; } -void -Retranslator::attachRetranslator( QObject* parent, std::function< void( void ) > retranslateFunc ) +Retranslator* +Retranslator::retranslatorFor( QObject* parent ) { Retranslator* r = nullptr; for ( QObject* child : parent->children() ) @@ -127,16 +127,17 @@ Retranslator::attachRetranslator( QObject* parent, std::function< void( void ) > r = qobject_cast< Retranslator* >( child ); if ( r ) { - break; + return r; } } - if ( !r ) - { - r = new Retranslator( parent ); - } + return new Retranslator( parent ); +} - r->m_retranslateFuncList.append( retranslateFunc ); +void +Retranslator::attachRetranslator( QObject* parent, std::function< void( void ) > retranslateFunc ) +{ + retranslatorFor( parent )->m_retranslateFuncList.append( retranslateFunc ); retranslateFunc(); } @@ -159,6 +160,7 @@ Retranslator::eventFilter( QObject* obj, QEvent* e ) { func(); } + emit languageChange(); } } // pass the event on to the base diff --git a/src/libcalamares/utils/Retranslator.h b/src/libcalamares/utils/Retranslator.h index 32e8dcf41..58c60b761 100644 --- a/src/libcalamares/utils/Retranslator.h +++ b/src/libcalamares/utils/Retranslator.h @@ -46,10 +46,17 @@ class Retranslator : public QObject { Q_OBJECT public: + /// @brief Call @p retranslateFunc when the language changes static void attachRetranslator( QObject* parent, std::function< void( void ) > retranslateFunc ); + /// @brief What retranslator belongs to @p parent (may create one) + static Retranslator* retranslatorFor( QObject* parent ); + /// @brief Call @p retranslateFunc when the language changes void addRetranslateFunc( std::function< void( void ) > retranslateFunc ); +signals: + void languageChange(); + protected: bool eventFilter( QObject* obj, QEvent* e ) override; @@ -65,5 +72,12 @@ private: #define CALAMARES_RETRANSLATE( body ) CalamaresUtils::Retranslator::attachRetranslator( this, [=] { body } ); #define CALAMARES_RETRANSLATE_WIDGET( widget, body ) \ CalamaresUtils::Retranslator::attachRetranslator( widget, [=] { body } ); +#define CALAMARES_RETRANSLATE_SLOT( slotfunc ) \ + { \ + this->connect( CalamaresUtils::Retranslator::retranslatorFor( this ), \ + &CalamaresUtils::Retranslator::languageChange, \ + this, \ + slotfunc ); \ + } #endif From 1cde8c20dfa4a23b08d21787992b24519a60b295 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 15:01:41 +0200 Subject: [PATCH 322/626] [libcalamaresui] Simplify retranslation - Use any object method to connect() to --- src/libcalamaresui/ViewManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 48c71a7ac..8fb832369 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -112,7 +112,7 @@ ViewManager::ViewManager( QObject* parent ) m_next = makeButton( m_widget, "go-next" ); m_quit = makeButton( m_widget, "dialog-cancel" ); - CALAMARES_RETRANSLATE( updateButtonLabels(); ) + CALAMARES_RETRANSLATE_SLOT( &ViewManager::updateButtonLabels ) QBoxLayout* bottomLayout = new QHBoxLayout; mainLayout->addLayout( bottomLayout ); From 0aabc894496d40aa013cd98c244fa56ffdf1a5af Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 15:02:12 +0200 Subject: [PATCH 323/626] [partition] [welcome] Simplify retranslation --- src/modules/partition/gui/DeviceInfoWidget.cpp | 2 +- src/modules/welcome/WelcomePage.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/gui/DeviceInfoWidget.cpp b/src/modules/partition/gui/DeviceInfoWidget.cpp index 4d37e3b39..ea318e85c 100644 --- a/src/modules/partition/gui/DeviceInfoWidget.cpp +++ b/src/modules/partition/gui/DeviceInfoWidget.cpp @@ -65,7 +65,7 @@ DeviceInfoWidget::DeviceInfoWidget( QWidget* parent ) m_ptIcon->setPalette( palette ); m_ptLabel->setPalette( palette ); - CALAMARES_RETRANSLATE( retranslateUi(); ) + CALAMARES_RETRANSLATE_SLOT( &DeviceInfoWidget::retranslateUi ) } diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index f46300097..02f91f79f 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -73,7 +73,7 @@ WelcomePage::WelcomePage( QWidget* parent ) cDebug() << "Welcome string" << Calamares::Branding::instance()->welcomeStyleCalamares() << *Calamares::Branding::VersionedName; - CALAMARES_RETRANSLATE( retranslate(); ) + CALAMARES_RETRANSLATE_SLOT( &WelcomePage::retranslate ) ui->aboutButton->setIcon( CalamaresUtils::defaultPixmap( CalamaresUtils::Information, From 61482b38cc5382727ebedae22694851ff5664dd3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 29 Aug 2019 16:28:00 +0200 Subject: [PATCH 324/626] Changes: give credit for this cycle --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES b/CHANGES index 02a7fc4f5..f12963214 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,8 @@ website will have to do for older versions. This release contains contributions from (alphabetically by first name): - Arnaud Ferraris - Arnaud Rebillout + - Bill Auger + - Kevin Kofler ## Core ## From 9053b9cecf900590e81332e6325c9791325fe018 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 30 Aug 2019 06:20:45 -0400 Subject: [PATCH 325/626] [libcalamares] Fix Qt 5.9 compatibility - not really sure why I went for the Qt 5.10 STL-style iterators FIXES #1236 --- src/libcalamares/locale/TranslatableConfiguration.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libcalamares/locale/TranslatableConfiguration.cpp b/src/libcalamares/locale/TranslatableConfiguration.cpp index 7493c836c..bc39c398e 100644 --- a/src/libcalamares/locale/TranslatableConfiguration.cpp +++ b/src/libcalamares/locale/TranslatableConfiguration.cpp @@ -40,9 +40,9 @@ TranslatedString::TranslatedString( const QVariantMap& map, const QString& key ) QString value = CalamaresUtils::getString( map, key ); m_strings[ QString() ] = value; - for ( auto it = map.constKeyValueBegin(); it != map.constKeyValueEnd(); ++it ) + for ( auto it = map.constBegin(); it != map.constEnd(); ++it ) { - QString subkey = ( *it ).first; + QString subkey = it.key(); if ( subkey == key ) { // Already obtained, above @@ -53,7 +53,7 @@ TranslatedString::TranslatedString( const QVariantMap& map, const QString& key ) if ( subkey.indexOf( QRegularExpression( "\\[([a-zA-Z_@]*)\\]" ), 0, &match ) > 0 ) { QString language = match.captured( 1 ); - m_strings[ language ] = ( *it ).second.toString(); + m_strings[ language ] = it.value().toString(); } } } From 66ee6ac6734242b03f001a14f4669c3fe71005ab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 30 Aug 2019 06:35:53 -0400 Subject: [PATCH 326/626] [libcalamares] Fix tests for umask != 022 - My usual test environment has umask set to 022, but on one dev box it is 002, leading to test failures (which show the test was bad, not that the umask-setting code is bad) --- src/libcalamares/utils/Tests.cpp | 4 +++- src/libcalamares/utils/UMask.h | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/utils/Tests.cpp b/src/libcalamares/utils/Tests.cpp index 0f7d6cd81..97edd0bc4 100644 --- a/src/libcalamares/utils/Tests.cpp +++ b/src/libcalamares/utils/Tests.cpp @@ -155,8 +155,10 @@ LibCalamaresTests::testUmask() QTemporaryFile ft; QVERIFY( ft.open() ); + // m gets the previous value of the mask (depends on the environment the + // test is run in, might be 002, might be 077), .. mode_t m = CalamaresUtils::setUMask( 022 ); - QCOMPARE( CalamaresUtils::setUMask( m ), m ); + QCOMPARE( CalamaresUtils::setUMask( m ), 022 ); // But now most recently set was 022 for ( mode_t i = 0; i <= 0777 /* octal! */; ++i ) { diff --git a/src/libcalamares/utils/UMask.h b/src/libcalamares/utils/UMask.h index 58b1a56ad..752c8b066 100644 --- a/src/libcalamares/utils/UMask.h +++ b/src/libcalamares/utils/UMask.h @@ -25,7 +25,10 @@ namespace CalamaresUtils { -/// @brief Wrapper for umask(2) +/** @brief Wrapper for umask(2) + * + * Like umask(2), sets the umask and returns the previous value of the mask. + */ DLLEXPORT mode_t setUMask( mode_t u ); /** @brief RAII for setting and re-setting umask. From f156a683a81e7775ad6a573f76cbb243eb2ad6d6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 30 Aug 2019 06:41:48 -0400 Subject: [PATCH 327/626] Changes: pre-release housekeeping --- CHANGES | 4 +++- CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index f12963214..3921b21e2 100644 --- a/CHANGES +++ b/CHANGES @@ -3,7 +3,8 @@ 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.13 (unreleased) # + +# 3.2.13 (2019-08-30) # This release contains contributions from (alphabetically by first name): - Arnaud Ferraris @@ -39,6 +40,7 @@ This release contains contributions from (alphabetically by first name): - The *welcome* module can have URLs for the various buttons configured directly in the module configuration (rather than in `branding.desc`). + # 3.2.12 (2019-08-07) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index 644427d16..f48dda135 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ project( CALAMARES VERSION 3.2.13 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 64a5a30199c1261bd9421c3cc6ffd3e27f0d68cf Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 30 Aug 2019 13:17:14 +0200 Subject: [PATCH 328/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_be.ts | 64 ++++++++++++++++++++--------------------- lang/calamares_it_IT.ts | 46 ++++++++++++++--------------- lang/calamares_pt_PT.ts | 8 +++--- lang/calamares_ru.ts | 2 +- 4 files changed, 60 insertions(+), 60 deletions(-) diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 543313cfc..71b4c9da1 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -22,27 +22,27 @@ Master Boot Record of %1 - + Галоўны загрузачны запіс %1 Boot Partition - + Загрузачны раздзел System Partition - + Сістэмны раздзел Do not install a boot loader - + Не ўсталёўваць загрузчык %1 (%2) - + %1 (%2) @@ -50,7 +50,7 @@ Blank Page - + Пустая старонка @@ -58,58 +58,58 @@ Form - + Форма GlobalStorage - + Глабальнае сховішча JobQueue - + Чарга задач Modules - + Модулі Type: - + Тып: none - + няма Interface: - + Інтэрфейс: Tools - + Інструменты Reload Stylesheet - + Перазагрузіць табліцу стыляў Widget Tree - + Дрэва віджэтаў Debug information - + Адладачная інфармацыя @@ -117,12 +117,12 @@ Set up - + Наладзіць Install - + Усталяваць @@ -130,7 +130,7 @@ Job failed (%1) - + Задача схібіла (%1) @@ -432,7 +432,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -1035,7 +1035,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -1101,7 +1101,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -1375,7 +1375,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -1869,7 +1869,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -1887,7 +1887,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -2024,7 +2024,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -2224,7 +2224,7 @@ The installer will quit and all changes will be lost. Form - + Форма @@ -2381,7 +2381,7 @@ Output: %1 (%2) language[name] (country[name]) - + %1 (%2) @@ -2408,7 +2408,7 @@ Output: Form - + Форма @@ -2969,7 +2969,7 @@ Output: Form - + Форма @@ -3125,7 +3125,7 @@ Output: Form - + Форма diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index e55ebf7dd..37ed30e6c 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -117,7 +117,7 @@ Set up - + Installazione @@ -159,12 +159,12 @@ Run command '%1' in target system. - + Esegui il comando '%1' sul sistema di destinazione Run command '%1'. - + Esegui il comando '1%' @@ -243,7 +243,7 @@ Cancel setup without changing the system. - + Annulla l'installazione senza modificare il computer @@ -253,7 +253,7 @@ Setup Failed - + Installazione fallita @@ -273,22 +273,22 @@ Continue with installation? - + Continuare l'installazione? The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + Il %1 programma di installazione sta per fare dei cambiamenti sul tuo disco per installare %2. Non sarà possibile annullare questi cambiamenti. &Set up now - + &Installa adesso &Set up - + &Installazione @@ -298,12 +298,12 @@ Setup is complete. Close the setup program. - + Installazione completata. Chiudere il programma di installazione. Cancel setup? - + Annullare l'installazione? @@ -314,7 +314,7 @@ Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Vuoi davvero annullare il processo di installazione? Il programma di installazione verrrà terminato e tutti i cambiamenti verranno persi. @@ -407,7 +407,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno %1 Setup Program - + %1 Programma di installazione @@ -476,7 +476,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + %1 sarà ridotta a %2MiB ed una nuova partizione di %3MiB sarà creata per %4 @@ -719,7 +719,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Create new %2MiB partition on %4 (%3) with file system %1. - + Crea una nuova partizione da %2MiB su %4 (%3) con file system %1 @@ -1155,7 +1155,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Setup Complete - + Installazione completata @@ -1165,7 +1165,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The setup of %1 is complete. - + L'installazione di %1 è completa @@ -1201,22 +1201,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno has at least %1 GiB available drive space - + ha almeno %1 GiB di spazio disponibile There is not enough drive space. At least %1 GiB is required. - + Non c'è abbastanza spazio sul disco. E' richiesto almeno %1 GiB has at least %1 GiB working memory - + ha almeno %1 GiB di memoria The system does not have enough working memory. At least %1 GiB is required. - + Il sistema non ha abbastanza memoria. E' richiesto almeno %1 GiB @@ -1241,7 +1241,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The setup program is not running with administrator rights. - + Il programma di installazione non è stato lanciato con i permessi di amministratore. @@ -1251,7 +1251,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The screen is too small to display the setup program. - + Lo schermo è troppo piccolo per mostrare il programma di installazione diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index a727717d2..c8d680dda 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -1299,7 +1299,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Creating initramfs. - + A criar o initramfs. @@ -1530,20 +1530,20 @@ O instalador será encerrado e todas as alterações serão perdidas. Configuring LUKS key file. - + A configurar o ficheiro chave do LUKS. No partitions are defined. - + Nenhuma partição é definida. Encrypted rootfs setup error - + Erro de configuração do rootfs criptografado diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 92533e925..b61661e1a 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -3155,7 +3155,7 @@ Output: &About - + &О программе From 36d64b094411570298ae5e041b89962cc6af9d55 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 30 Aug 2019 13:17:14 +0200 Subject: [PATCH 329/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/be/LC_MESSAGES/python.mo | Bin 521 -> 9733 bytes lang/python/be/LC_MESSAGES/python.po | 155 +++++++++++++----------- lang/python/es/LC_MESSAGES/python.mo | Bin 2843 -> 2859 bytes lang/python/es/LC_MESSAGES/python.po | 4 +- lang/python/pt_PT/LC_MESSAGES/python.mo | Bin 7452 -> 8279 bytes lang/python/pt_PT/LC_MESSAGES/python.po | 24 ++-- 6 files changed, 98 insertions(+), 85 deletions(-) diff --git a/lang/python/be/LC_MESSAGES/python.mo b/lang/python/be/LC_MESSAGES/python.mo index f068d4290b64b3dbe75ebb3b228d7a407a95a433..475d252c597b0c1a4227f0940f3f6004394b6eed 100644 GIT binary patch literal 9733 zcmcJTTWlQF8OMh-loARB+9u^vdI$~Jko6@AkT|v>_XZLYC58Z^YA3s6d-3kfc4jt? zYtrT(DhCWzaasg{7JA{O4Y}av+N!9kR8(p9xe^i-stO+ZQ1O6x>F+ydW_Q+JI|;NS zkN-O}-}%mWzWX_EUpwk+^RL0{!M}nF z!S}(hf!AGTS&P60G4_G-{ROZUjKHsg))y>mF)$mv1>69B6AZxHz@Ns?e+0kG^ZVeJ zz>mS}z{@W;^W6f99G#%>*#h1G4uiA7L*Q4y--2_%H^Fa!e+TD-pMckZO|uML2e^sn z4WO*^7ohO_GbrQV0fpbkpvZOA6=wWg@M@kHfwKNppvd!mP}X%Aly$uc%J>h#uY=YX zEo&)o6L>TDD0nCM1StAB3f=*J2nxSBS6WsZxD*t=1yJ}r3yOTd18)NV62Jc^*va$E zt1Rm=a2Y7`9|kkvF>nL;4!9m{N6F3L55b4Q*TCc`;7VzI-3%CX$ir_X-{ore$*yAH`0r)M9 zS^$T^wcx+N`@jV(UgX~a%JW;G=zBI!$)DBDzgxjApy=%fpnQJ?6n(t~wt^pk;$PSE zPu?#A#lJR#Lhpi`!Lj)L2OvYNOCdS{-UL1h{t8?UUV`&11XqF*U)#YZ@HtTAI0wo+ z{{T;bGa%{!e-ADN{{wb|tr%Ixx!~>KA@C9KPoU`aMwrNaA^06|9F*~MaQ1J5o5450 z*FkyTuPmzzd=*>*z6*AOH{yiiZ;yawa3A;-_z8%rtsfB-V$YYs$H0$3vC}4;a}{_P z+y%Y|4uZWb@^0{LP~vR%Jj?0>n?SMGGoaYzZSWFs2KP#Cx$fb3tYX$%BESt>{N|BiAYe z7Ghi1auc5V5+4=&iBE{#<-)Zs(uKZIi?uBNodFkfOS~G3yVN z!h~;aMxk+B{gFTl2JKS)w>;+a?P70G|GMB2i_V0X#Q~wtmhv9NzJvS2yvjfg<`F*U z+u3s1Vy(;vrGh=AineR_ITF07m{Egvz`(3mEESy4u~wFg#UWK13i~}*J??E~c=`I;N&uFZol1uI5anc)&{%o9go&EbZ4+ufLM#(q0na zzXc~7Vr0p|VuY9?aU)Vmx!~xr=gHX2T@yvwct*~_ZDQ7)CEw{5rF6E+FY&2zVEF3H zpJtv9R9}9Z<7%0v8o1H-vQ7{f4QMY5RMWhstf&Rcw5oYcp@-8o=bEieCi4|wDzo}Z zr@T1z8Xqz=!mZBcdZfIaZ1Gfjn%YX6?QJsJb;3c(pIsuGzxzurk7o;LAE+q;*>q3gneVoAahpe7S9uTMk zzALm&u@nv|+@$O#mWAzBFYNCtcw6m400#+Fn^aNnMJ1(5fd9V~8djTXNFaV93p?UQ@qx zolLj1bhD(7$MN~h+Fa%##}80`huXMo#r@0HtWpoH+O&D?h6iSCa>VO0>w~_0F0;Jc z7i4<84mE4zhRh~sTVBRwR#J01)PlD5yEAQzGi^&$dt1lCMR&Au&01#%VW!8o-JoC- z8XfA|-|w6+co4z|!qxIw+Y8+B|Fh+V!hy z3vF*{n?<`5IxYeZl~_UOY!6$h40(4cn*rMooUrS`p4FMfH9DE9*YPu}Xd`mir$a5? znh&dzcBrk+tc?Yl^g?E}=NE$x<(Bkg(6wl(GC#YT+@9Fj&~UbXL5xnR1g9{UJIM9Z&X1(b39iWoLA@vZr#mva2$xqHz_Siq1vH zp*o{9@tMjYx>#^vF(l5rL7>`aM_Yo`M3#}Of`Cg_v#-bTq*4+#!O<8VHQNGF)*+bMbs_q~gh&74dd4!sdmsTH!5cQ!J+`w4iX_PyLi%c(_YP4Lj z(*zx-7d)L4h`z-UPRF)Mk4rhixWYTM8=wm9v-M6;t?~`c5qr!S%;UxGWy+J$Y3=h3 z9C%E2v<+8kro9+W(%Jv7Sj7hu4LsyiEK!fJ9dLEUKwINi^@($;{-vBavh` zvjtBrLFlWS=*gTUk4VsvE-Qy8eNJ!5qo0#xCAN05NYX4>u*z4;Lb5fVFn4quId@Sg zPLs$^>bMd)rC#XlD$YM9B1m2%v5GsA7n$Wrei4S1QN%jLZ^^6&pi6Jw`SiR_rKjp% zORJ3>Q|0M#EyhWb_I|2XlG$aWPZpMXVFcI@15Kf8pHvvMBq~7U5wf__>eyup7KvMP zJvHG}V0t;?v@f&hoMn_qYN(YskwU~Gt!TMP<68ff(P>y~)r!`Qb(55cz~?APvcz$7 z#Go|`nIs{pM)F@(;$#9D*{rgUVupOXjC-T;9(8vldZ1Nm6=)8@tKLI zVf-rMoiA6LGZkYFNzSxj(FrR$?@)d0qR(SK#n|{Xrt$C>wBA#VmUxPGB{Uv4Q=+%H z8L6Jh7&)YUOu2DC_zky5Eqj%^ahI>M$AfeI>=s<3ZbV(N%e6m)qV0=9~r9QQ6CXa z4x=5Ad?nUkwbFsaej`?h6_ zhY)Z%r?;ediq3VsGT{{Kq5c#R8cF}KNjBjlsl6BSR5#&TM^ql^J8N6;>bi6crX*lZ zqe<6p2I=s_sbV=MA35SR@wZ7Qj)|D@P8G3|lLF>_hOctGP(9qxtyEfzS{M>B>Wa4> zQd6Z@Ho?*Ge9}1CIMF!D9)k2P!58oC5n$q3B|Y)vQY-Nyr$A@xTyw$^W+QuE1UKD~ R)%J0|KI5!Eej4Uz^S?0hvz!0` delta 70 zcmZqm>146EC&V(90SFj@SO$nyfS4JGb$}QIEP(htP|^}egVeylWKF@e&8G#k837pU B2mk;8 diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index ccb6d0192..5baed9bac 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -3,6 +3,9 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# Translators: +# Zmicer Turok , 2019 +# #, fuzzy msgid "" msgstr "" @@ -10,6 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" +"Last-Translator: Zmicer Turok , 2019\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,11 +23,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:150 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -35,164 +39,170 @@ msgstr "" #: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "" +msgstr "Памылка канфігурацыі" #: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 #: 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:313 msgid "No partitions are defined for
{!s}
to use." -msgstr "" +msgstr "Раздзелы для
{!s}
не вызначаныя." #: 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 "" "systemctl {arg!s} call in chroot returned error code {num!s}." -msgstr "" +msgstr "systemctl {arg!s} у chroot вярнуў код памылкі {num!s}." #: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:76 msgid "Cannot enable systemd service {name!s}." -msgstr "" +msgstr "Немагчыма ўключыць службу systemd {name!s}." #: src/modules/services-systemd/main.py:74 msgid "Cannot enable systemd target {name!s}." -msgstr "" +msgstr "Немагчыма ўключыць мэту systemd {name!s}." #: src/modules/services-systemd/main.py:78 msgid "Cannot disable systemd target {name!s}." -msgstr "" +msgstr "Немагчыма выключыць мэту systemd {name!s}." #: src/modules/services-systemd/main.py:80 msgid "Cannot mask systemd unit {name!s}." -msgstr "" +msgstr "Немагчыма замаскаваць юніт systemd {name!s}. " #: src/modules/services-systemd/main.py:82 msgid "" "Unknown systemd commands {command!s} and " "{suffix!s} for unit {name!s}." msgstr "" +"Невядомыя systemd загады {command!s} і {suffix!s} " +"для юніта {name!s}." #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "" +msgstr "Адмантаваць файлавыя сістэмы." #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "" +msgstr "Запаўненне файлавых сістэм." #: src/modules/unpackfs/main.py:159 msgid "rsync failed with error code {}." -msgstr "" +msgstr "памылка rsync з кодам {}." #: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 msgid "Failed to unpack image \"{}\"" -msgstr "" +msgstr "Не атрымалася распакаваць вобраз \"{}\"" #: src/modules/unpackfs/main.py:221 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" +"Не атрымалася знайсці unsquashfs, праверце ці ўсталяваны ў вас пакунак " +"squashfs-tools" #: src/modules/unpackfs/main.py:320 msgid "No mount point for root partition" -msgstr "" +msgstr "Для каранёвага раздзела няма пункта мантавання" #: src/modules/unpackfs/main.py:321 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -msgstr "" +msgstr "globalstorage не змяшчае ключа \"rootMountPoint\", нічога не выконваецца" #: src/modules/unpackfs/main.py:326 msgid "Bad mount point for root partition" -msgstr "" +msgstr "Хібны пункт мантавання для каранёвага раздзела" #: src/modules/unpackfs/main.py:327 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" -msgstr "" +msgstr "rootMountPoint \"{}\" не існуе, нічога не выконваецца" #: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 #: src/modules/unpackfs/main.py:352 msgid "Bad unsquash configuration" -msgstr "" +msgstr "Хібная канфігурацыя unsquash" #: src/modules/unpackfs/main.py:341 msgid "The filesystem for \"{}\" ({}) is not supported" -msgstr "" +msgstr "Файлавая сістэма для \"{}\" ({}) не падтрымліваецца" #: src/modules/unpackfs/main.py:348 msgid "The source filesystem \"{}\" does not exist" -msgstr "" +msgstr "Зыходная файлавая сістэма \"{}\" не існуе" #: src/modules/unpackfs/main.py:353 msgid "The destination \"{}\" in the target system is not a directory" -msgstr "" +msgstr "Пункт прызначэння \"{}\" у мэтавай сістэме не з’яўляецца каталогам" #: src/modules/displaymanager/main.py:381 msgid "Cannot write KDM configuration file" -msgstr "" +msgstr "Немагчыма запісаць файл канфігурацыі KDM" #: src/modules/displaymanager/main.py:382 msgid "KDM config file {!s} does not exist" -msgstr "" +msgstr "Файл канфігурацыі KDM {!s} не існуе" #: src/modules/displaymanager/main.py:443 msgid "Cannot write LXDM configuration file" -msgstr "" +msgstr "Немагчыма запісаць файл канфігурацыі LXDM" #: src/modules/displaymanager/main.py:444 msgid "LXDM config file {!s} does not exist" -msgstr "" +msgstr "Файл канфігурацыі LXDM {!s} не існуе" #: src/modules/displaymanager/main.py:527 msgid "Cannot write LightDM configuration file" -msgstr "" +msgstr "Немагчыма запісаць файл канфігурацыі LightDM" #: src/modules/displaymanager/main.py:528 msgid "LightDM config file {!s} does not exist" -msgstr "" +msgstr "Файл канфігурацыі LightDM {!s} не існуе" #: src/modules/displaymanager/main.py:602 msgid "Cannot configure LightDM" -msgstr "" +msgstr "Немагчыма наладзіць LightDM" #: src/modules/displaymanager/main.py:603 msgid "No LightDM greeter installed." -msgstr "" +msgstr "LightDM greeter не ўсталяваны." #: src/modules/displaymanager/main.py:634 msgid "Cannot write SLIM configuration file" -msgstr "" +msgstr "Немагчыма запісаць файл канфігурацыі SLIM" #: src/modules/displaymanager/main.py:635 msgid "SLIM config file {!s} does not exist" -msgstr "" +msgstr "Файл канфігурацыі SLIM {!s} не існуе" #: src/modules/displaymanager/main.py:750 msgid "No display managers selected for the displaymanager module." -msgstr "" +msgstr "У модулі дысплейных кіраўнікоў нічога не абрана." #: src/modules/displaymanager/main.py:751 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" +"Спіс дысплейных кіраўнікоў пусты альбо не вызначаны ў bothglobalstorage і " +"displaymanager.conf." #: src/modules/displaymanager/main.py:831 msgid "Display manager configuration was incomplete" -msgstr "" +msgstr "Наладка дысплейнага кіраўніка не завершаная." #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." -msgstr "" +msgstr "Наладка mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 @@ -200,142 +210,145 @@ msgstr "" #: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 #: src/modules/localecfg/main.py:145 src/modules/networkcfg/main.py:49 msgid "No root mount point is given for
{!s}
to use." -msgstr "" +msgstr "Каранёвы пункт мантавання для
{!s}
не пададзены." #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." -msgstr "" +msgstr "Наладка зашыфраванага swap." #: 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 "Не атрымалася выдаліць службу {name!s} з узроўня запуску {level!s}." #: src/modules/services-openrc/main.py:70 msgid "" "Unknown service-action {arg!s} for service {name!s} in run-" "level {level!s}." msgstr "" +"Невядомае дзеянне {arg!s} для службы {name!s} на ўзроўні " +"запуску {level!s}." #: src/modules/services-openrc/main.py:103 msgid "" "rc-update {arg!s} call in chroot returned error code {num!s}." msgstr "" +"rc-update {arg!s} пад chroot вярнуўся з кодам памылкі {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 {path!s}, which does not " "exist." -msgstr "" +msgstr "Шлях {path!s} да ўзроўня запуску {level!s} не існуе." #: 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 {path!s}, which does not " "exist." -msgstr "" +msgstr "Шлях {path!s} да службы {level!s} не існуе." #: src/modules/plymouthcfg/main.py:36 msgid "Configure Plymouth theme" -msgstr "" +msgstr "Наладзіць тэму Plymouth" #: src/modules/machineid/main.py:36 msgid "Generate machine-id." -msgstr "" +msgstr "Стварыць machine-id." #: src/modules/packages/main.py:62 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" +msgstr "Апрацоўка пакункаў (%(count)d / %(total)d)" #: src/modules/packages/main.py:64 src/modules/packages/main.py:74 msgid "Install packages." -msgstr "" +msgstr "Усталяваць пакункі." #: src/modules/packages/main.py:67 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "Усталёўка аднаго пакунка." +msgstr[1] "Усталёўка %(num)d пакункаў." +msgstr[2] "Усталёўка %(num)d пакункаў." +msgstr[3] "Усталёўка%(num)d пакункаў." #: src/modules/packages/main.py:70 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "Выдаленне аднаго пакунка." +msgstr[1] "Выдаленне %(num)d пакункаў." +msgstr[2] "Выдаленне %(num)d пакункаў." +msgstr[3] "Выдаленне %(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 "Выдаліць часовага карыстальніка з мэтавай сістэмы" #: 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 "Стварэнне initramfs з dracut." #: 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 "Наладка initramfs." #: 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." -msgstr "" +msgstr "Задача Dummy python." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Крок Dummy python {}" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "" +msgstr "Наладка лакаляў." #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "Захаванне сеткавай канфігурацыі." diff --git a/lang/python/es/LC_MESSAGES/python.mo b/lang/python/es/LC_MESSAGES/python.mo index 5f74bc29cc845780a7c2148b5a96f5b5463d32b5..5dac1ae94ccc53b74623c5890c2aaeed08740a40 100644 GIT binary patch delta 232 zcmXZWu?qnK7zOZm<&JYE!->IBhSRYSMM`8cFfyqtM+%oiGRbVQSg;w5xBDY37Q2LFudiP3JE>Q7|J=+3U?~D|051thQppb#s7{NtM=SI|OY}}P8VUeqnxRoTq%pds zU3#Wz`lTtV$v~JkXr6XtRFPxY@!)x*-r$F}s2&6ix}sj;^7lc#2NcCU3T267Rd}9?8wp7Cao4Ce0UNMVbY+yPnC2@c$ zoZ%2RSi~0=Fy=^ctY8_tj#?@amK;J)7!E!$z=SLLIL5HB`+LLifscFH8~upgnaroT JUi)nM<`3tB8fE|h diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 583b3adf0..928549662 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -7,7 +7,7 @@ # strel, 2018 # Francisco Sánchez López de Lerma , 2018 # Guido Grasso , 2018 -# Fito JB, 2019 +# Adolfo Jayme-Barrientos, 2019 # #, fuzzy msgid "" @@ -16,7 +16,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-07-06 01:16+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Fito JB, 2019\n" +"Last-Translator: Adolfo Jayme-Barrientos, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.mo b/lang/python/pt_PT/LC_MESSAGES/python.mo index 60d342d6e242279944db636a824f390eb2f137f6..9ac0dcef1b3c827d0b68611855a030211d1bf8a5 100644 GIT binary patch delta 2173 zcmY+^TWB0r7{Kw9OWVZU6LW1EkFBP$#%-G>+9pvO(=-@}(WDXydFZ%1yO}nbNoOZX zbCG>fP$+^7wmyUsloBh{qKi-;#FkZpLO~HJ;sr{nJ_Pi^r=So1zmtvC180A8W@paj zJKve*&Ra)Qzf|VGttkD}M(T-Nr7S#`&kv=1yHW#Kk#!t*(_X~}{2CA8U97|U9ZI!h zTh;{1|I4@^zrku$1xg)ODy3?;*h6~=AHpQ=#dosp>sUqmE|%d2)?;De=74)pCen@4 z&nWK1MXbRKct3uKwV1&N@JDQAeDxO>72IgKZ}Y)U9Hu>lveI`^I{Xr)gWD(_ZlFx8 zv}p7F-B?b$9VG&NC=*&hS=dFCg=J9QU&mdHuT-&8UC@LN;uv<|5)vZyF+PgxC>_?8 zD0Kk4P&%H(UHBHt1g~Nfu4V84iruvHOO+bO9+U}O#MEP4q`4Tv+c<~^iSr|v!k6$e zp2S?1Cwmt~9#!*r3|~iCz)jRxNI1{uD76nqY2T>aw4QM7qkRS?qRUmpUqXG28_ih6 zwED3PpTPx`0Y1ayn9Jz0;%D)Bbnys&j-9xHPhvY8FKr(s2d?nL9Ml&m1K-N}XASX} ztS=*OvNx?Ldwv2X$>z|6Hru|6vPEB^46u&OO*NDHjIFxxMSKAt##NN(Z)V$npyXOL zoy$0TQ(VZ6fvn?rkhY8MxPl${Js!p)Qe6f*h7lY?*}6AyKmLHS*M%&z509hd&N-Cl zuc18m8%n>aT9z+KHHb3PGblL`X4^NgllC2qV-w+E4D}ke;R=r7cPP0NA@k(@C3Nuv zJcad~IgPKPoSI9>7N^vwT*yrRM%mjotyB)?Qf2R@JWYL^${42f@+OI-J2W(HyTiRY zHWl^frvsg|{aGh!M^vxp#+}5B@3;wVyXH?jrjv8lbR>MUps%Udx2-__bX+I!t*LlY z&pE+_j`>z}CJ4VRNZ0u@ZnmjCR|gZe4lF-m2kH63-*XzD^R(}Ifu8ba+(1uz4!=%P zC!AT^4F`%c9V6DP^zYiioadj`(d>j6)pH|i#172x6P6#FvwT}eC%x$DNLXC_Q@MTC z33xtc>p3f_7hg%=DPGGd8TB3WMm!lThu=d0It+GlN| zWcmNz)h_?rNhX*cu35|tPuA5}nDAsS>$vB;cGQV^;YW2p_xI?;3~T0H>t0OE@N}Sk zJI3bqa2aP~q<`O@%%l?z-Ftc~SP?Z8UazVNFV&C8OPd3G+GP!z0cWOk%<=6YllC1i vtZX<{7tN$&PC}-rlUC+R%wkfGM0UO*FSj}=BihNRZ_nB?q=|62)VT5w;4fmj delta 1474 zcmYM!TSyd97{Kw*)x6~`%}eU$R+i=^Gqt=G716~~OU=Y2-0qsWAtvF2`x4nhR5T_% zNJ)Z_p%hE_Py{B?LxhEqV4#Q*h7UbNloiqcn;q$}Grx0YXXc#qo$t)V_MSrbRHWZ+ zp={$w1MbTJ4`0McW=I5{}up0(YQxcocOYtr&wha5?s4EI!2y9LHrS zLEir(v4Z|3g-Qa~+fg6rwr&_g?RXUR!3m7OFQ_y8g*x!8VDG>yQ3rkrbpX9+$0t~X zdjQ=!vaeJem`;4VeMAo65!$m%S1n@tX=tEE>N!^6B(B5ENRd5Q zg*&kawS#Hgjmd;jCv*-E;!P~TnJD64NF{-IZN+NTb{Fbejv?=m&!`I?QjZD zV-%^r3EQz22eA|b36DNkjm>x&8}S<^;W5IcOVfec&j{+0xPMS#$%Py;i;Xj5G80jg zk_nq-i)A5_$mXndW*QX-hel0jriFYn3p>u-QMxNMI>qMI|EE;l|MYKe4?iT~&7w=9 zvo7G!50lPJN2}XUi-t}!TqB{g@#WB>xuOZFMYrx^(OpCU%_R=AE@oho?Dw`bN%+nP zA2qY+zFjPAbMp(g8QB~?Tvl+?KWdLsrMgA7@tA_ diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index dcefb6c66..b5ba4bfc4 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -93,7 +93,7 @@ msgstr "" #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "Desmontar sistemas de ficheiro." +msgstr "Desmontar sistemas de ficheiros." #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." @@ -146,7 +146,7 @@ msgstr "O sistema de ficheiros fonte \"{}\" não existe" #: src/modules/unpackfs/main.py:353 msgid "The destination \"{}\" in the target system is not a directory" -msgstr "O destino \"{}\" no sistema alvo não é uma diretoria" +msgstr "O destino \"{}\" no sistema de destino não é um diretório" #: src/modules/displaymanager/main.py:381 msgid "Cannot write KDM configuration file" @@ -215,11 +215,11 @@ msgstr "A configurar o mkintcpio." #: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 #: src/modules/localecfg/main.py:145 src/modules/networkcfg/main.py:49 msgid "No root mount point is given for
{!s}
to use." -msgstr "" +msgstr "Nenhum ponto de montagem root é fornecido para
{!s}
usar." #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." -msgstr "" +msgstr "Configurando a swap criptografada." #: src/modules/rawfs/main.py:35 msgid "Installing data." @@ -318,19 +318,19 @@ msgstr "Remover utilizador ativo do sistema de destino" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." -msgstr "" +msgstr "A definir o relógio do hardware." #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." -msgstr "" +msgstr "Criando o initramfs com o dracut." #: src/modules/dracut/main.py:58 msgid "Failed to run dracut on the target" -msgstr "" +msgstr "Falha ao executar o dracut no destino" #: src/modules/dracut/main.py:59 msgid "The exit code was {}" -msgstr "" +msgstr "O código de saída foi {}" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." @@ -338,11 +338,11 @@ msgstr "A configurar o initramfs." #: src/modules/openrcdmcryptcfg/main.py:34 msgid "Configuring OpenRC dmcrypt service." -msgstr "" +msgstr "A configurar o serviço OpenRC dmcrypt." #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "" +msgstr "A escrever o fstab." #: src/modules/dummypython/main.py:44 msgid "Dummy python job." @@ -354,8 +354,8 @@ msgstr "Passo Dummy python {}" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "A configurar o local." +msgstr "A configurar a localização." #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "A guardar a configuração de rede." From c9ab0524e226a99e78589f8a0ac9a9100305e36a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 30 Aug 2019 13:38:00 +0200 Subject: [PATCH 330/626] Changes: post-release housekeeping --- CHANGES | 9 +++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 3921b21e2..ad985b1e4 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,15 @@ changelog -- this log starts with version 3.2.0. The release notes on the website will have to do for older versions. +# 3.2.14 (unreleased) # + +This release contains contributions from (alphabetically by first name): + +## Core ## + +## Modules ## + + # 3.2.13 (2019-08-30) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index f48dda135..46acedaf9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.13 + VERSION 3.2.14 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 1513934a57f68db1dd964ae23a4bc33022762d86 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Wed, 28 Aug 2019 11:14:00 -0400 Subject: [PATCH 331/626] add checkbox to disable password validations --- src/modules/users/UsersPage.cpp | 68 ++++++++++++++++++++--------- src/modules/users/UsersPage.h | 2 + src/modules/users/UsersViewStep.cpp | 12 +++++ src/modules/users/page_usersetup.ui | 7 +++ src/modules/users/users.conf | 13 +++++- 5 files changed, 80 insertions(+), 22 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 62292b76c..82568f81a 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -88,6 +88,13 @@ UsersPage::UsersPage( QWidget* parent ) this, &UsersPage::onRootPasswordTextChanged ); connect( ui->textBoxVerifiedRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); + connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, + this, [this]( int checked ) + { + onPasswordTextChanged( ui->textBoxUserPassword->text() ); + onRootPasswordTextChanged( ui->textBoxRootPassword->text() ); + checkReady( isReady() ); + } ); connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, this, [this]( int checked ) { @@ -105,6 +112,8 @@ UsersPage::UsersPage( QWidget* parent ) setWriteRootPassword( true ); ui->checkBoxReusePassword->setChecked( true ); + ui->checkBoxValidatePassword->setChecked( true ); + ui->checkBoxValidatePassword->setVisible( false ); // Don't expand the explanations to "stupid wide", but keep them vaguely as-wide-as // the things they are explaining. @@ -387,6 +396,7 @@ UsersPage::onPasswordTextChanged( const QString& ) { QString pw1 = ui->textBoxUserPassword->text(); QString pw2 = ui->textBoxUserVerifiedPassword->text(); + m_readyPassword = true; // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) @@ -403,23 +413,24 @@ UsersPage::onPasswordTextChanged( const QString& ) } else { - bool ok = true; - for ( auto pc : m_passwordChecks ) + if ( ui->checkBoxValidatePassword->isChecked() ) { - QString s = pc.filter( pw1 ); - if ( !s.isEmpty() ) + for ( auto pc : m_passwordChecks ) { - labelError( ui->labelUserPassword, ui->labelUserPasswordError, s ); - ok = false; - m_readyPassword = false; - break; + QString s = pc.filter( pw1 ); + + if ( !s.isEmpty() ) + { + labelError( ui->labelUserPassword, ui->labelUserPasswordError, s ); + m_readyPassword = false; + break; + } } } - if ( ok ) + if ( m_readyPassword ) { labelOk( ui->labelUserPassword, ui->labelUserPasswordError ); - m_readyPassword = true; } } @@ -431,6 +442,7 @@ UsersPage::onRootPasswordTextChanged( const QString& ) { QString pw1 = ui->textBoxRootPassword->text(); QString pw2 = ui->textBoxVerifiedRootPassword->text(); + m_readyRootPassword = true; // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) @@ -447,23 +459,24 @@ UsersPage::onRootPasswordTextChanged( const QString& ) } else { - bool ok = true; - for ( auto pc : m_passwordChecks ) + if ( ui->checkBoxValidatePassword->isChecked() ) { - QString s = pc.filter( pw1 ); - if ( !s.isEmpty() ) + for ( auto pc : m_passwordChecks ) { - labelError( ui->labelRootPassword, ui->labelRootPasswordError, s ); - ok = false; - m_readyRootPassword = false; - break; + QString s = pc.filter( pw1 ); + + if ( !s.isEmpty() ) + { + labelError( ui->labelRootPassword, ui->labelRootPasswordError, s ); + m_readyRootPassword = false; + break; + } } } - if ( ok ) + if ( m_readyRootPassword ) { labelOk( ui->labelRootPassword, ui->labelRootPasswordError ); - m_readyRootPassword = true; } } @@ -471,6 +484,19 @@ UsersPage::onRootPasswordTextChanged( const QString& ) } +void +UsersPage::setPasswordCheckboxVisible( bool visible ) +{ + ui->checkBoxValidatePassword->setVisible( visible ); +} + +void +UsersPage::setValidatePasswordDefault( bool checked ) +{ + ui->checkBoxValidatePassword->setChecked( checked ); + emit checkReady( isReady() ); +} + void UsersPage::setAutologinDefault( bool checked ) { @@ -501,7 +527,7 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { add_check_libpwquality( m_passwordChecks, value ); } -#endif +#endif // CHECK_PWQUALITY else cWarning() << "Unknown password-check key" << key; } diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index ac1e1f9db..2dbe7aeda 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -48,6 +48,8 @@ public: void onActivate(); void setWriteRootPassword( bool show ); + void setPasswordCheckboxVisible( bool visible ); + void setValidatePasswordDefault( bool checked ); void setAutologinDefault( bool checked ); void setReusePasswordDefault( bool checked ); diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index 4582a9e85..676cb7236 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -173,6 +173,18 @@ UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } } + if ( configurationMap.contains( "allowWeakPasswords" ) && + configurationMap.value( "allowWeakPasswords" ).type() == QVariant::Bool ) + { + m_widget->setPasswordCheckboxVisible( configurationMap.value( "allowWeakPasswords" ).toBool() ); + } + + if ( configurationMap.contains( "doPasswordChecks" ) && + configurationMap.value( "doPasswordChecks" ).type() == QVariant::Bool ) + { + m_widget->setValidatePasswordDefault( configurationMap.value( "doPasswordChecks" ).toBool() ); + } + QString shell( QLatin1Literal( "/bin/bash" ) ); // as if it's not set at all if ( configurationMap.contains( "userShell" ) ) shell = CalamaresUtils::getString( configurationMap, "userShell" ); diff --git a/src/modules/users/page_usersetup.ui b/src/modules/users/page_usersetup.ui index c93912c01..ae74255c2 100644 --- a/src/modules/users/page_usersetup.ui +++ b/src/modules/users/page_usersetup.ui @@ -460,6 +460,13 @@
+ + + + Require strong passwords. + + + diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index 0c40faeff..0942e6b5d 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -28,7 +28,7 @@ defaultGroups: # Disable when your Distribution does not require such a group. autologinGroup: autologin # You can control the initial state for the 'autologin checkbox' in UsersViewStep here. -# Possible values are: true to enable or false to disable the checkbox by default +# Possible values are: true to enable or false to disable the checkbox by default. doAutologin: true # When set to a non-empty string, Calamares creates a sudoers file for the user. @@ -68,12 +68,23 @@ doReusePassword: true # # (additional checks may be implemented in CheckPWQuality.cpp and # wired into UsersPage.cpp) +# +# To disable specific password validations, +# comment out the relevant 'passwordRequirements' keys below. +# To disable all password validations, +# set both 'allowWeakPasswords' and 'doPasswordChecks' to false. passwordRequirements: minLength: -1 # Password at least this many characters maxLength: -1 # Password at most this many characters libpwquality: - minlen=0 - minclass=0 +# You can control the visibility of the 'strong passwords' checkbox in UsersViewStep here. +# Possible values are: true to show or false to hide the checkbox. +allowWeakPasswords: true +# You can control the initial state for the 'strong passwords' checkbox in UsersViewStep here. +# Possible values are: true to enable or false to disable the checkbox by default. +doPasswordChecks: true # Shell to be used for the regular user of the target system. # There are three possible kinds of settings: From c7cbba3951f269cfe20c2915b51ea6928f5b6a1c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 30 Aug 2019 22:54:28 +0200 Subject: [PATCH 332/626] [welcome] Fix typo in tooltip --- src/modules/welcome/WelcomePage.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/welcome/WelcomePage.ui b/src/modules/welcome/WelcomePage.ui index 160daa595..590029558 100644 --- a/src/modules/welcome/WelcomePage.ui +++ b/src/modules/welcome/WelcomePage.ui @@ -176,7 +176,7 @@ - Open relead notes website + Open release notes website &Release notes From 617a62c18ae9d5d49d8f20bb096f26ca8fe34d1d Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 2 Sep 2019 10:52:44 +0200 Subject: [PATCH 333/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ast.ts | 416 ++++++++++++++++++++++------------ lang/calamares_be.ts | 416 ++++++++++++++++++++++------------ lang/calamares_bg.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ca.ts | 411 +++++++++++++++++++++------------ lang/calamares_ca@valencia.ts | 416 ++++++++++++++++++++++------------ lang/calamares_cs_CZ.ts | 409 +++++++++++++++++++++------------ lang/calamares_da.ts | 408 +++++++++++++++++++++------------ lang/calamares_de.ts | 408 +++++++++++++++++++++------------ lang/calamares_el.ts | 416 ++++++++++++++++++++++------------ lang/calamares_en.ts | 409 +++++++++++++++++++++------------ lang/calamares_en_GB.ts | 416 ++++++++++++++++++++++------------ lang/calamares_eo.ts | 416 ++++++++++++++++++++++------------ lang/calamares_es.ts | 416 ++++++++++++++++++++++------------ lang/calamares_es_MX.ts | 408 +++++++++++++++++++++------------ lang/calamares_es_PR.ts | 416 ++++++++++++++++++++++------------ lang/calamares_et.ts | 416 ++++++++++++++++++++++------------ lang/calamares_eu.ts | 416 ++++++++++++++++++++++------------ lang/calamares_fa.ts | 416 ++++++++++++++++++++++------------ lang/calamares_fi_FI.ts | 408 +++++++++++++++++++++------------ lang/calamares_fr.ts | 409 +++++++++++++++++++++------------ lang/calamares_fr_CH.ts | 416 ++++++++++++++++++++++------------ lang/calamares_gl.ts | 416 ++++++++++++++++++++++------------ lang/calamares_gu.ts | 416 ++++++++++++++++++++++------------ lang/calamares_he.ts | 409 +++++++++++++++++++++------------ lang/calamares_hi.ts | 408 +++++++++++++++++++++------------ lang/calamares_hr.ts | 409 +++++++++++++++++++++------------ lang/calamares_hu.ts | 408 +++++++++++++++++++++------------ lang/calamares_id.ts | 416 ++++++++++++++++++++++------------ lang/calamares_is.ts | 416 ++++++++++++++++++++++------------ lang/calamares_it_IT.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ja.ts | 408 +++++++++++++++++++++------------ lang/calamares_kk.ts | 416 ++++++++++++++++++++++------------ lang/calamares_kn.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ko.ts | 408 +++++++++++++++++++++------------ lang/calamares_lo.ts | 416 ++++++++++++++++++++++------------ lang/calamares_lt.ts | 409 +++++++++++++++++++++------------ lang/calamares_mk.ts | 416 ++++++++++++++++++++++------------ lang/calamares_mr.ts | 416 ++++++++++++++++++++++------------ lang/calamares_nb.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ne_NP.ts | 416 ++++++++++++++++++++++------------ lang/calamares_nl.ts | 416 ++++++++++++++++++++++------------ lang/calamares_pl.ts | 408 +++++++++++++++++++++------------ lang/calamares_pt_BR.ts | 409 +++++++++++++++++++++------------ lang/calamares_pt_PT.ts | 408 +++++++++++++++++++++------------ lang/calamares_ro.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ru.ts | 408 +++++++++++++++++++++------------ lang/calamares_sk.ts | 416 ++++++++++++++++++++++------------ lang/calamares_sl.ts | 416 ++++++++++++++++++++++------------ lang/calamares_sq.ts | 409 +++++++++++++++++++++------------ lang/calamares_sr.ts | 416 ++++++++++++++++++++++------------ lang/calamares_sr@latin.ts | 416 ++++++++++++++++++++++------------ lang/calamares_sv.ts | 416 ++++++++++++++++++++++------------ lang/calamares_th.ts | 416 ++++++++++++++++++++++------------ lang/calamares_tr_TR.ts | 408 +++++++++++++++++++++------------ lang/calamares_uk.ts | 416 ++++++++++++++++++++++------------ lang/calamares_ur.ts | 416 ++++++++++++++++++++++------------ lang/calamares_uz.ts | 416 ++++++++++++++++++++++------------ lang/calamares_zh_CN.ts | 416 ++++++++++++++++++++++------------ lang/calamares_zh_TW.ts | 409 +++++++++++++++++++++------------ 60 files changed, 16003 insertions(+), 8793 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index c512e316b..e7fd4069a 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form نموذج - + GlobalStorage التّخزين العموميّ - + JobQueue صفّ المهامّ - + Modules الوحدات - + Type: النوع: - - + + none لاشيء - + Interface: الواجهة: - + Tools الأدوات - + Reload Stylesheet - + Widget Tree - + Debug information معلومات التّنقيح @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install ثبت @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done انتهى @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. يشغّل عمليّة %1. - + Bad working directory path مسار سيء لمجلد العمل - + Working directory %1 for python job %2 is not readable. لا يمكن القراءة من مجلد العمل %1 الخاص بعملية بايثون %2. - + Bad main script file ملفّ السّكربت الرّئيس سيّء. - + Main script file %1 for python job %2 is not readable. ملفّ السّكربت الرّئيس %1 لمهمّة بايثون %2 لا يمكن قراءته. - + Boost.Python error in job "%1". خطأ Boost.Python في العمل "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &رجوع - + &Next &التالي - + &Cancel &إلغاء - + Cancel setup without changing the system. - + Cancel installation without changing the system. الغاء الـ تثبيت من دون احداث تغيير في النظام - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &ثبت - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? إلغاء التثبيت؟ - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. أتريد إلغاء عمليّة التّثبيت الحاليّة؟ سيخرج المثبّت وتضيع كلّ التّغييرات. - + + &Yes &نعم - + + &No &لا - + &Close &اغلاق - + Continue with setup? الإستمرار في التثبيت؟ - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> مثبّت %1 على وشك بإجراء تعديلات على قرصك لتثبيت %2.<br/><strong>لن تستطيع التّراجع عن هذا.</strong> - + &Install now &ثبت الأن - + Go &back &إرجع - + &Done - + The installation is complete. Close the installer. اكتمل التثبيت , اغلق المثبِت - + Error خطأ - + Installation Failed فشل التثبيت @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type نوع الاستثناء غير معروف - + unparseable Python error خطأ بايثون لا يمكن تحليله - + unparseable Python traceback تتبّع بايثون خلفيّ لا يمكن تحليله - + Unfetchable Python error. خطأ لا يمكن الحصول علية في بايثون. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source موصول بمصدر للطّاقة - + The system is not plugged in to a power source. النّظام ليس متّصلًا بمصدر للطّاقة. - + is connected to the Internet موصول بالإنترنت - + The system is not connected to the Internet. النّظام ليس موصولًا بالإنترنت - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. المثبّت لا يعمل بصلاحيّات المدير. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. نموذج - + I accept the terms and conditions above. أقبل الشّروط والأحكام أعلاه. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>اتّفاقيّة التّرخيص</h1>عمليّة الإعداد هذه ستثبّت برمجيّات مملوكة تخضع لشروط ترخيص. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. فضلًا راجع اتّفاقيّات رخص المستخدم النّهائيّ (EULA) أعلاه.<br/>إن لم تقبل الشّروط، فلن تتابع عمليّة الإعداد. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>اتّفاقيّة التّرخيص</h1>يمكن لعمليّة الإعداد تثبيت برمجيّات مملوكة تخضع لشروط ترخيص وذلك لتوفير مزايا إضافيّة وتحسين تجربة المستخدم. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. فضلًا راجع اتّفاقيّات رخص المستخدم النّهائيّ (EULA) أعلاه.<br/>إن لم تقبل الشّروط، فلن تُثبّت البرمجيّات المملوكة وستُستخدم تلك مفتوحة المصدر بدلها. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License الرّخصة @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>مشغّل %1</strong><br/>من%2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>مشغّل %1 للرّسوميّات</strong><br/><font color="Grey">من %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>ملحقة %1 للمتصّفح</strong><br/><font color="Grey">من %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>مرماز %1</strong><br/><font color="Grey">من %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>حزمة %1</strong><br/><font color="Grey">من %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">من %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. الوصف - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + نموذج + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. معاملات نداء المهمة سيّئة. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: المستخدمين + + VariantModel + + + Key + + + + + Value + القيمة + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: الصيغة - - &Release notes - &ملاحظات الإصدار - - - - &Known issues - &مشاكل معروفة - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &ملاحظات الإصدار + + + + &Known issues + &مشاكل معروفة + + + &Support &الدعم @@ -3155,42 +3275,42 @@ Output: &حول - + <h1>Welcome to the %1 installer.</h1> <h1>مرحبًا بك في مثبّت %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer حول 1% المثبت - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 الدعم @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome مرحبا بك diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index a9a310990..e569a3165 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Páxina balera @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulariu - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Módulos - + Type: Triba: - - + + none nada - + Interface: Interfaz: - + Tools Ferramientes - + Reload Stylesheet - + Widget Tree - + Debug information Información de la depuración @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configuración - + Install Instalación @@ -133,7 +133,7 @@ Falló'l trabayu (%1) - + Programmed job failure was explicitly requested. El fallu del trabayu programáu solicitóse esplicitamente. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Fecho @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Executando la operación %1. - + Bad working directory path El camín del direutoriu de trabayu ye incorreutu - + Working directory %1 for python job %2 is not readable. El direutoriu de trabayu %1 pal trabayu en Python %2 nun ye lleibe. - + Bad main script file El ficheru del script principal ye incorreutu - + Main script file %1 for python job %2 is not readable. El ficheru del script principal %1 pal trabayu en Python %2 nun ye lleibe. - + Boost.Python error in job "%1". Fallu de Boost.Python nel trabayu «%1». @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Esperando por %n móduluEsperando por %n módulos - + (%n second(s)) (%n segundu)(%n segundos) - + System-requirements checking is complete. Completóse la comprobación de los requirimientos del sistema. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Atrás - + &Next &Siguiente - + &Cancel &Encaboxar - + Cancel setup without changing the system. Encaboxa la configuración ensin camudar el sistema. - + Cancel installation without changing the system. Encaboxa la instalación ensin camudar el sistema. - + Setup Failed Falló la configuración - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Falló l'aniciu de Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nun pue instalase. Calamares nun foi a cargar tolos módulos configuraos. Esto ye un problema col mou nel que la distribución usa Calamares. - + <br/>The following modules could not be loaded: <br/>Nun pudieron cargase los módulos de darréu: - + Continue with installation? ¿Siguir cola instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa d'instalación de %1 ta a piques de facer cambeos nel discu pa configurar %2.<br/><strong>Nun vas ser a desfacer estos cambeos.<strong> - + &Set up now &Configurar agora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. Completóse la configuración. Zarra'l programa de configuración. - + Cancel setup? ¿Encaboxar la configuración? - + Cancel installation? ¿Encaboxar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual de configuración? El programa de configuración va colar y van perdese tolos cambeos. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual d'instalación? L'instalador va colar y van perdese tolos cambeos. - + + &Yes &Sí - + + &No &Non - + &Close &Zarrar - + Continue with setup? ¿Siguir cola instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instalador de %1 ta a piques de facer cambeos nel discu pa instalar %2.<br/><strong>Nun vas ser a desfacer esos cambeos.</strong> - + &Install now &Instalar agora - + Go &back Dir p'&atrás - + &Done &Fecho - + The installation is complete. Close the installer. Completóse la instalación. Zarra l'instalador. - + Error Fallu - + Installation Failed Falló la instalación @@ -383,26 +400,35 @@ L'instalador va colar y van perdese tolos cambeos. CalamaresPython::Helper - + Unknown exception type Desconozse la triba de la esceición - + unparseable Python error Fallu de Python que nun pue analizase - + unparseable Python traceback Traza inversa de Python que nun pue analizase - + Unfetchable Python error. Fallu de Python al que nun pue dise en cata. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ L'instalador va colar y van perdese tolos cambeos. CommandList - - + + Could not run command. Nun pudo executase'l comandu. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. El comandu execútase nel entornu del agospiu y precisa saber el camín raigañu pero nun se definió en rootMountPoint. - + The command needs to know the user's name, but no username is defined. El comandu precisa saber el nome del usuariu, pero nun se definió dengún. @@ -632,7 +658,7 @@ L'instalador va colar y van perdese tolos cambeos. ContextualProcessJob - + Contextual Processes Job Trabayu de procesos contestuales @@ -969,7 +995,7 @@ L'instalador va colar y van perdese tolos cambeos. DummyCppJob - + Dummy C++ Job Trabayu maniquín en C++ @@ -1200,62 +1226,62 @@ L'instalador va colar y van perdese tolos cambeos. GeneralRequirements - + has at least %1 GiB available drive space tien polo menos %1 GiB d'espaciu disponible nel discu - + There is not enough drive space. At least %1 GiB is required. Nun hai espaciu abondu nel discu. Ríquense polo menos %1 GiB. - + has at least %1 GiB working memory tien polo menos %1 GiB memoria de trabayu - + The system does not have enough working memory. At least %1 GiB is required. El sistema nun tien abonda memoria de trabayu. Ríquense polo menos %1 GiB. - + is plugged in to a power source ta enchufáu a una fonte d'enerxía - + The system is not plugged in to a power source. El sistema nun ta enchufáu a una fonte d'enerxía. - + is connected to the Internet ta coneutáu a internet - + The system is not connected to the Internet. El sistema nun ta coneutáu a internet. - + The setup program is not running with administrator rights. El programa de configuración nun ta executándose con drechos alministrativos. - + The installer is not running with administrator rights. L'instalador nun ta executándose con drechos alministrativos. - + The screen is too small to display the setup program. La pantalla ye mui pequeña como p'amosar el programa de configuración. - + The screen is too small to display the installer. La pantalla ye mui pequeña como p'amosar l'instalador. @@ -1380,27 +1406,27 @@ L'instalador va colar y van perdese tolos cambeos. Formulariu - + I accept the terms and conditions above. Aceuto los términos y condiciones d'enriba. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Alcuerdu de llicencia</h1>Esti procedimientu d'instalación va instalar software privativu que ta suxetu a términos de llicencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Revisa los alcuerdos de llicencia d'usuariu final (EULAs) d'enriba, por favor.<br/>Si nun aceutes dalgún, el procedimientu d'instalación nun pue siguir. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Alcuerdu de llicencia</h1>Esti procedimientu d'instalación pue instalar software privativu que ta suxetu a términos de llicencia pa fornir carauterístiques adicionales y ameyorar la esperiencia del usuariu. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Revisa los alcuerdos de llicencia d'usuariu final (EULAs) d'enriba, por favor.<br/>Si nun aceutes dalgún, el software privativu nun va instalase y van usase les alternatives de códigu abiertu. @@ -1408,7 +1434,7 @@ L'instalador va colar y van perdese tolos cambeos. LicenseViewStep - + License Llicencia @@ -1416,64 +1442,64 @@ L'instalador va colar y van perdese tolos cambeos. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>Controlador %1</strong><br/>por %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Controlador gráficu %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Plugin de restolador %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Códec %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Paquete %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">por %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1574,15 +1600,20 @@ L'instalador va colar y van perdese tolos cambeos. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación per rede. (Desactivada: Nun pue dise en cata de les llistes de paquetes, comprueba la conexón a internet) - + Network Installation. (Disabled: Received invalid groups data) Instalación per rede. (Desactivada: Recibiéronse datos non válidos de grupos) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ L'instalador va colar y van perdese tolos cambeos. Desconozse'l fallu + + PackageChooserPage + + + Form + Formulariu + + + + Product Name + + + + + TextLabel + Etiqueta de testu + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ L'instalador va colar y van perdese tolos cambeos. ProcessResult - + There was no output from the command. El comandu nun produxo denguna salida. - + Output: @@ -2284,52 +2356,52 @@ Salida: - + External command crashed. El comandu esternu cascó. - + Command <i>%1</i> crashed. El comandu <i>%1</i> cascó. - + External command failed to start. El comandu esternu falló al aniciar. - + Command <i>%1</i> failed to start. El comandu <i>%1</i> falló al aniciar. - + Internal error when starting command. Fallu internu al aniciar el comandu. - + Bad parameters for process job call. Los parámetros son incorreutos pa la llamada del trabayu de procesos. - + External command failed to finish. El comandu esternu finó al finar. - + Command <i>%1</i> failed to finish in %2 seconds. El comandu <i>%1</i> falló al finar en %2 segundos. - + External command finished with errors. El comandu esternu finó con fallos. - + Command <i>%1</i> finished with exit code %2. El comandu <i>%1</i> finó col códigu de salida %2. @@ -2388,6 +2460,16 @@ Salida: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Salida: TrackingInstallJob - + Installation feedback Instalación del siguimientu - + Sending installation feedback. Unviando'l siguimientu de la instalación. - + Internal error in install-tracking. Fallu internu n'install-tracking. - + HTTP request timed out. Escosó'l tiempu d'espera de la solicitú HTTP. @@ -2943,28 +3025,28 @@ Salida: TrackingMachineNeonJob - + Machine feedback Siguimientu de la máquina - + Configuring machine feedback. Configurando'l siguimientu de la máquina. - - + + Error in machine feedback configuration. Fallu na configuración del siguimientu de la máquina. - + Could not configure machine feedback correctly, script error %1. Nun pudo configurase afayadizamente'l siguimientu de la máquina, fallu del script %1. - + Could not configure machine feedback correctly, Calamares error %1. Nun pudo configurase afayadizamente'l siguimientu de la máquina, fallu de Calamares %1. @@ -2997,17 +3079,17 @@ Salida: Instalar el rastrexu ayuda a %1 a saber cuantos usuarios tien, el hardware qu'usen pa instalar %1 y (coles dos opciones d'embaxo), consiguir información continua tocante a les aplicaciones preferíes. Pa ver lo que va unviase, calca l'iconu d'ayuda al llau de cada área. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Esbillando esto vas unviar la información tocante a la instalación y el hardware. Esta información <b>namái va unviase una vegada</b> tres finar la instalación. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Esbillando esto vas unviar <b>dacuando</b> la información tocante a la instalación, el hardware y les aplicaciones a %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Esbillando esto vas unviar <b>davezu</b> la información tocante a la instalación, el hardware, les aplicaciones y los patrones d'usu a %1. @@ -3015,7 +3097,7 @@ Salida: TrackingViewStep - + Feedback Siguimientu @@ -3072,6 +3154,19 @@ Salida: Usuarios + + VariantModel + + + Key + + + + + Value + Valor + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Salida: Formulariu - - &Release notes - Notes de &llanzamientu - - - - &Known issues - &Problemes conocíos - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + Notes de &llanzamientu + + + + &Known issues + &Problemes conocíos + + + &Support &Sofitu @@ -3159,42 +3279,42 @@ Salida: &Tocante a - + <h1>Welcome to the %1 installer.</h1> <h1>Afáyate nel instalador de %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Afáyate nel instalador Calamares de %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Afáyate nel programa de configuración de Calamares pa %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Afáyate na configuración de %1.</h1> - + About %1 setup Tocante a la configuración de %1 - + About %1 installer Tocante al instalador de %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>pa %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Gracies al <a href="https://calamares.io/team/">equipu de Calamares</a> y l'<a href="https://www.transifex.com/calamares/calamares/">equipu de traductores de Calamares</a>.<br/><br/> El desendolcu de <a href="https://calamares.io/">Calamares</a> patrocínalu <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Sofitu de %1 @@ -3202,7 +3322,7 @@ Salida: WelcomeViewStep - + Welcome Acoyida diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 71b4c9da1..7c00e22c8 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Пустая старонка @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Форма - + GlobalStorage Глабальнае сховішча - + JobQueue Чарга задач - + Modules Модулі - + Type: Тып: - - + + none няма - + Interface: Інтэрфейс: - + Tools Інструменты - + Reload Stylesheet Перазагрузіць табліцу стыляў - + Widget Tree Дрэва віджэтаў - + Debug information Адладачная інфармацыя @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Наладзіць - + Install Усталяваць @@ -133,7 +133,7 @@ Задача схібіла (%1) - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. Форма - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + Форма + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: Форма - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index b4d466017..54a32ce51 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Празна страница @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Форма - + GlobalStorage Глобално съхранение - + JobQueue Опашка от задачи - + Modules Модули - + Type: Вид: - - + + none няма - + Interface: Интерфейс: - + Tools Инструменти - + Reload Stylesheet - + Widget Tree - + Debug information Информация за отстраняване на грешки @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Инсталирай @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Готово @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Изпълнение на %1 операция. - + Bad working directory path Невалиден път на работната директория - + Working directory %1 for python job %2 is not readable. Работна директория %1 за python задача %2 не се чете. - + Bad main script file Невалиден файл на главен скрипт - + Main script file %1 for python job %2 is not readable. Файлът на главен скрипт %1 за python задача %2 не се чете. - + Boost.Python error in job "%1". Boost.Python грешка в задача "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Назад - + &Next &Напред - + &Cancel &Отказ - + Cancel setup without changing the system. - + Cancel installation without changing the system. Отказ от инсталацията без промяна на системата. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Инициализацията на Calamares се провали - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 не може да се инсталира. Calamares не можа да зареди всичките конфигурирани модули. Това е проблем с начина, по който Calamares е използван от дистрибуцията. - + <br/>The following modules could not be loaded: <br/>Следните модули не могат да се заредят: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Инсталирай - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отмяна на инсталацията? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Наистина ли искате да отмените текущият процес на инсталиране? Инсталатора ще прекъсне и всичките промени ще бъдат загубени. - + + &Yes &Да - + + &No &Не - + &Close &Затвори - + Continue with setup? Продължаване? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Инсталатора на %1 ще направи промени по вашия диск за да инсталира %2. <br><strong>Промените ще бъдат окончателни.</strong> - + &Install now &Инсталирай сега - + Go &back В&ръщане - + &Done &Готово - + The installation is complete. Close the installer. Инсталацията е завършена. Затворете инсталаторa. - + Error Грешка - + Installation Failed Неуспешна инсталация @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Неизвестен тип изключение - + unparseable Python error неанализируема грешка на Python - + unparseable Python traceback неанализируемо проследяване на Python - + Unfetchable Python error. Недостъпна грешка на Python. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. Командата не може да се изпълни. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Командата се изпълнява в средата на хоста и трябва да установи местоположението на основния дял, но rootMountPoint не е определен. - + The command needs to know the user's name, but no username is defined. Командата трябва да установи потребителското име на профила, но такова не е определено. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job Задача с контекстуални процеси @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job Фиктивна С++ задача @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source е включен към източник на захранване - + The system is not plugged in to a power source. Системата не е включена към източник на захранване. - + is connected to the Internet е свързан към интернет - + The system is not connected to the Internet. Системата не е свързана с интернет. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Инсталаторът не е стартиран с права на администратор. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Екранът е твърде малък за инсталатора. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. Форма - + I accept the terms and conditions above. Приемам лицензионните условия. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Лицензионно Споразумение</h1>Тази процедура ще инсталира несвободен софтуер, който е обект на лицензионни условия. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Моля погледнете Лицензионните Условия за Крайния Потребител (ЛУКП).<br/>Ако не сте съгласни с условията, процедурата не може да продължи. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Лицензионно Споразумение</h1>Тази процедура може да инсталира несвободен софтуер, който е обект на лицензионни условия, за да предостави допълнителни функции и да подобри работата на потребителя. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Моля погледнете Лицензионните Условия за Крайния Потребител (ЛУКП).<br/>Ако не сте съгласни с условията, несвободния софтуер няма да бъде инсталиран и ще бъдат използвани безплатни алтернативи. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License Лиценз @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 драйвър</strong><br/>от %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 графичен драйвър</strong><br/><font color="Grey">от %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 плъгин за браузър</strong><br/><font color="Grey">от %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 кодек</strong><br/><font color="Grey">от %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 пакет</strong><br/><font color="Grey">от %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">от %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. Описание - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Мрежова инсталация. (Изключена: Списъкът с пакети не може да бъде извлечен, проверете Вашата Интернет връзка) - + Network Installation. (Disabled: Received invalid groups data) Мрежова инсталация. (Изключена: Получени са данни за невалидни групи) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. Неизвестна грешка + + PackageChooserPage + + + Form + Форма + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,13 +2339,13 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: @@ -2282,52 +2354,52 @@ Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Невалидни параметри за извикване на задача за процес. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2386,6 +2458,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2919,22 +3001,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2942,28 +3024,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2996,17 +3078,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3014,7 +3096,7 @@ Output: TrackingViewStep - + Feedback Обратна връзка @@ -3071,6 +3153,19 @@ Output: Потребители + + VariantModel + + + Key + + + + + Value + Стойност + + VolumeGroupBaseDialog @@ -3132,23 +3227,48 @@ Output: Форма - - &Release notes - &Бележки по изданието - - - - &Known issues - &Съществуващи проблеми - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Бележки по изданието + + + + &Known issues + &Съществуващи проблеми + + + &Support &Поддръжка @@ -3158,42 +3278,42 @@ Output: &Относно - + <h1>Welcome to the %1 installer.</h1> <h1>Добре дошли при инсталатора на %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Добре дошли при инсталатора Calamares на %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Относно инсталатор %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 поддръжка @@ -3201,7 +3321,7 @@ Output: WelcomeViewStep - + Welcome Добре дошли diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index de88d550c..22dfb148a 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Pàgina en blanc @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulari - + GlobalStorage Emmagatzematge global - + JobQueue Cua de tasques - + Modules Mòduls - + Type: Tipus: - - + + none cap - + Interface: Interfície: - + Tools Eines - + Reload Stylesheet Torna a carregar el full d’estil - + Widget Tree Arbre de ginys - + Debug information Informació de depuració @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configuració - + Install Instal·la @@ -133,7 +133,7 @@ Ha fallat la tasca (%1) - + Programmed job failure was explicitly requested. S'ha demanat explícitament la fallada de la tasca programada. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Fet @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Executa l'ordre "%1" al sistema de destinació. - + Run command '%1'. Executa l'ordre "%1". @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. S'executa l'operació %1. - + Bad working directory path Camí incorrecte al directori de treball - + Working directory %1 for python job %2 is not readable. El directori de treball %1 per a la tasca python %2 no és llegible. - + Bad main script file Fitxer erroni d'script principal - + Main script file %1 for python job %2 is not readable. El fitxer de script principal %1 per a la tasca de python %2 no és llegible. - + Boost.Python error in job "%1". Error de Boost.Python a la tasca "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). S'espera %n mòdul.S'esperen %n mòduls. - + (%n second(s)) (%n segon)(%n segons) - + System-requirements checking is complete. S'ha completat la comprovació dels requeriments del sistema. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Enrere - + &Next &Següent - + &Cancel &Cancel·la - + Cancel setup without changing the system. Cancel·la la configuració sense canviar el sistema. - + Cancel installation without changing the system. Cancel·leu la instal·lació sense canviar el sistema. - + Setup Failed Ha fallat la configuració. - + + Would you like to paste the install log to the web? + Voleu enganxar el registre d'instal·lació a la xarxa? + + + + Install Log Paste URL + URL de publicació del registre d'instal·lació + + + + The upload was unsuccessful. No web-paste was done. + La càrrega no s'ha fet correctament. No s'ha enganxat res a la xarxa. + + + Calamares Initialization Failed Ha fallat la inicialització de Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. No es pot instal·lar %1. El Calamares no ha pogut carregar tots els mòduls configurats. Aquest és un problema amb la manera com el Calamares és utilitzat per la distribució. - + <br/>The following modules could not be loaded: <br/>No s'han pogut carregar els mòduls següents: - + Continue with installation? Voleu continuar la instal·lació? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa de configuració %1 està a punt de fer canvis al disc per tal de configurar %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Set up now Con&figura-ho ara - + &Set up Con&figura-ho - + &Install &Instal·la - + Setup is complete. Close the setup program. La configuració s'ha acabat. Tanqueu el programa de configuració. - + Cancel setup? Voleu cancel·lar la configuració? - + Cancel installation? Cancel·lar la instal·lació? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Realment voleu cancel·lar el procés de configuració actual? El programa de configuració es tancarà i es perdran tots els canvis. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voleu cancel·lar el procés d'instal·lació actual? L'instal·lador es tancarà i tots els canvis es perdran. - + + &Yes &Sí - + + &No &No - + &Close Tan&ca - + Continue with setup? Voleu continuar la configuració? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instal·lador de %1 està a punt de fer canvis al disc per tal d'instal·lar-hi %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Install now &Instal·la ara - + Go &back Ves &enrere - + &Done &Fet - + The installation is complete. Close the installer. La instal·lació s'ha acabat. Tanqueu l'instal·lador. - + Error Error - + Installation Failed La instal·lació ha fallat @@ -383,26 +400,36 @@ L'instal·lador es tancarà i tots els canvis es perdran. CalamaresPython::Helper - + Unknown exception type Tipus d'excepció desconeguda - + unparseable Python error Error de Python no analitzable - + unparseable Python traceback Traceback de Python no analitzable - + Unfetchable Python error. Error de Python irrecuperable. + + CalamaresUtils + + + Install log posted to: +%1 + Registre d'instal·lació penjat a +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ L'instal·lador es tancarà i tots els canvis es perdran. CommandList - - + + Could not run command. No s'ha pogut executar l'ordre. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. L'odre s'executa a l'entorn de l'amfitrió i necessita saber el camí de l'arrel, però no hi ha definit el punt de muntatge de l'arrel. - + The command needs to know the user's name, but no username is defined. L'ordre necessita saber el nom de l'usuari, però no s'ha definit cap nom d'usuari. @@ -632,7 +659,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. ContextualProcessJob - + Contextual Processes Job Tasca de procés contextual @@ -969,7 +996,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. DummyCppJob - + Dummy C++ Job Tasca C++ fictícia @@ -1200,62 +1227,62 @@ L'instal·lador es tancarà i tots els canvis es perdran. GeneralRequirements - + has at least %1 GiB available drive space tingui com a mínim %1 GiB d'espai de disc disponible. - + There is not enough drive space. At least %1 GiB is required. No hi ha prou espai de disc disponible. Com a mínim hi ha d'haver %1 GiB. - + has at least %1 GiB working memory tingui com a mínim %1 GiB de memòria de treball. - + The system does not have enough working memory. At least %1 GiB is required. El sistema no té prou memòria de treball. Com a mínim hi ha d'haver %1 GiB. - + is plugged in to a power source estigui connectat a una presa de corrent. - + The system is not plugged in to a power source. El sistema no està connectat a una presa de corrent. - + is connected to the Internet estigui connectat a Internet. - + The system is not connected to the Internet. El sistema no està connectat a Internet. - + The setup program is not running with administrator rights. El programa de configuració no s'executa amb privilegis d'administrador. - + The installer is not running with administrator rights. L'instal·lador no s'executa amb privilegis d'administrador. - + The screen is too small to display the setup program. La pantalla és massa petita per mostrar el programa de configuració. - + The screen is too small to display the installer. La pantalla és massa petita per mostrar l'instal·lador. @@ -1380,27 +1407,27 @@ L'instal·lador es tancarà i tots els canvis es perdran. Formulari - + I accept the terms and conditions above. Accepto els termes i les condicions anteriors. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acord de llicència</h1> Aquest procediment de configuració instal·larà programari de propietat subjecte a termes de llicència. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Si us plau, reviseu l'acord de llicència End User License Agreements (EULAs) anterior.<br/>Si no esteu d'acord en els termes, el procediment de configuració no pot continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acord de llicència</h1> Aquest procediment de configuració instal·larà programari de propietat subjecte a termes de llicència per tal de proporcionar característiques addicionals i millorar l'experiència de l'usuari. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Si us plau, reviseu l'acord de llicència End User License Agreements (EULAs) anterior.<br/>Si no esteu d'acord en els termes, no s'instal·larà el programari de propietat i es faran servir les alternatives de codi lliure. @@ -1408,7 +1435,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. LicenseViewStep - + License Llicència @@ -1416,64 +1443,64 @@ L'instal·lador es tancarà i tots els canvis es perdran. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>Controlador %1</strong><br/>de %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Controlador gràfic %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Connector del navegador %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Còdec %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Paquet %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">de %2</font> - + Shows the complete license text Mostra el text complet de la llicència - + Hide license text Amaga el text de la llicència - + Show license agreement Mostra l'acord de llicència - + Hide license agreement Amaga l'acord de llicència - + Opens the license agreement in a browser window. Obre l'acord de llicència en una finestra del navegador. - + <a href="%1">View license agreement</a> <a href="%1">Mostra l'acord de llicència</a> @@ -1574,14 +1601,19 @@ L'instal·lador es tancarà i tots els canvis es perdran. Descripció - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instal·lació per xarxa. (Inhabilitada: no es poden obtenir les llistes de paquets, comproveu la connexió.) - + Network Installation. (Disabled: Received invalid groups data) - Instal·lació per xarxa. (Inhabilitat: dades de grups rebudes no vàlides) + Instal·lació per xarxa. (Inhabilitada: dades de grups rebudes no vàlides) + + + + Network Installation. (Disabled: Incorrect configuration) + Instal·lació per xarxa. (Inhabilitada: configuració incorrecta) @@ -1866,6 +1898,47 @@ L'instal·lador es tancarà i tots els canvis es perdran. Error desconegut + + PackageChooserPage + + + Form + Formulari + + + + Product Name + Nom del producte + + + + TextLabel + Etiqueta de text + + + + Long Product Description + Descripció llarga del producte + + + + Package Selection + Selecció de paquets + + + + Please pick a product from the list. The selected product will be installed. + Si us plau, trieu un producte de la llista. S'instal·larà el producte seleccionat. + + + + PackageChooserViewStep + + + Packages + Paquets + + Page_Keyboard @@ -2268,14 +2341,14 @@ L'instal·lador es tancarà i tots els canvis es perdran. ProcessResult - + There was no output from the command. No hi ha hagut sortida de l'ordre. - + Output: @@ -2284,52 +2357,52 @@ Sortida: - + External command crashed. L'ordre externa ha fallat. - + Command <i>%1</i> crashed. L'ordre <i>%1</i> ha fallat. - + External command failed to start. L'ordre externa no s'ha pogut iniciar. - + Command <i>%1</i> failed to start. L'ordre <i>%1</i> no s'ha pogut iniciar. - + Internal error when starting command. Error intern en iniciar l'ordre. - + Bad parameters for process job call. Paràmetres incorrectes per a la crida de la tasca del procés. - + External command failed to finish. L'ordre externa no ha acabat correctament. - + Command <i>%1</i> failed to finish in %2 seconds. L'ordre <i>%1</i> no ha pogut acabar en %2 segons. - + External command finished with errors. L'ordre externa ha acabat amb errors. - + Command <i>%1</i> finished with exit code %2. L'ordre <i>%1</i> ha acabat amb el codi de sortida %2. @@ -2388,6 +2461,16 @@ Sortida: language[name] (country[name]) %1 (%2) + + + No product + Cap producte + + + + No description provided. + No se n'ha proporcionat cap descripció. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Sortida: TrackingInstallJob - + Installation feedback Informació de retorn de la instal·lació - + Sending installation feedback. S'envia la informació de retorn de la instal·lació. - + Internal error in install-tracking. Error intern a install-tracking. - + HTTP request timed out. La petició HTTP ha esgotat el temps d'espera. @@ -2943,28 +3026,28 @@ Sortida: TrackingMachineNeonJob - + Machine feedback Informació de retorn de la màquina - + Configuring machine feedback. Es configura la informació de retorn de la màquina. - - + + Error in machine feedback configuration. Error a la configuració de la informació de retorn de la màquina. - + Could not configure machine feedback correctly, script error %1. No s'ha pogut configurar la informació de retorn de la màquina correctament. Error d'script %1. - + Could not configure machine feedback correctly, Calamares error %1. No s'ha pogut configurar la informació de retorn de la màquina correctament. Error del Calamares %1. @@ -2997,17 +3080,17 @@ Sortida: El seguiment de la instal·lació ajuda %1 a veure quants usuaris tenen, en quin maquinari s'instal·la %1 i (amb les últimes dues opcions de baix), a obtenir informació contínua d'aplicacions preferides. Per veure el que s'enviarà, cliqueu a la icona d'ajuda contigua a cada àrea. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Si seleccioneu això, enviareu informació sobre la vostra instal·lació i el vostre maquinari. Aquesta informació <b>només s'enviarà un cop</b> després d'acabar la instal·lació. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Si seleccioneu això, enviareu informació <b>periòdicament</b>sobre la instal·lació, el maquinari i les aplicacions a %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Si seleccioneu això, enviareu informació <b>regularment</b>sobre la instal·lació, el maquinari, les aplicacions i els patrons d'ús a %1. @@ -3015,7 +3098,7 @@ Sortida: TrackingViewStep - + Feedback Informació de retorn @@ -3072,6 +3155,19 @@ Sortida: Usuaris + + VariantModel + + + Key + Clau + + + + Value + Valor + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Sortida: Formulari - + + + Select application and system language + Seleccioneu una aplicació i la llengua del sistema + + + + Open donations website + Obre el lloc web per a les donacions + + + + &Donate + Feu una &donació + + + + Open help and support website + Obre el lloc web per a l'ajuda i el suport + + + + Open issues and bug-tracking website + Obre el lloc web de problemes i de seguiment d'errors + + + + Open relead notes website + Obre el lloc web de les notes de la versió + + + &Release notes &Notes de la versió - + &Known issues &Problemes coneguts - - - Select language - Seleccioneu una llengua - - - + &Support &Suport @@ -3159,42 +3280,42 @@ Sortida: &Quant a - + <h1>Welcome to the %1 installer.</h1> <h1>Us donem la benvinguda a l'instal·lador de %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Us donem la benvinguda a l'instal·lador Calamares per a %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Us donem la benvinguda al programa de configuració del Calamares per a %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Us donem la benvinguda a la configuració de %1.</h1> - + About %1 setup Quant a la configuració de %1 - + About %1 installer Quant a l'instal·lador %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agraïments per a <a href="https://calamares.io/team/">l'equip del Calamares</a> i per a <a href="https://www.transifex.com/calamares/calamares/">l'equip de traductors del Calamares</a>.<br/><br/>El desenvolupament del<a href="https://calamares.io/">Calamares</a> està patrocinat per <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 suport @@ -3202,7 +3323,7 @@ Sortida: WelcomeViewStep - + Welcome Benvinguda diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index 3d7448670..3072f064b 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 0b82ac35a..343b24678 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Prázdná stránka @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulář - + GlobalStorage Globální úložiště - + JobQueue Zpracovává se - + Modules Moduly - + Type: Typ: - - + + none žádný - + Interface: Rozhraní: - + Tools Nástroje - + Reload Stylesheet Znovunačíst sešit se styly - + Widget Tree Strom widgetu - + Debug information Ladící informace @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Nastavit - + Install Instalovat @@ -133,7 +133,7 @@ Úloha se nezdařila (%1) - + Programmed job failure was explicitly requested. Byl výslovně vyžádán nezdar naprogramované úlohy. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Hotovo @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Spustit v cílovém systému příkaz „%1“. - + Run command '%1'. Spustit příkaz „%1“ @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Spouštění %1 operace. - + Bad working directory path Chybný popis umístění pracovní složky - + Working directory %1 for python job %2 is not readable. Pracovní složku %1 pro Python skript %2 se nedaří otevřít pro čtení. - + Bad main script file Nesprávný soubor s hlavním skriptem - + Main script file %1 for python job %2 is not readable. Hlavní soubor s python skriptem %1 pro úlohu %2 se nedaří otevřít pro čtení.. - + Boost.Python error in job "%1". Boost.Python chyba ve skriptu „%1“. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čeká se na %n modulČeká se na %n modulyČeká se na %n modulůČeká se na %n moduly - + (%n second(s)) (%n sekundu)(%n sekundy)(%n sekund)(%n sekundy) - + System-requirements checking is complete. Kontrola požadavků na systém dokončena. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Zpět - + &Next &Další - + &Cancel &Storno - + Cancel setup without changing the system. Zrušit nastavení bez změny v systému. - + Cancel installation without changing the system. Zrušení instalace bez provedení změn systému. - + Setup Failed Nastavení se nezdařilo - + + Would you like to paste the install log to the web? + Chcete vyvěsit záznam událostí při instalaci na web? + + + + Install Log Paste URL + URL pro vložení záznamu událostí při instalaci + + + + The upload was unsuccessful. No web-paste was done. + Nahrání se nezdařilo. Na web nebylo nic vloženo. + + + Calamares Initialization Failed Inicializace Calamares se nezdařila - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nemůže být nainstalováno. Calamares se nepodařilo načíst všechny nastavené moduly. Toto je problém způsobu použití Calamares ve vámi používané distribuci. - + <br/>The following modules could not be loaded: <br/> Následující moduly se nepodařilo načíst: - + Continue with installation? Pokračovat v instalaci? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Set up now Na&stavit nyní - + &Set up Na&stavit - + &Install Na&instalovat - + Setup is complete. Close the setup program. Nastavení je dokončeno. Ukončete nastavovací program. - + Cancel setup? Zrušit nastavování? - + Cancel installation? Přerušit instalaci? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Opravdu chcete přerušit instalaci? Instalační program bude ukončen a všechny změny ztraceny. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Opravdu chcete instalaci přerušit? Instalační program bude ukončen a všechny změny ztraceny. - + + &Yes &Ano - + + &No &Ne - + &Close &Zavřít - + Continue with setup? Pokračovat s instalací? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Install now &Spustit instalaci - + Go &back Jít &zpět - + &Done &Hotovo - + The installation is complete. Close the installer. Instalace je dokončena. Ukončete instalátor. - + Error Chyba - + Installation Failed Instalace se nezdařila @@ -383,26 +400,36 @@ Instalační program bude ukončen a všechny změny ztraceny. CalamaresPython::Helper - + Unknown exception type Neznámý typ výjimky - + unparseable Python error Chyba při zpracovávání (parse) Python skriptu. - + unparseable Python traceback Chyba při zpracovávání (parse) Python záznamu volání funkcí (traceback). - + Unfetchable Python error. Chyba při načítání Python skriptu. + + CalamaresUtils + + + Install log posted to: +%1 + Záznam událostí instalace vyvěšen na: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ Instalační program bude ukončen a všechny změny ztraceny. CommandList - - + + Could not run command. Nedaří se spustit příkaz. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Příkaz bude spuštěn v prostředí hostitele a potřebuje znát popis umístění kořene souborového systému. rootMountPoint ale není zadaný. - + The command needs to know the user's name, but no username is defined. Příkaz potřebuje znát uživatelské jméno, to ale zadáno nebylo. @@ -632,7 +659,7 @@ Instalační program bude ukončen a všechny změny ztraceny. ContextualProcessJob - + Contextual Processes Job Úloha kontextuálních procesů @@ -969,7 +996,7 @@ Instalační program bude ukončen a všechny změny ztraceny. DummyCppJob - + Dummy C++ Job Výplňová úloha C++ @@ -1200,62 +1227,62 @@ Instalační program bude ukončen a všechny změny ztraceny. GeneralRequirements - + has at least %1 GiB available drive space má alespoň %1 GiB dostupného prostoru - + There is not enough drive space. At least %1 GiB is required. Nedostatek místa na úložišti. Je potřeba nejméně %1 GiB. - + has at least %1 GiB working memory má alespoň %1 GiB operační paměti - + The system does not have enough working memory. At least %1 GiB is required. Systém nemá dostatek operační paměti. Je potřeba nejméně %1 GiB. - + is plugged in to a power source je připojený ke zdroji napájení - + The system is not plugged in to a power source. Systém není připojen ke zdroji napájení. - + is connected to the Internet je připojený k Internetu - + The system is not connected to the Internet. Systém není připojený k Internetu. - + The setup program is not running with administrator rights. Nastavovací program není spuštěn s právy správce systému. - + The installer is not running with administrator rights. Instalační program není spuštěn s právy správce systému. - + The screen is too small to display the setup program. Rozlišení obrazovky je příliš malé pro zobrazení nastavovacího programu. - + The screen is too small to display the installer. Rozlišení obrazovky je příliš malé pro zobrazení instalátoru. @@ -1380,27 +1407,27 @@ Instalační program bude ukončen a všechny změny ztraceny. Formulář - + I accept the terms and conditions above. Souhlasím s výše uvedenými podmínkami. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licenční ujednání</h1>Tato instalace nainstaluje také proprietární software, který podléhá licenčním podmínkám. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Projděte si výše uvedené „licenční smlouvy s koncovým uživatelem“ (EULA).<br/> Pokud s podmínkami v nich nesouhlasíte, ukončete instalační proces. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licenční ujednání</h1>Tento instalační postup může nainstalovat také proprietární software, který podléhá licenčním podmínkám, ale který poskytuje některé další funkce a zlepšuje uživatelskou přivětivost. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Projděte si výše uvedené „licenční smlouvy s koncovým uživatelem“ (EULA).<br/> Pokud s podmínkami v nich nesouhlasíte, místo proprietárního software budou použity open source alternativy. @@ -1408,7 +1435,7 @@ Instalační program bude ukončen a všechny změny ztraceny. LicenseViewStep - + License Licence @@ -1416,64 +1443,64 @@ Instalační program bude ukončen a všechny změny ztraceny. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 ovladač</strong><br/>od %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 ovladač grafiky</strong><br/><font color="Grey">od %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 doplněk prohlížeče</strong><br/><font color="Grey">od %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 kodek</strong><br/><font color="Grey">od %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 balíček</strong><br/><font color="Grey">od %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">od %2</font> - + Shows the complete license text Zobrazit úplný text znění licence - + Hide license text Skrýt text licence - + Show license agreement Zobrazit licenční ujednání - + Hide license agreement Skrýt licenční ujednání - + Opens the license agreement in a browser window. Otevřít licenční ujednání v okně webového prohlížeče - + <a href="%1">View license agreement</a> <a href="%1">Zobrazit licenční ujednání</a> @@ -1574,15 +1601,20 @@ Instalační program bude ukončen a všechny změny ztraceny. Popis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Síťová instalace. (Vypnuto: Nedaří se stáhnout seznamy balíčků – zkontrolujte připojení k síti) - + Network Installation. (Disabled: Received invalid groups data) Síťová instalace. (Vypnuto: Obdrženy neplatné údaje skupin) + + + Network Installation. (Disabled: Incorrect configuration) + Síťová instalace. (vypnuto: nesprávné nastavení) + NetInstallViewStep @@ -1866,6 +1898,47 @@ Instalační program bude ukončen a všechny změny ztraceny. Neznámá chyba + + PackageChooserPage + + + Form + Form + + + + Product Name + Název produktu + + + + TextLabel + TextovýPopisek + + + + Long Product Description + Podrobnější popis produktu + + + + Package Selection + Výběr balíčků + + + + Please pick a product from the list. The selected product will be installed. + Vyberte produkt ze seznamu. Ten vybraný bude nainstalován. + + + + PackageChooserViewStep + + + Packages + Balíčky + + Page_Keyboard @@ -2268,14 +2341,14 @@ Instalační program bude ukončen a všechny změny ztraceny. ProcessResult - + There was no output from the command. Příkaz neposkytl žádný výstup. - + Output: @@ -2284,52 +2357,52 @@ Výstup: - + External command crashed. Vnější příkaz byl neočekávaně ukončen. - + Command <i>%1</i> crashed. Příkaz <i>%1</i> byl neočekávaně ukončen. - + External command failed to start. Vnější příkaz se nepodařilo spustit. - + Command <i>%1</i> failed to start. Příkaz <i>%1</i> se nepodařilo spustit. - + Internal error when starting command. Vnitřní chyba při spouštění příkazu. - + Bad parameters for process job call. Chybné parametry volání úlohy procesu. - + External command failed to finish. Vnější příkaz se nepodařilo dokončit. - + Command <i>%1</i> failed to finish in %2 seconds. Příkaz <i>%1</i> se nepodařilo dokončit do %2 sekund. - + External command finished with errors. Vnější příkaz skončil s chybami. - + Command <i>%1</i> finished with exit code %2. Příkaz <i>%1</i> skončil s návratovým kódem %2. @@ -2388,6 +2461,16 @@ Výstup: language[name] (country[name]) %1 (%2) + + + No product + Žádný produkt + + + + No description provided. + Nebyl poskytnut žádný popis. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Výstup: TrackingInstallJob - + Installation feedback Zpětná vazba z instalace - + Sending installation feedback. Posílání zpětné vazby z instalace. - + Internal error in install-tracking. Vnitřní chyba v install-tracking. - + HTTP request timed out. Překročen časový limit HTTP požadavku. @@ -2943,28 +3026,28 @@ Výstup: TrackingMachineNeonJob - + Machine feedback Zpětná vazba stroje - + Configuring machine feedback. Nastavování zpětné vazby stroje - - + + Error in machine feedback configuration. Chyba v nastavení zpětné vazby stroje. - + Could not configure machine feedback correctly, script error %1. Nepodařilo se správně nastavit zpětnou vazbu stroje, chyba skriptu %1. - + Could not configure machine feedback correctly, Calamares error %1. Nepodařilo se správně nastavit zpětnou vazbu stroje, chyba Calamares %1. @@ -2997,17 +3080,17 @@ Výstup: Sledování instalace pomůže %1 zjistit, kolik má uživatelů, na jakém hardware %1 instalují a (s posledními dvěma možnostmi níže), získávat průběžné informace o upřednostňovaných aplikacích. Co bude posíláno je možné si zobrazit kliknutím na ikonu nápovědy v každé z oblastí. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Výběrem tohoto pošlete informace o své instalaci a hardware. Tyto údaje budou poslány <b>pouze jednorázově</b> po dokončení instalace. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Výběrem tohoto budete <b>pravidelně</b> posílat informace o své instalaci, hardware a aplikacích do %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Výběrem tohoto budete <b>pravidelně</b> posílat informace o své instalaci, hardware, aplikacích a způsobu využití do %1. @@ -3015,7 +3098,7 @@ Výstup: TrackingViewStep - + Feedback Zpětná vazba @@ -3072,6 +3155,19 @@ Výstup: Uživatelé + + VariantModel + + + Key + Klíč + + + + Value + Hodnota + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Výstup: Formulář - + + + Select application and system language + Vybrat jazyk pro aplikace a systém + + + + Open donations website + Otevřít webovou stránku po poskytnutí daru + + + + &Donate + &Darovat + + + + Open help and support website + Otevřít webovou stránku s nápovědou a podporou + + + + Open issues and bug-tracking website + Otevřít webovou stránku se správou hlášení problémů + + + + Open relead notes website + Otevřít webovou stránku s poznámkami k vydání + + + &Release notes &Poznámky k vydání - + &Known issues &Známé problémy - - - Select language - Vyberte jazyk - - - + &Support &Podpora @@ -3159,42 +3280,42 @@ Výstup: &O projektu - + <h1>Welcome to the %1 installer.</h1> <h1>Vítejte v instalátoru %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Vítejte v Calamares, instalačním programu (nejen) pro %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Vítejte v Calamares, instalačním programu (nejen) pro %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Vítejte v instalátoru pro %1.</h1> - + About %1 setup O nastavování %1 - + About %1 installer O instalátoru %1. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Poděkování <a href="https://calamares.io/team/">týmu Calamares</a> a <a href="https://www.transifex.com/calamares/calamares/">týmu překladatelů Calamares</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> vývoj je sponzorován <br/><a href="http://www.blue-systems.com/">Blue Systems</a> – Liberating Software. - + %1 support %1 podpora @@ -3202,7 +3323,7 @@ Výstup: WelcomeViewStep - + Welcome Vítejte diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index c4e9a0456..1a98bef6f 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Tom side @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formular - + GlobalStorage Globalt lager - + JobQueue Jobkø - + Modules Moduler - + Type: Type: - - + + none ingen - + Interface: Grænseflade: - + Tools Værktøjer - + Reload Stylesheet Genindlæs stilark - + Widget Tree Widgettræ - + Debug information Fejlretningsinformation @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Sæt op - + Install Installation @@ -133,7 +133,7 @@ Job mislykkedes (%1) - + Programmed job failure was explicitly requested. Mislykket programmeret job blev udtrykkeligt anmodet. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Færdig @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Kør kommandoen '%1' i målsystemet. - + Run command '%1'. Kør kommandoen '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Kører %1-handling. - + Bad working directory path Ugyldig arbejdsmappesti - + Working directory %1 for python job %2 is not readable. Arbejdsmappen %1 til python-jobbet %2 er ikke læsbar. - + Bad main script file Ugyldig primær skriptfil - + Main script file %1 for python job %2 is not readable. Primær skriptfil %1 til python-jobbet %2 er ikke læsbar. - + Boost.Python error in job "%1". Boost.Python-fejl i job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Venter på %n modul.Venter på %n moduler. - + (%n second(s)) (%n sekund)(%n sekunder) - + System-requirements checking is complete. Tjek af systemkrav er fuldført. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Tilbage - + &Next &Næste - + &Cancel &Annullér - + Cancel setup without changing the system. Annullér opsætningen uden at ændre systemet. - + Cancel installation without changing the system. Annullér installation uden at ændre systemet. - + Setup Failed Opsætningen mislykkedes - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Initiering af Calamares mislykkedes - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kan ikke installeres. Calamares kunne ikke indlæse alle de konfigurerede moduler. Det er et problem med den måde Calamares bruges på af distributionen. - + <br/>The following modules could not be loaded: <br/>Følgende moduler kunne ikke indlæses: - + Continue with installation? Fortsæt installationen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1-opsætningsprogrammet er ved at foretage ændringer til din disk for at opsætte %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Set up now &Sæt op nu - + &Set up &Sæt op - + &Install &Installér - + Setup is complete. Close the setup program. Opsætningen er fuldført. Luk opsætningsprogrammet. - + Cancel setup? Annullér opsætningen? - + Cancel installation? Annullér installationen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Vil du virkelig annullere den igangværende opsætningsproces? Opsætningsprogrammet vil stoppe og alle ændringer vil gå tabt. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig annullere den igangværende installationsproces? Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - + + &Yes &Ja - + + &No &Nej - + &Close &Luk - + Continue with setup? Fortsæt med opsætningen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Install now &Installér nu - + Go &back Gå &tilbage - + &Done &Færdig - + The installation is complete. Close the installer. Installationen er fuldført. Luk installationsprogrammet. - + Error Fejl - + Installation Failed Installation mislykkedes @@ -383,26 +400,35 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. CalamaresPython::Helper - + Unknown exception type Ukendt undtagelsestype - + unparseable Python error Python-fejl som ikke kan fortolkes - + unparseable Python traceback Python-traceback som ikke kan fortolkes - + Unfetchable Python error. Python-fejl som ikke kan hentes. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. CommandList - - + + Could not run command. Kunne ikke køre kommando. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Kommandoen kører i værtsmiljøet og har brug for at kende rodstien, men der er ikke defineret nogen rootMountPoint. - + The command needs to know the user's name, but no username is defined. Kommandoen har brug for at kende brugerens navn, men der er ikke defineret noget brugernavn. @@ -632,7 +658,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. ContextualProcessJob - + Contextual Processes Job Kontekstuelt procesjob @@ -969,7 +995,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. DummyCppJob - + Dummy C++ Job Dummy C++-job @@ -1200,62 +1226,62 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. GeneralRequirements - + has at least %1 GiB available drive space har mindst %1 GiB ledig plads på drevet - + There is not enough drive space. At least %1 GiB is required. Der er ikke nok ledig plads på drevet. Mindst %1 GiB er påkrævet. - + has at least %1 GiB working memory har mindst %1 GiB hukkommelse - + The system does not have enough working memory. At least %1 GiB is required. Systemet har ikke nok arbejdshukommelse. Mindst %1 GiB er påkrævet. - + is plugged in to a power source er tilsluttet en strømkilde - + The system is not plugged in to a power source. Systemet er ikke tilsluttet en strømkilde. - + is connected to the Internet er forbundet til internettet - + The system is not connected to the Internet. Systemet er ikke forbundet til internettet. - + The setup program is not running with administrator rights. Opsætningsprogrammet kører ikke med administratorrettigheder. - + The installer is not running with administrator rights. Installationsprogrammet kører ikke med administratorrettigheder. - + The screen is too small to display the setup program. Skærmen er for lille til at vise opsætningsprogrammet. - + The screen is too small to display the installer. Skærmen er for lille til at vise installationsprogrammet. @@ -1380,27 +1406,27 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Formular - + I accept the terms and conditions above. Jeg accepterer de ovenstående vilkår og betingelser. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licensaftale</h1>Opsætningsproceduren installerer proprietær software der er underlagt licenseringsvilkår. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Gennemgå venligst slutbrugerlicensaftalerne (EULA'er) ovenfor.<br/>Hvis du ikke er enig med disse vilkår, kan opsætningsproceduren ikke fortsætte. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licensaftale</h1>Opsætningsproceduren kan installere proprietær software der er underlagt licenseringsvilkår, for at kunne tilbyde yderligere funktionaliteter og forbedre brugeroplevelsen. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Gennemgå venligst slutbrugerlicensaftalerne (EULA'er) ovenfor.<br/>Hvis du ikke er enig med disse vilkår vil der ikke blive installeret proprietær software, og open source-alternativer vil blive brugt i stedet. @@ -1408,7 +1434,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. LicenseViewStep - + License Licens @@ -1416,64 +1442,64 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>af %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafikdriver</strong><br/><font color="Grey">af %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 browser-plugin</strong><br/><font color="Grey">af %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">af %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pakke</strong><br/><font color="Grey">af %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">af %2</font> - + Shows the complete license text Viser den fulde licenstekst - + Hide license text Skjul licenstekst - + Show license agreement Vis licensaftale - + Hide license agreement Skjul licensaftale - + Opens the license agreement in a browser window. Åbner licensaftalen i et browservindue. - + <a href="%1">View license agreement</a> <a href="%1">Vis licensaftale</a> @@ -1574,15 +1600,20 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Beskrivelse - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netværksinstallation. (Deaktiveret: Kunne ikke hente pakkelister, tjek din netværksforbindelse) - + Network Installation. (Disabled: Received invalid groups data) Netværksinstallation. (Deaktiveret: Modtog ugyldige gruppers data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Ukendt fejl + + PackageChooserPage + + + Form + Formular + + + + Product Name + + + + + TextLabel + Tekstetiket + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. ProcessResult - + There was no output from the command. Der var ikke nogen output fra kommandoen. - + Output: @@ -2284,52 +2356,52 @@ Output: - + External command crashed. Ekstern kommando holdt op med at virke. - + Command <i>%1</i> crashed. Kommandoen <i>%1</i> holdte op med at virke. - + External command failed to start. Ekstern kommando kunne ikke starte. - + Command <i>%1</i> failed to start. Kommandoen <i>%1</i> kunne ikke starte. - + Internal error when starting command. Intern fejl ved start af kommando. - + Bad parameters for process job call. Ugyldige parametre til kald af procesjob. - + External command failed to finish. Ekstern kommando blev ikke færdig. - + Command <i>%1</i> failed to finish in %2 seconds. Kommandoen <i>%1</i> blev ikke færdig på %2 sekunder. - + External command finished with errors. Ekstern kommando blev færdig med fejl. - + Command <i>%1</i> finished with exit code %2. Kommandoen <i>%1</i> blev færdig med afslutningskoden %2. @@ -2388,6 +2460,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Output: TrackingInstallJob - + Installation feedback Installationsfeedback - + Sending installation feedback. Sender installationsfeedback. - + Internal error in install-tracking. Intern fejl i installationssporing. - + HTTP request timed out. HTTP-anmodning fik timeout. @@ -2943,28 +3025,28 @@ Output: TrackingMachineNeonJob - + Machine feedback Maskinfeedback - + Configuring machine feedback. Konfigurer maskinfeedback. - - + + Error in machine feedback configuration. Fejl i maskinfeedback-konfiguration. - + Could not configure machine feedback correctly, script error %1. Kunne ikke konfigurere maskinfeedback korrekt, skript-fejl %1. - + Could not configure machine feedback correctly, Calamares error %1. Kunne ikke konfigurere maskinfeedback korrekt, Calamares-fejl %1. @@ -2997,17 +3079,17 @@ Output: Installationssporing hjælper %1 til at se hvor mange brugere de har, hvilket hardware de installere %1 på og (med de sidste to valgmuligheder nedenfor), hente information om fortrukne programmer løbende. Klik venligst på hjælp-ikonet ved siden af hvert område, for at se hvad der vil blive sendt. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Vælges dette sender du information om din installation og hardware. Informationen vil <b>første blive sendt</b> efter installationen er færdig. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Vælges dette sender du <b>periodisk</b> information om din installation, hardware og programmer, til %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Vælges dette sender du <b>regelmæssigt</b> information om din installation, hardware, programmer og anvendelsesmønstre, til %1. @@ -3015,7 +3097,7 @@ Output: TrackingViewStep - + Feedback Feedback @@ -3072,6 +3154,19 @@ Output: Brugere + + VariantModel + + + Key + + + + + Value + Værdi + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Output: Formular - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Udgivelsesnoter - + &Known issues &Kendte problemer - - - Select language - Vælg sprog - - - + &Support &Support @@ -3159,42 +3279,42 @@ Output: &Om - + <h1>Welcome to the %1 installer.</h1> <h1>Velkommen til %1-installationsprogrammet.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Velkommen til Calamares-installationsprogrammet for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Velkommen til Calamares-opsætningsprogrammet til %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Velkommen til %1-opsætningen.</h1> - + About %1 setup Om %1-opsætningen - + About %1 installer Om %1-installationsprogrammet - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>til %3</strong><br/><br/>Ophavsret 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Ophavsret 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Tak til <a href="https://calamares.io/team/">Calamares-teamet</a> og <a href="https://www.transifex.com/calamares/calamares/">Calamares oversætter-teamet</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> udvikling er sponsoreret af <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 support @@ -3202,7 +3322,7 @@ Output: WelcomeViewStep - + Welcome Velkommen diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 997fb8f02..761e3e2ac 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Leere Seite @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formular - + GlobalStorage Globale Einstellungen - + JobQueue Job-Queue - + Modules Module - + Type: Typ: - - + + none keiner - + Interface: Schnittstelle: - + Tools Werkzeuge - + Reload Stylesheet Stylesheet neu laden - + Widget Tree Widget-Baum - + Debug information Debug-Information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Einrichten - + Install Installieren @@ -133,7 +133,7 @@ Auftrag fehlgeschlagen (%1) - + Programmed job failure was explicitly requested. Ein programmierter Auftragsfehler wurde explizit gefordert. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Fertig @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Führen Sie den Befehl '%1' im Zielsystem aus. - + Run command '%1'. Führen Sie Befehl '%1' aus. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Operation %1 wird ausgeführt. - + Bad working directory path Fehlerhafter Arbeitsverzeichnis-Pfad - + Working directory %1 for python job %2 is not readable. Arbeitsverzeichnis %1 für Python-Job %2 ist nicht lesbar. - + Bad main script file Fehlerhaftes Hauptskript - + Main script file %1 for python job %2 is not readable. Hauptskript-Datei %1 für Python-Job %2 ist nicht lesbar. - + Boost.Python error in job "%1". Boost.Python-Fehler in Job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Warten auf %n Modul.Warten auf %n Modul(e). - + (%n second(s)) (%n Sekunde)(%n Sekunde(n)) - + System-requirements checking is complete. Die Überprüfung der Systemvoraussetzungen ist abgeschlossen. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Zurück - + &Next &Weiter - + &Cancel &Abbrechen - + Cancel setup without changing the system. Brechen Sie die Installation ab, ohne das System zu verändern. - + Cancel installation without changing the system. Installation abbrechen, ohne das System zu verändern. - + Setup Failed Setup fehlgeschlagen - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Initialisierung von Calamares fehlgeschlagen - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kann nicht installiert werden. Calamares war nicht in der Lage, alle konfigurierten Module zu laden. Dieses Problem hängt mit der Art und Weise zusammen, wie Calamares von der jeweiligen Distribution eingesetzt wird. - + <br/>The following modules could not be loaded: <br/>Die folgenden Module konnten nicht geladen werden: - + Continue with installation? Installation fortsetzen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm ist dabei, Änderungen an Ihrer Festplatte vorzunehmen, um %2 einzurichten.<br/><strong> Sie werden diese Änderungen nicht rückgängig machen können.</strong> - + &Set up now &Jetzt einrichten - + &Set up &Einrichten - + &Install &Installieren - + Setup is complete. Close the setup program. Setup ist abgeschlossen. Schließe das Installationsprogramm. - + Cancel setup? Installation abbrechen? - + Cancel installation? Installation abbrechen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + + &Yes &Ja - + + &No &Nein - + &Close &Schließen - + Continue with setup? Setup fortsetzen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm wird Änderungen an Ihrer Festplatte vornehmen, um %2 zu installieren.<br/><strong>Diese Änderungen können nicht rückgängig gemacht werden.</strong> - + &Install now Jetzt &installieren - + Go &back Gehe &zurück - + &Done &Erledigt - + The installation is complete. Close the installer. Die Installation ist abgeschlossen. Schließe das Installationsprogramm. - + Error Fehler - + Installation Failed Installation gescheitert @@ -383,26 +400,35 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. CalamaresPython::Helper - + Unknown exception type Unbekannter Ausnahmefehler - + unparseable Python error Nicht analysierbarer Python-Fehler - + unparseable Python traceback Nicht analysierbarer Python-Traceback - + Unfetchable Python error. Nicht zuzuordnender Python-Fehler + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. CommandList - - + + Could not run command. Befehl konnte nicht ausgeführt werden. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Dieser Befehl wird im installierten System ausgeführt und muss daher den Root-Pfad kennen, jedoch wurde kein rootMountPoint definiert. - + The command needs to know the user's name, but no username is defined. Dieser Befehl benötigt den Benutzernamen, jedoch ist kein Benutzername definiert. @@ -632,7 +658,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. ContextualProcessJob - + Contextual Processes Job Job für kontextuale Prozesse @@ -969,7 +995,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1200,62 +1226,62 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. GeneralRequirements - + has at least %1 GiB available drive space mindestens %1 GiB freien Festplattenplatz hat - + There is not enough drive space. At least %1 GiB is required. Der Speicherplatz auf der Festplatte ist unzureichend. Es wird mindestens %1 GiB benötigt. - + has at least %1 GiB working memory mindestens %1 GiB Arbeitsspeicher hat - + The system does not have enough working memory. At least %1 GiB is required. Das System hat nicht genug Arbeitsspeicher. Es wird mindestens %1GiB benötigt. - + is plugged in to a power source ist an eine Stromquelle angeschlossen - + The system is not plugged in to a power source. Das System ist an keine Stromquelle angeschlossen. - + is connected to the Internet ist mit dem Internet verbunden - + The system is not connected to the Internet. Das System ist nicht mit dem Internet verbunden. - + The setup program is not running with administrator rights. Das Installationsprogramm wird nicht mit Administratorrechten ausgeführt. - + The installer is not running with administrator rights. Das Installationsprogramm wird nicht mit Administratorrechten ausgeführt. - + The screen is too small to display the setup program. Der Bildschirm ist zu klein, um das Installationsprogramm anzuzeigen. - + The screen is too small to display the installer. Der Bildschirm ist zu klein, um das Installationsprogramm anzuzeigen. @@ -1380,27 +1406,27 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Formular - + I accept the terms and conditions above. Ich akzeptiere die obigen Allgemeinen Geschäftsbedingungen. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Lizenzvereinbarung</h1>Dieses Installationsprogramm wird proprietäre Software installieren, welche Lizenzbedingungen unterliegt. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Bitte überprüfen Sie die obigen Lizenzvereinbarungen für Endbenutzer (EULAs).<br/>Wenn Sie mit diesen Bedingungen nicht einverstanden sind, kann das Installationsprogramm nicht fortgesetzt werden. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1> Lizenzvereinbarung </ h1> Dieses Installationsprogramm kann proprietäre Software installieren, welche Lizenzbedingungen unterliegt, um zusätzliche Funktionen bereitzustellen und die Benutzerfreundlichkeit zu verbessern. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Bitte überprüfen Sie die obigen Lizenzvereinbarungen für Endbenutzer (EULAs).<br/>Wenn Sie mit diesen Bedingungen nicht einverstanden sind, wird keine proprietäre Software installiert werden. Stattdessen werden quelloffene Alternativen verwendet. @@ -1408,7 +1434,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. LicenseViewStep - + License Lizenz @@ -1416,64 +1442,64 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 Treiber</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 Grafiktreiber</strong><br/><font color="Grey">von %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 Browser-Plugin</strong><br/><font color="Grey">von %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 Codec</strong><br/><font color="Grey">von %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 Paket</strong><br/><font color="Grey">von %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">von %2</font> - + Shows the complete license text Zeigt den vollständigen Lizenztext an - + Hide license text Lizenztext ausblenden - + Show license agreement Lizenzvereinbarung anzeigen - + Hide license agreement Lizenzvereinbarung ausblenden - + Opens the license agreement in a browser window. Öffnet die Lizenzvereinbarung in einem Browserfenster. - + <a href="%1">View license agreement</a> <a href="%1">Lizenzvereinbarung anzeigen</a> @@ -1574,15 +1600,20 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Beschreibung - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netzwerk-Installation. (Deaktiviert: Paketlisten nicht erreichbar, prüfe deine Netzwerk-Verbindung) - + Network Installation. (Disabled: Received invalid groups data) Netwerk-Installation. (Deaktiviert: Ungültige Gruppen-Daten eingegeben) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Unbekannter Fehler + + PackageChooserPage + + + Form + Formular + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. ProcessResult - + There was no output from the command. Dieser Befehl hat keine Ausgabe erzeugt. - + Output: @@ -2284,52 +2356,52 @@ Ausgabe: - + External command crashed. Externes Programm abgestürzt. - + Command <i>%1</i> crashed. Programm <i>%1</i> abgestürzt. - + External command failed to start. Externes Programm konnte nicht gestartet werden. - + Command <i>%1</i> failed to start. Das Programm <i>%1</i> konnte nicht gestartet werden. - + Internal error when starting command. Interner Fehler beim Starten des Programms. - + Bad parameters for process job call. Ungültige Parameter für Prozessaufruf. - + External command failed to finish. Externes Programm konnte nicht abgeschlossen werden. - + Command <i>%1</i> failed to finish in %2 seconds. Programm <i>%1</i> konnte nicht innerhalb von %2 Sekunden abgeschlossen werden. - + External command finished with errors. Externes Programm mit Fehlern beendet. - + Command <i>%1</i> finished with exit code %2. Befehl <i>%1</i> beendet mit Exit-Code %2. @@ -2388,6 +2460,16 @@ Ausgabe: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Ausgabe: TrackingInstallJob - + Installation feedback Rückmeldungen zur Installation - + Sending installation feedback. Senden der Rückmeldungen zur Installation. - + Internal error in install-tracking. Interner Fehler bei der Überwachung der Installation. - + HTTP request timed out. Zeitüberschreitung bei HTTP-Anfrage @@ -2943,28 +3025,28 @@ Ausgabe: TrackingMachineNeonJob - + Machine feedback Rückinformationen zum Computer - + Configuring machine feedback. Konfiguriere Rückmeldungen zum Computer. - - + + Error in machine feedback configuration. Fehler bei der Konfiguration der Rückmeldungen zum Computer - + Could not configure machine feedback correctly, script error %1. Rückmeldungen zum Computer konnten nicht korrekt konfiguriert werden, Skriptfehler %1. - + Could not configure machine feedback correctly, Calamares error %1. Rückmeldungen zum Computer konnten nicht korrekt konfiguriert werden, Calamares-Fehler %1. @@ -2997,17 +3079,17 @@ Ausgabe: Rückinformationen über die Installation helfen %1 festzustellen, wieviele Menschen es benutzen und auf welcher Hardware sie %1 installieren. Mit den beiden letzten Optionen gestatten Sie die Erhebung kontinuierlicher Informationen über Ihre bevorzugte Software. Um zu prüfen, welche Informationen gesendet werden, klicken Sie bitte auf das Hilfesymbol neben dem jeweiligen Abschnitt. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Wenn Sie diese Option auswählen, senden Sie Informationen zu Ihrer Installation und Hardware. Diese Informationen werden <b>nur einmalig</b> nach Abschluss der Installation gesendet. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Wenn Sie diese Option auswählen, senden Sie <b>regelmäßig</b> Informationen zu Installation, Hardware und Anwendungen an %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Wenn Sie diese Option auswählen, senden Sie <b>regelmäßig</b> Informationen zu Installation, Hardware, Anwendungen und Nutzungsmuster an %1. @@ -3015,7 +3097,7 @@ Ausgabe: TrackingViewStep - + Feedback Rückmeldung @@ -3072,6 +3154,19 @@ Ausgabe: Benutzer + + VariantModel + + + Key + + + + + Value + Wert + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Ausgabe: Form - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Veröffentlichungshinweise - + &Known issues &Bekannte Probleme - - - Select language - Sprache auswählen - - - + &Support &Unterstützung @@ -3159,42 +3279,42 @@ Ausgabe: &Über - + <h1>Welcome to the %1 installer.</h1> <h1>Willkommen im %1 Installationsprogramm.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Willkommen beim Calamares-Installationsprogramm für %1. - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Willkommen beim Calamares Installationsprogramm für %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Willkommen zur Installation von %1.</h1> - + About %1 setup Über das Installationsprogramm %1 - + About %1 installer Über das %1 Installationsprogramm - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>für %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Dank an <a href="https://calamares.io/team/">das Calamares-Team</a> und das <a href="https://www.transifex.com/calamares/calamares/">Calamares Übersetzerteam</a>.<br/><br/>Die <a href="https://calamares.io/">Calamares</a>-Entwicklung wird unterstützt von<br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Unterstützung für %1 @@ -3202,7 +3322,7 @@ Ausgabe: WelcomeViewStep - + Welcome Willkommen diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index f6351f912..6bedf1c84 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Κενή Σελίδα @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Τύπος - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Αρθρώματα - + Type: Τύπος: - - + + none κανένα - + Interface: Διεπαφή: - + Tools Εργαλεία - + Reload Stylesheet - + Widget Tree - + Debug information Πληροφορίες αποσφαλμάτωσης @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Εγκατάσταση @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Ολοκληρώθηκε @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Εκτελείται η λειτουργία %1. - + Bad working directory path Λανθασμένη διαδρομή καταλόγου εργασίας - + Working directory %1 for python job %2 is not readable. Ο ενεργός κατάλογος %1 για την εργασία python %2 δεν είναι δυνατόν να διαβαστεί. - + Bad main script file Λανθασμένο κύριο αρχείο δέσμης ενεργειών - + Main script file %1 for python job %2 is not readable. Η κύρια δέσμη ενεργειών %1 για την εργασία python %2 δεν είναι δυνατόν να διαβαστεί. - + Boost.Python error in job "%1". Σφάλμα Boost.Python στην εργασία "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Προηγούμενο - + &Next &Επόμενο - + &Cancel &Ακύρωση - + Cancel setup without changing the system. - + Cancel installation without changing the system. Ακύρωση της εγκατάστασης χωρίς αλλαγές στο σύστημα. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Η αρχικοποίηση του Calamares απέτυχε - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Εγκατάσταση - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Ακύρωση της εγκατάστασης; - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Θέλετε πραγματικά να ακυρώσετε τη διαδικασία εγκατάστασης; Το πρόγραμμα εγκατάστασης θα τερματιστεί και όλες οι αλλαγές θα χαθούν. - + + &Yes &Ναι - + + &No &Όχι - + &Close &Κλείσιμο - + Continue with setup? Συνέχεια με την εγκατάσταση; - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Το πρόγραμμα εγκατάστασης %1 θα κάνει αλλαγές στον δίσκο για να εγκαταστήσετε το %2.<br/><strong>Δεν θα είστε σε θέση να αναιρέσετε τις αλλαγές.</strong> - + &Install now &Εγκατάσταση τώρα - + Go &back Μετάβαση &πίσω - + &Done &Ολοκληρώθηκε - + The installation is complete. Close the installer. Η εγκτάσταση ολοκληρώθηκε. Κλείστε το πρόγραμμα εγκατάστασης. - + Error Σφάλμα - + Installation Failed Η εγκατάσταση απέτυχε @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Άγνωστος τύπος εξαίρεσης - + unparseable Python error Μη αναγνώσιμο σφάλμα Python - + unparseable Python traceback Μη αναγνώσιμη ανίχνευση Python - + Unfetchable Python error. Μη ανακτήσιµο σφάλμα Python. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source είναι συνδεδεμένος σε πηγή ρεύματος - + The system is not plugged in to a power source. Το σύστημα δεν είναι συνδεδεμένο σε πηγή ρεύματος. - + is connected to the Internet είναι συνδεδεμένος στο διαδίκτυο - + The system is not connected to the Internet. Το σύστημα δεν είναι συνδεδεμένο στο διαδίκτυο. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Το πρόγραμμα εγκατάστασης δεν εκτελείται με δικαιώματα διαχειριστή. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Η οθόνη είναι πολύ μικρή για να απεικονίσει το πρόγραμμα εγκατάστασης @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. Τύπος - + I accept the terms and conditions above. Δέχομαι τους παραπάνω όρους και προϋποθέσεις. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Άδεια χρήσης</h1>Η διαδικασία ρύθμισης θα εγκαταστήσει ιδιόκτητο λογισμικό που υπόκειται στους όρους αδειών. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Άδεια χρήσης</h1>Η διαδικασία ρύθμισης θα εγκαταστήσει ιδιόκτητο λογισμικό που υπόκειται στους όρους αδειών προκειμένου να παρέχει πρόσθετες δυνατότητες και να ενισχύσει την εμπειρία του χρήστη. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License Άδεια @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>οδηγός %1</strong><br/>από %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 οδηγός κάρτας γραφικών</strong><br/><font color="Grey">από %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 πρόσθετο περιηγητή</strong><br/><font color="Grey">από %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>κωδικοποιητής %1</strong><br/><font color="Grey">από %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>πακέτο %1</strong><br/><font color="Grey">από %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">από %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. Περιγραφή - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + Τύπος + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Λανθασμένοι παράμετροι για την κλήση διεργασίας. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: Χρήστες + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Τύπος - - &Release notes - Ση&μειώσεις έκδοσης - - - - &Known issues - &Γνωστά προβλήματα - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + Ση&μειώσεις έκδοσης + + + + &Known issues + &Γνωστά προβλήματα + + + &Support &Υποστήριξη @@ -3155,42 +3275,42 @@ Output: Σ&χετικά με - + <h1>Welcome to the %1 installer.</h1> <h1>Καλώς ήλθατε στην εγκατάσταση του %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Σχετικά με το πρόγραμμα εγκατάστασης %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Υποστήριξη %1 @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Καλώς ήλθατε diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 628f22a83..1b43513b9 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Modules - + Type: Type: - - + + none none - + Interface: Interface: - + Tools Tools - + Reload Stylesheet Reload Stylesheet - + Widget Tree Widget Tree - + Debug information Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Set up - + Install Install @@ -133,7 +133,7 @@ Job failed (%1) - + Programmed job failure was explicitly requested. Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Run command '%1' in target system. - + Run command '%1'. Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Running %1 operation. - + Bad working directory path Bad working directory path - + Working directory %1 for python job %2 is not readable. Working directory %1 for python job %2 is not readable. - + Bad main script file Bad main script file - + Main script file %1 for python job %2 is not readable. Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Waiting for %n module(s).Waiting for %n module(s). - + (%n second(s)) (%n second(s))(%n second(s)) - + System-requirements checking is complete. System-requirements checking is complete. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Back - + &Next &Next - + &Cancel &Cancel - + Cancel setup without changing the system. Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. - + Setup Failed Setup Failed - + + Would you like to paste the install log to the web? + Would you like to paste the install log to the web? + + + + Install Log Paste URL + Install Log Paste URL + + + + The upload was unsuccessful. No web-paste was done. + The upload was unsuccessful. No web-paste was done. + + + Calamares Initialization Failed Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>The following modules could not be loaded: - + Continue with installation? Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Set up now - + &Set up &Set up - + &Install &Install - + Setup is complete. Close the setup program. Setup is complete. Close the setup program. - + Cancel setup? Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes &Yes - + + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -383,26 +400,36 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Unknown exception type - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + Install log posted to: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. The command needs to know the user's name, but no username is defined. @@ -632,7 +659,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job Contextual Processes Job @@ -969,7 +996,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1200,62 +1227,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source is plugged in to a power source - + The system is not plugged in to a power source. The system is not plugged in to a power source. - + is connected to the Internet is connected to the Internet - + The system is not connected to the Internet. The system is not connected to the Internet. - + The setup program is not running with administrator rights. The setup program is not running with administrator rights. - + The installer is not running with administrator rights. The installer is not running with administrator rights. - + The screen is too small to display the setup program. The screen is too small to display the setup program. - + The screen is too small to display the installer. The screen is too small to display the installer. @@ -1380,27 +1407,27 @@ The installer will quit and all changes will be lost. Form - + I accept the terms and conditions above. I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1408,7 +1435,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License License @@ -1416,64 +1443,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text Shows the complete license text - + Hide license text Hide license text - + Show license agreement Show license agreement - + Hide license agreement Hide license agreement - + Opens the license agreement in a browser window. Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> <a href="%1">View license agreement</a> @@ -1574,15 +1601,20 @@ The installer will quit and all changes will be lost. Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + Network Installation. (Disabled: Incorrect configuration) + NetInstallViewStep @@ -1866,6 +1898,47 @@ The installer will quit and all changes will be lost. Unknown error + + PackageChooserPage + + + Form + Form + + + + Product Name + Product Name + + + + TextLabel + TextLabel + + + + Long Product Description + Long Product Description + + + + Package Selection + Package Selection + + + + Please pick a product from the list. The selected product will be installed. + Please pick a product from the list. The selected product will be installed. + + + + PackageChooserViewStep + + + Packages + Packages + + Page_Keyboard @@ -2268,14 +2341,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. There was no output from the command. - + Output: @@ -2284,52 +2357,52 @@ Output: - + External command crashed. External command crashed. - + Command <i>%1</i> crashed. Command <i>%1</i> crashed. - + External command failed to start. External command failed to start. - + Command <i>%1</i> failed to start. Command <i>%1</i> failed to start. - + Internal error when starting command. Internal error when starting command. - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish. External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. External command finished with errors. - + Command <i>%1</i> finished with exit code %2. Command <i>%1</i> finished with exit code %2. @@ -2388,6 +2461,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + No product + + + + No description provided. + No description provided. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Output: TrackingInstallJob - + Installation feedback Installation feedback - + Sending installation feedback. Sending installation feedback. - + Internal error in install-tracking. Internal error in install-tracking. - + HTTP request timed out. HTTP request timed out. @@ -2943,28 +3026,28 @@ Output: TrackingMachineNeonJob - + Machine feedback Machine feedback - + Configuring machine feedback. Configuring machine feedback. - - + + Error in machine feedback configuration. Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. Could not configure machine feedback correctly, Calamares error %1. @@ -2997,17 +3080,17 @@ Output: Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3015,7 +3098,7 @@ Output: TrackingViewStep - + Feedback Feedback @@ -3072,6 +3155,19 @@ Output: Users + + VariantModel + + + Key + Key + + + + Value + Value + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Output: Form - + + + Select application and system language + Select application and system language + + + + Open donations website + Open donations website + + + + &Donate + &Donate + + + + Open help and support website + Open help and support website + + + + Open issues and bug-tracking website + Open issues and bug-tracking website + + + + Open relead notes website + Open relead notes website + + + &Release notes &Release notes - + &Known issues &Known issues - - - Select language - Select language - - - + &Support &Support @@ -3159,42 +3280,42 @@ Output: &About - + <h1>Welcome to the %1 installer.</h1> <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Welcome to %1 setup.</h1> - + About %1 setup About %1 setup - + About %1 installer About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 support @@ -3202,7 +3323,7 @@ Output: WelcomeViewStep - + Welcome Welcome diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 61d62d04a..63b177362 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Modules - + Type: Type: - - + + none none - + Interface: Interface: - + Tools Tools - + Reload Stylesheet - + Widget Tree - + Debug information Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Running %1 operation. - + Bad working directory path Bad working directory path - + Working directory %1 for python job %2 is not readable. Working directory %1 for python job %2 is not readable. - + Bad main script file Bad main script file - + Main script file %1 for python job %2 is not readable. Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Back - + &Next &Next - + &Cancel &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares Initialisation Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes &Yes - + + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Unknown exception type - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source is plugged in to a power source - + The system is not plugged in to a power source. The system is not plugged in to a power source. - + is connected to the Internet is connected to the Internet - + The system is not connected to the Internet. The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. Form - + I accept the terms and conditions above. I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License License @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. Unknown error + + PackageChooserPage + + + Form + Form + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,14 +2339,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. There was no output from the command. - + Output: @@ -2283,52 +2355,52 @@ Output: - + External command crashed. External command crashed. - + Command <i>%1</i> crashed. Command <i>%1</i> crashed. - + External command failed to start. External command failed to start. - + Command <i>%1</i> failed to start. Command <i>%1</i> failed to start. - + Internal error when starting command. Internal error when starting command. - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish. External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. External command finished with errors. - + Command <i>%1</i> finished with exit code %2. Command <i>%1</i> finished with exit code %2. @@ -2387,6 +2459,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2919,22 +3001,22 @@ Output: TrackingInstallJob - + Installation feedback Installation feedback - + Sending installation feedback. Sending installation feedback. - + Internal error in install-tracking. Internal error in install-tracking. - + HTTP request timed out. HTTP request timed out. @@ -2942,28 +3024,28 @@ Output: TrackingMachineNeonJob - + Machine feedback Machine feedback - + Configuring machine feedback. Configuring machine feedback. - - + + Error in machine feedback configuration. Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. Could not configure machine feedback correctly, Calamares error %1. @@ -2996,17 +3078,17 @@ Output: Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3014,7 +3096,7 @@ Output: TrackingViewStep - + Feedback Feedback @@ -3071,6 +3153,19 @@ Output: Users + + VariantModel + + + Key + + + + + Value + Value + + VolumeGroupBaseDialog @@ -3132,23 +3227,48 @@ Output: Form - - &Release notes - &Release notes - - - - &Known issues - &Known issues - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Release notes + + + + &Known issues + &Known issues + + + &Support &Support @@ -3158,42 +3278,42 @@ Output: &About - + <h1>Welcome to the %1 installer.</h1> <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 support @@ -3201,7 +3321,7 @@ Output: WelcomeViewStep - + Welcome Welcome diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index 725791019..3dd478608 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formularo - + GlobalStorage - + JobQueue - + Modules Moduloj - + Type: Tipo: - - + + none neniu - + Interface: Interfaco: - + Tools Iloj - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instali @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Finita @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel &Nuligi - + Cancel setup without changing the system. - + Cancel installation without changing the system. Nuligi instalado sen ŝanĝante la sistemo. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instali - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Nuligi instalado? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ĉu vi vere volas nuligi la instalan procedon? La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + + &Yes &Jes - + + &No &Ne - + &Close &Fermi - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Instali nun - + Go &back - + &Done &Finita - + The installation is complete. Close the installer. - + Error Eraro - + Installation Failed @@ -382,26 +399,35 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Formularo - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. LicenseViewStep - + License @@ -1415,64 +1441,64 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. + + PackageChooserPage + + + Form + Formularo + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1(%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Formularo - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3155,42 +3275,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 8c367e353..776c066dd 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -49,7 +49,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::BlankViewStep - + Blank Page Página vacía @@ -57,58 +57,58 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::DebugWindow - + Form Formulario - + GlobalStorage Almacenamiento Global - + JobQueue Lista de trabajos pendientes - + Modules Módulos - + Type: Tipo: - - + + none ninguno - + Interface: Interfaz: - + Tools Herramientas - + Reload Stylesheet - + Widget Tree - + Debug information Información de depuración. @@ -116,12 +116,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ExecutionViewStep - + Set up - + Install Instalar @@ -134,7 +134,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Trabajo fallido (%1) - + Programmed job failure was explicitly requested. @@ -142,7 +142,7 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::JobThread - + Done Hecho @@ -158,12 +158,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -176,32 +176,32 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::PythonJob - + Running %1 operation. Ejecutando %1 operación. - + Bad working directory path Error en la ruta del directorio de trabajo - + Working directory %1 for python job %2 is not readable. El directorio de trabajo %1 para el script de python %2 no se puede leer. - + Bad main script file Script principal erróneo - + Main script file %1 for python job %2 is not readable. El script principal %1 del proceso python %2 no es accesible. - + Boost.Python error in job "%1". Error Boost.Python en el proceso "%1". @@ -209,17 +209,17 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -227,155 +227,172 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ViewManager - + &Back &Atrás - + &Next &Siguiente - + &Cancel &Cancelar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed La inicialización de Calamares falló - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 no se pudo instalar. Calamares no fue capaz de cargar todos los módulos configurados. Esto es un problema con la forma en que Calamares es usado por la distribución - + <br/>The following modules could not be loaded: Los siguientes módulos no se pudieron cargar: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente quiere cancelar el proceso de instalación? Saldrá del instalador y se perderán todos los cambios. - + + &Yes &Sí - + + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back Regresar - + &Done &Hecho - + The installation is complete. Close the installer. La instalación se ha completado. Cierre el instalador. - + Error Error - + Installation Failed Error en la Instalación @@ -383,26 +400,35 @@ Saldrá del instalador y se perderán todos los cambios. CalamaresPython::Helper - + Unknown exception type Excepción desconocida - + unparseable Python error error unparseable Python - + unparseable Python traceback rastreo de Python unparseable - + Unfetchable Python error. Error de Python Unfetchable. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ Saldrá del instalador y se perderán todos los cambios. CommandList - - + + Could not run command. No se pudo ejecutar el comando. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. El comando corre en el ambiente anfitrión y necesita saber el directorio raiz, pero no está definido el punto de montaje de la raiz - + The command needs to know the user's name, but no username is defined. El comando necesita saber el nombre de usuario, pero no hay nombre de usuario definido. @@ -632,7 +658,7 @@ Saldrá del instalador y se perderán todos los cambios. ContextualProcessJob - + Contextual Processes Job Tarea Contextual Processes @@ -969,7 +995,7 @@ Saldrá del instalador y se perderán todos los cambios. DummyCppJob - + Dummy C++ Job Tarea C++ ficticia @@ -1200,62 +1226,62 @@ Saldrá del instalador y se perderán todos los cambios. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source esta conectado a una fuente de alimentación - + The system is not plugged in to a power source. El sistema no esta conectado a una fuente de alimentación. - + is connected to the Internet esta conectado a Internet - + The system is not connected to the Internet. El sistema no esta conectado a Internet - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. El instalador no esta ejecutándose con permisos de administrador. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. La pantalla es demasiado pequeña para mostrar el instalador. @@ -1380,27 +1406,27 @@ Saldrá del instalador y se perderán todos los cambios. Formulario - + I accept the terms and conditions above. Acepto los términos y condiciones anteriores. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acuerdo de licencia</ h1> Este procedimiento de instalación instalará el software propietario que está sujeto a los términos de licencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor, revise los acuerdos de licencia de usuario final (EULAs) anterior. <br/>Si usted no está de acuerdo con los términos, el procedimiento de instalación no puede continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acuerdo de licencia</ h1> Este procedimiento de configuración se puede instalar el software propietario que está sujeta a condiciones de licencia con el fin de proporcionar características adicionales y mejorar la experiencia del usuario. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor, revise los acuerdos de licencia de usuario final (EULAs) anterior.<br/>Si usted no está de acuerdo con los términos, el software propietario no se instalará, y las alternativas de código abierto se utilizarán en su lugar. @@ -1408,7 +1434,7 @@ Saldrá del instalador y se perderán todos los cambios. LicenseViewStep - + License Licencia @@ -1416,64 +1442,64 @@ Saldrá del instalador y se perderán todos los cambios. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>por %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 driver gráficos</strong><br/><font color="Grey">por %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 plugin del navegador</strong><br/><font color="Grey">por %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">por %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 paquete</strong><br/><font color="Grey">por %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">por %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1574,15 +1600,20 @@ Saldrá del instalador y se perderán todos los cambios. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación a través de la Red. (Desactivada: no se ha podido obtener una lista de paquetes, comprueba tu conexión a la red) - + Network Installation. (Disabled: Received invalid groups data) Instalación de red. (Deshabilitada: Se recibieron grupos de datos no válidos) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ Saldrá del instalador y se perderán todos los cambios. Error desconocido + + PackageChooserPage + + + Form + Formulario + + + + Product Name + + + + + TextLabel + Etiqueta de texto + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ Saldrá del instalador y se perderán todos los cambios. ProcessResult - + There was no output from the command. No hubo salida del comando. - + Output: @@ -2284,52 +2356,52 @@ Salida: - + External command crashed. El comando externo falló. - + Command <i>%1</i> crashed. El comando <i>%1</i> falló. - + External command failed to start. El comando externo no se pudo iniciar. - + Command <i>%1</i> failed to start. El comando <i>%1</i> no se pudo iniciar. - + Internal error when starting command. Error interno al iniciar el comando. - + Bad parameters for process job call. Parámetros erróneos para la llamada de la tarea del procreso. - + External command failed to finish. El comando externo no se pudo finalizar. - + Command <i>%1</i> failed to finish in %2 seconds. El comando <i>%1</i> no se pudo finalizar en %2 segundos. - + External command finished with errors. El comando externo finalizó con errores. - + Command <i>%1</i> finished with exit code %2. El comando <i>%1</i> finalizó con un código de salida %2. @@ -2388,6 +2460,16 @@ Salida: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Salida: TrackingInstallJob - + Installation feedback Respuesta de la instalación - + Sending installation feedback. Enviar respuesta de la instalación - + Internal error in install-tracking. Error interno en el seguimiento-de-instalación. - + HTTP request timed out. La petición HTTP agotó el tiempo de espera. @@ -2943,28 +3025,28 @@ Salida: TrackingMachineNeonJob - + Machine feedback Respuesta de la máquina - + Configuring machine feedback. Configurando respuesta de la máquina. - - + + Error in machine feedback configuration. Error en la configuración de la respuesta de la máquina. - + Could not configure machine feedback correctly, script error %1. No se pudo configurar correctamente la respuesta de la máquina, error de script %1. - + Could not configure machine feedback correctly, Calamares error %1. No se pudo configurar correctamente la respuesta de la máquina, error de Calamares %1. @@ -2997,17 +3079,17 @@ Salida: El seguimiento de instalación ayuda a %1 a ver cuántos usuarios tiene, en qué hardware se instala %1, y (con las últimas dos opciones de debajo) a obtener información continua acerca de las aplicaciones preferidas. Para ver lo que se enviará, por favor, pulse en el icono de ayuda junto a cada área. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Al seleccionar esto enviará información acerca de su instalación y hardware. Esta información <b>sólo se enviará una vez</b> después de que finalice la instalación. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Al seleccionar esto enviará información <b>periódicamente</b> acerca de su instalación, hardware y aplicaciones, a %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Al seleccionar esto enviará información <b>regularmente</b> acerca de su instalación, hardware, aplicaciones y patrones de uso, a %1. @@ -3015,7 +3097,7 @@ Salida: TrackingViewStep - + Feedback Respuesta @@ -3072,6 +3154,19 @@ Salida: Usuarios + + VariantModel + + + Key + + + + + Value + Valor + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Salida: Formulario - - &Release notes - &Notas de publicación - - - - &Known issues - &Problemas conocidos - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Notas de publicación + + + + &Known issues + &Problemas conocidos + + + &Support &Ayuda @@ -3159,42 +3279,42 @@ Salida: &Acerca de - + <h1>Welcome to the %1 installer.</h1> <h1>Bienvenido al instalador %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Bienvenido al instalador de Calamares para %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup Acerca de la configuración %1 - + About %1 installer Acerca del instalador %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 ayuda @@ -3202,7 +3322,7 @@ Salida: WelcomeViewStep - + Welcome Bienvenido diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index f3a9b2db1..e09c470f5 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Página en blanco @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulario - + GlobalStorage Almacenamiento Global - + JobQueue Cola de trabajo - + Modules Módulos - + Type: Tipo: - - + + none ninguno - + Interface: Interfaz: - + Tools Herramientas - + Reload Stylesheet - + Widget Tree - + Debug information Información de depuración @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Preparar - + Install Instalar @@ -133,7 +133,7 @@ Trabajo fallido (%1) - + Programmed job failure was explicitly requested. Falla del trabajo programado fue solicitado explícitamente. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Hecho @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Ejecutando operación %1. - + Bad working directory path Ruta a la carpeta de trabajo errónea - + Working directory %1 for python job %2 is not readable. La carpeta de trabajo %1 para la tarea de python %2 no es accesible. - + Bad main script file Script principal erróneo - + Main script file %1 for python job %2 is not readable. El script principal %1 del proceso python %2 no es accesible. - + Boost.Python error in job "%1". Error Boost.Python en el proceso "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Chequeo de requerimientos del sistema completado. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Atrás - + &Next &Siguiente - + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar la configuración sin cambiar el sistema. - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Setup Failed Fallo en la configuración. - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed La inicialización de Calamares ha fallado - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 no pudo ser instalado. Calamares no pudo cargar todos los módulos configurados. Este es un problema con la forma en que Calamares esta siendo usada por la distribución. - + <br/>The following modules could not be loaded: <br/>Los siguientes módulos no pudieron ser cargados: - + Continue with installation? ¿Continuar con la instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El %1 programa de instalación esta a punto de realizar cambios a su disco con el fin de establecer %2.<br/><strong>Usted no podrá deshacer estos cambios.</strong> - + &Set up now &Configurar ahora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. Configuración completa. Cierre el programa de instalación. - + Cancel setup? ¿Cancelar la configuración? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿Realmente desea cancelar el actual proceso de configuración? El programa de instalación se cerrará y todos los cambios se perderán. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente desea cancelar el proceso de instalación actual? El instalador terminará y se perderán todos los cambios. - + + &Yes &Si - + + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back &Regresar - + &Done &Hecho - + The installation is complete. Close the installer. Instalación completa. Cierre el instalador. - + Error Error - + Installation Failed Instalación Fallida @@ -383,26 +400,35 @@ El instalador terminará y se perderán todos los cambios. CalamaresPython::Helper - + Unknown exception type Tipo de excepción desconocida - + unparseable Python error error Python no analizable - + unparseable Python traceback rastreo de Python no analizable - + Unfetchable Python error. Error de Python inalcanzable. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -614,18 +640,18 @@ El instalador terminará y se perderán todos los cambios. CommandList - - + + Could not run command. No puede ejecutarse el comando. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Este comando se ejecuta en el entorno host y necesita saber la ruta root, pero no hay rootMountPoint definido. - + The command needs to know the user's name, but no username is defined. Este comando necesita saber el nombre de usuario, pero no hay nombre de usuario definido. @@ -633,7 +659,7 @@ El instalador terminará y se perderán todos los cambios. ContextualProcessJob - + Contextual Processes Job Tareas de procesos contextuales @@ -970,7 +996,7 @@ El instalador terminará y se perderán todos los cambios. DummyCppJob - + Dummy C++ Job Trabajo C++ Simulado @@ -1201,62 +1227,62 @@ El instalador terminará y se perderán todos los cambios. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source está conectado a una fuente de energía - + The system is not plugged in to a power source. El sistema no está conectado a una fuente de energía. - + is connected to the Internet está conectado a Internet - + The system is not connected to the Internet. El sistema no está conectado a Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. El instalador no se está ejecutando con privilegios de administrador. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. La pantalla es muy pequeña para mostrar el instalador @@ -1381,27 +1407,27 @@ El instalador terminará y se perderán todos los cambios. Formulario - + I accept the terms and conditions above. Acepto los terminos y condiciones anteriores. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acuerdo de Licencia</h1>Este procediemiento de configuración instalará software que está sujeto a terminos de la licencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor, revise el acuerdo de licencia de usuario final (EULAs) anterior. <br/>Si usted no está de acuerdo con los términos, el procedimiento de configuración no podrá continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acuerdo de licencia</ h1> Este procedimiento de configuración se puede instalar software privativo que está sujeto a condiciones de licencia con el fin de proporcionar características adicionales y mejorar la experiencia del usuario. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor revise los acuerdos de licencia de usuario final (EULAs) anterior.<br/>Si usted no está de acuerdo con los términos, el software privativo no se instalará, y las alternativas de código abierto se utilizarán en su lugar. @@ -1409,7 +1435,7 @@ El instalador terminará y se perderán todos los cambios. LicenseViewStep - + License Licencia @@ -1417,64 +1443,64 @@ El instalador terminará y se perderán todos los cambios. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>controlador %1</strong><br/>por %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>controladores gráficos de %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>plugin del navegador %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>codec %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>paquete %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">por %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1575,15 +1601,20 @@ El instalador terminará y se perderán todos los cambios. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación de Red. (Deshabilitada: No se puede acceder a la lista de paquetes, verifique su conección de red) - + Network Installation. (Disabled: Received invalid groups data) Instalación de Red. (Deshabilitada: Grupos de datos invalidos recibidos) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1867,6 +1898,47 @@ El instalador terminará y se perderán todos los cambios. Error desconocido + + PackageChooserPage + + + Form + Formulario + + + + Product Name + + + + + TextLabel + Etiqueta de texto + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2269,14 +2341,14 @@ El instalador terminará y se perderán todos los cambios. ProcessResult - + There was no output from the command. No hubo salida desde el comando. - + Output: @@ -2285,52 +2357,52 @@ Salida - + External command crashed. El comando externo ha fallado. - + Command <i>%1</i> crashed. El comando <i>%1</i> ha fallado. - + External command failed to start. El comando externo falló al iniciar. - + Command <i>%1</i> failed to start. El comando <i>%1</i> Falló al iniciar. - + Internal error when starting command. Error interno al iniciar el comando. - + Bad parameters for process job call. Parámetros erróneos en la llamada al proceso. - + External command failed to finish. Comando externo falla al finalizar - + Command <i>%1</i> failed to finish in %2 seconds. Comando <i>%1</i> falló al finalizar en %2 segundos. - + External command finished with errors. Comando externo finalizado con errores - + Command <i>%1</i> finished with exit code %2. Comando <i>%1</i> finalizó con código de salida %2. @@ -2389,6 +2461,16 @@ Salida language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2922,22 +3004,22 @@ Salida TrackingInstallJob - + Installation feedback Retroalimentacion de la instalación - + Sending installation feedback. Envío de retroalimentación de instalación. - + Internal error in install-tracking. Error interno en el seguimiento de instalación. - + HTTP request timed out. Tiempo de espera en la solicitud HTTP agotado. @@ -2945,28 +3027,28 @@ Salida TrackingMachineNeonJob - + Machine feedback Retroalimentación de la maquina - + Configuring machine feedback. Configurando la retroalimentación de la maquina. - - + + Error in machine feedback configuration. Error en la configuración de retroalimentación de la máquina. - + Could not configure machine feedback correctly, script error %1. No se pudo configurar correctamente la retroalimentación de la máquina, error de script% 1. - + Could not configure machine feedback correctly, Calamares error %1. No se pudo configurar la retroalimentación de la máquina correctamente, Calamares error% 1. @@ -2999,17 +3081,17 @@ Salida El seguimiento de instalación ayuda a% 1 a ver cuántos usuarios tienen, qué hardware instalan% 1 y (con las dos últimas opciones a continuación), obtener información continua sobre las aplicaciones preferidas. Para ver qué se enviará, haga clic en el ícono de ayuda al lado de cada área. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Al seleccionar esto usted enviará información acerca de su instalación y hardware. Esta informacion será <b>enviada unicamente una vez</b> después de terminada la instalación. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Al seleccionar esto usted enviará información <b>periodicamente</b> acerca de su instalación, hardware y aplicaciones a %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Al seleccionar esto usted enviará información <b>regularmente</b> acerca de su instalación, hardware y patrones de uso de aplicaciones a %1. @@ -3017,7 +3099,7 @@ Salida TrackingViewStep - + Feedback Retroalimentación @@ -3074,6 +3156,19 @@ Salida Usuarios + + VariantModel + + + Key + + + + + Value + Valor + + VolumeGroupBaseDialog @@ -3135,23 +3230,48 @@ Salida Formulario - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Notas de lanzamiento - + &Known issues &Problemas Conocidos - - - Select language - Seleccione el idioma - - - + &Support &Soporte @@ -3161,42 +3281,42 @@ Salida &Acerca de - + <h1>Welcome to the %1 installer.</h1> <h1>Bienvenido al instalador de %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Bienvenido al instalador Calamares para %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Bienvenido al programa de instalación Calamares para %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Bienvenido a la configuración %1</h1> - + About %1 setup Acerca de la configuración %1 - + About %1 installer Acerca del instalador %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 Soporte @@ -3204,7 +3324,7 @@ Salida WelcomeViewStep - + Welcome Bienvenido diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 4eacba4a9..377fea35e 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulario - + GlobalStorage AlmacenamientoGlobal - + JobQueue ColadeTrabajos - + Modules Módulos - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information Información de depuración @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalar @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Hecho @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path La ruta del directorio de trabajo es incorrecta - + Working directory %1 for python job %2 is not readable. El directorio de trabajo %1 para el script de python %2 no se puede leer. - + Bad main script file Script principal erróneo - + Main script file %1 for python job %2 is not readable. El script principal %1 del proceso python %2 no es accesible. - + Boost.Python error in job "%1". Error Boost.Python en el proceso "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back &Atrás - + &Next &Próximo - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed Falló la instalación @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. Formulario - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + Formulario + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Parámetros erróneos para el trabajo en proceso. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: Formulario - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index 82674b075..cbcf37bab 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Tühi leht @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Moodulid - + Type: Tüüp: - - + + none puudub - + Interface: Liides: - + Tools Tööriistad - + Reload Stylesheet - + Widget Tree - + Debug information Silumisteave @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Paigalda @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Valmis @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Käivitan %1 tegevust. - + Bad working directory path Halb töökausta tee - + Working directory %1 for python job %2 is not readable. Töökaust %1 python tööle %2 pole loetav. - + Bad main script file Halb põhiskripti fail - + Main script file %1 for python job %2 is not readable. Põhiskripti fail %1 python tööle %2 pole loetav. - + Boost.Python error in job "%1". Boost.Python viga töös "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Tagasi - + &Next &Edasi - + &Cancel &Tühista - + Cancel setup without changing the system. - + Cancel installation without changing the system. Tühista paigaldamine ilma süsteemi muutmata. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamarese alglaadimine ebaõnnestus - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ei saa paigaldada. Calamares ei saanud laadida kõiki konfigureeritud mooduleid. See on distributsiooni põhjustatud Calamarese kasutamise viga. - + <br/>The following modules could not be loaded: <br/>Järgnevaid mooduleid ei saanud laadida: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Seadista kohe - + &Set up &Seadista - + &Install &Paigalda - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Tühista paigaldamine? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Kas sa tõesti soovid tühistada praeguse paigaldusprotsessi? Paigaldaja sulgub ning kõik muutused kaovad. - + + &Yes &Jah - + + &No &Ei - + &Close &Sulge - + Continue with setup? Jätka seadistusega? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 paigaldaja on tegemas muudatusi sinu kettale, et paigaldada %2.<br/><strong>Sa ei saa neid muudatusi tagasi võtta.</strong> - + &Install now &Paigalda kohe - + Go &back Mine &tagasi - + &Done &Valmis - + The installation is complete. Close the installer. Paigaldamine on lõpetatud. Sulge paigaldaja. - + Error Viga - + Installation Failed Paigaldamine ebaõnnestus @@ -382,26 +399,35 @@ Paigaldaja sulgub ning kõik muutused kaovad. CalamaresPython::Helper - + Unknown exception type Tundmatu veateade - + unparseable Python error mittetöödeldav Python'i viga - + unparseable Python traceback mittetöödeldav Python'i traceback - + Unfetchable Python error. Kättesaamatu Python'i viga. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Paigaldaja sulgub ning kõik muutused kaovad. CommandList - - + + Could not run command. Käsku ei saanud käivitada. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. See käsklus käivitatakse hostikeskkonnas ning peab teadma juurteed, kuid rootMountPoint pole defineeritud. - + The command needs to know the user's name, but no username is defined. Käsklus peab teadma kasutaja nime, aga kasutajanimi pole defineeritud. @@ -631,7 +657,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. ContextualProcessJob - + Contextual Processes Job Kontekstipõhiste protsesside töö @@ -968,7 +994,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. DummyCppJob - + Dummy C++ Job Testiv C++ töö @@ -1199,62 +1225,62 @@ Paigaldaja sulgub ning kõik muutused kaovad. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source on ühendatud vooluallikasse - + The system is not plugged in to a power source. Süsteem pole ühendatud vooluallikasse. - + is connected to the Internet on ühendatud Internetti - + The system is not connected to the Internet. Süsteem pole ühendatud Internetti. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Paigaldaja pole käivitatud administraatoriõigustega. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Ekraan on paigaldaja kuvamiseks liiga väike. @@ -1379,27 +1405,27 @@ Paigaldaja sulgub ning kõik muutused kaovad. Form - + I accept the terms and conditions above. Ma nõustun alljärgevate tingimustega. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Litsensileping</h1>See seadistusprotseduur paigaldab omandiõigusega tarkvara, mis vastab litsensitingimustele. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Palun loe läbi allolevad lõppkasutaja litsensilepingud (EULAd).<br/>Kui sa tingimustega ei nõustu, ei saa seadistusprotseduur jätkata. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Litsensileping</h1>See seadistusprotseduur võib paigaldada omandiõigusega tarkvara, mis vastab litsensitingimustele, et pakkuda lisafunktsioone ja täiendada kasutajakogemust. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Palun loe läbi allolevad lõppkasutaja litsensilepingud (EULAd).<br/>Kui sa tingimustega ei nõustu, ei paigaldata omandiõigusega tarkvara ning selle asemel kasutatakse avatud lähtekoodiga alternatiive. @@ -1407,7 +1433,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. LicenseViewStep - + License Litsents @@ -1415,64 +1441,64 @@ Paigaldaja sulgub ning kõik muutused kaovad. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 draiver</strong><br/>autorilt %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 graafikadraiver</strong><br/><font color="Grey">autorilt %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 brauseriplugin</strong><br/><font color="Grey">autorilt %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 koodek</strong><br/><font color="Grey">autorilt %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pakett</strong><br/><font color="Grey">autorilt %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">autorilt %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Paigaldaja sulgub ning kõik muutused kaovad. Kirjeldus - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Võrgupaigaldus. (Keelatud: paketinimistute saamine ebaõnnestus, kontrolli oma võrguühendust) - + Network Installation. (Disabled: Received invalid groups data) Võrgupaigaldus. (Keelatud: vastu võetud sobimatud grupiandmed) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Paigaldaja sulgub ning kõik muutused kaovad. Tundmatu viga + + PackageChooserPage + + + Form + Form + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,14 +2339,14 @@ Paigaldaja sulgub ning kõik muutused kaovad. ProcessResult - + There was no output from the command. Käsul polnud väljundit. - + Output: @@ -2283,52 +2355,52 @@ Väljund: - + External command crashed. Väline käsk jooksis kokku. - + Command <i>%1</i> crashed. Käsk <i>%1</i> jooksis kokku. - + External command failed to start. Välise käsu käivitamine ebaõnnestus. - + Command <i>%1</i> failed to start. Käsu <i>%1</i> käivitamine ebaõnnestus. - + Internal error when starting command. Käsu käivitamisel esines sisemine viga. - + Bad parameters for process job call. Protsessi töö kutsel olid halvad parameetrid. - + External command failed to finish. Väline käsk ei suutnud lõpetada. - + Command <i>%1</i> failed to finish in %2 seconds. Käsk <i>%1</i> ei suutnud lõpetada %2 sekundi jooksul. - + External command finished with errors. Väline käsk lõpetas vigadega. - + Command <i>%1</i> finished with exit code %2. Käsk <i>%1</i> lõpetas sulgemiskoodiga %2. @@ -2387,6 +2459,16 @@ Väljund: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2919,22 +3001,22 @@ Väljund: TrackingInstallJob - + Installation feedback Paigalduse tagasiside - + Sending installation feedback. Saadan paigalduse tagasisidet. - + Internal error in install-tracking. Paigaldate jälitamisel esines sisemine viga. - + HTTP request timed out. HTTP taotlusel esines ajalõpp. @@ -2942,28 +3024,28 @@ Väljund: TrackingMachineNeonJob - + Machine feedback Seadme tagasiside - + Configuring machine feedback. Seadistan seadme tagasisidet. - - + + Error in machine feedback configuration. Masina tagasiside konfiguratsioonis esines viga. - + Could not configure machine feedback correctly, script error %1. Masina tagasisidet ei suudetud korralikult konfigureerida, skripti viga %1. - + Could not configure machine feedback correctly, Calamares error %1. Masina tagasisidet ei suudetud korralikult konfigureerida, Calamares'e viga %1. @@ -2996,17 +3078,17 @@ Väljund: Paigalduse jälitamine aitab %1-l näha, mitu kasutajat neil on, mis riistvarale nad %1 paigaldavad ja (märkides kaks alumist valikut) saada pidevat teavet eelistatud rakenduste kohta. Et näha, mis infot saadetakse, palun klõpsa abiikooni iga ala kõrval. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Seda valides saadad sa teavet oma paigalduse ja riistvara kohta. See teave <b>saadetakse ainult korra</b>peale paigalduse lõppu. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Seda valides saadad sa %1-le <b>perioodiliselt</b> infot oma paigalduse, riistvara ja rakenduste kohta. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Seda valides saadad sa %1-le <b>regulaarselt</b> infot oma paigalduse, riistvara, rakenduste ja kasutusharjumuste kohta. @@ -3014,7 +3096,7 @@ Väljund: TrackingViewStep - + Feedback Tagasiside @@ -3071,6 +3153,19 @@ Väljund: Kasutajad + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3132,23 +3227,48 @@ Väljund: Form - - &Release notes - &Väljalaskemärkmed - - - - &Known issues - &Teadaolevad vead - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Väljalaskemärkmed + + + + &Known issues + &Teadaolevad vead + + + &Support &Tugi @@ -3158,42 +3278,42 @@ Väljund: &Teave - + <h1>Welcome to the %1 installer.</h1> <h1>Tere tulemast %1 paigaldajasse.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Tere tulemast Calamares'i paigaldajasse %1 jaoks.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Teave %1 paigaldaja kohta - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 tugi @@ -3201,7 +3321,7 @@ Väljund: WelcomeViewStep - + Welcome Tervist diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 0698b7b78..68aa61df7 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Orri zuria @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulario - + GlobalStorage Biltegiratze globala - + JobQueue LanIlara - + Modules Moduluak - + Type: Mota: - - + + none Ezer ez - + Interface: Interfasea: - + Tools Tresnak - + Reload Stylesheet - + Widget Tree - + Debug information Arazte informazioa @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalatu @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Egina @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. %1 eragiketa burutzen. - + Bad working directory path Direktorio ibilbide ezegokia - + Working directory %1 for python job %2 is not readable. %1 lanerako direktorioa %2 python lanak ezin du irakurri. - + Bad main script file Script fitxategi nagusi okerra - + Main script file %1 for python job %2 is not readable. %1 script fitxategi nagusia ezin da irakurri python %2 lanerako - + Boost.Python error in job "%1". Boost.Python errorea "%1" lanean. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Atzera - + &Next &Hurrengoa - + &Cancel &Utzi - + Cancel setup without changing the system. - + Cancel installation without changing the system. Instalazioa bertan behera utsi da sisteman aldaketarik gabe. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares instalazioak huts egin du - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ezin da instalatu. Calamares ez da gai konfiguratutako modulu guztiak kargatzeko. Arazao hau banaketak Calamares erabiltzen duen eragatik da. - + <br/>The following modules could not be loaded: <br/> Ondorengo moduluak ezin izan dira kargatu: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalatu - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Bertan behera utzi instalazioa? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ziur uneko instalazio prozesua bertan behera utzi nahi duzula? Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - + + &Yes &Bai - + + &No &Ez - + &Close &Itxi - + Continue with setup? Ezarpenarekin jarraitu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalatzailea zure diskoan aldaketak egitera doa %2 instalatzeko.<br/><strong>Ezingo dituzu desegin aldaketa hauek.</strong> - + &Install now &Instalatu orain - + Go &back &Atzera - + &Done E&ginda - + The installation is complete. Close the installer. Instalazioa burutu da. Itxi instalatzailea. - + Error Akatsa - + Installation Failed Instalazioak huts egin du @@ -382,26 +399,35 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. CalamaresPython::Helper - + Unknown exception type Salbuespen-mota ezezaguna - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. CommandList - - + + Could not run command. Ezin izan da komandoa exekutatu. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Komandoa exekutatzen da ostalariaren inguruan eta erro bidea jakin behar da baina erroaren muntaketa punturik ez da zehaztu. - + The command needs to know the user's name, but no username is defined. Komandoak erabiltzailearen izena jakin behar du baina ez da zehaztu erabiltzaile-izenik. @@ -631,7 +657,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. DummyCppJob - + Dummy C++ Job Dummy C++ lana @@ -1199,62 +1225,62 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. Sistema ez dago indar iturri batetara konektatuta. - + is connected to the Internet Internetera konektatuta dago - + The system is not connected to the Internet. Sistema ez dago Internetera konektatuta. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Instalatzailea ez dabil exekutatzen administrari eskubideekin. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Pantaila txikiegia da instalatzailea erakusteko. @@ -1379,27 +1405,27 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Formulario - + I accept the terms and conditions above. Goiko baldintzak onartzen ditut. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. LicenseViewStep - + License Lizentzia @@ -1415,64 +1441,64 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Deskribapena - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Hutsegite ezezaguna + + PackageChooserPage + + + Form + Formulario + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,13 +2339,13 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. ProcessResult - + There was no output from the command. - + Output: @@ -2282,52 +2354,52 @@ Irteera: - + External command crashed. Kanpo-komandoak huts egin du. - + Command <i>%1</i> crashed. <i>%1</i> komandoak huts egin du. - + External command failed to start. Ezin izan da %1 kanpo-komandoa abiarazi. - + Command <i>%1</i> failed to start. Ezin izan da <i>%1</i> komandoa abiarazi. - + Internal error when starting command. Barne-akatsa komandoa abiarazterakoan. - + Bad parameters for process job call. - + External command failed to finish. Kanpo-komandoa ez da bukatu. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. Kanpo-komandoak akatsekin bukatu da. - + Command <i>%1</i> finished with exit code %2. @@ -2386,6 +2458,16 @@ Irteera: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2918,22 +3000,22 @@ Irteera: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2941,28 +3023,28 @@ Irteera: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2995,17 +3077,17 @@ Irteera: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3013,7 +3095,7 @@ Irteera: TrackingViewStep - + Feedback Feedback @@ -3070,6 +3152,19 @@ Irteera: Erabiltzaileak + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3131,23 +3226,48 @@ Irteera: Formulario - - &Release notes - - - - - &Known issues - &Arazo ezagunak - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + &Arazo ezagunak + + + &Support &Laguntza @@ -3157,42 +3277,42 @@ Irteera: Honi &buruz - + <h1>Welcome to the %1 installer.</h1> <h1>Ongi etorri %1 instalatzailera.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer %1 instalatzaileari buruz - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 euskarria @@ -3200,7 +3320,7 @@ Irteera: WelcomeViewStep - + Welcome Ongi etorri diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 43c251241..c8b0071d4 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 047a6fbaf..a4477fdfd 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Tyhjä sivu @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Lomake - + GlobalStorage Globaali-tallennus - + JobQueue Työjono - + Modules Moduulit - + Type: Tyyppi: - - + + none tyhjä - + Interface: Käyttöliittymä: - + Tools Työkalut - + Reload Stylesheet Virkistä tyylisivu - + Widget Tree Widget puu - + Debug information Virheenkorjaustiedot @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Määritä - + Install Asenna @@ -133,7 +133,7 @@ Työ epäonnistui (%1) - + Programmed job failure was explicitly requested. Ohjelmoitua työn epäonnistumista pyydettiin erikseen. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Valmis @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Suorita komento '%1' kohdejärjestelmässä. - + Run command '%1'. Suorita komento '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Suoritetaan %1 toimenpidettä. - + Bad working directory path Epäkelpo työskentelyhakemiston polku - + Working directory %1 for python job %2 is not readable. Työkansio %1 pythonin työlle %2 ei ole luettavissa. - + Bad main script file Huono pää-skripti tiedosto - + Main script file %1 for python job %2 is not readable. Pääskriptitiedosto %1 pythonin työlle %2 ei ole luettavissa. - + Boost.Python error in job "%1". Boost.Python virhe työlle "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Odotetaan %n moduuli(t).Odotetaan %n moduuli(t). - + (%n second(s)) (%n sekunttia(s))(%n sekunttia(s)) - + System-requirements checking is complete. Järjestelmävaatimusten tarkistus on valmis. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Takaisin - + &Next &Seuraava - + &Cancel &Peruuta - + Cancel setup without changing the system. Peruuta asennus muuttamatta järjestelmää. - + Cancel installation without changing the system. Peruuta asennus tekemättä muutoksia järjestelmään. - + Setup Failed Asennus epäonnistui - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares-alustustaminen epäonnistui - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ei voida asentaa. Calamares ei voinut ladata kaikkia määritettyjä moduuleja. Ongelma on siinä, miten jakelu käyttää Calamaresia. - + <br/>The following modules could not be loaded: <br/>Seuraavia moduuleja ei voitu ladata: - + Continue with installation? Jatka asennusta? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 asennusohjelma on aikeissa tehdä muutoksia levylle, jotta voit määrittää kohteen %2.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Set up now &Määritä nyt - + &Set up &Määritä - + &Install &Asenna - + Setup is complete. Close the setup program. Asennus on valmis. Sulje asennusohjelma. - + Cancel setup? Peruuta asennus? - + Cancel installation? Peruuta asennus? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Haluatko todella peruuttaa nykyisen asennuksen? Asennusohjelma lopetetaan ja kaikki muutokset menetetään. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Oletko varma että haluat peruuttaa käynnissä olevan asennusprosessin? Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + + &Yes &Kyllä - + + &No &Ei - + &Close &Sulje - + Continue with setup? Jatka asennusta? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Install now &Asenna nyt - + Go &back Mene &takaisin - + &Done &Valmis - + The installation is complete. Close the installer. Asennus on valmis. Sulje asennusohjelma. - + Error Virhe - + Installation Failed Asennus Epäonnistui @@ -383,26 +400,35 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. CalamaresPython::Helper - + Unknown exception type Tuntematon poikkeustyyppi - + unparseable Python error jäsentämätön Python virhe - + unparseable Python traceback jäsentämätön Python jäljitys - + Unfetchable Python error. Python virhettä ei voitu hakea. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. CommandList - - + + Could not run command. Komentoa ei voi suorittaa. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Komento toimii isäntäympäristössä ja sen täytyy tietää juuren polku, mutta root-liityntä kohtaa ei ole määritetty. - + The command needs to know the user's name, but no username is defined. Komennon on tiedettävä käyttäjän nimi, mutta käyttäjän tunnusta ei ole määritetty. @@ -632,7 +658,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. ContextualProcessJob - + Contextual Processes Job Prosessien yhteydessä tehtävät @@ -969,7 +995,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. DummyCppJob - + Dummy C++ Job Dummy C++ -työ @@ -1200,62 +1226,62 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. GeneralRequirements - + has at least %1 GiB available drive space vähintään %1 GiB vapaata levytilaa - + There is not enough drive space. At least %1 GiB is required. Levytilaa ei ole riittävästi. Vähintään %1 GiB tarvitaan. - + has at least %1 GiB working memory vähintään %1 GiB työmuistia - + The system does not have enough working memory. At least %1 GiB is required. Järjestelmässä ei ole tarpeeksi työmuistia. Vähintään %1 GiB vaaditaan. - + is plugged in to a power source on yhdistetty virtalähteeseen - + The system is not plugged in to a power source. Järjestelmä ei ole kytketty virtalähteeseen. - + is connected to the Internet on yhdistetty internetiin - + The system is not connected to the Internet. Järjestelmä ei ole yhteydessä internetiin. - + The setup program is not running with administrator rights. Asennus -ohjelma ei ole käynnissä järjestelmänvalvojan oikeuksin. - + The installer is not running with administrator rights. Asennus -ohjelma ei ole käynnissä järjestelmänvalvojan oikeuksin. - + The screen is too small to display the setup program. Näyttö on liian pieni, jotta asennus -ohjelma voidaan näyttää. - + The screen is too small to display the installer. Näyttö on liian pieni asentajan näyttämiseksi. @@ -1380,27 +1406,27 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Lomake - + I accept the terms and conditions above. Hyväksyn yllä olevat ehdot ja edellytykset. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Lisenssisopimus</h1>Tämä asennustoiminto asentaa ohjelmistoja, joihin sovelletaan lisenssiehtoja. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Katso yllä olevat käyttöoikeussopimukset (EULA).<br/>Jos et hyväksy ehtoja, asennus ei voi jatkua. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Lisenssisopimus</h1>Tämä asennustoiminto voi asentaa tekijänoikeuksin rajattua ohjelmistoja, joihin sovelletaan lisenssiehtoja, jotta voidaan tarjota lisäominaisuuksia ja parantaa käyttäjäkokemusta. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Katso yllä olevat käyttöoikeussopimukset (EULA).<br/>Jos et hyväksy ehtoja, tekijänoikeuksin rajattua ohjelmistoa ei asenneta, ja avoimen lähdekoodin vaihtoehtoja käytetään sen sijaan. @@ -1408,7 +1434,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. LicenseViewStep - + License Lisenssi @@ -1416,64 +1442,64 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 ajuri</strong><br/>- %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 näytönohjaimet</strong><br/><font color="Grey">- %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 selaimen laajennus</strong><br/><font color="Grey">- %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 kodekki</strong><br/><font color="Grey">- %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 paketti</strong><br/><font color="Grey">- %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">- %2</font> - + Shows the complete license text Näyttää täydellisen lisenssin tekstin - + Hide license text Piilota lisenssin teksti - + Show license agreement Näytä lisenssisopimus - + Hide license agreement Piilota lisenssisopimus - + Opens the license agreement in a browser window. Avaa lisenssisopimus selaimessa. - + <a href="%1">View license agreement</a> <a href="%1">Näytä lisenssisopimus</a> @@ -1574,15 +1600,20 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Kuvaus - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Verkkoasennus. (Ei käytössä: Pakettiluetteloita ei voi hakea, tarkista verkkoyhteys) - + Network Installation. (Disabled: Received invalid groups data) Verkkoasennus. (Ei käytössä: Vastaanotettiin virheellisiä ryhmän tietoja) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Tuntematon virhe + + PackageChooserPage + + + Form + Lomake + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. ProcessResult - + There was no output from the command. Komentoa ei voitu ajaa. - + Output: @@ -2284,52 +2356,52 @@ Ulostulo: - + External command crashed. Ulkoinen komento kaatui. - + Command <i>%1</i> crashed. Komento <i>%1</i> kaatui. - + External command failed to start. Ulkoisen komennon käynnistäminen epäonnistui. - + Command <i>%1</i> failed to start. Komennon <i>%1</i> käynnistäminen epäonnistui. - + Internal error when starting command. Sisäinen virhe käynnistettäessä komentoa. - + Bad parameters for process job call. Huonot parametrit prosessin kutsuun. - + External command failed to finish. Ulkoinen komento ei onnistunut. - + Command <i>%1</i> failed to finish in %2 seconds. Komento <i>%1</i> epäonnistui %2 sekunnissa. - + External command finished with errors. Ulkoinen komento päättyi virheisiin. - + Command <i>%1</i> finished with exit code %2. Komento <i>%1</i> päättyi koodiin %2. @@ -2388,6 +2460,16 @@ Ulostulo: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2921,22 +3003,22 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. TrackingInstallJob - + Installation feedback Asennuksen palaute - + Sending installation feedback. Lähetetään asennuksen palautetta. - + Internal error in install-tracking. Sisäinen virhe asennuksen seurannassa. - + HTTP request timed out. HTTP -pyyntö aikakatkaistiin. @@ -2944,28 +3026,28 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. TrackingMachineNeonJob - + Machine feedback Koneen palaute - + Configuring machine feedback. Konekohtaisen palautteen määrittäminen. - - + + Error in machine feedback configuration. Virhe koneen palautteen määrityksessä. - + Could not configure machine feedback correctly, script error %1. Konekohtaista palautetta ei voitu määrittää oikein, komentosarjan virhe %1. - + Could not configure machine feedback correctly, Calamares error %1. Koneen palautetta ei voitu määrittää oikein, Calamares-virhe %1. @@ -2998,17 +3080,17 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.Asentamalla seuranta autat %1 näkemään, kuinka monta käyttäjää heillä on, mitä laitteita he asentavat %1 ja (kahdella viimeisellä vaihtoehdolla), saat jatkuvaa tietoa suosituista sovelluksista. Jos haluat nähdä, mitä tietoa lähetetään, napsauta kunkin alueen vieressä olevaa ohjekuvaketta. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Kun valitset tämän, lähetät tietoja asennuksesta ja laitteistosta. <b>Nämä tiedot lähetetään vain kerran</b> asennuksen päättymisen jälkeen. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Kun valitset tämän, lähetät <b>määräajoin </b> tietoja asennuksesta, laitteistosta ja sovelluksista osoitteeseen %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Kun valitset tämän, lähetät <b>säännöllisesti </b> tietoja asennuksesta, laitteistosta, sovelluksista ja käyttötavoista osoitteeseen %1. @@ -3016,7 +3098,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. TrackingViewStep - + Feedback Palautetta @@ -3073,6 +3155,19 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.Käyttäjät + + VariantModel + + + Key + + + + + Value + Arvo + + VolumeGroupBaseDialog @@ -3134,23 +3229,48 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.Lomake - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Julkaisutiedot - + &Known issues &Tunnetut ongelmat - - - Select language - Valitse kieli - - - + &Support &Tuki @@ -3160,42 +3280,42 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.&Tietoa - + <h1>Welcome to the %1 installer.</h1> <h1>Tervetuloa %1 -asennusohjelmaan.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Tervetuloa Calamares -asennusohjelmaan %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Tervetuloa Calamares -asennusohjelmaan %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Tervetuloa %1 asennukseen.</h1> - + About %1 setup Tietoja %1 asetuksista - + About %1 installer Tietoa %1 asennusohjelmasta - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>- %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Kiitokset <a href="https://calamares.io/team/">Calamares-tiimille</a> ja <a href="https://www.transifex.com/calamares/calamares/">Calamares kääntäjille</a>.<br/><br/><a href="https://calamares.io/">Calamaresin</a> kehitystä sponsoroi <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 tuki @@ -3203,7 +3323,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. WelcomeViewStep - + Welcome Tervetuloa diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index b3e8f620c..be8194516 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Page blanche @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulaire - + GlobalStorage Stockage global - + JobQueue File de travail - + Modules Modules - + Type: Type : - - + + none aucun - + Interface: Interface: - + Tools Outils - + Reload Stylesheet Recharger la feuille de style - + Widget Tree Arbre de Widget - + Debug information Informations de dépannage @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configurer - + Install Installer @@ -133,7 +133,7 @@ La tâche a échoué (%1) - + Programmed job failure was explicitly requested. L'échec de la tâche programmée a été explicitement demandée. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Fait @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Exécuter la commande '%1' dans le système cible. - + Run command '%1'. Exécuter la commande '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Exécution de l'opération %1. - + Bad working directory path Chemin du répertoire de travail invalide - + Working directory %1 for python job %2 is not readable. Le répertoire de travail %1 pour le job python %2 n'est pas accessible en lecture. - + Bad main script file Fichier de script principal invalide - + Main script file %1 for python job %2 is not readable. Le fichier de script principal %1 pour la tâche python %2 n'est pas accessible en lecture. - + Boost.Python error in job "%1". Erreur Boost.Python pour le job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). En attente de %n module(s).En attente de %n module(s). - + (%n second(s)) (%n seconde(s))(%n seconde(s)) - + System-requirements checking is complete. La vérification des prérequis système est terminée. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Précédent - + &Next &Suivant - + &Cancel &Annuler - + Cancel setup without changing the system. Annuler la configuration sans toucher au système. - + Cancel installation without changing the system. Annuler l'installation sans modifier votre système. - + Setup Failed Échec de la configuration - + + Would you like to paste the install log to the web? + Voulez-vous copier le journal d'installation sur le Web ? + + + + Install Log Paste URL + URL de copie du journal d'installation + + + + The upload was unsuccessful. No web-paste was done. + L'envoi a échoué. La copie sur le web n'a pas été effectuée. + + + Calamares Initialization Failed L'initialisation de Calamares a échoué - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 n'a pas pu être installé. Calamares n'a pas pu charger tous les modules configurés. C'est un problème avec la façon dont Calamares est utilisé par la distribution. - + <br/>The following modules could not be loaded: Les modules suivants n'ont pas pu être chargés : - + Continue with installation? Continuer avec l'installation ? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Le programme de configuration de %1 est sur le point de procéder aux changements sur le disque afin de configurer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.</strong> - + &Set up now &Configurer maintenant - + &Set up &Configurer - + &Install &Installer - + Setup is complete. Close the setup program. La configuration est terminée. Fermer le programme de configuration. - + Cancel setup? Annuler la configuration ? - + Cancel installation? Abandonner l'installation ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Voulez-vous réellement abandonner le processus de configuration ? Le programme de configuration se fermera et les changements seront perdus. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voulez-vous réellement abandonner le processus d'installation ? L'installateur se fermera et les changements seront perdus. - + + &Yes &Oui - + + &No &Non - + &Close &Fermer - + Continue with setup? Poursuivre la configuration ? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'installateur %1 est sur le point de procéder aux changements sur le disque afin d'installer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.<strong> - + &Install now &Installer maintenant - + Go &back &Retour - + &Done &Terminé - + The installation is complete. Close the installer. L'installation est terminée. Fermer l'installateur. - + Error Erreur - + Installation Failed L'installation a échoué @@ -383,26 +400,36 @@ L'installateur se fermera et les changements seront perdus. CalamaresPython::Helper - + Unknown exception type Type d'exception inconnue - + unparseable Python error Erreur Python non analysable - + unparseable Python traceback Traçage Python non exploitable - + Unfetchable Python error. Erreur Python non rapportable. + + CalamaresUtils + + + Install log posted to: +%1 + Le journal d'installation a été posté sur : +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ L'installateur se fermera et les changements seront perdus. CommandList - - + + Could not run command. La commande n'a pas pu être exécutée. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. La commande est exécutée dans l'environnement hôte et a besoin de connaître le chemin racine, mais aucun point de montage racine n'est défini. - + The command needs to know the user's name, but no username is defined. La commande a besoin de connaître le nom de l'utilisateur, mais aucun nom d'utilisateur n'est défini. @@ -632,7 +659,7 @@ L'installateur se fermera et les changements seront perdus. ContextualProcessJob - + Contextual Processes Job Tâche des processus contextuels @@ -969,7 +996,7 @@ L'installateur se fermera et les changements seront perdus. DummyCppJob - + Dummy C++ Job Tâche C++ fictive @@ -1200,62 +1227,62 @@ L'installateur se fermera et les changements seront perdus. GeneralRequirements - + has at least %1 GiB available drive space a au moins %1 Gio d'espace disque disponible - + There is not enough drive space. At least %1 GiB is required. Il n'y a pas assez d'espace disque. Au moins %1 Gio sont requis. - + has at least %1 GiB working memory a au moins %1 Gio de mémoire vive - + The system does not have enough working memory. At least %1 GiB is required. Le système n'a pas assez de mémoire vive. Au moins %1 Gio sont requis. - + is plugged in to a power source est relié à une source de courant - + The system is not plugged in to a power source. Le système n'est pas relié à une source de courant. - + is connected to the Internet est connecté à Internet - + The system is not connected to the Internet. Le système n'est pas connecté à Internet. - + The setup program is not running with administrator rights. Le programme de configuration ne dispose pas des droits administrateur. - + The installer is not running with administrator rights. L'installateur ne dispose pas des droits administrateur. - + The screen is too small to display the setup program. L'écran est trop petit pour afficher le programme de configuration. - + The screen is too small to display the installer. L'écran est trop petit pour afficher l'installateur. @@ -1380,27 +1407,27 @@ L'installateur se fermera et les changements seront perdus. Formulaire - + I accept the terms and conditions above. J'accepte les termes et conditions ci-dessus. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Accord de licence</h1>Cette procédure de configuration va installer des logiciels propriétaire sujet à des termes de licence. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Merci de relire les Contrats de Licence Utilisateur Final (CLUF/EULA) ci-dessus.<br/>Si vous n'acceptez pas les termes, la procédure ne peut pas continuer. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Accord de licence</h1>Cette procédure peut installer des logiciels propriétaires qui sont soumis à des termes de licence afin d'ajouter des fonctionnalités et améliorer l'expérience utilisateur. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Merci de relire les Contrats de Licence Utilisateur Final (CLUF/EULA) ci-dessus.<br/>Si vous n'acceptez pas les termes, les logiciels propriétaires ne seront pas installés, et des alternatives open-source seront utilisées à la place. @@ -1408,7 +1435,7 @@ L'installateur se fermera et les changements seront perdus. LicenseViewStep - + License Licence @@ -1416,64 +1443,64 @@ L'installateur se fermera et les changements seront perdus. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>Pilote %1</strong><br/>par %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Pilote graphique %1</strong><br/><font color="Grey">par %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Module de navigateur %1</strong><br/><font color="Grey">par %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Codec %1</strong><br/><font color="Grey">par %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Paquet %1</strong><br/><font color="Grey">par %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">par %2</font> - + Shows the complete license text Afficher le texte complet de la licence - + Hide license text Masquer le texte de licence - + Show license agreement Consulter l'accord de licence - + Hide license agreement Masquer l'accord de licence - + Opens the license agreement in a browser window. Ouvrir l'accord de licence dans une fenêtre de navigateur. - + <a href="%1">View license agreement</a> <a href="%1">Consulter l'accord de licence</a> @@ -1574,15 +1601,20 @@ L'installateur se fermera et les changements seront perdus. Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installation par le réseau (Désactivée : impossible de récupérer leslistes de paquets, vérifiez la connexion réseau) - + Network Installation. (Disabled: Received invalid groups data) Installation par le réseau. (Désactivée : données de groupes reçues invalides) + + + Network Installation. (Disabled: Incorrect configuration) + Installation réseau. (Désactivée : configuration incorrecte) + NetInstallViewStep @@ -1866,6 +1898,47 @@ L'installateur se fermera et les changements seront perdus. Erreur inconnue + + PackageChooserPage + + + Form + Formulaire + + + + Product Name + Nom du Produit + + + + TextLabel + TextLabel + + + + Long Product Description + Description complète du produit + + + + Package Selection + Sélection des paquets + + + + Please pick a product from the list. The selected product will be installed. + Merci de sélectionner un produit de la liste. Le produit sélectionné sera installé. + + + + PackageChooserViewStep + + + Packages + Paquets + + Page_Keyboard @@ -2269,14 +2342,14 @@ Vous pouvez obtenir un aperçu des différentes apparences en cliquant sur celle ProcessResult - + There was no output from the command. Il y a eu aucune sortie de la commande - + Output: @@ -2285,52 +2358,52 @@ Sortie - + External command crashed. La commande externe s'est mal terminée. - + Command <i>%1</i> crashed. La commande <i>%1</i> s'est arrêtée inopinément. - + External command failed to start. La commande externe n'a pas pu être lancée. - + Command <i>%1</i> failed to start. La commande <i>%1</i> n'a pas pu être lancée. - + Internal error when starting command. Erreur interne au lancement de la commande - + Bad parameters for process job call. Mauvais paramètres pour l'appel au processus de job. - + External command failed to finish. La commande externe ne s'est pas terminée. - + Command <i>%1</i> failed to finish in %2 seconds. La commande <i>%1</i> ne s'est pas terminée en %2 secondes. - + External command finished with errors. La commande externe s'est terminée avec des erreurs. - + Command <i>%1</i> finished with exit code %2. La commande <i>%1</i> s'est terminée avec le code de sortie %2. @@ -2389,6 +2462,16 @@ Sortie language[name] (country[name]) %1 (%2) + + + No product + Aucun produit + + + + No description provided. + Aucune description fournie. + RemoveVolumeGroupJob @@ -2921,22 +3004,22 @@ Sortie TrackingInstallJob - + Installation feedback Rapport d'installation - + Sending installation feedback. Envoi en cours du rapport d'installation. - + Internal error in install-tracking. Erreur interne dans le suivi d'installation. - + HTTP request timed out. La requête HTTP a échoué. @@ -2944,28 +3027,28 @@ Sortie TrackingMachineNeonJob - + Machine feedback Rapport de la machine - + Configuring machine feedback. Configuration en cours du rapport de la machine. - - + + Error in machine feedback configuration. Erreur dans la configuration du rapport de la machine. - + Could not configure machine feedback correctly, script error %1. Echec pendant la configuration du rapport de machine, erreur de script %1. - + Could not configure machine feedback correctly, Calamares error %1. Impossible de mettre en place le rapport d'utilisateurs, erreur %1. @@ -2998,17 +3081,17 @@ Sortie L'installation de la surveillance permet à %1 de voir combien d'utilisateurs l'utilise, quelle configuration matérielle %1 utilise, et (avec les 2 dernières options ci-dessous), recevoir une information continue concernant les applications préférées. Pour connaître les informations qui seront envoyées, veuillez cliquer sur l'icône d'aide à côté de chaque zone. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. En sélectionnant cette option, vous enverrez des informations sur votre installation et votre matériel. Cette information ne sera <b>seulement envoyée qu'une fois</b> après la finalisation de l'installation. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. En sélectionnant cette option vous enverrez <b>périodiquement</b> des informations sur votre installation, matériel, et applications, à %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. En sélectionnant cette option vous enverrez <b>régulièrement</b> des informations sur votre installation, matériel, applications, et habitudes d'utilisation, à %1. @@ -3016,7 +3099,7 @@ Sortie TrackingViewStep - + Feedback Rapport @@ -3073,6 +3156,19 @@ Sortie Utilisateurs + + VariantModel + + + Key + Clé + + + + Value + Valeur + + VolumeGroupBaseDialog @@ -3134,23 +3230,48 @@ Sortie Formulaire - + + + Select application and system language + Sélectionner l'application et la langue système + + + + Open donations website + Ouvrir le site web de dons + + + + &Donate + &Donner + + + + Open help and support website + Ouvrir le site web d'aide et support + + + + Open issues and bug-tracking website + Ouvrir les issues et le site de suivi de bugs + + + + Open relead notes website + Ouvrir le site des notes de publication + + + &Release notes &Notes de publication - + &Known issues &Problèmes connus - - - Select language - Sélection de la langue. - - - + &Support &Support @@ -3160,42 +3281,42 @@ Sortie &À propos - + <h1>Welcome to the %1 installer.</h1> <h1>Bienvenue dans l'installateur de %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> Bien dans l'installateur Calamares pour %1. - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Bienvenue dans le programme de configuration Calamares pour %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Bienvenue dans la configuration de %1.</h1> - + About %1 setup À propos de la configuration de %1 - + About %1 installer À propos de l'installateur %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/> pour %3</strong><br/><br/> Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/> Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/> Merci à : Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg et <a href="https://www.transifex.com/calamares/calamares/">l'équipe de traducteurs de Calamares</a>.<br/><br/> Le développement de <a href="https://calamares.io/">Calamares</a> est sponsorisé par <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Support de %1 @@ -3203,7 +3324,7 @@ Sortie WelcomeViewStep - + Welcome Bienvenue diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index abd87a2ca..59bf06312 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index d8bd5006d..bdc2eb52f 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -49,7 +49,7 @@ Calamares::BlankViewStep - + Blank Page Páxina en branco @@ -57,58 +57,58 @@ Calamares::DebugWindow - + Form Formulario - + GlobalStorage Almacenamento global - + JobQueue Cola de traballo - + Modules Módulos - + Type: Tipo: - - + + none Non - + Interface: Interface - + Tools Ferramentas - + Reload Stylesheet - + Widget Tree - + Debug information Informe de depuración de erros. @@ -116,12 +116,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalar @@ -134,7 +134,7 @@ - + Programmed job failure was explicitly requested. @@ -142,7 +142,7 @@ Calamares::JobThread - + Done Feito @@ -158,12 +158,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -176,32 +176,32 @@ Calamares::PythonJob - + Running %1 operation. Excutando a operación %1. - + Bad working directory path A ruta ó directorio de traballo é errónea - + Working directory %1 for python job %2 is not readable. O directorio de traballo %1 para o traballo de python %2 non é lexible - + Bad main script file Ficheiro de script principal erróneo - + Main script file %1 for python job %2 is not readable. O ficheiro principal de script %1 para a execución de python %2 non é lexible. - + Boost.Python error in job "%1". Boost.Python tivo un erro na tarefa "%1". @@ -209,17 +209,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -227,155 +227,172 @@ Calamares::ViewManager - + &Back &Atrás - + &Next &Seguinte - + &Cancel &Cancelar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancelar a instalación sen cambiar o sistema - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Fallou a inicialización do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Non é posíbel instalar %1. O calamares non foi quen de cargar todos os módulos configurados. Este é un problema relacionado con como esta distribución utiliza o Calamares. - + <br/>The following modules could not be loaded: <br/> Non foi posíbel cargar os módulos seguintes: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancelar a instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Desexa realmente cancelar o proceso actual de instalación? O instalador pecharase e perderanse todos os cambios. - + + &Yes &Si - + + &No &Non - + &Close &Pechar - + Continue with setup? Continuar coa posta en marcha? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está a piques de realizar cambios no seu disco para instalar %2.<br/><strong>Estes cambios non poderán desfacerse.</strong> - + &Install now &Instalar agora - + Go &back Ir &atrás - + &Done &Feito - + The installation is complete. Close the installer. Completouse a instalacion. Peche o instalador - + Error Erro - + Installation Failed Erro na instalación @@ -383,26 +400,35 @@ O instalador pecharase e perderanse todos os cambios. CalamaresPython::Helper - + Unknown exception type Excepción descoñecida - + unparseable Python error Erro de Python descoñecido - + unparseable Python traceback O rastreo de Python non é analizable. - + Unfetchable Python error. Erro de Python non recuperable + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ O instalador pecharase e perderanse todos os cambios. CommandList - - + + Could not run command. Non foi posíbel executar a orde. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. A orde execútase no ambiente hóspede e precisa coñecer a ruta a root, mais non se indicou ningún rootMountPoint. - + The command needs to know the user's name, but no username is defined. A orde precisa coñecer o nome do usuario, mais non se indicou ningún nome de usuario. @@ -632,7 +658,7 @@ O instalador pecharase e perderanse todos os cambios. ContextualProcessJob - + Contextual Processes Job Tarefa de procesos contextuais @@ -969,7 +995,7 @@ O instalador pecharase e perderanse todos os cambios. DummyCppJob - + Dummy C++ Job Tarefa parva de C++ @@ -1200,62 +1226,62 @@ O instalador pecharase e perderanse todos os cambios. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source está conectado a unha fonte de enerxía - + The system is not plugged in to a power source. O sistema non está conectado a unha fonte de enerxía. - + is connected to the Internet está conectado á Internet - + The system is not connected to the Internet. O sistema non está conectado á Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. O instalador non se está a executar con dereitos de administrador. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. A pantalla é demasiado pequena para mostrar o instalador. @@ -1380,27 +1406,27 @@ O instalador pecharase e perderanse todos os cambios. Formulario - + I accept the terms and conditions above. Acepto os termos e condicións anteriores. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acordo de licencia</h1>Este proceso de configuración instalará programas privativos suxeito a termos de licencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se pode seguir co proceso de configuración. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acordo de licencia</h1>Este proceso de configuración pode instalar programas privativos suxeito a termos de licencia para fornecer características adicionaís e mellorala experiencia do usuario. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se instalará o programa privativo e no seu lugar usaranse alternativas de código aberto. @@ -1408,7 +1434,7 @@ O instalador pecharase e perderanse todos os cambios. LicenseViewStep - + License Licenza @@ -1416,64 +1442,64 @@ O instalador pecharase e perderanse todos os cambios. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>dispositivo %1</strong><br/>por %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Controlador gráfico %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Engadido de navegador %1</strong><br/><font color="Grey"> de %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Códec %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Paquete %1</strong><br/><font color="Grey">de %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">de %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1574,15 +1600,20 @@ O instalador pecharase e perderanse todos os cambios. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installación por rede. (Desactivadas. Non se pudo recupera-la lista de pacotes, comprobe a sua conexión a rede) - + Network Installation. (Disabled: Received invalid groups data) Instalación de rede. (Desactivado: Recibírense datos de grupos incorrectos) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ O instalador pecharase e perderanse todos os cambios. Erro descoñecido + + PackageChooserPage + + + Form + Formulario + + + + Product Name + + + + + TextLabel + EtiquetaTexto + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ O instalador pecharase e perderanse todos os cambios. ProcessResult - + There was no output from the command. A saída non produciu ningunha saída. - + Output: @@ -2284,52 +2356,52 @@ Saída: - + External command crashed. A orde externa fallou - + Command <i>%1</i> crashed. A orde <i>%1</i> fallou. - + External command failed to start. Non foi posíbel iniciar a orde externa. - + Command <i>%1</i> failed to start. Non foi posíbel iniciar a orde <i>%1</i>. - + Internal error when starting command. Produciuse un erro interno ao iniciar a orde. - + Bad parameters for process job call. Erro nos parámetros ao chamar o traballo - + External command failed to finish. A orde externa non se puido rematar. - + Command <i>%1</i> failed to finish in %2 seconds. A orde <i>%1</i> non se puido rematar en %2s segundos. - + External command finished with errors. A orde externa rematou con erros. - + Command <i>%1</i> finished with exit code %2. A orde <i>%1</i> rematou co código de erro %2. @@ -2388,6 +2460,16 @@ Saída: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Saída: TrackingInstallJob - + Installation feedback Opinións sobre a instalació - + Sending installation feedback. Enviar opinións sobre a instalación. - + Internal error in install-tracking. Produciuse un erro interno en install-tracking. - + HTTP request timed out. Esgotouse o tempo de espera de HTTP. @@ -2943,28 +3025,28 @@ Saída: TrackingMachineNeonJob - + Machine feedback Información fornecida pola máquina - + Configuring machine feedback. Configuración das informacións fornecidas pola máquina. - - + + Error in machine feedback configuration. Produciuse un erro na configuración das información fornecidas pola máquina. - + Could not configure machine feedback correctly, script error %1. Non foi posíbel configurar correctamente as informacións fornecidas pola máquina; erro de script %1. - + Could not configure machine feedback correctly, Calamares error %1. Non foi posíbel configurar correctamente as informacións fornecidas pola máquin; erro de Calamares %1. @@ -2997,17 +3079,17 @@ Saída: O seguimento da instalación axuda a %1 a ver cantos usuarios ten, en que hardware instalan %1 (coas dúas últimas opcións de embaixo) e obter información continua sobre os aplicativos preferidos. Para ver o que se envía, prema na icona de axuda que hai a carón de cada zona. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Ao seleccionar isto vostede envía información sobre a súa instalación e hardware. Esta información <b>só se envía unha vez</b>, logo de rematar a instalación. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Ao seleccionar isto vostede envía información <b>periodicamente</b> sobre a súa instalación, hardware e aplicativos a %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Ao seleccionar isto vostede envía información <b>regularmente</b> sobre a súa instalación, hardware, aplicativos e patrón de uso a %1. @@ -3015,7 +3097,7 @@ Saída: TrackingViewStep - + Feedback Opinións @@ -3072,6 +3154,19 @@ Saída: Usuarios + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Saída: Formulario - - &Release notes - &Notas de publicación - - - - &Known issues - &Problemas coñecidos - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Notas de publicación + + + + &Known issues + &Problemas coñecidos + + + &Support &Axuda @@ -3159,42 +3279,42 @@ Saída: &Acerca de - + <h1>Welcome to the %1 installer.</h1> <h1>Benvido o instalador %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Reciba a benvida ao instalador Calamares para %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Acerca do instalador %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 axuda @@ -3202,7 +3322,7 @@ Saída: WelcomeViewStep - + Welcome Benvido diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index 79c880be9..876d2ddd6 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index bba1c30e8..67918bbfa 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page עמוד ריק @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage אחסון גלובלי - + JobQueue JobQueue - + Modules מודולים - + Type: סוג: - - + + none ללא - + Interface: מנשק: - + Tools כלים - + Reload Stylesheet טעינת גיליון הסגנון מחדש - + Widget Tree עץ וידג׳טים - + Debug information מידע על ניפוי שגיאות @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up הקמה - + Install התקנה @@ -133,7 +133,7 @@ משימה נכשלה (%1) - + Programmed job failure was explicitly requested. הכשל במשימה המוגדרת התבקש במפורש. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done הסתיים @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. להפעיל את הפקודה ‚%1’ במערכת היעד. - + Run command '%1'. להפעיל את הפקודה ‚%1’. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. הפעולה %1 רצה. - + Bad working directory path נתיב תיקיית עבודה שגוי - + Working directory %1 for python job %2 is not readable. תיקיית העבודה %1 עבור משימת python‏ %2 אינה קריאה. - + Bad main script file קובץ תסריט הרצה ראשי לא תקין - + Main script file %1 for python job %2 is not readable. קובץ תסריט הרצה ראשי %1 עבור משימת python %2 לא קריא. - + Boost.Python error in job "%1". שגיאת Boost.Python במשימה „%1”. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). בהמתנה למודול אחד.בהמתנה לשני מודולים.בהמתנה ל־%n מודולים.בהמתנה ל־%n מודולים. - + (%n second(s)) ((שנייה אחת)(שתי שניות)(%n שניות)(%n שניות) - + System-requirements checking is complete. בדיקת דרישות המערכת הושלמה. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back ה&קודם - + &Next הב&א - + &Cancel &ביטול - + Cancel setup without changing the system. ביטול ההתקנה ללא שינוי המערכת. - + Cancel installation without changing the system. ביטול התקנה ללא ביצוע שינוי במערכת. - + Setup Failed ההתקנה נכשלה - + + Would you like to paste the install log to the web? + להדביק את יומן ההתקנה לאינטרנט? + + + + Install Log Paste URL + כתובת הדבקת יומן התקנה + + + + The upload was unsuccessful. No web-paste was done. + ההעלאה לא הצליחה. לא בוצעה הדבקה לאינטרנט. + + + Calamares Initialization Failed הפעלת Calamares נכשלה - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. אין אפשרות להתקין את %1. ל־Calamares אין אפשרות לטעון את המודולים המוגדרים. מדובר בתקלה באופן בו ההפצה משתמשת ב־Calamares. - + <br/>The following modules could not be loaded: <br/>לא ניתן לטעון את המודולים הבאים: - + Continue with installation? להמשיך בהתקנה? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> תכנית ההתקנה של %1 עומדת לבצע שינויים בכונן הקשיח שלך לטובת התקנת %2.<br/><strong>לא תהיה לך אפשרות לבטל את השינויים האלה.</strong> - + &Set up now להת&קין כעת - + &Set up להת&קין - + &Install הת&קנה - + Setup is complete. Close the setup program. ההתקנה הושלמה. נא לסגור את תכנית ההתקנה. - + Cancel setup? לבטל את ההתקנה? - + Cancel installation? לבטל את ההתקנה? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. לבטל את תהליך ההתקנה הנוכחי? תכנית ההתקנה תצא וכל השינויים יאבדו. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. לבטל את תהליך ההתקנה? אשף ההתקנה ייסגר וכל השינויים יאבדו. - + + &Yes &כן - + + &No &לא - + &Close &סגירה - + Continue with setup? להמשיך בהתקנה? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> אשף ההתקנה של %1 הולך לבצע שינויים בכונן שלך לטובת התקנת %2.<br/><strong>לא תוכל לבטל את השינויים הללו.</strong> - + &Install now להת&קין כעת - + Go &back ח&זרה - + &Done &סיום - + The installation is complete. Close the installer. תהליך ההתקנה הושלם. נא לסגור את אשף ההתקנה. - + Error שגיאה - + Installation Failed ההתקנה נכשלה @@ -383,26 +400,36 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type טיפוס חריגה אינו מוכר - + unparseable Python error שגיאת Python לא ניתנת לניתוח - + unparseable Python traceback עקבה לאחור של Python לא ניתנת לניתוח - + Unfetchable Python error. שגיאת Python לא ניתנת לאחזור. + + CalamaresUtils + + + Install log posted to: +%1 + יומן ההתקנה פורסם בכתובת: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. לא ניתן להריץ את הפקודה. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. הפקודה פועלת בסביבת המארח ועליה לדעת מה נתיב השורש, אך לא צוין rootMountPoint. - + The command needs to know the user's name, but no username is defined. הפקודה צריכה לדעת מה שם המשתמש, אך לא הוגדר שם משתמש. @@ -632,7 +659,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job משימת תהליכי הקשר @@ -969,7 +996,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job משימת דמה של C++‎ @@ -1200,62 +1227,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space יש לפחות %1 GiB פנויים בכונן - + There is not enough drive space. At least %1 GiB is required. נפח האחסון לא מספיק. נדרשים %1 GiB לפחות. - + has at least %1 GiB working memory יש לפחות %1 GiB זיכרון לעבודה - + The system does not have enough working memory. At least %1 GiB is required. כמות הזיכרון הנדרשת לפעולה אינה מספיקה. נדרשים %1 GiB לפחות. - + is plugged in to a power source מחובר לספק חשמל חיצוני - + The system is not plugged in to a power source. המערכת לא מחוברת לספק חשמל חיצוני. - + is connected to the Internet מחובר לאינטרנט - + The system is not connected to the Internet. המערכת לא מחוברת לאינטרנט. - + The setup program is not running with administrator rights. תכנית ההתקנה אינה פועלת עם הרשאות ניהול. - + The installer is not running with administrator rights. אשף ההתקנה לא רץ עם הרשאות מנהל. - + The screen is too small to display the setup program. המסך קטן מכדי להציג את תכנית ההתקנה. - + The screen is too small to display the installer. גודל המסך קטן מכדי להציג את תכנית ההתקנה. @@ -1380,27 +1407,27 @@ The installer will quit and all changes will be lost. Form - + I accept the terms and conditions above. התנאים וההגבלות שלמעלה מקובלים עלי. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>הסכם רישיון</h1>אשף התקנה זה יבצע התקנה של תכניות קנייניות אשר כפופות לתנאי רישיון. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. נא לעיין בהסכם משתמש הקצה (EULA) מעלה.<br/> אם התנאים אינם מקובלים עליך, תהליך ההתקנה יופסק. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>הסכם רישיון</h1>אשף התקנה זה יכול לבצע התקנה של תוכנות קנייניות אשר כפופות לתנאי רישיון בכדי לספק תכולות נוספות ולשדרג את חווית המשתמש. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. נא לעיין בהסכם משתמש הקצה (EULA) מעלה.<br/> אם התנאים אינם מקובלים עליך, לא תותקנה תכניות קנייניות, במקומן תותקנה תכניות חלופיות מבוססות קוד פתוח. @@ -1408,7 +1435,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License רישיון @@ -1416,64 +1443,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>התקן %1</strong><br/> מאת %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>התקן תצוגה %1</strong><br/><font color="Grey"> מאת %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>תוסף לדפדפן %1</strong><br/><font color="Grey"> מאת %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>קידוד %1</strong><br/><font color="Grey"> מאת %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>חבילה %1</strong><br/><font color="Grey"> מאת %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">מאת %2</font> - + Shows the complete license text מציג את מלל הרישיון המלא - + Hide license text הסתרת מלל הרישיון - + Show license agreement הצגת הסכם רישוי - + Hide license agreement הסתרת הסכם רישוי - + Opens the license agreement in a browser window. פותח את הסכם הרישוי בחלון דפדפן. - + <a href="%1">View license agreement</a> <a href="%1">הצגת הסכם הרישוי</a> @@ -1574,15 +1601,20 @@ The installer will quit and all changes will be lost. תיאור - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) התקנה מהרשת. (מושבתת: לא ניתן לקבל רשימות של חבילות תכנה, נא לבדוק את החיבור לרשת) - + Network Installation. (Disabled: Received invalid groups data) התקנה מהרשת. (מושבתת: המידע שהתקבל על קבוצות שגוי) + + + Network Installation. (Disabled: Incorrect configuration) + התקנת רשת. (מושבתת: תצורה שגויה) + NetInstallViewStep @@ -1866,6 +1898,47 @@ The installer will quit and all changes will be lost. שגיאה לא ידועה + + PackageChooserPage + + + Form + Form + + + + Product Name + שם המוצר + + + + TextLabel + תווית טקסט + + + + Long Product Description + תיאור ארוך של המוצר + + + + Package Selection + בחירת חבילות + + + + Please pick a product from the list. The selected product will be installed. + נא לבחור במוצר מהרשימה. המוצר הנבחר יותקן. + + + + PackageChooserViewStep + + + Packages + חבילות + + Page_Keyboard @@ -2268,14 +2341,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. לא היה פלט מהפקודה. - + Output: @@ -2284,52 +2357,52 @@ Output: - + External command crashed. הפקודה החיצונית נכשלה. - + Command <i>%1</i> crashed. הפקודה <i>%1</i> קרסה. - + External command failed to start. הפעלת הפעולה החיצונית נכשלה. - + Command <i>%1</i> failed to start. הפעלת הפקודה <i>%1</i> נכשלה. - + Internal error when starting command. שגיאה פנימית בעת הפעלת פקודה. - + Bad parameters for process job call. פרמטרים לא תקינים עבור קריאת עיבוד פעולה. - + External command failed to finish. סיום הפקודה החיצונית נכשל. - + Command <i>%1</i> failed to finish in %2 seconds. הפקודה <i>%1</i> לא הסתיימה תוך %2 שניות. - + External command finished with errors. הפקודה החיצונית הסתיימה עם שגיאות. - + Command <i>%1</i> finished with exit code %2. הפקודה <i>%1</i> הסתיימה עם קוד היציאה %2. @@ -2388,6 +2461,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + אין מוצר + + + + No description provided. + לא סופק תיאור. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Output: TrackingInstallJob - + Installation feedback משוב בנושא ההתקנה - + Sending installation feedback. שולח משוב בנושא ההתקנה. - + Internal error in install-tracking. שגיאה פנימית בעת התקנת תכונת המעקב. - + HTTP request timed out. בקשת HTTP חרגה מזמן ההמתנה המקסימאלי. @@ -2943,28 +3026,28 @@ Output: TrackingMachineNeonJob - + Machine feedback משוב בנושא עמדת המחשב - + Configuring machine feedback. מגדיר משוב בנושא עמדת המחשב. - - + + Error in machine feedback configuration. שגיאה בעת הגדרת המשוב בנושא עמדת המחשב. - + Could not configure machine feedback correctly, script error %1. לא ניתן להגדיר את המשוב בנושא עמדת המחשב באופן תקין. שגיאת הרצה %1. - + Could not configure machine feedback correctly, Calamares error %1. לא ניתן להגדיר את המשוב בנושא עמדת המחשב באופן תקין. שגיאת Calamares %1. @@ -2997,17 +3080,17 @@ Output: מעקב אחר ההתקנה מסייע ל־%1 לראות כמה משתמשים במוצר שלהם, על איזו חומרה מתבצעת ההתקנה של %1, בנוסף (לשתי האפשרויות הקודמות), קבלת מידע מתחדש על יישומים מועדפים. כדי לצפות בנתונים שיישלחו, נא לשלוח על סמל העזרה שליד כל אחד מהסעיפים. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. בחירה באפשרות זו תוביל לשליחת מידע על ההתקנה והחומרה שלך. מידע זה <b>יישלח פעם אחת בלבד</b> לאחר סיום ההתקנה. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. בחירה באפשרות הזאת תוביל לשליחת מידע <b>מדי פעם בפעם</b> על ההתקנה, החומרה והיישומים שלך אל %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. בחירה באפשרות זו תוביל לשליחת מידע <b>באופן קבוע</b> על ההתקנה, החומרה, היישומים ודפוסי שימוש אל %1. @@ -3015,7 +3098,7 @@ Output: TrackingViewStep - + Feedback משוב @@ -3072,6 +3155,19 @@ Output: משתמשים + + VariantModel + + + Key + מפתח + + + + Value + ערך + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Output: Form - + + + Select application and system language + נא לבחור יישום ואת שפת המערכת + + + + Open donations website + פתיחת אתר התרומות + + + + &Donate + &תרומה + + + + Open help and support website + פתיחת אתר העזרה והתמיכה + + + + Open issues and bug-tracking website + פתיחת אתר התקלות והמעקב אחר באגים + + + + Open relead notes website + פתיחת אתר ההערות לפי גרסה + + + &Release notes &הערות הפצה - + &Known issues &בעיות נפוצות - - - Select language - בחירת שפה - - - + &Support &תמיכה @@ -3159,42 +3280,42 @@ Output: על &אודות - + <h1>Welcome to the %1 installer.</h1> <h1>ברוך בואך להתקנת %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>ברוך בואך להתקנת %1 עם Calamares.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>ברוך בואך לתכנית ההתקנה Calamares עבור %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>ברוך בואך להתקנת %1.</h1> - + About %1 setup על אודות התקנת %1 - + About %1 installer על אודות התקנת %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>עבור %3</strong><br/><br/>כל הזכויות שמורות 2014‏-2017 ל־Teo Mrnjavac‏ &lt;teo@kde.org&gt;<br/>כל הזכויות שמורות 2017‏-2019 ל־Adriaan de Groot‏ &lt;groot@kde.org&gt;<br/>תודה גדולה נתונה <a href="https://calamares.io/team/">לצוות Calamares</a> ול<a href="https://www.transifex.com/calamares/calamares/">צווות המתרגמים של Calamares</a>.<br/><br/><a href="https://calamares.io/">הפיתוח של Calamares</a> ממומן על ידי <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - דואגים לחירות התכנה. - + %1 support תמיכה ב־%1 @@ -3202,7 +3323,7 @@ Output: WelcomeViewStep - + Welcome ברוך בואך diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index 127346027..9743ae70b 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page खाली पृष्ठ @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form रूप - + GlobalStorage ग्लोबल स्टोरेज - + JobQueue कार्य पंक्ति - + Modules मॉड्यूल - + Type: प्रकार : - - + + none कुछ नहीं - + Interface: इंटरफ़ेस : - + Tools साधन - + Reload Stylesheet शैली पत्रक पुनः लोड करें - + Widget Tree विजेट ट्री - + Debug information डीबग जानकारी @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up सेटअप - + Install इंस्टॉल करें @@ -133,7 +133,7 @@ कार्य विफल रहा (%1) - + Programmed job failure was explicitly requested. प्रोग्राम किए गए कार्य की विफलता स्पष्ट रूप से अनुरोध की गई थी। @@ -141,7 +141,7 @@ Calamares::JobThread - + Done पूर्ण हुआ @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. लक्षित सिस्टम में कमांड '%1' चलाएँ। - + Run command '%1'. कमांड '%1' चलाएँ। @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. %1 चल रहा है। - + Bad working directory path कार्यरत फोल्डर का पथ गलत है - + Working directory %1 for python job %2 is not readable. पाइथन कार्य %2 के लिए कार्यरत डायरेक्टरी %1 रीड करने योग्य नहीं है। - + Bad main script file ख़राब मुख्य स्क्रिप्ट फ़ाइल - + Main script file %1 for python job %2 is not readable. पाइथन कार्य %2 हेतु मुख्य स्क्रिप्ट फ़ाइल %1 रीड करने योग्य नहीं है। - + Boost.Python error in job "%1". कार्य "%1" में Boost.Python त्रुटि। @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n मॉड्यूल की प्रतीक्षा में।%n मॉड्यूल की प्रतीक्षा में। - + (%n second(s)) (%n सेकंड)(%n सेकंड) - + System-requirements checking is complete. सिस्टम हेतु आवश्यकताओं की जाँच पूर्ण हुई। @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back वापस (&B) - + &Next आगे (&N) - + &Cancel रद्द करें (&C) - + Cancel setup without changing the system. सिस्टम में बदलाव किये बिना सेटअप रद्द करें। - + Cancel installation without changing the system. सिस्टम में बदलाव किये बिना इंस्टॉल रद्द करें। - + Setup Failed सेटअप विफल रहा - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares का आरंभीकरण विफल रहा - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 को इनस्टॉल नहीं किया जा सका। Calamares सभी विन्यस्त मापांकों को लोड करने में विफल रहा। यह आपके लिनक्स वितरण द्वारा Calamares के उपयोग से संबंधित एक समस्या है। - + <br/>The following modules could not be loaded: <br/>निम्नलिखित मापांक लोड नहीं हो सकें : - + Continue with installation? इंस्टॉल प्रक्रिया जारी रखें? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %2 सेटअप करने हेतु %1 सेटअप प्रोग्राम आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Set up now अभी सेटअप करें (&S) - + &Set up सेटअप करें (&S) - + &Install इंस्टॉल करें (&I) - + Setup is complete. Close the setup program. सेटअप पूर्ण हुआ। सेटअप प्रोग्राम बंद कर दें। - + Cancel setup? सेटअप रद्द करें? - + Cancel installation? इंस्टॉल रद्द करें? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. क्या आप वाकई वर्तमान सेटअप प्रक्रिया रद्द करना चाहते हैं? सेटअप प्रोग्राम बंद हो जाएगा व सभी बदलाव नष्ट। - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. क्या आप वाकई वर्तमान इंस्टॉल प्रक्रिया रद्द करना चाहते हैं? इंस्टॉलर बंद हो जाएगा व सभी बदलाव नष्ट। - + + &Yes हाँ (&Y) - + + &No नहीं (&N) - + &Close बंद करें (&C) - + Continue with setup? सेटअप करना जारी रखें? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %2 इंस्टॉल करने हेतु %1 इंस्टॉलर आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Install now अभी इंस्टॉल करें (&I) - + Go &back वापस जाएँ (&b) - + &Done हो गया (&D) - + The installation is complete. Close the installer. इंस्टॉल पूर्ण हुआ।अब इंस्टॉलर को बंद करें। - + Error त्रुटि - + Installation Failed इंस्टॉल विफल रहा @@ -383,26 +400,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type अपवाद का प्रकार अज्ञात - + unparseable Python error अप्राप्य पाइथन त्रुटि - + unparseable Python traceback अप्राप्य पाइथन ट्रेसबैक - + Unfetchable Python error. पहुँच से बाहर पाइथन त्रुटि। + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. कमांड चलाई नहीं जा सकी। - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. होस्ट वातावरण में कमांड हेतु रुट पथ जानना आवश्यक है परन्तु कोई रूट माउंट पॉइंट परिभाषित नहीं किया गया है। - + The command needs to know the user's name, but no username is defined. कमांड हेतु उपयोक्ता का नाम आवश्यक है परन्तु कोई नाम परिभाषित नहीं है। @@ -632,7 +658,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job प्रासंगिक प्रक्रिया कार्य @@ -969,7 +995,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job डमी सी++ कार्य @@ -1200,62 +1226,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space कम-से-कम %1 GiB स्पेस ड्राइव पर उपलब्ध हो - + There is not enough drive space. At least %1 GiB is required. ड्राइव में पर्याप्त स्पेस नहीं है। कम-से-कम %1 GiB होना आवश्यक है। - + has at least %1 GiB working memory कम-से-कम %1 GiB मेमोरी उपलब्ध हो - + The system does not have enough working memory. At least %1 GiB is required. सिस्टम में पर्याप्त मेमोरी नहीं है। कम-से-कम %1 GiB होनी आवश्यक है। - + is plugged in to a power source पॉवर के स्रोत से कनेक्ट है - + The system is not plugged in to a power source. सिस्टम पॉवर के स्रोत से कनेक्ट नहीं है। - + is connected to the Internet इंटरनेट से कनेक्ट है - + The system is not connected to the Internet. सिस्टम इंटरनेट से कनेक्ट नहीं है। - + The setup program is not running with administrator rights. सेटअप प्रोग्राम के पास प्रबंधक अधिकार नहीं है। - + The installer is not running with administrator rights. इंस्टॉलर के पास प्रबंधक अधिकार नहीं है। - + The screen is too small to display the setup program. सेटअप प्रोग्राम प्रदर्शित करने हेतु स्क्रीन काफ़ी छोटी है। - + The screen is too small to display the installer. इंस्टॉलर प्रदर्शित करने हेतु स्क्रीन काफ़ी छोटी है। @@ -1380,27 +1406,27 @@ The installer will quit and all changes will be lost. रूप - + I accept the terms and conditions above. मैं उपरोक्त नियम व शर्तें स्वीकार करता हूँ। - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>लाइसेंस अनुबंध</h1>यह लाइसेंस शर्तों के अधीन अमुक्त सॉफ्टवेयर को इंस्टॉल करेगा। - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. कृपया ऊपर दिए गए लक्षित उपयोक्ता लाइसेंस अनुबंध (EULAs) ध्यानपूर्वक पढ़ें।<br/> यदि आप शर्तों से असहमत है, तो सेटअप को ज़ारी नहीं रखा जा सकता। - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>लाइसेंस अनुबंध</h1> यह सेटअप प्रक्रिया अतिरिक्त सुविधाएँ प्रदान करने व उपयोक्ता अनुभव में वृद्धि हेतु लाइसेंस शर्तों के अधीन अमुक्त सॉफ्टवेयर को इंस्टॉल कर सकती है। - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. कृपया ऊपर दिए गए लक्षित उपयोक्ता लाइसेंस अनुबंध (EULAs) ध्यानपूर्वक पढ़ें।<br/> यदि आप शर्तों से असहमत है, तो अमुक्त सॉफ्टवेयर इंस्टाल नहीं किया जाएगा व उनके मुक्त विकल्प उपयोग किए जाएँगे। @@ -1408,7 +1434,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License लाइसेंस @@ -1416,64 +1442,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 ड्राइवर</strong><br/>%2 द्वारा - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 ग्राफ़िक्स ड्राइवर</strong><br/><font color="Grey">%2 द्वारा</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 ब्राउज़र प्लगिन</strong><br/><font color="Grey">%2 द्वारा</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 कोडेक</strong><br/><font color="Grey">%2 द्वारा</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 पैकेज</strong><br/><font color="Grey">%2 द्वारा</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">%2 द्वारा</font> - + Shows the complete license text लाइसेंस को उसके पूर्ण स्वरुप में दिखाएँ - + Hide license text लाइसेंस लेख छिपाएँ - + Show license agreement लाइसेंस अनुबंध दिखाएँ - + Hide license agreement लाइसेंस अनुबंध छिपाएँ - + Opens the license agreement in a browser window. लाइसेंस अनुबंध को ब्राउज़र विंडो में खोलें। - + <a href="%1">View license agreement</a> <a href="%1">लाइसेंस अनुबंध देखें</a> @@ -1574,15 +1600,20 @@ The installer will quit and all changes will be lost. विवरण - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) नेटवर्क इंस्टॉल। (निष्क्रिय है : पैकेज सूची प्राप्त करने में असमर्थ, अपना नेटवर्क कनेक्शन जाँचें) - + Network Installation. (Disabled: Received invalid groups data) नेटवर्क इंस्टॉल (निष्क्रिय है : प्राप्त किया गया समूह डाटा अमान्य है) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ The installer will quit and all changes will be lost. अज्ञात त्रुटि + + PackageChooserPage + + + Form + रूप + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. कमांड से कोई आउटपुट नहीं मिला। - + Output: @@ -2284,52 +2356,52 @@ Output: - + External command crashed. बाह्य कमांड क्रैश हो गई। - + Command <i>%1</i> crashed. कमांड <i>%1</i> क्रैश हो गई। - + External command failed to start. बाह्य​ कमांड शुरू होने में विफल। - + Command <i>%1</i> failed to start. कमांड <i>%1</i> शुरू होने में विफल। - + Internal error when starting command. कमांड शुरू करते समय आंतरिक त्रुटि। - + Bad parameters for process job call. प्रक्रिया कार्य कॉल के लिए गलत मापदंड। - + External command failed to finish. बाहरी कमांड समाप्त करने में विफल। - + Command <i>%1</i> failed to finish in %2 seconds. कमांड <i>%1</i> %2 सेकंड में समाप्त होने में विफल। - + External command finished with errors. बाहरी कमांड त्रुटि के साथ समाप्त। - + Command <i>%1</i> finished with exit code %2. कमांड <i>%1</i> exit कोड %2 के साथ समाप्त। @@ -2388,6 +2460,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Output: TrackingInstallJob - + Installation feedback इंस्टॉल संबंधी प्रतिक्रिया - + Sending installation feedback. इंस्टॉल संबंधी प्रतिक्रिया भेजना। - + Internal error in install-tracking. इंस्टॉल-ट्रैकिंग में आंतरिक त्रुटि। - + HTTP request timed out. एचटीटीपी अनुरोध हेतु समय समाप्त। @@ -2943,28 +3025,28 @@ Output: TrackingMachineNeonJob - + Machine feedback मशीन संबंधी प्रतिक्रिया - + Configuring machine feedback. मशीन संबंधी प्रतिक्रिया विन्यस्त करना। - - + + Error in machine feedback configuration. मशीन संबंधी प्रतिक्रिया विन्यास में त्रुटि। - + Could not configure machine feedback correctly, script error %1. मशीन प्रतिक्रिया को सही रूप से विन्यस्त नहीं किया जा सका, स्क्रिप्ट त्रुटि %1। - + Could not configure machine feedback correctly, Calamares error %1. मशीन प्रतिक्रिया को सही रूप से विन्यस्त नहीं किया जा सका, Calamares त्रुटि %1। @@ -2997,17 +3079,17 @@ Output: इंस्टॉल की ट्रैकिंग करने से %1 को यह जानने में सहायता मिलती है कि उनके कितने उपयोक्ता हैं, वे किस हार्डवेयर पर %1 को इंस्टॉल करते हैं एवं (नीचे दिए अंतिम दो विकल्पों सहित), पसंदीदा अनुप्रयोगों के बारे में निरंतर जानकारी प्राप्त करते हैं। यह जानने हेतु कि क्या भेजा जाएगा, कृपया प्रत्येक क्षेत्र के साथ में दिए सहायता आइकन पर क्लिक करें। - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. इसे चयनित करने पर आपके इंस्टॉल व हार्डवेयर संबंधी जानकारी भेजी जाएँगी। यह जानकारी इंस्टॉल समाप्त हो जाने के उपरांत <b>केवल एक बार ही</b> भेजी जाएगी। - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. इसे चयनित करने पर आपके इंस्टॉल, हार्डवेयर व अनुप्रयोगों संबंधी जानकारी <b>समय-समय पर</b>, %1 को भेजी जाएँगी। - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. इसे चयनित करने पर आपके इंस्टॉल, हार्डवेयर, अनुप्रयोगों व उपयोक्ता प्रतिमानों संबंधी जानकारी <b>समय-समय पर</b>, %1 को भेजी जाएँगी। @@ -3015,7 +3097,7 @@ Output: TrackingViewStep - + Feedback प्रतिक्रिया @@ -3072,6 +3154,19 @@ Output: उपयोक्ता + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Output: रूप - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes रिलीज़ नोट्स (&R) - + &Known issues ज्ञात समस्याएँ (&K) - - - Select language - भाषा चुनें - - - + &Support सहायता (&S) @@ -3159,42 +3279,42 @@ Output: बारे में (&A) - + <h1>Welcome to the %1 installer.</h1> <h1>%1 इंस्टॉलर में आपका स्वागत है।</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>%1 के लिए Calamares इंस्टॉलर में आपका स्वागत है।</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>%1 हेतु Calamares सेटअप में आपका स्वागत है।</h1> - + <h1>Welcome to %1 setup.</h1> <h1>%1 सेटअप में आपका स्वागत है।</h1> - + About %1 setup %1 सेटअप के बारे में - + About %1 installer %1 इंस्टॉलर के बारे में - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>के लिए %3</strong><br/><br/>प्रतिलिप्याधिकार 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>प्रतिलिप्याधिकार 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/><a href="https://calamares.io/team/">Calamares टीम</a> व <a href="https://www.transifex.com/calamares/calamares/">Calamares अनुवादक टीम</a> का धन्यवाद।<br/><br/><a href="https://calamares.io/">Calamares</a> का विकास <br/><a href="http://www.blue-systems.com/">ब्लू सिस्टम्स</a> - लिब्रेटिंग सॉफ्टवेयर द्वारा प्रायोजित है। - + %1 support %1 सहायता @@ -3202,7 +3322,7 @@ Output: WelcomeViewStep - + Welcome स्वागत है diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 372e94597..3819751ae 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Prazna stranica @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Oblik - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Moduli - + Type: Tip: - - + + none nijedan - + Interface: Sučelje: - + Tools Alati - + Reload Stylesheet Ponovno učitaj stilsku tablicu - + Widget Tree Stablo widgeta - + Debug information Debug informacija @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Postaviti - + Install Instaliraj @@ -133,7 +133,7 @@ Posao nije uspio (%1) - + Programmed job failure was explicitly requested. Programski neuspjeh posla je izričito zatražen. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Gotovo @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Izvrši naredbu '%1' u ciljnom sustavu. - + Run command '%1'. Izvrši naredbu '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Izvodim %1 operaciju. - + Bad working directory path Krivi put do radnog direktorija - + Working directory %1 for python job %2 is not readable. Radni direktorij %1 za python zadatak %2 nije čitljiv. - + Bad main script file Kriva glavna datoteka skripte - + Main script file %1 for python job %2 is not readable. Glavna skriptna datoteka %1 za python zadatak %2 nije čitljiva. - + Boost.Python error in job "%1". Boost.Python greška u zadatku "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čekam %1 modul(a).Čekam %1 modul(a).Čekam %1 modul(a). - + (%n second(s)) (%n sekunda(e))(%n sekunda(e))(%n sekunda(e)) - + System-requirements checking is complete. Provjera zahtjeva za instalaciju sustava je dovršena. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Natrag - + &Next &Sljedeće - + &Cancel &Odustani - + Cancel setup without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Cancel installation without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Setup Failed Instalacija nije uspjela - + + Would you like to paste the install log to the web? + Želite li objaviti dnevnik instaliranja na web? + + + + Install Log Paste URL + URL za objavu dnevnika instaliranja + + + + The upload was unsuccessful. No web-paste was done. + Objava dnevnika instaliranja na web nije uspjela. + + + Calamares Initialization Failed Inicijalizacija Calamares-a nije uspjela - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 se ne može se instalirati. Calamares nije mogao učitati sve konfigurirane module. Ovo je problem s načinom na koji se Calamares koristi u distribuciji. - + <br/>The following modules could not be loaded: <br/>Sljedeći moduli se nisu mogli učitati: - + Continue with installation? Nastaviti sa instalacijom? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalacijski program %1 će izvršiti promjene na vašem disku kako bi postavio %2. <br/><strong>Ne možete poništiti te promjene.</strong> - + &Set up now &Postaviti odmah - + &Set up &Postaviti - + &Install &Instaliraj - + Setup is complete. Close the setup program. Instalacija je završena. Zatvorite instalacijski program. - + Cancel setup? Prekinuti instalaciju? - + Cancel installation? Prekinuti instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + + &Yes &Da - + + &No &Ne - + &Close &Zatvori - + Continue with setup? Nastaviti s postavljanjem? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalacijski program će napraviti promjene na disku kako bi instalirao %2.<br/><strong>Nećete moći vratiti te promjene.</strong> - + &Install now &Instaliraj sada - + Go &back Idi &natrag - + &Done &Gotovo - + The installation is complete. Close the installer. Instalacija je završena. Zatvorite instalacijski program. - + Error Greška - + Installation Failed Instalacija nije uspjela @@ -383,26 +400,36 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. CalamaresPython::Helper - + Unknown exception type Nepoznati tip iznimke - + unparseable Python error unparseable Python greška - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Nedohvatljiva Python greška. + + CalamaresUtils + + + Install log posted to: +%1 + Dnevnik instaliranja je objavljen na: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. CommandList - - + + Could not run command. Ne mogu pokrenuti naredbu. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Naredba se pokreće u okruženju domaćina i treba znati korijenski put, međutim, rootMountPoint nije definiran. - + The command needs to know the user's name, but no username is defined. Naredba treba znati ime korisnika, ali nije definirano korisničko ime. @@ -632,7 +659,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. ContextualProcessJob - + Contextual Processes Job Posao kontekstualnih procesa @@ -969,7 +996,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. DummyCppJob - + Dummy C++ Job Lažni C++ posao @@ -1200,62 +1227,62 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. GeneralRequirements - + has at least %1 GiB available drive space ima barem %1 GB dostupne slobodne memorije na disku - + There is not enough drive space. At least %1 GiB is required. Nema dovoljno prostora na disku. Potrebno je najmanje %1 GB. - + has at least %1 GiB working memory ima barem %1 GB radne memorije - + The system does not have enough working memory. At least %1 GiB is required. Ovaj sustav nema dovoljno radne memorije. Potrebno je najmanje %1 GB. - + is plugged in to a power source je spojeno na izvor struje - + The system is not plugged in to a power source. Ovaj sustav nije spojen na izvor struje. - + is connected to the Internet je spojeno na Internet - + The system is not connected to the Internet. Ovaj sustav nije spojen na internet. - + The setup program is not running with administrator rights. Instalacijski program nije pokrenut sa administratorskim dozvolama. - + The installer is not running with administrator rights. Instalacijski program nije pokrenut sa administratorskim dozvolama. - + The screen is too small to display the setup program. Zaslon je premalen za prikaz instalacijskog programa. - + The screen is too small to display the installer. Zaslon je premalen za prikaz instalacijskog programa. @@ -1380,27 +1407,27 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Oblik - + I accept the terms and conditions above. Prihvaćam gore navedene uvjete i odredbe. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licencni ugovor</h1>Instalacijska procedura će instalirati vlasnički program koji podliježe uvjetima licenciranja. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Molimo vas da pogledate gore navedene End User License Agreements (EULAs).<br/>Ako se ne slažete s navedenim uvjetima, instalacijska procedura se ne može nastaviti. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licencni ugovor</h1>Instalacijska procedura može instalirati vlasnički program, koji podliježe uvjetima licenciranja, kako bi pružio dodatne mogućnosti i poboljšao korisničko iskustvo. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Molimo vas da pogledate gore navedene End User License Agreements (EULAs).<br/>Ako se ne slažete s navedenim uvjetima, vlasnički program se ne će instalirati te će se umjesto toga koristiti program otvorenog koda. @@ -1408,7 +1435,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. LicenseViewStep - + License Licence @@ -1416,64 +1443,64 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 upravljački program</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafički upravljački program</strong><br/><font color="Grey">od %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 dodatak preglednika</strong><br/><font color="Grey">od %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 kodek</strong><br/><font color="Grey">od %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 paket</strong><br/><font color="Grey">od %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">od %2</font> - + Shows the complete license text Prikazuje cijeli tekst licence - + Hide license text Sakrij tekst licence - + Show license agreement Prikaži licencni ugovor - + Hide license agreement Sakrij licencni ugovor - + Opens the license agreement in a browser window. Otvara ugovor o licenci u prozoru preglednika. - + <a href="%1">View license agreement</a> <a href="%1">Pogledajte ugovor o licenci</a> @@ -1574,15 +1601,20 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Opis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Mrežna instalacija. (Onemogućeno: Ne mogu dohvatiti listu paketa, provjerite da li ste spojeni na mrežu) - + Network Installation. (Disabled: Received invalid groups data) Mrežna instalacija. (Onemogućeno: Primanje nevažećih podataka o grupama) + + + Network Installation. (Disabled: Incorrect configuration) + Mrežna instalacija. (Onemogućeno: Neispravna konfiguracija) + NetInstallViewStep @@ -1866,6 +1898,47 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Nepoznata greška + + PackageChooserPage + + + Form + Oblik + + + + Product Name + Ime proizvoda + + + + TextLabel + OznakaTeksta + + + + Long Product Description + Dugi opis proizvoda + + + + Package Selection + Odabir paketa + + + + Please pick a product from the list. The selected product will be installed. + Molimo odaberite proizvod s popisa. Izabrani proizvod će biti instaliran. + + + + PackageChooserViewStep + + + Packages + Paketi + + Page_Keyboard @@ -2268,14 +2341,14 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. ProcessResult - + There was no output from the command. Nema izlazne informacije od naredbe. - + Output: @@ -2284,52 +2357,52 @@ Izlaz: - + External command crashed. Vanjska naredba je prekinula s radom. - + Command <i>%1</i> crashed. Naredba <i>%1</i> je prekinula s radom. - + External command failed to start. Vanjska naredba nije uspješno pokrenuta. - + Command <i>%1</i> failed to start. Naredba <i>%1</i> nije uspješno pokrenuta. - + Internal error when starting command. Unutrašnja greška pri pokretanju naredbe. - + Bad parameters for process job call. Krivi parametri za proces poziva posla. - + External command failed to finish. Vanjska naredba se nije uspjela izvršiti. - + Command <i>%1</i> failed to finish in %2 seconds. Naredba <i>%1</i> nije uspjela završiti za %2 sekundi. - + External command finished with errors. Vanjska naredba je završila sa pogreškama. - + Command <i>%1</i> finished with exit code %2. Naredba <i>%1</i> je završila sa izlaznim kodom %2. @@ -2388,6 +2461,16 @@ Izlaz: language[name] (country[name]) %1 (%2) + + + No product + Nema proizvoda + + + + No description provided. + Nije naveden opis. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Izlaz: TrackingInstallJob - + Installation feedback Povratne informacije o instalaciji - + Sending installation feedback. Šaljem povratne informacije o instalaciji - + Internal error in install-tracking. Interna pogreška prilikom praćenja instalacije. - + HTTP request timed out. HTTP zahtjev je istekao @@ -2943,28 +3026,28 @@ Izlaz: TrackingMachineNeonJob - + Machine feedback Povratna informacija o uređaju - + Configuring machine feedback. Konfiguriram povratnu informaciju o uređaju. - - + + Error in machine feedback configuration. Greška prilikom konfiguriranja povratne informacije o uređaju. - + Could not configure machine feedback correctly, script error %1. Ne mogu ispravno konfigurirati povratnu informaciju o uređaju, greška skripte %1. - + Could not configure machine feedback correctly, Calamares error %1. Ne mogu ispravno konfigurirati povratnu informaciju o uređaju, Calamares greška %1. @@ -2997,17 +3080,17 @@ Izlaz: Praćenje instalacije pomaže %1 da vidi koliko ima korisnika, na koji hardver instalira %1 i (s posljednjim opcijama ispod) da dobije kontinuirane informacije o preferiranim aplikacijama. Kako bi vidjeli što se šalje molimo vas da kliknete na ikonu pomoći pokraj svake opcije. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Odabirom ove opcije slat ćete informacije vezane za instalaciju i vaš hardver. Informacija <b>će biti poslana samo jednom</b>nakon što završi instalacija. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Odabirom ove opcije slat će se <b>periodična</b>informacija prema %1 o vašoj instalaciji, hardveru i aplikacijama. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Odabirom ove opcije slat će se <b>redovna</b>informacija prema %1 o vašoj instalaciji, hardveru, aplikacijama i uzorci upotrebe. @@ -3015,7 +3098,7 @@ Izlaz: TrackingViewStep - + Feedback Povratna informacija @@ -3072,6 +3155,19 @@ Izlaz: Korisnici + + VariantModel + + + Key + Ključ + + + + Value + Vrijednost + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Izlaz: Oblik - + + + Select application and system language + Odaberite program i jezik sustava + + + + Open donations website + Otvorite web mjesto za donacije + + + + &Donate + &Doniraj + + + + Open help and support website + Otvorite web mjesto za pomoć i podršku + + + + Open issues and bug-tracking website + Otvorene web mjesto za praćenje bugova i poteškoća + + + + Open relead notes website + Otvorite web mjesto za bilješke + + + &Release notes &Napomene o izdanju - + &Known issues &Poznati problemi - - - Select language - Odaberite jezik - - - + &Support &Podrška @@ -3159,42 +3280,42 @@ Izlaz: &O programu - + <h1>Welcome to the %1 installer.</h1> <h1>Dobrodošli u %1 instalacijski program.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> Dobrodošli u Calamares instalacijski program za %1. - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Dobrodošli u Calamares instalacijski program za %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Dobrodošli u %1 instalacijski program.</h1> - + About %1 setup O %1 instalacijskom programu - + About %1 installer O %1 instalacijskom programu - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>za %3</strong><br/><br/>Autorska prava 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorska prava 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/> Hvala <a href="https://calamares.io/team/">Calamares timu</a> i <a href="https://www.transifex.com/calamares/calamares/">Calamares timu za prevođenje</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> sponzorira <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 podrška @@ -3202,7 +3323,7 @@ Izlaz: WelcomeViewStep - + Welcome Dobrodošli diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index cdf120890..7edbaae80 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Üres oldal @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Adatlap - + GlobalStorage Tárolás - + JobQueue Feladatok - + Modules Modulok - + Type: Típus: - - + + none semelyik - + Interface: Interfész: - + Tools Eszközök - + Reload Stylesheet Stílusok újratöltése - + Widget Tree Modul- fa - + Debug information Hibakeresési információk @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Összeállítás - + Install Telepít @@ -133,7 +133,7 @@ Művelet nem sikerült (%1) - + Programmed job failure was explicitly requested. Kifejezetten kért programozott műveleti hiba. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Kész @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. '%1' parancs futtatása a cél rendszeren. - + Run command '%1'. '%1' parancs futtatása. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Futó %1 műveletek. - + Bad working directory path Rossz munkakönyvtár útvonal - + Working directory %1 for python job %2 is not readable. Munkakönyvtár %1 a python folyamathoz %2 nem olvasható. - + Bad main script file Rossz alap script fájl - + Main script file %1 for python job %2 is not readable. Alap script fájl %1 a python folyamathoz %2 nem olvasható. - + Boost.Python error in job "%1". Boost. Python hiba ebben a folyamatban "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Várakozás a %n modulokra.Várakozás %n modulokra. - + (%n second(s)) (%n másodperc)(%n másodperc) - + System-requirements checking is complete. Rendszerkövetelmények ellenőrzése kész. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Vissza - + &Next &Következő - + &Cancel &Mégse - + Cancel setup without changing the system. Telepítés megszakítása a rendszer módosítása nélkül. - + Cancel installation without changing the system. Kilépés a telepítőből a rendszer megváltoztatása nélkül. - + Setup Failed Telepítési hiba - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed A Calamares előkészítése meghiúsult - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. A(z) %1 nem telepíthető. A Calamares nem tudta betölteni a konfigurált modulokat. Ez a probléma abból fakad, ahogy a disztribúció a Calamarest használja. - + <br/>The following modules could not be loaded: <br/>A következő modulok nem tölthetőek be: - + Continue with installation? Folytatja a telepítést? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog végrehajtani a lemezen a %2 telepítéséhez. <br/><strong>Ezután már nem tudja visszavonni a változtatásokat.</strong> - + &Set up now &Telepítés most - + &Set up &Telepítés - + &Install &Telepítés - + Setup is complete. Close the setup program. Telepítés sikerült. Zárja be a telepítőt. - + Cancel setup? Megszakítja a telepítést? - + Cancel installation? Abbahagyod a telepítést? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Valóban megszakítod a telepítési eljárást? A telepítő ki fog lépni és minden változtatás elveszik. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Biztos abba szeretnéd hagyni a telepítést? Minden változtatás elveszik, ha kilépsz a telepítőből. - + + &Yes &Igen - + + &No &Nem - + &Close &Bezár - + Continue with setup? Folytatod a telepítéssel? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog elvégezni, hogy telepítse a következőt: %2.<br/><strong>A változtatások visszavonhatatlanok lesznek.</strong> - + &Install now &Telepítés most - + Go &back Menj &vissza - + &Done &Befejez - + The installation is complete. Close the installer. A telepítés befejeződött, Bezárhatod a telepítőt. - + Error Hiba - + Installation Failed Telepítés nem sikerült @@ -383,26 +400,35 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. CalamaresPython::Helper - + Unknown exception type Ismeretlen kivétel típus - + unparseable Python error nem egyeztethető Python hiba - + unparseable Python traceback nem egyeztethető Python visszakövetés - + Unfetchable Python error. Összehasonlíthatatlan Python hiba. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. CommandList - - + + Could not run command. A parancsot nem lehet futtatni. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. A parancs a gazdakörnyezetben fut, és ismernie kell a gyökér útvonalát, de nincs rootMountPoint megadva. - + The command needs to know the user's name, but no username is defined. A parancsnak tudnia kell a felhasználónevet, de az nincs megadva. @@ -632,7 +658,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. ContextualProcessJob - + Contextual Processes Job Környezetfüggő folyamatok feladat @@ -969,7 +995,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. DummyCppJob - + Dummy C++ Job Teszt C++ job @@ -1200,62 +1226,62 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. GeneralRequirements - + has at least %1 GiB available drive space legalább %1 GiB lemezterület elérhető - + There is not enough drive space. At least %1 GiB is required. Nincs elég lemezterület. Legalább %1 GiB szükséges. - + has at least %1 GiB working memory legalább %1 GiB memória elérhető - + The system does not have enough working memory. At least %1 GiB is required. A rendszer nem tartalmaz elég memóriát. Legalább %1 GiB szükséges. - + is plugged in to a power source csatlakoztatva van külső áramforráshoz - + The system is not plugged in to a power source. A rendszer nincs csatlakoztatva külső áramforráshoz - + is connected to the Internet csatlakozik az internethez - + The system is not connected to the Internet. A rendszer nem csatlakozik az internethez. - + The setup program is not running with administrator rights. A telepítő program nem adminisztrátori joggal fut. - + The installer is not running with administrator rights. A telepítő nem adminisztrátori jogokkal fut. - + The screen is too small to display the setup program. A képernyő mérete túl kicsi a telepítő program megjelenítéséhez. - + The screen is too small to display the installer. A képernyőméret túl kicsi a telepítő megjelenítéséhez. @@ -1380,27 +1406,27 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Adatlap - + I accept the terms and conditions above. Elfogadom a fentebbi felhasználási feltételeket. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licensz</h1>A telepítő szabadalmaztatott szoftvert fog telepíteni. Információ a licenszben. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Kérlek, olvasd el a fenti végfelhasználói licenszfeltételeket (EULAs)<br/>Ha nem értesz egyet a feltételekkel, akkor a telepítés nem folytatódik. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licensz</h1>A telepítő szabadalmaztatott szoftvert fog telepíteni. Információ a licenszben. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Kérlek, olvasd el a fenti végfelhasználói licenszfeltételeket (EULAs)<br/>Ha nem értesz egyet a feltételekkel, akkor a szabadalmaztatott program telepítése nem folytatódik és nyílt forrású program lesz telepítve helyette. @@ -1408,7 +1434,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. LicenseViewStep - + License Licensz @@ -1416,64 +1442,64 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/> %2 -ból/ -ből - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafikus driver</strong><br/><font color="Grey">%2 -ból/ -ből</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 böngésző plugin</strong><br/><font color="Grey">%2 -ból/ -ből</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 kodek</strong><br/><font color="Grey">%2 -ból/ -ből</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 csomag</strong><br/><font color="Grey" >%2 -ból/ -ből</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">%2 -ból/ -ből</font> - + Shows the complete license text Teljes licensz szöveg megjelenítése - + Hide license text Licensz szöveg elrejtése - + Show license agreement Licensz egyezmény megjelenítése - + Hide license agreement Licensz egyezmény elrejtése - + Opens the license agreement in a browser window. Licensz egyezmény megnyitása új böngészőablakban. - + <a href="%1">View license agreement</a> <a href="%1">Licensz egyezmény megtekintése</a> @@ -1574,15 +1600,20 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Leírás - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Hálózati telepítés. (Kikapcsolva: A csomagokat nem lehet letölteni, ellenőrizd a hálózati kapcsolatot) - + Network Installation. (Disabled: Received invalid groups data) Hálózati Telepítés. (Letiltva: Hibás adat csoportok fogadva) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Ismeretlen hiba + + PackageChooserPage + + + Form + Adatlap + + + + Product Name + + + + + TextLabel + Szöveges címke + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. ProcessResult - + There was no output from the command. A parancsnak nem volt kimenete. - + Output: @@ -2284,52 +2356,52 @@ Kimenet: - + External command crashed. Külső parancs összeomlott. - + Command <i>%1</i> crashed. Parancs <i>%1</i> összeomlott. - + External command failed to start. A külső parancsot nem sikerült elindítani. - + Command <i>%1</i> failed to start. A(z) <i>%1</i> parancsot nem sikerült elindítani. - + Internal error when starting command. Belső hiba a parancs végrehajtásakor. - + Bad parameters for process job call. Hibás paraméterek a folyamat hívásához. - + External command failed to finish. Külső parancs nem fejeződött be. - + Command <i>%1</i> failed to finish in %2 seconds. A(z) <i>%1</i> parancsot nem sikerült befejezni %2 másodperc alatt. - + External command finished with errors. A külső parancs hibával fejeződött be. - + Command <i>%1</i> finished with exit code %2. A(z) <i>%1</i> parancs hibakóddal lépett ki: %2. @@ -2388,6 +2460,16 @@ Kimenet: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2921,22 +3003,22 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l TrackingInstallJob - + Installation feedback Visszajelzés a telepítésről - + Sending installation feedback. Telepítési visszajelzés küldése. - + Internal error in install-tracking. Hiba a telepítő nyomkövetésben. - + HTTP request timed out. HTTP kérés ideje lejárt. @@ -2944,28 +3026,28 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l TrackingMachineNeonJob - + Machine feedback Gépi visszajelzés - + Configuring machine feedback. Gépi visszajelzés konfigurálása. - - + + Error in machine feedback configuration. Hiba a gépi visszajelzés konfigurálásában. - + Could not configure machine feedback correctly, script error %1. Gépi visszajelzés konfigurálása nem megfelelő, script hiba %1. - + Could not configure machine feedback correctly, Calamares error %1. Gépi visszajelzés konfigurálása nem megfelelő,. Calamares hiba %1. @@ -2999,17 +3081,17 @@ Calamares hiba %1. A telepítés nyomkövetése %1 segít látni, hogy hány felhasználója van, milyen eszközre , %1 és (az alábbi utolsó két opcióval), folyamatosan kapunk információt az előnyben részesített alkalmazásokról. Hogy lásd mi lesz elküldve kérlek kattints a súgó ikonra a mező mellett. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Ezt kiválasztva információt fogsz küldeni a telepítésről és a számítógépről. Ez az információ <b>csak egyszer lesz </b>elküldve telepítés után. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Ezt kiválasztva információt fogsz küldeni <b>időközönként</b> a telepítésről, számítógépről, alkalmazásokról ide %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Ezt kiválasztva<b> rendszeresen</b> fogsz információt küldeni a telepítésről, számítógépről, alkalmazásokról és használatukról ide %1. @@ -3017,7 +3099,7 @@ Calamares hiba %1. TrackingViewStep - + Feedback Visszacsatolás @@ -3074,6 +3156,19 @@ Calamares hiba %1. Felhasználók + + VariantModel + + + Key + + + + + Value + Érték + + VolumeGroupBaseDialog @@ -3135,23 +3230,48 @@ Calamares hiba %1. Adatlap - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Kiadási megjegyzések - + &Known issues &Ismert hibák - - - Select language - Válasszon nyelvet - - - + &Support &Támogatás @@ -3161,42 +3281,42 @@ Calamares hiba %1. &Névjegy - + <h1>Welcome to the %1 installer.</h1> <h1>Üdvözlet a %1 telepítőben.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Üdvözlet a Calamares %1 telepítőjében.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Üdvözli önt a Calamares telepítő itt %1!</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Köszöntjük a %1 telepítőben!</h1> - + About %1 setup A %1 telepítőről. - + About %1 installer A %1 telepítőről - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>a %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Köszönet<a href="https://calamares.io/team/"> a Calamares csapatnak</a> és a <a href="https://www.transifex.com/calamares/calamares/"> Calamares fordítói csapatának</a>. <br/><br/><a href="https://calamares.io/">A Calamares</a> fejlesztését a <br/><a href="http://www.blue-systems.com/">Blue Systems</a> -Liberating Software támogatja. - + %1 support %1 támogatás @@ -3204,7 +3324,7 @@ Calamares hiba %1. WelcomeViewStep - + Welcome Üdvözlet diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index bc3a72586..ad37569e9 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Halaman Kosong @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Isian - + GlobalStorage PenyimpananGlobal - + JobQueue AntrianTugas - + Modules Modul - + Type: Tipe: - - + + none tidak ada - + Interface: Antarmuka: - + Tools Alat - + Reload Stylesheet - + Widget Tree - + Debug information Informasi debug @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instal @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Selesai @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Menjalankan %1 operasi. - + Bad working directory path Jalur lokasi direktori tidak berjalan baik - + Working directory %1 for python job %2 is not readable. Direktori kerja %1 untuk penugasan python %2 tidak dapat dibaca. - + Bad main script file Berkas skrip utama buruk - + Main script file %1 for python job %2 is not readable. Berkas skrip utama %1 untuk penugasan python %2 tidak dapat dibaca. - + Boost.Python error in job "%1". Boost.Python mogok dalam penugasan "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Kembali - + &Next &Berikutnya - + &Cancel &Batal - + Cancel setup without changing the system. - + Cancel installation without changing the system. Batalkan instalasi tanpa mengubah sistem yang ada. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Inisialisasi Calamares Gagal - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 tidak dapat terinstal. Calamares tidak dapat memuat seluruh modul konfigurasi. Terdapat masalah dengan Calamares karena sedang digunakan oleh distribusi. - + <br/>The following modules could not be loaded: <br/>Modul berikut tidak dapat dimuat. - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instal - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Batalkan instalasi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Apakah Anda benar-benar ingin membatalkan proses instalasi ini? Instalasi akan ditutup dan semua perubahan akan hilang. - + + &Yes &Ya - + + &No &Tidak - + &Close &Tutup - + Continue with setup? Lanjutkan dengan setelan ini? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Installer %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong> - + &Install now &Instal sekarang - + Go &back &Kembali - + &Done &Kelar - + The installation is complete. Close the installer. Instalasi sudah lengkap. Tutup installer. - + Error Kesalahan - + Installation Failed Instalasi Gagal @@ -382,26 +399,35 @@ Instalasi akan ditutup dan semua perubahan akan hilang. CalamaresPython::Helper - + Unknown exception type Tipe pengecualian tidak dikenal - + unparseable Python error tidak dapat mengurai pesan kesalahan Python - + unparseable Python traceback tidak dapat mengurai penelusuran balik Python - + Unfetchable Python error. Tidak dapat mengambil pesan kesalahan Python. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Instalasi akan ditutup dan semua perubahan akan hilang. CommandList - - + + Could not run command. Tidak dapat menjalankan perintah - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Perintah berjalan di lingkungan host dan perlu diketahui alur root-nya, tetapi bukan rootMountPoint yang ditentukan. - + The command needs to know the user's name, but no username is defined. Perintah perlu diketahui nama si pengguna, tetapi bukan nama pengguna yang ditentukan. @@ -631,7 +657,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. ContextualProcessJob - + Contextual Processes Job Memproses tugas kontekstual @@ -968,7 +994,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. DummyCppJob - + Dummy C++ Job Tugas C++ Kosong @@ -1199,62 +1225,62 @@ Instalasi akan ditutup dan semua perubahan akan hilang. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source terhubung dengan sumber listrik - + The system is not plugged in to a power source. Sistem tidak terhubung dengan sumber listrik. - + is connected to the Internet terkoneksi dengan internet - + The system is not connected to the Internet. Sistem tidak terkoneksi dengan internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Installer tidak dijalankan dengan kewenangan administrator. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Layar terlalu kecil untuk menampilkan installer. @@ -1379,27 +1405,27 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Isian - + I accept the terms and conditions above. Saya menyetujui segala persyaratan di atas. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Persetujuan Lisensi</h1>Prosedur ini akan memasang perangkat lunak berpemilik yang terkait dengan lisensi. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Mohon periksa End User License Agreements (EULA) di atas.<br/>Bila Anda tidak setuju, maka prosedur tidak bisa dilanjutkan. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Persetujuan Lisensi</h1>Prosedur ini dapat memasang perangkat lunak yang terkait dengan lisensi agar bisa menyediakan fitur tambahan dan meningkatkan pengalaman pengguna. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Mohon periksa End User License Agreements(EULA) di atas.<br/>Bila Anda tidak setuju, perangkat lunak proprietary tidak akan diinstal, dan alternatif open source akan diinstal sebagai gantinya @@ -1407,7 +1433,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. LicenseViewStep - + License Lisensi @@ -1415,64 +1441,64 @@ Instalasi akan ditutup dan semua perubahan akan hilang. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 driver grafis</strong><br/><font color="Grey">by %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 plugin peramban</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 paket</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Deskripsi - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalasi Jaringan. (Dinonfungsikan: Tak mampu menarik daftar paket, periksa sambungan jaringanmu) - + Network Installation. (Disabled: Received invalid groups data) Instalasi jaringan. (Menonaktifkan: Penerimaan kelompok data yang tidak sah) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Ada kesalahan yang tidak diketahui + + PackageChooserPage + + + Form + Formulir + + + + Product Name + + + + + TextLabel + Label teks + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,14 +2339,14 @@ Instalasi akan ditutup dan semua perubahan akan hilang. ProcessResult - + There was no output from the command. Tidak ada keluaran dari perintah. - + Output: @@ -2283,52 +2355,52 @@ Keluaran: - + External command crashed. Perintah eksternal rusak. - + Command <i>%1</i> crashed. Perintah <i>%1</i> mogok. - + External command failed to start. Perintah eksternal gagal dimulai - + Command <i>%1</i> failed to start. Perintah <i>%1</i> gagal dimulai. - + Internal error when starting command. Terjadi kesalahan internal saat menjalankan perintah. - + Bad parameters for process job call. Parameter buruk untuk memproses panggilan tugas, - + External command failed to finish. Perintah eksternal gagal diselesaikan . - + Command <i>%1</i> failed to finish in %2 seconds. Perintah <i>%1</i> gagal untuk diselesaikan dalam %2 detik. - + External command finished with errors. Perintah eksternal diselesaikan dengan kesalahan . - + Command <i>%1</i> finished with exit code %2. Perintah <i>%1</i> diselesaikan dengan kode keluar %2. @@ -2387,6 +2459,16 @@ Keluaran: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2921,22 +3003,22 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. TrackingInstallJob - + Installation feedback Umpan balik instalasi. - + Sending installation feedback. Mengirim umpan balik installasi. - + Internal error in install-tracking. Galat intern di pelacakan-instalasi. - + HTTP request timed out. Permintaan waktu HTTP habis. @@ -2944,28 +3026,28 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. TrackingMachineNeonJob - + Machine feedback Mesin umpan balik - + Configuring machine feedback. Mengkonfigurasi mesin umpan balik. - - + + Error in machine feedback configuration. Galat di konfigurasi mesin umpan balik. - + Could not configure machine feedback correctly, script error %1. Tidak dapat mengkonfigurasi mesin umpan balik dengan benar, naskah galat %1 - + Could not configure machine feedback correctly, Calamares error %1. Tidak dapat mengkonfigurasi mesin umpan balik dengan benar, Calamares galat %1. @@ -2998,17 +3080,17 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Instal bantuan pelacakan %1 untuk melihat berapa banyak pengguna memiliki, piranti keras apa yang mereka instal %1 dan (dengan dua pilihan terakhir), dapatkan informasi berkelanjutan tentang aplikasi yang disukai. Untuk melihat apa yang akan dikirim, silakan klik ikon bantuan ke beberapa area selanjtunya. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Dengan memilih ini Anda akan mengirim informasi tentang instalasi dan piranti keras Anda. Informasi ini hanya akan <b>dikirim sekali</b> setelah instalasi selesai. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Dengan memilih ini anda akan <b> secara berkala</b> mengirim informasi tentang instalasi, piranti keras dan aplikasi Anda, ke %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Dengan memilih ini anda akan<b>secara teratur</b> mengirim informasi tentang instalasi, piranti keras, aplikasi dan pola pemakaian Anda, ke %1. @@ -3016,7 +3098,7 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. TrackingViewStep - + Feedback Umpan balik @@ -3073,6 +3155,19 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Pengguna + + VariantModel + + + Key + + + + + Value + Nilai + + VolumeGroupBaseDialog @@ -3134,23 +3229,48 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Isian - - &Release notes - &Catatan rilis - - - - &Known issues - &Isu-isu yang diketahui - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Catatan rilis + + + + &Known issues + &Isu-isu yang diketahui + + + &Support &Dukungan @@ -3160,42 +3280,42 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.&Tentang - + <h1>Welcome to the %1 installer.</h1> <h1>Selamat datang di installer %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Selamat datang di Calamares installer untuk %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Tentang installer %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Dukungan %1 @@ -3203,7 +3323,7 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. WelcomeViewStep - + Welcome Selamat Datang diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 04a4eb0fe..e6512111c 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Auð síða @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Eyðublað - + GlobalStorage VíðværGeymsla - + JobQueue Vinnuröð - + Modules Forritseiningar - + Type: Tegund: - - + + none ekkert - + Interface: Viðmót: - + Tools Verkfæri - + Reload Stylesheet - + Widget Tree - + Debug information Villuleitarupplýsingar @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Setja upp @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Búið @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Keyri %1 aðgerð. - + Bad working directory path Röng slóð á vinnumöppu - + Working directory %1 for python job %2 is not readable. Vinnslumappa %1 fyrir python-verkið %2 er ekki lesanleg. - + Bad main script file Röng aðal-skriftuskrá - + Main script file %1 for python job %2 is not readable. Aðal-skriftuskrá %1 fyrir python-verkið %2 er ekki lesanleg. - + Boost.Python error in job "%1". Boost.Python villa í verkinu "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Til baka - + &Next &Næst - + &Cancel &Hætta við - + Cancel setup without changing the system. - + Cancel installation without changing the system. Hætta við uppsetningu ánþess að breyta kerfinu. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares uppsetning mistókst - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Setja upp - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Hætta við uppsetningu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Viltu virkilega að hætta við núverandi uppsetningarferli? Uppsetningarforritið mun hætta og allar breytingar tapast. - + + &Yes &Já - + + &No &Nei - + &Close &Loka - + Continue with setup? Halda áfram með uppsetningu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 uppsetningarforritið er um það bil að gera breytingar á diskinum til að setja upp %2.<br/><strong>Þú munt ekki geta afturkallað þessar breytingar.</strong> - + &Install now Setja &inn núna - + Go &back Fara til &baka - + &Done &Búið - + The installation is complete. Close the installer. Uppsetning er lokið. Lokaðu uppsetningarforritinu. - + Error Villa - + Installation Failed Uppsetning mistókst @@ -382,26 +399,35 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. CalamaresPython::Helper - + Unknown exception type Óþekkt tegund fráviks - + unparseable Python error óþáttanleg Python villa - + unparseable Python traceback óþáttanleg Python reki - + Unfetchable Python error. Ósækjanleg Python villa. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. CommandList - - + + Could not run command. Gat ekki keyrt skipun. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1199,62 +1225,62 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source er í sambandi við aflgjafa - + The system is not plugged in to a power source. Kerfið er ekki í sambandi við aflgjafa. - + is connected to the Internet er tengd við Internetið - + The system is not connected to the Internet. Kerfið er ekki tengd við internetið. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Uppsetningarforritið er ekki keyrandi með kerfisstjóraheimildum. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Skjárinn er of lítill til að birta uppsetningarforritið. @@ -1379,27 +1405,27 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Eyðublað - + I accept the terms and conditions above. Ég samþykki skilyrði leyfissamningsins hér að ofan. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. LicenseViewStep - + License Notkunarleyfi @@ -1415,64 +1441,64 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 rekill</strong><br/>hjá %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pakki</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">frá %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Lýsing - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Óþekkt villa + + PackageChooserPage + + + Form + Eyðublað + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: Notendur + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Eyðublað - - &Release notes - &Um útgáfu - - - - &Known issues - &Þekktir gallar - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Um útgáfu + + + + &Known issues + &Þekktir gallar + + + &Support &Stuðningur @@ -3155,42 +3275,42 @@ Output: &Um - + <h1>Welcome to the %1 installer.</h1> <h1>Velkomin í %1 uppsetningarforritið.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Velkomin til Calamares uppsetningar fyrir %1</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Um %1 uppsetningarforrrit - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 stuðningur @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Velkomin(n) diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 37ed30e6c..f1544b1c9 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Pagina Vuota @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Modulo - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Moduli - + Type: Tipo: - - + + none nessuna - + Interface: Interfaccia: - + Tools Strumenti - + Reload Stylesheet - + Widget Tree - + Debug information Informazioni di debug @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Installazione - + Install Installa @@ -133,7 +133,7 @@ Operazione fallita (%1) - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Fatto @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Esegui il comando '%1' sul sistema di destinazione - + Run command '%1'. Esegui il comando '1%' @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Operazione %1 in esecuzione. - + Bad working directory path Il percorso della cartella corrente non è corretto - + Working directory %1 for python job %2 is not readable. La cartella corrente %1 per l'attività di Python %2 non è accessibile. - + Bad main script file File dello script principale non valido - + Main script file %1 for python job %2 is not readable. Il file principale dello script %1 per l'attività di python %2 non è accessibile. - + Boost.Python error in job "%1". Errore da Boost.Python nell'operazione "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Il controllo dei requisiti di sistema è completo. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Indietro - + &Next &Avanti - + &Cancel &Annulla - + Cancel setup without changing the system. Annulla l'installazione senza modificare il computer - + Cancel installation without changing the system. Annullare l'installazione senza modificare il sistema. - + Setup Failed Installazione fallita - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Inizializzazione di Calamares Fallita - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 non può essere installato. Calamares non è stato in grado di caricare tutti i moduli configurati. Questo è un problema del modo in cui Calamares viene utilizzato dalla distribuzione. - + <br/>The following modules could not be loaded: <br/>Non è stato possibile caricare il seguente modulo: - + Continue with installation? Continuare l'installazione? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Il %1 programma di installazione sta per fare dei cambiamenti sul tuo disco per installare %2. Non sarà possibile annullare questi cambiamenti. - + &Set up now &Installa adesso - + &Set up &Installazione - + &Install &Installa - + Setup is complete. Close the setup program. Installazione completata. Chiudere il programma di installazione. - + Cancel setup? Annullare l'installazione? - + Cancel installation? Annullare l'installazione? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Vuoi davvero annullare il processo di installazione? Il programma di installazione verrrà terminato e tutti i cambiamenti verranno persi. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Si vuole davvero annullare l'installazione in corso? Il programma d'installazione sarà terminato e tutte le modifiche andranno perse. - + + &Yes &Si - + + &No &No - + &Close &Chiudi - + Continue with setup? Procedere con la configurazione? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Il programma d'nstallazione %1 sta per eseguire delle modifiche al tuo disco per poter installare %2.<br/><strong> Non sarà possibile annullare tali modifiche.</strong> - + &Install now &Installa adesso - + Go &back &Indietro - + &Done &Fatto - + The installation is complete. Close the installer. L'installazione è terminata. Chiudere il programma d'installazione. - + Error Errore - + Installation Failed Installazione non riuscita @@ -382,26 +399,35 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno CalamaresPython::Helper - + Unknown exception type Tipo di eccezione sconosciuto - + unparseable Python error Errore Python non definibile - + unparseable Python traceback Traceback Python non definibile - + Unfetchable Python error. Errore di Python non definibile. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno CommandList - - + + Could not run command. Impossibile eseguire il comando. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Il comando viene eseguito nell'ambiente host e richiede il percorso di root ma nessun rootMountPoint (punto di montaggio di root) è definito. - + The command needs to know the user's name, but no username is defined. Il comando richiede il nome utente, nessun nome utente definito. @@ -631,7 +657,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno ContextualProcessJob - + Contextual Processes Job Job dei processi contestuali @@ -968,7 +994,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno DummyCppJob - + Dummy C++ Job Processo Dummy C++ @@ -1199,62 +1225,62 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno GeneralRequirements - + has at least %1 GiB available drive space ha almeno %1 GiB di spazio disponibile - + There is not enough drive space. At least %1 GiB is required. Non c'è abbastanza spazio sul disco. E' richiesto almeno %1 GiB - + has at least %1 GiB working memory ha almeno %1 GiB di memoria - + The system does not have enough working memory. At least %1 GiB is required. Il sistema non ha abbastanza memoria. E' richiesto almeno %1 GiB - + is plugged in to a power source è collegato a una presa di alimentazione - + The system is not plugged in to a power source. Il sistema non è collegato a una presa di alimentazione. - + is connected to the Internet è connesso a Internet - + The system is not connected to the Internet. Il sistema non è connesso a internet. - + The setup program is not running with administrator rights. Il programma di installazione non è stato lanciato con i permessi di amministratore. - + The installer is not running with administrator rights. Il programma di installazione non è stato avviato con i diritti di amministrazione. - + The screen is too small to display the setup program. Lo schermo è troppo piccolo per mostrare il programma di installazione - + The screen is too small to display the installer. Schermo troppo piccolo per mostrare il programma d'installazione. @@ -1379,27 +1405,27 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Modulo - + I accept the terms and conditions above. Accetto i termini e le condizioni sopra indicati. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Accordo di licenza</h1>Questa procedura di configurazione installerà software proprietario sottoposto a termini di licenza. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Leggere attentamente le licenze d'uso (EULA) riportate sopra.<br/>Se non ne accetti i termini, la procedura di configurazione non può proseguire. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Accordo di licenza</h1>Questa procedura di configurazione installerà software proprietario sottoposto a termini di licenza, per fornire caratteristiche aggiuntive e migliorare l'esperienza utente. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Si prega di leggere attentamente gli accordi di licenza dell'utente finale (EULA) riportati sopra.</br>Se non se ne accettano i termini, il software proprietario non verrà installato e al suo posto saranno utilizzate alternative open source. @@ -1407,7 +1433,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno LicenseViewStep - + License Licenza @@ -1415,64 +1441,64 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>da %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 driver video</strong><br/><font color="Grey">da %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 plugin del browser</strong><br/><font color="Grey">da %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">da %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pacchetto</strong><br/><font color="Grey">da %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">da %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Descrizione - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installazione di rete. (Disabilitata: impossibile recuperare le liste dei pacchetti, controllare la connessione di rete) - + Network Installation. (Disabled: Received invalid groups data) Installazione di rete. (Disabilitata: Ricevuti dati non validi dei gruppi) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Errore sconosciuto + + PackageChooserPage + + + Form + Modulo + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,13 +2339,13 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno ProcessResult - + There was no output from the command. Non c'era output dal comando. - + Output: @@ -2282,53 +2354,53 @@ Output: - + External command crashed. Il comando esterno si è arrestato. - + Command <i>%1</i> crashed. Il comando <i>%1</i> si è arrestato. - + External command failed to start. Il comando esterno non si è avviato. - + Command <i>%1</i> failed to start. Il comando %1 non si è avviato. - + Internal error when starting command. Errore interno all'avvio del comando. - + Bad parameters for process job call. Parametri errati per elaborare la chiamata al job. - + External command failed to finish. Il comando esterno non è stato portato a termine. - + Command <i>%1</i> failed to finish in %2 seconds. Il comando <i>%1</i> non è stato portato a termine in %2 secondi. - + External command finished with errors. Il comando esterno è terminato con errori. - + Command <i>%1</i> finished with exit code %2. Il comando <i>%1</i> è terminato con codice di uscita %2. @@ -2387,6 +2459,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2919,22 +3001,22 @@ Output: TrackingInstallJob - + Installation feedback Valutazione dell'installazione - + Sending installation feedback. Invio della valutazione dell'installazione. - + Internal error in install-tracking. Errore interno in install-tracking. - + HTTP request timed out. La richiesta HTTP è scaduta. @@ -2942,28 +3024,28 @@ Output: TrackingMachineNeonJob - + Machine feedback Valutazione automatica - + Configuring machine feedback. Configurazione in corso della valutazione automatica. - - + + Error in machine feedback configuration. Errore nella configurazione della valutazione automatica. - + Could not configure machine feedback correctly, script error %1. Non è stato possibile configurare correttamente la valutazione automatica, errore dello script %1. - + Could not configure machine feedback correctly, Calamares error %1. Non è stato possibile configurare correttamente la valutazione automatica, errore di Calamares %1. @@ -2996,17 +3078,17 @@ Output: Il tracciamento dell'installazione aiuta %1 a capire quanti utenti vengono serviti, su quale hardware si installa %1 e (con le ultime due opzioni sotto), a ricevere continue informazioni sulle applicazioni preferite. Per vedere cosa verrà inviato, cliccare sull'icona di aiuto accanto ad ogni area. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Selezionando questa opzione saranno inviate informazioni relative all'installazione e all'hardware. I dati saranno <b>inviati solo una volta</b> al termine dell'installazione. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Selezionando questa opzione saranno inviate <b>periodicamente</b> informazioni sull'installazione, l'hardware e le applicazioni, a %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Selezionando questa opzione verranno inviate <b>regolarmente</b> informazioni sull'installazione, l'hardware, le applicazioni e i modi di utilizzo, a %1. @@ -3014,7 +3096,7 @@ Output: TrackingViewStep - + Feedback Valutazione @@ -3071,6 +3153,19 @@ Output: Utenti + + VariantModel + + + Key + + + + + Value + Valore + + VolumeGroupBaseDialog @@ -3132,23 +3227,48 @@ Output: Modulo - - &Release notes - &Note di rilascio - - - - &Known issues - &Problemi conosciuti - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Note di rilascio + + + + &Known issues + &Problemi conosciuti + + + &Support &Supporto @@ -3158,42 +3278,42 @@ Output: &Informazioni su - + <h1>Welcome to the %1 installer.</h1> <h1>Benvenuto nel programma d'installazione di %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Benvenuti nel programma di installazione Calamares per %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Informazioni sul programma di installazione %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Grazie al <a href="https://calamares.io/team/">team di Calamares</a> ed al <a href="https://www.transifex.com/calamares/calamares/">team dei traduttori di Calamares</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support supporto %1 @@ -3201,7 +3321,7 @@ Output: WelcomeViewStep - + Welcome Benvenuti diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 65a73d4b7..0ae25da8e 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page 空白のページ @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage グローバルストレージ - + JobQueue ジョブキュー - + Modules モジュール - + Type: Type: - - + + none なし - + Interface: インターフェース: - + Tools ツール - + Reload Stylesheet スタイルシートを再読み込む - + Widget Tree ウィジェットツリー - + Debug information デバッグ情報 @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up セットアップ - + Install インストール @@ -133,7 +133,7 @@ ジョブに失敗 (%1) - + Programmed job failure was explicitly requested. 要求されたジョブは失敗しました。 @@ -141,7 +141,7 @@ Calamares::JobThread - + Done 完了 @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. ターゲットシステムでコマンド '%1' を実行。 - + Run command '%1'. コマンド '%1' を実行。 @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. %1 操作を実行中。 - + Bad working directory path 不正なワーキングディレクトリパス - + Working directory %1 for python job %2 is not readable. python ジョブ %2 において作業ディレクトリ %1 が読み込めません。 - + Bad main script file 不正なメインスクリプトファイル - + Main script file %1 for python job %2 is not readable. python ジョブ %2 におけるメインスクリプトファイル %1 が読み込めません。 - + Boost.Python error in job "%1". ジョブ "%1" での Boost.Python エラー。 @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n モジュールを待機中。 - + (%n second(s)) (%n 秒(s)) - + System-requirements checking is complete. 要求されるシステムの確認を終了しました。 @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back 戻る (&B) - + &Next 次へ (&N) - + &Cancel 中止 (&C) - + Cancel setup without changing the system. システムを変更することなくセットアップを中断します。 - + Cancel installation without changing the system. システムを変更しないでインストールを中止します。 - + Setup Failed セットアップに失敗しました。 - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares によるインストールに失敗しました。 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 をインストールできません。Calamares はすべてのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。 - + <br/>The following modules could not be loaded: <br/>以下のモジュールがロードできませんでした。: - + Continue with installation? インストールを続行しますか? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 のセットアッププログラムは %2 のセットアップのためディスクの内容を変更します。<br/><strong>これらの変更は取り消しできません。</strong> - + &Set up now セットアップ中(&S) - + &Set up セットアップ (&S) - + &Install インストール (&I) - + Setup is complete. Close the setup program. セットアップが完了しました。プログラムを閉じます。 - + Cancel setup? セットアップを中止しますか? - + Cancel installation? インストールを中止しますか? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 本当に現在のセットアップのプロセスを中止しますか? すべての変更が取り消されます。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 本当に現在の作業を中止しますか? すべての変更が取り消されます。 - + + &Yes はい (&Y) - + + &No いいえ (&N) - + &Close 閉じる (&C) - + Continue with setup? セットアップを続行しますか? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 インストーラーは %2 をインストールするためディスクの内容を変更しようとしています。<br/><strong>これらの変更は取り消せません。</strong> - + &Install now 今すぐインストール (&I) - + Go &back 戻る (&B) - + &Done 実行 (&D) - + The installation is complete. Close the installer. インストールが完了しました。インストーラーを閉じます。 - + Error エラー - + Installation Failed インストールに失敗 @@ -383,26 +400,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 不明な例外型 - + unparseable Python error 解析不能なPythonエラー - + unparseable Python traceback 解析不能な Python トレースバック - + Unfetchable Python error. 取得不能なPythonエラー。 + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. コマンドを実行できませんでした。 - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. コマンドがホスト環境で実行される際、rootのパスの情報が必要になりますが、root のマウントポイントが定義されていません。 - + The command needs to know the user's name, but no username is defined. ユーザー名が必要ですが、定義されていません。 @@ -632,7 +658,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job コンテキストプロセスジョブ @@ -969,7 +995,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1201,62 +1227,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space 利用可能な容量が少なくとも %1 GiB - + There is not enough drive space. At least %1 GiB is required. 空き容量が十分ではありません。少なくとも %1 GiB 必要です。 - + has at least %1 GiB working memory %1 GiB以降のメモリーがあります - + The system does not have enough working memory. At least %1 GiB is required. 十分なメモリがありません。少なくとも %1 GiB 必要です。 - + is plugged in to a power source 電源が接続されていること - + The system is not plugged in to a power source. システムに電源が接続されていません。 - + is connected to the Internet インターネットに接続されていること - + The system is not connected to the Internet. システムはインターネットに接続されていません。 - + The setup program is not running with administrator rights. セットアッププログラムは管理者権限で実行されていません。 - + The installer is not running with administrator rights. インストーラーは管理者権限で実行されていません。 - + The screen is too small to display the setup program. セットアップを表示のは画面が小さすぎます。 - + The screen is too small to display the installer. インストーラーを表示するためには、画面が小さすぎます。 @@ -1381,27 +1407,27 @@ The installer will quit and all changes will be lost. フォーム - + I accept the terms and conditions above. 上記の項目及び条件に同意します。 - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>ライセンス契約条項</h1> このセットアップはライセンス条項に従うことが必要なプロプライエタリなソフトウェアをインストールします。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 上記のエンドユーザーライセンス条項 (EULAs) を確認してください。<br/>もしライセンス条項に同意できない場合、セットアップを続行することはできません。 - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>ライセンス契約条項</h1> このセットアップは、機能を追加し、ユーザーの使いやすさを向上させるために、ライセンス条項に従うことが必要なプロプライエタリなソフトウェアをインストールします。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 上記のエンドユーザーライセンス条項 (EULAs) を確認してください。<br/>もしライセンス条項に同意できない場合、プロプライエタリなソフトウェアはインストールされず、代わりにオープンソースのソフトウェアが使用されます。 @@ -1409,7 +1435,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License ライセンス @@ -1417,64 +1443,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 ドライバー</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 グラフィックドライバー</strong><br/><font color="Grey">by %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 ブラウザプラグイン</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 パッケージ</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text ライセンステキストを表示 - + Hide license text ライセンステキストを非表示 - + Show license agreement 使用許諾の表示 - + Hide license agreement 使用許諾を隠す - + Opens the license agreement in a browser window. 使用許諾をブラウザで開く。 - + <a href="%1">View license agreement</a> <a href="%1">使用許諾を見る</a> @@ -1575,15 +1601,20 @@ The installer will quit and all changes will be lost. 説明 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) ネットワークインストール。(無効: パッケージリストを取得できません。ネットワーク接続を確認してください。) - + Network Installation. (Disabled: Received invalid groups data) ネットワークインストール (不可: 無効なグループデータを受け取りました) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1867,6 +1898,47 @@ The installer will quit and all changes will be lost. 未知のエラー + + PackageChooserPage + + + Form + フォーム + + + + Product Name + + + + + TextLabel + テキストラベル + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2269,14 +2341,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. コマンドから出力するものがありませんでした。 - + Output: @@ -2285,52 +2357,52 @@ Output: - + External command crashed. 外部コマンドがクラッシュしました。 - + Command <i>%1</i> crashed. コマンド <i>%1</i> がクラッシュしました。 - + External command failed to start. 外部コマンドの起動に失敗しました。 - + Command <i>%1</i> failed to start. コマンド <i>%1</i> の起動に失敗しました。 - + Internal error when starting command. コマンドが起動する際に内部エラーが発生しました。 - + Bad parameters for process job call. ジョブ呼び出しにおける不正なパラメータ - + External command failed to finish. 外部コマンドの終了に失敗しました。 - + Command <i>%1</i> failed to finish in %2 seconds. コマンド<i>%1</i> %2 秒以内に終了することに失敗しました。 - + External command finished with errors. 外部のコマンドがエラーで停止しました。 - + Command <i>%1</i> finished with exit code %2. コマンド <i>%1</i> が終了コード %2 で終了しました。. @@ -2389,6 +2461,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2921,22 +3003,22 @@ Output: TrackingInstallJob - + Installation feedback インストールのフィードバック - + Sending installation feedback. インストールのフィードバックを送信 - + Internal error in install-tracking. インストールトラッキング中の内部エラー - + HTTP request timed out. HTTPリクエストがタイムアウトしました。 @@ -2944,28 +3026,28 @@ Output: TrackingMachineNeonJob - + Machine feedback マシンフィードバック - + Configuring machine feedback. マシンフィードバックの設定 - - + + Error in machine feedback configuration. マシンフィードバックの設定中のエラー - + Could not configure machine feedback correctly, script error %1. マシンフィードバックの設定が正確にできませんでした、スクリプトエラー %1。 - + Could not configure machine feedback correctly, Calamares error %1. マシンフィードバックの設定が正確にできませんでした、Calamares エラー %1。 @@ -2998,17 +3080,17 @@ Output: インストールトラッキングは %1 にとって、どれだけのユーザーが どのハードに %1 をインストールするのか (下記の2つのオプション)、どのようなアプリケーションが好まれているのかについての情報を把握することの補助を行っています。 どのような情報が送信されているのか確認したい場合は、以下の各エリアのヘルプのアイコンをクリックして下さい。 - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. インストールやハードウェアの情報を送信します。この情報はインストール終了後 <b> 1回だけ送信されます</b> 。 - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. %1 へのハードウェアやアプリケーションのインストール情報を定期的に送信します。 - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. %1 へのハードウェアやアプリケーションのインストール、使用法などの情報を定期的に送信します。 @@ -3016,7 +3098,7 @@ Output: TrackingViewStep - + Feedback フィードバック @@ -3073,6 +3155,19 @@ Output: ユーザー情報 + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3134,23 +3229,48 @@ Output: フォーム - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes リリースノート (&R) - + &Known issues 既知の問題 (&K) - - - Select language - 言語を選択 - - - + &Support サポート (&S) @@ -3160,42 +3280,42 @@ Output: 説明 (&A) - + <h1>Welcome to the %1 installer.</h1> <h1>%1 インストーラーへようこそ。</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>%1 Calamares インストーラーにようこそ</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>%1 Calamares セットアッププログラムにようこそ</h1> - + <h1>Welcome to %1 setup.</h1> <h1>%1 セットアップへようこそ</h1> - + About %1 setup %1 セットアップについて - + About %1 installer %1 インストーラーについて - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 サポート @@ -3203,7 +3323,7 @@ Output: WelcomeViewStep - + Welcome ようこそ diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 92b22ea2d..e0587c46f 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools Саймандар - + Reload Stylesheet - + Widget Tree - + Debug information Жөндеу ақпараты @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Орнату @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Дайын @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back А&ртқа - + &Next &Алға - + &Cancel Ба&с тарту - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Орнатудан бас тарту керек пе? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: Пайдаланушылар + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 қолдауы @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome Қош келдіңіз diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 7b8d93e9d..0ed99cd75 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools ಉಪಕರಣಗಳು - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install ಸ್ಥಾಪಿಸು @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back ಹಿಂದಿನ - + &Next ಮುಂದಿನ - + &Cancel ರದ್ದುಗೊಳಿಸು - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ಅನುಸ್ಥಾಪನೆಯನ್ನು ರದ್ದುಮಾಡುವುದೇ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes ಹೌದು - + + &No ಇಲ್ಲ - + &Close ಮುಚ್ಚಿರಿ - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error ದೋಷ - + Installation Failed ಅನುಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 944380431..301145b84 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page 빈 페이지 @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form 형식 - + GlobalStorage 전역 스토리지 - + JobQueue 작업 대기열 - + Modules 모듈 - + Type: 유형: - - + + none 없음 - + Interface: 인터페이스: - + Tools 도구 - + Reload Stylesheet 스타일시트 새로고침 - + Widget Tree 위젯 트리 - + Debug information 디버그 정보 @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up 설정 - + Install 설치 @@ -133,7 +133,7 @@ (% 1) 작업 실패 - + Programmed job failure was explicitly requested. 프로그래밍된 작업 실패가 명시적으로 요청되었습니다. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done 완료 @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. 대상 시스템에서 '%1' 명령을 실행합니다. - + Run command '%1'. '%1' 명령을 실행합니다. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. %1 명령을 실행중 - + Bad working directory path 잘못된 작업 디렉터리 경로 - + Working directory %1 for python job %2 is not readable. 파이썬 작업 %2에 대한 작업 디렉터리 %1을 읽을 수 없습니다. - + Bad main script file 잘못된 주 스크립트 파일 - + Main script file %1 for python job %2 is not readable. 파이썬 작업 %2에 대한 주 스크립트 파일 %1을 읽을 수 없습니다. - + Boost.Python error in job "%1". 작업 "%1"에서 Boost.Python 오류 @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n 모듈(들)을 기다리는 중. - + (%n second(s)) (%n 초) - + System-requirements checking is complete. 시스템 요구사항 검사가 완료 되었습니다. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back 뒤로 (&B) - + &Next 다음 (&N) - + &Cancel 취소 (&C) - + Cancel setup without changing the system. 시스템을 변경 하지 않고 설치를 취소합니다. - + Cancel installation without changing the system. 시스템 변경 없이 설치를 취소합니다. - + Setup Failed 설치 실패 - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares 초기화 실패 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 가 설치될 수 없습니다. Calamares가 모든 구성된 모듈을 불러올 수 없었습니다. 이것은 Calamares가 분포에 의해 사용되는 방식에서 비롯된 문제입니다. - + <br/>The following modules could not be loaded: 다음 모듈 불러오기 실패: - + Continue with installation? 설치를 계속하시겠습니까? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 설치 프로그램이 %2을(를) 설정하기 위해 디스크를 변경하려고 하는 중입니다.<br/><strong>이러한 변경은 취소할 수 없습니다.</strong> - + &Set up now 지금 설치 (&S) - + &Set up 설치 (&S) - + &Install 설치(&I) - + Setup is complete. Close the setup program. 설치가 완료 되었습니다. 설치 프로그램을 닫습니다. - + Cancel setup? 설치를 취소 하시겠습니까? - + Cancel installation? 설치를 취소하시겠습니까? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 현재 설정 프로세스를 취소하시겠습니까? 설치 프로그램이 종료되고 모든 변경 내용이 손실됩니다. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 정말로 현재 설치 프로세스를 취소하시겠습니까? 설치 관리자가 종료되며 모든 변경은 반영되지 않습니다. - + + &Yes 예(&Y) - + + &No 아니오(&N) - + &Close 닫기(&C) - + Continue with setup? 설치를 계속하시겠습니까? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 인스톨러가 %2를 설치하기 위해 사용자의 디스크의 내용을 변경하려고 합니다. <br/> <strong>이 변경 작업은 되돌릴 수 없습니다.</strong> - + &Install now 지금 설치 (&I) - + Go &back 뒤로 이동 (&b) - + &Done 완료 (&D) - + The installation is complete. Close the installer. 설치가 완료되었습니다. 설치 관리자를 닫습니다. - + Error 오류 - + Installation Failed 설치 실패 @@ -383,26 +400,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 알 수 없는 예외 유형 - + unparseable Python error 구문 분석할 수 없는 파이썬 오류 - + unparseable Python traceback 구문 분석할 수 없는 파이썬 역추적 정보 - + Unfetchable Python error. 가져올 수 없는 파이썬 오류 + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. 명령을 실행할 수 없습니다. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. 이 명령은 호스트 환경에서 실행되며 루트 경로를 알아야하지만, rootMountPoint가 정의되지 않았습니다. - + The command needs to know the user's name, but no username is defined. 이 명령은 사용자 이름을 알아야 하지만, username이 정의되지 않았습니다. @@ -632,7 +658,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job 컨텍스트 프로세스 작업 @@ -969,7 +995,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job C++ 더미 작업 @@ -1200,62 +1226,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space %1 GiB 이상의 사용 가능한 드라이브 공간이 있음 - + There is not enough drive space. At least %1 GiB is required. 드라이브 공간이 부족합니다. %1 GiB 이상이 필요합니다. - + has at least %1 GiB working memory %1 GiB 이상의 작동 메모리가 있습니다. - + The system does not have enough working memory. At least %1 GiB is required. 시스템에 충분한 작동 메모리가 없습니다. %1 GiB 이상이 필요합니다. - + is plugged in to a power source 전원 공급이 연결되어 있습니다 - + The system is not plugged in to a power source. 이 시스템은 전원 공급이 연결되어 있지 않습니다 - + is connected to the Internet 인터넷에 연결되어 있습니다 - + The system is not connected to the Internet. 이 시스템은 인터넷에 연결되어 있지 않습니다. - + The setup program is not running with administrator rights. 설치 프로그램이 관리자 권한으로 실행되고 있지 않습니다. - + The installer is not running with administrator rights. 설치 관리자가 관리자 권한으로 동작하고 있지 않습니다. - + The screen is too small to display the setup program. 화면이 너무 작아서 설정 프로그램을 표시할 수 없습니다. - + The screen is too small to display the installer. 설치 관리자를 표시하기에 화면이 너무 작습니다. @@ -1380,27 +1406,27 @@ The installer will quit and all changes will be lost. 형식 - + I accept the terms and conditions above. 상기 계약 조건을 모두 동의합니다. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>라이센스 동의</h1>이 설치 절차는 라이센스 조항의 적용을 받는 독점 소프트웨어를 설치합니다. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 상기 최종 사용자 라이센스 동의 (EULAs) 를 검토해주시길 바랍니다.<br/>조건에 동의하지 않는다면, 설치 절차를 계속할 수 없습니다. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>라이센스 동의</h1>이 설치 절차는 추가적인 기능들을 제공하고 사용자 환경을 개선하기 위한 독점 소프트웨어를 설치할 수 있으며, 이 소프트웨어는 라이센스 조항의 적용을 받습니다. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 상기 최종 사용자 라이센스 동의 (EULAs) 를 검토해주시길 바랍니다. <br/>조건에 동의하지 않는다면, 독점 소프트웨어는 설치되지 않을 것이며, 대체하여 사용할 수 있는 오픈 소스 소프트웨어가 사용될 것입니다. @@ -1408,7 +1434,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License 라이센스 @@ -1416,64 +1442,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 드라이버</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 그래픽 드라이버</strong><br/><font color="Grey">by %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 브라우저 플러그인</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 코덱</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 패키지</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text 전체 라이센스 텍스트 표시 - + Hide license text 라이센스 텍스트 숨기기 - + Show license agreement 라이센스 계약 표시 - + Hide license agreement 라이센스 계약 숨기기 - + Opens the license agreement in a browser window. 브라우저 창에서 사용권 계약 열기. - + <a href="%1">View license agreement</a> <a href="%1">라이센스 계약 보기</a> @@ -1574,15 +1600,20 @@ The installer will quit and all changes will be lost. 설명 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 네트워크 설치. (불가: 패키지 목록을 가져올 수 없습니다. 네트워크 연결을 확인해주세요) - + Network Installation. (Disabled: Received invalid groups data) 네트워크 설치. (불가: 유효하지 않은 그룹 데이터를 수신했습니다) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ The installer will quit and all changes will be lost. 알 수 없는 오류 + + PackageChooserPage + + + Form + 형식 + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 명령으로부터 아무런 출력이 없습니다. - + Output: @@ -2284,52 +2356,52 @@ Output: - + External command crashed. 외부 명령이 실패했습니다. - + Command <i>%1</i> crashed. <i>%1</i> 명령이 실패했습니다. - + External command failed to start. 외부 명령을 시작하지 못했습니다. - + Command <i>%1</i> failed to start. <i>%1</i> 명령을 시작하지 못했습니다. - + Internal error when starting command. 명령을 시작하는 중에 내부 오류가 발생했습니다. - + Bad parameters for process job call. 프로세스 작업 호출에 대한 잘못된 매개 변수입니다. - + External command failed to finish. 외부 명령을 완료하지 못했습니다. - + Command <i>%1</i> failed to finish in %2 seconds. <i>%1</i> 명령을 %2초 안에 완료하지 못했습니다. - + External command finished with errors. 외부 명령이 오류와 함께 완료되었습니다. - + Command <i>%1</i> finished with exit code %2. <i>%1</i> 명령이 종료 코드 %2와 함께 완료되었습니다. @@ -2388,6 +2460,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Output: TrackingInstallJob - + Installation feedback 설치 피드백 - + Sending installation feedback. 설치 피드백을 보내는 중입니다. - + Internal error in install-tracking. 설치 추적중 내부 오류 - + HTTP request timed out. HTTP 요청 시간이 만료되었습니다. @@ -2943,28 +3025,28 @@ Output: TrackingMachineNeonJob - + Machine feedback 시스템 피드백 - + Configuring machine feedback. 시스템 피드백을 설정하는 중입니다. - - + + Error in machine feedback configuration. 시스템 피드백 설정 중에 오류가 발생했습니다. - + Could not configure machine feedback correctly, script error %1. 시스템 피드백을 정확하게 설정할 수 없습니다, %1 스크립트 오류. - + Could not configure machine feedback correctly, Calamares error %1. 시스템 피드백을 정확하게 설정할 수 없습니다, %1 깔라마레스 오류. @@ -2997,17 +3079,17 @@ Output: 설치 추적 기능을 사용하면 %1의 사용자 수, %1에 설치하는 하드웨어 (아래 마지막 두 옵션), 기본 응용 프로그램에 대한 지속적인 정보를 얻을 수 있습니다. 전송할 내용을 보려면 각 영역 옆에있는 도움말 아이콘을 클릭하십시오. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. 이 옵션을 선택하면 설치 및 하드웨어에 대한 정보가 전송됩니다. 이 정보는 설치가 완료된 후 <b>한 번만 전송</b>됩니다 - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. 이 옵션을 선택하면 <b>주기적으로</b> 설치, 하드웨어 및 응용 프로그램에 대한 정보를 %1로 전송합니다. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. 이 옵션을 선택하면 <b>정기적으로</b> 설치, 하드웨어, 응용 프로그램 및 사용 패턴에 대한 정보를 %1로 전송합니다. @@ -3015,7 +3097,7 @@ Output: TrackingViewStep - + Feedback 피드백 @@ -3072,6 +3154,19 @@ Output: 사용자 + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Output: 형식 - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes 출시 정보 (&R) - + &Known issues 알려진 문제점 (&K) - - - Select language - 언어 선택 - - - + &Support 지원 (&S) @@ -3159,42 +3279,42 @@ Output: 정보 (&A) - + <h1>Welcome to the %1 installer.</h1> <h1>%1 설치 관리자에 오신 것을 환영합니다.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>%1을 위한 Calamares 설치 관리자에 오신 것을 환영합니다.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>%1에 대한 Calamares 설정 프로그램에 오신 것을 환영합니다.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>%1 설치에 오신 것을 환영합니다.</h1> - + About %1 setup %1 설치 정보 - + About %1 installer %1 설치 관리자에 대하여 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/><a href="https://calamares.io/team/">Calamares</a> 팀과 <a href="https://www.transifex.com/calamares/calamares/">Calamares 번역 팀</a>에게 감사드립니다.<br/><br/><a href="https://calamares.io/">Calamares</a> 개발 후원 : <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 지원 @@ -3202,7 +3322,7 @@ Output: WelcomeViewStep - + Welcome 환영합니다 diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index d0a03a73e..9d45aa29f 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index f53552226..5f106b7e5 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Tuščias puslapis @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Forma - + GlobalStorage VisuotinisKaupiklis - + JobQueue UžduotiesEilė - + Modules Moduliai - + Type: Tipas: - - + + none nėra - + Interface: Sąsaja: - + Tools Įrankiai - + Reload Stylesheet Iš naujo įkelti stilių aprašą - + Widget Tree Valdiklių medis - + Debug information Derinimo informacija @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Sąranka - + Install Diegimas @@ -133,7 +133,7 @@ Užduotis patyrė nesėkmę (%1) - + Programmed job failure was explicitly requested. Užprogramuota užduoties nesėkmė buvo aiškiai užklausta. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Atlikta @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Paleisti paskirties sistemoje komandą "%1". - + Run command '%1'. Paleisti komandą "%1". @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Vykdoma %1 operacija. - + Bad working directory path Netinkama darbinio katalogo vieta - + Working directory %1 for python job %2 is not readable. Darbinis %1 python katalogas dėl %2 užduoties yra neskaitomas - + Bad main script file Prastas pagrindinio skripto failas - + Main script file %1 for python job %2 is not readable. Pagrindinis scenarijus %1 dėl python %2 užduoties yra neskaitomas - + Boost.Python error in job "%1". Boost.Python klaida užduotyje "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Laukiama %n modulio.Laukiama %n modulių.Laukiama %n modulių.Laukiama %n modulio. - + (%n second(s)) (%n sekundė)(%n sekundės)(%n sekundžių)(%n sekundė) - + System-requirements checking is complete. Sistemos reikalavimų tikrinimas yra užbaigtas. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Atgal - + &Next &Toliau - + &Cancel A&tsisakyti - + Cancel setup without changing the system. Atsisakyti sąrankos, nieko sistemoje nekeičiant. - + Cancel installation without changing the system. Atsisakyti diegimo, nieko sistemoje nekeičiant. - + Setup Failed Sąranka patyrė nesėkmę - + + Would you like to paste the install log to the web? + Ar norėtumėte įdėti diegimo žurnalą į saityną? + + + + Install Log Paste URL + Diegimo žurnalo įdėjimo URL + + + + The upload was unsuccessful. No web-paste was done. + Įkėlimas buvo nesėkmingas. Nebuvo atlikta jokio įdėjimo į saityną. + + + Calamares Initialization Failed Calamares inicijavimas nepavyko - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Nepavyksta įdiegti %1. Calamares nepavyko įkelti visų sukonfigūruotų modulių. Tai yra problema, susijusi su tuo, kaip distribucija naudoja diegimo programą Calamares. - + <br/>The following modules could not be loaded: <br/>Nepavyko įkelti šių modulių: - + Continue with installation? Tęsti diegimą? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sąrankos programa, siekdama nustatyti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Set up now Nu&statyti dabar - + &Set up Nu&statyti - + &Install Į&diegti - + Setup is complete. Close the setup program. Sąranka užbaigta. Užverkite sąrankos programą. - + Cancel setup? Atsisakyti sąrankos? - + Cancel installation? Atsisakyti diegimo? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio sąrankos proceso? Sąrankos programa užbaigs darbą ir visi pakeitimai bus prarasti. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio diegimo proceso? Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - + + &Yes &Taip - + + &No &Ne - + &Close &Užverti - + Continue with setup? Tęsti sąranką? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Install now Į&diegti dabar - + Go &back &Grįžti - + &Done A&tlikta - + The installation is complete. Close the installer. Diegimas užbaigtas. Užverkite diegimo programą. - + Error Klaida - + Installation Failed Diegimas nepavyko @@ -383,26 +400,36 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. CalamaresPython::Helper - + Unknown exception type Nežinomas išimties tipas - + unparseable Python error Nepalyginama Python klaida - + unparseable Python traceback Nepalyginamas Python atsekimas - + Unfetchable Python error. Neatgaunama Python klaida. + + CalamaresUtils + + + Install log posted to: +%1 + Diegimo žurnalas paskelbtas į: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. CommandList - - + + Could not run command. Nepavyko paleisti komandos. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Komanda yra vykdoma serverio aplinkoje ir turi žinoti šaknies kelią, tačiau nėra apibrėžtas joks rootMountPoint. - + The command needs to know the user's name, but no username is defined. Komanda turi žinoti naudotojo vardą, tačiau nebuvo apibrėžtas joks naudotojo vardas. @@ -632,7 +659,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. ContextualProcessJob - + Contextual Processes Job Konteksto procesų užduotis @@ -969,7 +996,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. DummyCppJob - + Dummy C++ Job Fiktyvi C++ užduotis @@ -1200,62 +1227,62 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. GeneralRequirements - + has at least %1 GiB available drive space turi bent %1 GiB laisvos vietos diske - + There is not enough drive space. At least %1 GiB is required. Neužtenka vietos diske. Reikia bent %1 GiB. - + has at least %1 GiB working memory turi bent %1 GiB darbinės atminties - + The system does not have enough working memory. At least %1 GiB is required. Sistemai neužtenka darbinės atminties. Reikia bent %1 GiB. - + is plugged in to a power source prijungta prie maitinimo šaltinio - + The system is not plugged in to a power source. Sistema nėra prijungta prie maitinimo šaltinio. - + is connected to the Internet prijungta prie Interneto - + The system is not connected to the Internet. Sistema nėra prijungta prie Interneto. - + The setup program is not running with administrator rights. Sąrankos programa yra vykdoma be administratoriaus teisių. - + The installer is not running with administrator rights. Diegimo programa yra vykdoma be administratoriaus teisių. - + The screen is too small to display the setup program. Ekranas yra per mažas, kad būtų parodyta sąrankos programa. - + The screen is too small to display the installer. Ekranas yra per mažas, kad būtų parodyta diegimo programa. @@ -1380,27 +1407,27 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Forma - + I accept the terms and conditions above. Sutinku su aukščiau išdėstytomis nuostatomis ir sąlygomis. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licencijos Sutartis</h1>Ši sąrankos procedūra įdiegs nuosavybinę programinę įrangą, kuriai yra taikomos licencijavimo nuostatos. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Prašome aukščiau peržiūrėti Galutinio Vartotojo Licencijos Sutartis (angl. EULA).<br/>Jeigu nesutiksite su nuostatomis, sąrankos procedūra negalės būti tęsiama. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licencijos Sutartis</h1>Tam, kad pateiktų papildomas ypatybes ir pagerintų naudotojo patirtį, ši sąrankos procedūra gali įdiegti nuosavybinę programinę įrangą, kuriai yra taikomos licencijavimo nuostatos. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Prašome aukščiau peržiūrėti Galutinio Vartotojo Licencijos Sutartis (angl. EULA).<br/>Jeigu nesutiksite su nuostatomis, tuomet nuosavybinė programinė įranga nebus įdiegta, o vietoj jos, bus naudojamos atviro kodo alternatyvos. @@ -1408,7 +1435,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. LicenseViewStep - + License Licencija @@ -1416,64 +1443,64 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 tvarkyklė</strong><br/>iš %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafikos tvarkyklė</strong><br/><font color="Grey">iš %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 naršyklės papildinys</strong><br/><font color="Grey">iš %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 kodekas</strong><br/><font color="Grey">iš %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 paketas</strong><br/><font color="Grey">iš %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">iš %2</font> - + Shows the complete license text Rodo pilną licencijos tekstą - + Hide license text Slėpti licencijos tekstą - + Show license agreement Rodyti licencijos sutikimą - + Hide license agreement Slėpti licencijos sutikimą - + Opens the license agreement in a browser window. Atveria licencijos sutikimą naršyklės lange. - + <a href="%1">View license agreement</a> <a href="%1">Rodyti licencijos sutikimą</a> @@ -1574,15 +1601,20 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Aprašas - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Tinklo diegimas. (Išjungta: Nepavyksta gauti paketų sąrašus, patikrinkite savo tinklo ryšį) - + Network Installation. (Disabled: Received invalid groups data) Tinklo diegimas. (Išjungtas: Gauti neteisingi grupių duomenys) + + + Network Installation. (Disabled: Incorrect configuration) + Tinklo diegimas. (Išjungtas: Neteisinga konfigūracija) + NetInstallViewStep @@ -1866,6 +1898,47 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nežinoma klaida + + PackageChooserPage + + + Form + Forma + + + + Product Name + Produkto pavadinimas + + + + TextLabel + Teksto etiketė + + + + Long Product Description + Ilgas produkto aprašas + + + + Package Selection + Paketų pasirinkimas + + + + Please pick a product from the list. The selected product will be installed. + Pasirinkite iš sąrašo produktą. Pasirinktas produktas bus įdiegtas. + + + + PackageChooserViewStep + + + Packages + Paketai + + Page_Keyboard @@ -2268,14 +2341,14 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. ProcessResult - + There was no output from the command. Nebuvo jokios išvesties iš komandos. - + Output: @@ -2284,52 +2357,52 @@ Išvestis: - + External command crashed. Išorinė komanda užstrigo. - + Command <i>%1</i> crashed. Komanda <i>%1</i> užstrigo. - + External command failed to start. Nepavyko paleisti išorinės komandos. - + Command <i>%1</i> failed to start. Nepavyko paleisti komandos <i>%1</i>. - + Internal error when starting command. Paleidžiant komandą, įvyko vidinė klaida. - + Bad parameters for process job call. Blogi parametrai proceso užduoties iškvietai. - + External command failed to finish. Nepavyko pabaigti išorinės komandos. - + Command <i>%1</i> failed to finish in %2 seconds. Nepavyko per %2 sek. pabaigti komandos <i>%1</i>. - + External command finished with errors. Išorinė komanda pabaigta su klaidomis. - + Command <i>%1</i> finished with exit code %2. Komanda <i>%1</i> pabaigta su išėjimo kodu %2. @@ -2388,6 +2461,16 @@ Išvestis: language[name] (country[name]) %1 (%2) + + + No product + Nėra produkto + + + + No description provided. + Nepateikta jokio aprašo. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Išvestis: TrackingInstallJob - + Installation feedback Grįžtamasis ryšys apie diegimą - + Sending installation feedback. Siunčiamas grįžtamasis ryšys apie diegimą. - + Internal error in install-tracking. Vidinė klaida diegimo sekime. - + HTTP request timed out. Baigėsi HTTP užklausos laikas. @@ -2943,28 +3026,28 @@ Išvestis: TrackingMachineNeonJob - + Machine feedback Grįžtamasis ryšys apie kompiuterį - + Configuring machine feedback. Konfigūruojamas grįžtamasis ryšys apie kompiuterį. - - + + Error in machine feedback configuration. Klaida grįžtamojo ryšio apie kompiuterį konfigūravime. - + Could not configure machine feedback correctly, script error %1. Nepavyko teisingai sukonfigūruoti grįžtamojo ryšio apie kompiuterį, scenarijaus klaida %1. - + Could not configure machine feedback correctly, Calamares error %1. Nepavyko teisingai sukonfigūruoti grįžtamojo ryšio apie kompiuterį, Calamares klaida %1. @@ -2997,17 +3080,17 @@ Išvestis: Diegimo sekimas padeda %1 matyti kiek jie turi naudotojų, į kokią aparatinę įrangą naudotojai diegia %1 ir (su paskutiniais dviejais parametrais žemiau), gauti tęstinę informaciją apie pageidaujamas programas. Norėdami matyti kas bus siunčiama, šalia kiekvienos srities spustelėkite žinyno piktogramą. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Tai pažymėdami, išsiųsite informaciją apie savo diegimą ir aparatinę įrangą. Ši informacija bus <b>išsiųsta tik vieną kartą</b>, užbaigus diegimą. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Tai pažymėdami, <b>periodiškai</b> siųsite informaciją apie savo diegimą, aparatinę įrangą ir programas į %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Tai pažymėdami, <b>reguliariai</b> siųsite informaciją apie savo diegimą, aparatinę įrangą, programas ir naudojimo būdus į %1. @@ -3015,7 +3098,7 @@ Išvestis: TrackingViewStep - + Feedback Grįžtamasis ryšys @@ -3072,6 +3155,19 @@ Išvestis: Naudotojai + + VariantModel + + + Key + Raktas + + + + Value + Reikšmė + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Išvestis: Forma - + + + Select application and system language + Pasirinkite programų ir sistemos kalbą + + + + Open donations website + Atverti paaukojimų internetinę svetainę + + + + &Donate + &Paaukoti + + + + Open help and support website + Atverti pagalbos ir palaikymo internetinę svetainę + + + + Open issues and bug-tracking website + Atverti strigčių ir klaidų sekimo internetinę svetainę + + + + Open relead notes website + + + + &Release notes Lai&dos informacija - + &Known issues Ž&inomos problemos - - - Select language - Pasirinkite kalbą - - - + &Support &Palaikymas @@ -3159,42 +3280,42 @@ Išvestis: &Apie - + <h1>Welcome to the %1 installer.</h1> <h1>Jus sveikina %1 diegimo programa.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Jus sveikina Calamares diegimo programa, skirta %1 sistemai.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Jus sveikina Calamares sąrankos programa, skirta %1 sistemai.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Jus sveikina %1 sąranka.</h1> - + About %1 setup Apie %1 sąranką - + About %1 installer Apie %1 diegimo programą - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>skirta %3</strong><br/><br/>Autorių teisės 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorių teisės 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Dėkojame <a href="https://calamares.io/team/">Calamares komandai</a> bei <a href="https://www.transifex.com/calamares/calamares/">Calamares vertėjų komandai</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> plėtojimą remia <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Išlaisvinanti programinė įrangą. - + %1 support %1 palaikymas @@ -3202,7 +3323,7 @@ Išvestis: WelcomeViewStep - + Welcome Pasisveikinimas diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index 6058b1059..73dfd91da 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Празна Страна @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools Алатки - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Инсталирај @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Готово @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. Инсталацијата е готова. Исклучете го инсталерот. - + Error Грешка - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index f4d005f92..629a0c432 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form स्वरुप - + GlobalStorage - + JobQueue - + Modules मोडयुल्स - + Type: प्रकार : - - + + none कोणतेही नाहीत - + Interface: अंतराफलक : - + Tools साधने - + Reload Stylesheet - + Widget Tree - + Debug information दोषमार्जन माहिती @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install अधिष्ठापना @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done पूर्ण झाली @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. %1 क्रिया चालवला जातोय - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back &मागे - + &Next &पुढे - + &Cancel &रद्द करा - + Cancel setup without changing the system. - + Cancel installation without changing the system. प्रणालीत बदल न करता अधिष्टापना रद्द करा. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? अधिष्ठापना रद्द करायचे? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes &होय - + + &No &नाही - + &Close &बंद करा - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &आता अधिष्ठापित करा - + Go &back &मागे जा - + &Done &पूर्ण झाली - + The installation is complete. Close the installer. अधिष्ठापना संपूर्ण झाली. अधिष्ठापक बंद करा. - + Error त्रुटी - + Installation Failed अधिष्ठापना अयशस्वी झाली @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. स्वरुप - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + स्वरुप + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: वापरकर्ते + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: स्वरुप - - &Release notes - &प्रकाशन टिपा - - - - &Known issues - &ज्ञात त्रुटी - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &प्रकाशन टिपा + + + + &Known issues + &ज्ञात त्रुटी + + + &Support %1 पाठबळ @@ -3154,42 +3274,42 @@ Output: &विषयी - + <h1>Welcome to the %1 installer.</h1> <h1>‌%1 अधिष्ठापकमधे स्वागत आहे.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>‌%1 साठी असलेल्या अधिष्ठापकमध्ये स्वागत आहे.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer %1 अधिष्ठापक बद्दल - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 पाठबळ @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome स्वागत diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 1ed2dd4aa..701af4275 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage Global Lagring - + JobQueue OppgaveKø - + Modules Moduler - + Type: - - + + none - + Interface: Grensesnitt: - + Tools Verktøy - + Reload Stylesheet - + Widget Tree - + Debug information Debug informasjon @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installer @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Ferdig @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path Feil filsti til arbeidsmappe - + Working directory %1 for python job %2 is not readable. Arbeidsmappe %1 for python oppgave %2 er ikke lesbar. - + Bad main script file Ugyldig hovedskriptfil - + Main script file %1 for python job %2 is not readable. Hovedskriptfil %1 for python oppgave %2 er ikke lesbar. - + Boost.Python error in job "%1". Boost.Python feil i oppgave "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Tilbake - + &Next &Neste - + &Cancel &Avbryt - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryte installasjon? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig avbryte installasjonen? Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + + &Yes &Ja - + + &No &Nei - + &Close &Lukk - + Continue with setup? Fortsette å sette opp? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 vil nå gjøre endringer på harddisken, for å installere %2. <br/><strong>Du vil ikke kunne omgjøre disse endringene.</strong> - + &Install now &Installer nå - + Go &back Gå &tilbake - + &Done &Ferdig - + The installation is complete. Close the installer. Installasjonen er fullført. Lukk installeringsprogrammet. - + Error Feil - + Installation Failed Installasjon feilet @@ -382,26 +399,35 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. CalamaresPython::Helper - + Unknown exception type Ukjent unntakstype - + unparseable Python error Ikke-kjørbar Python feil - + unparseable Python traceback Ikke-kjørbar Python tilbakesporing - + Unfetchable Python error. Ukjent Python feil. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source er koblet til en strømkilde - + The system is not plugged in to a power source. Systemet er ikke koblet til en strømkilde. - + is connected to the Internet er tilkoblet Internett - + The system is not connected to the Internet. Systemet er ikke tilkoblet Internett. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Form - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. LicenseViewStep - + License Lisens @@ -1415,64 +1441,64 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>fra %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafikkdriver</strong><br/><font color="Grey">fra %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 nettlesertillegg</strong><br/><font color="Grey">fra %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">fra %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Ukjent feil + + PackageChooserPage + + + Form + Form + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Ugyldige parametere for prosessens oppgavekall - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: Brukere + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Form - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3155,42 +3275,42 @@ Output: &Om - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Velkommen diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index 53f88b1b2..db82ba6c6 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index 039ef6f49..59e172c24 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Lege pagina @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulier - + GlobalStorage Globale Opslag - + JobQueue Wachtrij - + Modules Modules - + Type: Type: - - + + none geen - + Interface: Interface: - + Tools Hulpmiddelen - + Reload Stylesheet - + Widget Tree - + Debug information Debug informatie @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installeer @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Gereed @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Bewerking %1 uitvoeren. - + Bad working directory path Ongeldig pad voor huidige map - + Working directory %1 for python job %2 is not readable. Werkmap %1 voor python taak %2 onleesbaar. - + Bad main script file Onjuist hoofdscriptbestand - + Main script file %1 for python job %2 is not readable. Hoofdscriptbestand %1 voor python taak %2 onleesbaar. - + Boost.Python error in job "%1". Boost.Python fout in taak "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Terug - + &Next &Volgende - + &Cancel &Afbreken - + Cancel setup without changing the system. - + Cancel installation without changing the system. Installatie afbreken zonder aanpassingen aan het systeem. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares Initialisatie mislukt - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kan niet worden geïnstalleerd. Calamares kon niet alle geconfigureerde modules laden. Dit is een probleem met hoe Calamares wordt gebruikt door de distributie. - + <br/>The following modules could not be loaded: <br/>The volgende modules konden niet worden geladen: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Installeer - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Installatie afbreken? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wil je het huidige installatieproces echt afbreken? Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + + &Yes &ja - + + &No &Nee - + &Close &Sluiten - + Continue with setup? Doorgaan met installatie? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Het %1 installatieprogramma zal nu aanpassingen maken aan je schijf om %2 te installeren.<br/><strong>Deze veranderingen kunnen niet ongedaan gemaakt worden.</strong> - + &Install now Nu &installeren - + Go &back Ga &terug - + &Done Voltooi&d - + The installation is complete. Close the installer. De installatie is voltooid. Sluit het installatie-programma. - + Error Fout - + Installation Failed Installatie Mislukt @@ -382,26 +399,35 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. CalamaresPython::Helper - + Unknown exception type Onbekend uitzonderingstype - + unparseable Python error onuitvoerbare Python fout - + unparseable Python traceback onuitvoerbare Python traceback - + Unfetchable Python error. Onbekende Python fout. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. CommandList - - + + Could not run command. Kon de opdracht niet uitvoeren. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. De opdracht loopt in de gastomgeving en moet het root pad weten, maar rootMountPoint is niet gedefinieerd. - + The command needs to know the user's name, but no username is defined. De opdracht moet de naam van de gebruiker weten, maar de gebruikersnaam is niet gedefinieerd. @@ -631,7 +657,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. ContextualProcessJob - + Contextual Processes Job Contextuele processen Taak @@ -968,7 +994,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. DummyCppJob - + Dummy C++ Job C++ schijnopdracht @@ -1199,62 +1225,62 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source aangesloten is op netstroom - + The system is not plugged in to a power source. Dit systeem is niet aangesloten op netstroom. - + is connected to the Internet verbonden is met het Internet - + The system is not connected to the Internet. Dit systeem is niet verbonden met het Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Het installatieprogramma draait zonder administratorrechten. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Het schem is te klein on het installatieprogramma te vertonen. @@ -1379,27 +1405,27 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Formulier - + I accept the terms and conditions above. Ik aanvaard de bovenstaande algemene voorwaarden. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licentieovereenkomst</h1>Deze installatieprocedure zal propriëtaire software installeren die onderworpen is aan licentievoorwaarden. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Gelieve bovenstaande licentieovereenkomsten voor eindgebruikers (EULA's) na te kijken.<br/>Indien je de voorwaarden niet aanvaardt, kan de installatie niet doorgaan. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licentieovereenkomst</h1>Deze installatieprocedure kan mogelijk propriëtaire software, onderworpen aan licentievoorwaarden, installeren om bijkomende functies aan te bieden of de gebruikservaring te verbeteren. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Gelieve bovenstaande licentieovereenkomsten voor eindgebruikers (EULA's) na te kijken.<br/>Indien je de voorwaarden niet aanvaardt zal de propriëtaire software vervangen worden door openbron alternatieven. @@ -1407,7 +1433,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. LicenseViewStep - + License Licentie @@ -1415,64 +1441,64 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 stuurprogramma</strong><br/>door %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafisch stuurprogramma</strong><br/><font color="Grey">door %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 browser plugin</strong><br/><font color="Grey">door %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">door %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pakket</strong><br/><font color="Grey">door %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">door %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Beschrijving - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netwerkinstallatie. (Uitgeschakeld: kon de pakketlijsten niet binnenhalen, controleer de netwerkconnectie) - + Network Installation. (Disabled: Received invalid groups data) Netwerkinstallatie. (Uitgeschakeld: ongeldige gegevens over groepen) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Onbekende fout + + PackageChooserPage + + + Form + Formulier + + + + Product Name + + + + + TextLabel + TextLabel + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,14 +2339,14 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. ProcessResult - + There was no output from the command. Er was geen uitvoer van de opdracht. - + Output: @@ -2283,52 +2355,52 @@ Uitvoer: - + External command crashed. Externe opdracht is vastgelopen. - + Command <i>%1</i> crashed. Opdracht <i>%1</i> is vastgelopen. - + External command failed to start. Externe opdracht kon niet worden gestart. - + Command <i>%1</i> failed to start. Opdracht <i>%1</i> kon niet worden gestart. - + Internal error when starting command. Interne fout bij het starten van de opdracht. - + Bad parameters for process job call. Onjuiste parameters voor procestaak - + External command failed to finish. Externe opdracht is niet correct beëindigd. - + Command <i>%1</i> failed to finish in %2 seconds. Opdracht <i>%1</i> is niet beëindigd in %2 seconden. - + External command finished with errors. Externe opdracht beëindigd met fouten. - + Command <i>%1</i> finished with exit code %2. Opdracht <i>%1</i> beëindigd met foutcode %2. @@ -2387,6 +2459,16 @@ Uitvoer: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2919,22 +3001,22 @@ Uitvoer: TrackingInstallJob - + Installation feedback Installatiefeedback - + Sending installation feedback. Installatiefeedback opsturen. - + Internal error in install-tracking. Interne fout in de installatie-tracking. - + HTTP request timed out. HTTP request is verlopen. @@ -2942,28 +3024,28 @@ Uitvoer: TrackingMachineNeonJob - + Machine feedback Machinefeedback - + Configuring machine feedback. Instellen van machinefeedback. - - + + Error in machine feedback configuration. Fout in de configuratie van de machinefeedback. - + Could not configure machine feedback correctly, script error %1. Kon de machinefeedback niet correct instellen, scriptfout %1. - + Could not configure machine feedback correctly, Calamares error %1. Kon de machinefeedback niet correct instellen, Calamares-fout %1. @@ -2996,17 +3078,17 @@ Uitvoer: Installatie-tracking helpt %1 om te zien hoeveel gebruikers ze hebben, op welke hardware %1 geïnstalleerd wordt en (met de laatste twee opties hieronder) op de hoogte te blijven van de geprefereerde toepassingen. Om na te gaan wat verzonden zal worden, klik dan op het help-pictogram naast elke optie. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Door dit aan te vinken zal er informatie verstuurd worden over jouw installatie en hardware. Deze informatie zal <b>slechts eenmaal verstuurd worden</b> na het afronden van de installatie. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Door dit aan te vinken zal <b>periodiek</b> informatie verstuurd worden naar %1 over jouw installatie, hardware en toepassingen. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Door dit aan te vinken zal <b>regelmatig</b> informatie verstuurd worden naar %1 over jouw installatie, hardware, toepassingen en gebruikspatronen. @@ -3014,7 +3096,7 @@ Uitvoer: TrackingViewStep - + Feedback Feedback @@ -3071,6 +3153,19 @@ Uitvoer: Gebruikers + + VariantModel + + + Key + + + + + Value + Waarde + + VolumeGroupBaseDialog @@ -3132,23 +3227,48 @@ Uitvoer: Formulier - - &Release notes - Aantekeningen bij deze ve&rsie - - - - &Known issues - Be&kende problemen - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + Aantekeningen bij deze ve&rsie + + + + &Known issues + Be&kende problemen + + + &Support Onder&steuning @@ -3158,42 +3278,42 @@ Uitvoer: &Over - + <h1>Welcome to the %1 installer.</h1> <h1>Welkom in het %1 installatieprogramma.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Welkom in het Calamares installatieprogramma voor %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Over het %1 installatieprogramma - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 ondersteuning @@ -3201,7 +3321,7 @@ Uitvoer: WelcomeViewStep - + Welcome Welkom diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 68639ced1..6f9d806eb 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Pusta strona @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formularz - + GlobalStorage Ogólne przechowywanie - + JobQueue Oczekujące zadania - + Modules Moduły - + Type: Rodzaj: - - + + none brak - + Interface: Interfejs: - + Tools Narzędzia - + Reload Stylesheet - + Widget Tree - + Debug information Informacje debugowania @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Zainstaluj @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Ukończono @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Wykonuję operację %1. - + Bad working directory path Niepoprawna ścieżka katalogu roboczego - + Working directory %1 for python job %2 is not readable. Katalog roboczy %1 dla zadań pythona %2 jest nieosiągalny. - + Bad main script file Niepoprawny główny plik skryptu - + Main script file %1 for python job %2 is not readable. Główny plik skryptu %1 dla zadań pythona %2 jest nieczytelny. - + Boost.Python error in job "%1". Wystąpił błąd Boost.Python w zadaniu "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Wstecz - + &Next &Dalej - + &Cancel &Anuluj - + Cancel setup without changing the system. - + Cancel installation without changing the system. Anuluj instalację bez dokonywania zmian w systemie. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Błąd inicjacji programu Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nie może zostać zainstalowany. Calamares nie mógł wczytać wszystkich skonfigurowanych modułów. Jest to problem ze sposobem, w jaki Calamares jest używany przez dystrybucję. - + <br/>The following modules could not be loaded: <br/>Następujące moduły nie mogły zostać wczytane: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Za&instaluj - + Setup is complete. Close the setup program. - + Cancel setup? Anulować ustawianie? - + Cancel installation? Anulować instalację? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Czy na pewno chcesz anulować obecny proces instalacji? Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - + + &Yes &Tak - + + &No &Nie - + &Close Zam&knij - + Continue with setup? Kontynuować z programem instalacyjnym? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalator %1 zamierza przeprowadzić zmiany na Twoim dysku, aby zainstalować %2.<br/><strong>Nie będziesz mógł cofnąć tych zmian.</strong> - + &Install now &Zainstaluj teraz - + Go &back &Cofnij się - + &Done &Ukończono - + The installation is complete. Close the installer. Instalacja ukończona pomyślnie. Możesz zamknąć instalator. - + Error Błąd - + Installation Failed Wystąpił błąd instalacji @@ -382,26 +399,35 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. CalamaresPython::Helper - + Unknown exception type Nieznany rodzaj wyjątku - + unparseable Python error nieparowalny błąd Pythona - + unparseable Python traceback nieparowalny traceback Pythona - + Unfetchable Python error. Nieosiągalny błąd Pythona. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. CommandList - - + + Could not run command. Nie można wykonać polecenia. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Polecenie uruchomione jest w środowisku hosta i musi znać ścieżkę katalogu głównego, jednakże nie został określony punkt montowania katalogu głównego (root). - + The command needs to know the user's name, but no username is defined. Polecenie musi znać nazwę użytkownika, ale żadna nazwa nie została jeszcze zdefiniowana. @@ -631,7 +657,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. ContextualProcessJob - + Contextual Processes Job Działania procesów kontekstualnych @@ -968,7 +994,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. DummyCppJob - + Dummy C++ Job Działanie obiektu Dummy C++ @@ -1199,62 +1225,62 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source jest podłączony do źródła zasilania - + The system is not plugged in to a power source. System nie jest podłączony do źródła zasilania. - + is connected to the Internet jest podłączony do Internetu - + The system is not connected to the Internet. System nie jest podłączony do Internetu. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Instalator jest uruchomiony bez praw administratora. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Zbyt niska rozdzielczość ekranu, aby wyświetlić instalator. @@ -1379,27 +1405,27 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Formularz - + I accept the terms and conditions above. Akceptuję powyższe warunki korzystania. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Umowy licencyjne</h1>Ten etap instalacji zainstaluje własnościowe oprogramowanie, którego dotyczą zasady licencji. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Przeczytaj znajdujące się poniżej Umowy Licencyjne Końcowego Użytkownika (EULA).<br/>Jeżeli nie zgadzasz się z tymi warunkami, nie możesz kontynuować. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Umowy licencyjne</h1>Ten etap instalacji pozwoli zainstalować własnościowe oprogramowanie, którego dotyczą zasady licencji w celu poprawienia doświadczenia i zapewnienia dodatkowych funkcji. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Przeczytaj znajdujące się poniżej Umowy Licencyjne Końcowego Użytkownika (EULA).<br/>Jeżeli nie zaakceptujesz tych warunków, własnościowe oprogramowanie nie zostanie zainstalowane, zamiast tego zostaną użyte otwartoźródłowe odpowiedniki. @@ -1407,7 +1433,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. LicenseViewStep - + License Licencja @@ -1415,64 +1441,64 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>sterownik %1</strong><br/>autorstwa %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>sterownik graficzny %1</strong><br/><font color="Grey">autorstwa %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>wtyczka do przeglądarki %1</strong><br/><font color="Grey">autorstwa %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>kodek %1</strong><br/><font color="Grey">autorstwa %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>pakiet %1</strong><br/><font color="Grey">autorstwa %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">autorstwa %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Opis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalacja sieciowa. (Wyłączona: Nie można pobrać listy pakietów, sprawdź swoje połączenie z siecią) - + Network Installation. (Disabled: Received invalid groups data) Instalacja sieciowa. (Niedostępna: Otrzymano nieprawidłowe dane grupowe) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Nieznany błąd + + PackageChooserPage + + + Form + Formularz + + + + Product Name + + + + + TextLabel + EtykietaTekstowa + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,14 +2339,14 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. ProcessResult - + There was no output from the command. W wyniku polecenia nie ma żadnego rezultatu. - + Output: @@ -2283,52 +2355,52 @@ Wyjście: - + External command crashed. Zewnętrzne polecenie zakończone niepowodzeniem. - + Command <i>%1</i> crashed. Wykonanie polecenia <i>%1</i> nie powiodło się. - + External command failed to start. Nie udało się uruchomić zewnętrznego polecenia. - + Command <i>%1</i> failed to start. Polecenie <i>%1</i> nie zostało uruchomione. - + Internal error when starting command. Wystąpił wewnętrzny błąd podczas uruchamiania polecenia. - + Bad parameters for process job call. Błędne parametry wywołania zadania. - + External command failed to finish. Nie udało się ukończyć zewnętrznego polecenia. - + Command <i>%1</i> failed to finish in %2 seconds. Nie udało się ukończyć polecenia <i>%1</i> w ciągu %2 sekund. - + External command finished with errors. Ukończono zewnętrzne polecenie z błędami. - + Command <i>%1</i> finished with exit code %2. Polecenie <i>%1</i> zostało ukończone z błędem o kodzie %2. @@ -2387,6 +2459,16 @@ Wyjście: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ i nie uruchomi się TrackingInstallJob - + Installation feedback Informacja zwrotna o instalacji - + Sending installation feedback. Wysyłanie informacji zwrotnej o instalacji. - + Internal error in install-tracking. Błąd wewnętrzny śledzenia instalacji. - + HTTP request timed out. Wyczerpano limit czasu żądania HTTP. @@ -2943,28 +3025,28 @@ i nie uruchomi się TrackingMachineNeonJob - + Machine feedback Maszynowa informacja zwrotna - + Configuring machine feedback. Konfiguracja machine feedback - - + + Error in machine feedback configuration. Błąd w konfiguracji maszynowej informacji zwrotnej. - + Could not configure machine feedback correctly, script error %1. Nie można poprawnie skonfigurować maszynowej informacji zwrotnej, błąd skryptu %1. - + Could not configure machine feedback correctly, Calamares error %1. Nie można poprawnie skonfigurować maszynowej informacji zwrotnej, błąd Calamares %1. @@ -2997,17 +3079,17 @@ i nie uruchomi się Śledzenie instalacji pomoże %1 dowiedzieć się, ilu mają użytkowników, na jakim sprzęcie instalują %1 i (jeżeli wybierzesz dwie ostatnie opcje) uzyskać informacje o używanych aplikacjach. Jeżeli chcesz wiedzieć, jakie informacje będą wysyłane, naciśnij ikonę pomocy obok. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Jeżeli wybierzesz tę opcję, zostaną wysłane informacje dotyczące tej instalacji i używanego sprzętu. Zostaną wysłane <b>jednokrotnie</b> po zakończeniu instalacji. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Jeżeli wybierzesz tę opcję, <b>okazjonalnie</b> będą wysyłane informacje dotyczące tej instalacji, używanego sprzętu i aplikacji do %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Jeżeli wybierzesz tą opcję, <b>regularnie</b> będą wysyłane informacje dotyczące tej instalacji, używanego sprzętu i aplikacji do %1. @@ -3015,7 +3097,7 @@ i nie uruchomi się TrackingViewStep - + Feedback Informacje zwrotne @@ -3072,6 +3154,19 @@ i nie uruchomi się Użytkownicy + + VariantModel + + + Key + + + + + Value + Wartość + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ i nie uruchomi się Formularz - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes Informacje o &wydaniu - + &Known issues &Znane problemy - - - Select language - Wybierz język - - - + &Support &Wsparcie @@ -3159,42 +3279,42 @@ i nie uruchomi się &Informacje - + <h1>Welcome to the %1 installer.</h1> <h1>Witamy w instalatorze %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Witamy w instalatorze Calamares dla systemu %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Witamy w ustawianiu %1.</h1> - + About %1 setup - + About %1 installer O instalatorze %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Wsparcie %1 @@ -3202,7 +3322,7 @@ i nie uruchomi się WelcomeViewStep - + Welcome Witamy diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index 533541556..b333f4fa8 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Página em Branco @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulário - + GlobalStorage Armazenamento Global - + JobQueue Fila de Trabalhos - + Modules Módulos - + Type: Tipo: - - + + none nenhum - + Interface: Interface: - + Tools Ferramentas - + Reload Stylesheet Recarregar folha de estilo - + Widget Tree Árvore de widgets - + Debug information Informações de depuração @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configurar - + Install Instalar @@ -133,7 +133,7 @@ A tarefa falhou (%1) - + Programmed job failure was explicitly requested. Falha na tarefa programada foi solicitada explicitamente. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Concluído @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Executar o comando '%1' no sistema de destino. - + Run command '%1'. Executar comando '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Executando operação %1. - + Bad working directory path Caminho de diretório de trabalho ruim - + Working directory %1 for python job %2 is not readable. Diretório de trabalho %1 para a tarefa do python %2 não é legível. - + Bad main script file Arquivo de script principal ruim - + Main script file %1 for python job %2 is not readable. Arquivo de script principal %1 para a tarefa do python %2 não é legível. - + Boost.Python error in job "%1". Boost.Python erro na tarefa "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Esperando por %n módulo.Esperando por %n módulos. - + (%n second(s)) (%n segundo)(%n segundos) - + System-requirements checking is complete. Verificação de requerimentos do sistema completa. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Voltar - + &Next &Próximo - + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar configuração sem alterar o sistema. - + Cancel installation without changing the system. Cancelar instalação sem modificar o sistema. - + Setup Failed A Configuração Falhou - + + Would you like to paste the install log to the web? + Deseja colar o registro de instalação na web? + + + + Install Log Paste URL + Colar URL de Registro de Instalação + + + + The upload was unsuccessful. No web-paste was done. + Não foi possível fazer o upload. Nenhuma colagem foi feita na web. + + + Calamares Initialization Failed Falha na inicialização do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 não pôde ser instalado. O Calamares não conseguiu carregar todos os módulos configurados. Este é um problema com o modo em que o Calamares está sendo utilizado pela distribuição. - + <br/>The following modules could not be loaded: <br/>Os seguintes módulos não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> O programa de configuração %1 está prestes a fazer mudanças no seu disco de modo a configurar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Set up now &Configurar agora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. A configuração está completa. Feche o programa de configuração. - + Cancel setup? Cancelar a configuração? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Você realmente quer cancelar o processo atual de configuração? O programa de configuração será fechado e todas as mudanças serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Você deseja realmente cancelar a instalação atual? O instalador será fechado e todas as alterações serão perdidas. - + + &Yes &Sim - + + &No &Não - + &Close Fe&char - + Continue with setup? Continuar com configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O instalador %1 está prestes a fazer alterações no disco a fim de instalar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Install now &Instalar agora - + Go &back &Voltar - + &Done Concluí&do - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -383,26 +400,36 @@ O instalador será fechado e todas as alterações serão perdidas. CalamaresPython::Helper - + Unknown exception type Tipo de exceção desconhecida - + unparseable Python error erro inanalisável do Python - + unparseable Python traceback rastreamento inanalisável do Python - + Unfetchable Python error. Erro inbuscável do Python. + + CalamaresUtils + + + Install log posted to: +%1 + Registro de instalação colado em: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ O instalador será fechado e todas as alterações serão perdidas. CommandList - - + + Could not run command. Não foi possível executar o comando. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. O comando é executado no ambiente do hospedeiro e precisa saber o caminho root, mas nenhum rootMountPoint foi definido. - + The command needs to know the user's name, but no username is defined. O comando precisa saber do nome do usuário, mas nenhum nome de usuário foi definido. @@ -632,7 +659,7 @@ O instalador será fechado e todas as alterações serão perdidas. ContextualProcessJob - + Contextual Processes Job Tarefa de Processos Contextuais @@ -969,7 +996,7 @@ O instalador será fechado e todas as alterações serão perdidas. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1200,62 +1227,62 @@ O instalador será fechado e todas as alterações serão perdidas. GeneralRequirements - + has at least %1 GiB available drive space tenha pelo menos %1 GiB disponível de espaço no disco - + There is not enough drive space. At least %1 GiB is required. Não há espaço suficiente no disco. Pelo menos %1 GiB é requerido. - + has at least %1 GiB working memory tenha pelo menos %1 GiB de memória de trabalho - + The system does not have enough working memory. At least %1 GiB is required. O sistema não tem memória de trabalho o suficiente. Pelo menos %1 GiB é requerido. - + is plugged in to a power source está conectado a uma fonte de energia - + The system is not plugged in to a power source. O sistema não está conectado a uma fonte de energia. - + is connected to the Internet está conectado à Internet - + The system is not connected to the Internet. O sistema não está conectado à Internet. - + The setup program is not running with administrator rights. O programa de configuração não está sendo executado com direitos de administrador. - + The installer is not running with administrator rights. O instalador não está sendo executado com permissões de administrador. - + The screen is too small to display the setup program. A tela é muito pequena para exibir o programa de configuração. - + The screen is too small to display the installer. A tela é muito pequena para exibir o instalador. @@ -1380,27 +1407,27 @@ O instalador será fechado e todas as alterações serão perdidas.Formulário - + I accept the terms and conditions above. Aceito os termos e condições acima. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Termos de licença</h1>Este procedimento de configuração irá instalar software proprietário, que está sujeito aos termos de licenciamento. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor, revise os acordos de licença de usuário final (EULAs) acima.<br/>Se você não concordar com os termos, o procedimento de configuração não pode continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Termos de licença</h1>Este procedimento de instalação pode instalar o software proprietário, que está sujeito a termos de licenciamento, a fim de fornecer recursos adicionais e melhorar a experiência do usuário. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor, revise os acordos de licença de usuário final (EULAs) acima.<br/>Se você não concordar com os termos, o software proprietário não será instalado e as alternativas de código aberto serão utilizadas em seu lugar. @@ -1408,7 +1435,7 @@ O instalador será fechado e todas as alterações serão perdidas. LicenseViewStep - + License Licença @@ -1416,64 +1443,64 @@ O instalador será fechado e todas as alterações serão perdidas. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>driver %1</strong><br/>por %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>driver gráfico %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>plugin do navegador %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>codec %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>pacote %1</strong><br/><font color="Grey">por %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">por %2</font> - + Shows the complete license text Mostra o texto de licença completo - + Hide license text Esconder texto de licença - + Show license agreement Mostrar termos de licença - + Hide license agreement Esconder termos de licença - + Opens the license agreement in a browser window. Abre os termos de licença na janela do navegador. - + <a href="%1">View license agreement</a> <a href="%1">Ver termos de licença</a> @@ -1574,15 +1601,20 @@ O instalador será fechado e todas as alterações serão perdidas.Descrição - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalação pela Rede. (Desabilitada: Não foi possível adquirir lista de pacotes, verifique sua conexão com a internet) - + Network Installation. (Disabled: Received invalid groups data) Instalação pela Rede. (Desabilitado: Recebidos dados de grupos inválidos) + + + Network Installation. (Disabled: Incorrect configuration) + Instalação via Rede. (Desabilitada: Configuração incorreta) + NetInstallViewStep @@ -1866,6 +1898,47 @@ O instalador será fechado e todas as alterações serão perdidas.Erro desconhecido + + PackageChooserPage + + + Form + Formulário + + + + Product Name + Nome do Produto + + + + TextLabel + EtiquetaDeTexto + + + + Long Product Description + Descrição Estendida do Produto + + + + Package Selection + Seleção de Pacote + + + + Please pick a product from the list. The selected product will be installed. + Por favor, escolha um produto da lista. O produto selecionado será instalado. + + + + PackageChooserViewStep + + + Packages + Pacotes + + Page_Keyboard @@ -2268,14 +2341,14 @@ O instalador será fechado e todas as alterações serão perdidas. ProcessResult - + There was no output from the command. Não houve saída do comando. - + Output: @@ -2284,52 +2357,52 @@ Saída: - + External command crashed. O comando externo falhou. - + Command <i>%1</i> crashed. O comando <i>%1</i> falhou. - + External command failed to start. O comando externo falhou ao iniciar. - + Command <i>%1</i> failed to start. O comando <i>%1</i> falhou ao iniciar. - + Internal error when starting command. Erro interno ao iniciar o comando. - + Bad parameters for process job call. Parâmetros ruins para a chamada da tarefa do processo. - + External command failed to finish. O comando externo falhou ao finalizar. - + Command <i>%1</i> failed to finish in %2 seconds. O comando <i>%1</i> falhou ao finalizar em %2 segundos. - + External command finished with errors. O comando externo foi concluído com erros. - + Command <i>%1</i> finished with exit code %2. O comando <i>%1</i> foi concluído com o código %2. @@ -2388,6 +2461,16 @@ Saída: language[name] (country[name]) %1 (%2) + + + No product + Sem produto + + + + No description provided. + Nenhuma descrição disponível. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Saída: TrackingInstallJob - + Installation feedback Feedback da instalação - + Sending installation feedback. Enviando feedback da instalação. - + Internal error in install-tracking. Erro interno no install-tracking. - + HTTP request timed out. A solicitação HTTP expirou. @@ -2943,28 +3026,28 @@ Saída: TrackingMachineNeonJob - + Machine feedback Feedback da máquina - + Configuring machine feedback. Configurando feedback da máquina. - - + + Error in machine feedback configuration. Erro na configuração de feedback da máquina. - + Could not configure machine feedback correctly, script error %1. Não foi possível configurar o feedback da máquina corretamente, erro de script %1. - + Could not configure machine feedback correctly, Calamares error %1. Não foi possível configurar o feedback da máquina corretamente, erro do Calamares %1. @@ -2997,17 +3080,17 @@ Saída: O rastreamento de instalação ajuda %1 a ver quantos usuários eles têm, em qual hardware eles instalam %1 e (com as duas últimas opções abaixo), adquirir informações sobre os aplicativos preferidos. Para ver o que será enviado, por favor, clique no ícone de ajuda perto de cada área. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Ao selecionar isto, você enviará informações sobre sua instalação e hardware. Esta informação <b>será enviada apenas uma vez</b> depois que a instalação terminar. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Ao selecionar isto, você enviará <b>periodicamente</b> informações sobre sua instalação, hardware e aplicativos para %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Ao selecionar isto, você enviará <b>regularmente</b> informações sobre sua instalação, hardware, aplicativos e padrões de uso para %1. @@ -3015,7 +3098,7 @@ Saída: TrackingViewStep - + Feedback Feedback @@ -3072,6 +3155,19 @@ Saída: Usuários + + VariantModel + + + Key + Chave + + + + Value + Valor + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Saída: Formulário - + + + Select application and system language + Selecione a aplicação e a linguagem do sistema + + + + Open donations website + Abrir website de doações + + + + &Donate + &Doar + + + + Open help and support website + Abrir website de ajuda e suporte + + + + Open issues and bug-tracking website + Abrir website de problemas e rastreamento de bugs + + + + Open relead notes website + Abrir website com notas de lançamento + + + &Release notes &Notas de lançamento - + &Known issues &Problemas conhecidos - - - Select language - Selecionar idioma - - - + &Support &Suporte @@ -3159,42 +3280,42 @@ Saída: &Sobre - + <h1>Welcome to the %1 installer.</h1> <h1>Bem-vindo ao instalador %1 .</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Bem-vindo ao instalador Calamares para %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Bem-vindo ao programa de configuração Calamares para %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Bem-vindo à configuração de %1</h1> - + About %1 setup Sobre a configuração de %1 - + About %1 installer Sobre o instalador %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>para %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Obrigado ao <a href="https://calamares.io/team/">time Calamares</a> e ao <a href="https://www.transifex.com/calamares/calamares/">time de tradutores do Calamares</a>.<br/><br/>O desenvolvimento do <a href="https://calamares.io/">Calamares</a> é patrocinado pela <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 suporte @@ -3202,7 +3323,7 @@ Saída: WelcomeViewStep - + Welcome Bem-vindo diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index c8d680dda..07234f117 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Página em Branco @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formulário - + GlobalStorage ArmazenamentoGlobal - + JobQueue FilaDeTrabalho - + Modules Módulos - + Type: Tipo: - - + + none nenhum - + Interface: Interface: - + Tools Ferramentas - + Reload Stylesheet Recarregar Folha de estilo - + Widget Tree Árvore de Widgets - + Debug information Informação de depuração @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Configuração - + Install Instalar @@ -133,7 +133,7 @@ Tarefa falhou (%1) - + Programmed job failure was explicitly requested. Falha de tarefa programada foi explicitamente solicitada. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Concluído @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Execute o comando '%1' no sistema alvo. - + Run command '%1'. Execute o comando '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Operação %1 em execução. - + Bad working directory path Caminho do directório de trabalho errado - + Working directory %1 for python job %2 is not readable. Directório de trabalho %1 para a tarefa python %2 não é legível. - + Bad main script file Ficheiro de script principal errado - + Main script file %1 for python job %2 is not readable. Ficheiro de script principal %1 para a tarefa python %2 não é legível. - + Boost.Python error in job "%1". Erro Boost.Python na tarefa "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). A aguardar por %n módulo(s).A aguardar por %n módulo(s). - + (%n second(s)) (%n segundo(s))(%n segundo(s)) - + System-requirements checking is complete. A verificação de requisitos de sistema está completa. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Voltar - + &Next &Próximo - + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar instalação sem alterar o sistema. - + Cancel installation without changing the system. Cancelar instalar instalação sem modificar o sistema. - + Setup Failed Falha de Instalação - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Falha na Inicialização do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 não pode ser instalado. O Calamares não foi capaz de carregar todos os módulos configurados. Isto é um problema da maneira como o Calamares é usado pela distribuição. - + <br/>The following modules could not be loaded: <br/>Os módulos seguintes não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Instalar agora - + &Set up &Instalar - + &Install &Instalar - + Setup is complete. Close the setup program. Instalação completa. Feche o programa de instalação. - + Cancel setup? Cancelar instalação? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Quer mesmo cancelar o processo de instalação atual? O programa de instalação irá fechar todas as alterações serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Tem a certeza que pretende cancelar o atual processo de instalação? O instalador será encerrado e todas as alterações serão perdidas. - + + &Yes &Sim - + + &No &Não - + &Close &Fechar - + Continue with setup? Continuar com a configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está prestes a fazer alterações ao seu disco em ordem para instalar %2.<br/><strong>Não será capaz de desfazer estas alterações.</strong> - + &Install now &Instalar agora - + Go &back Voltar &atrás - + &Done &Feito - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -383,26 +400,35 @@ O instalador será encerrado e todas as alterações serão perdidas. CalamaresPython::Helper - + Unknown exception type Tipo de exceção desconhecido - + unparseable Python error erro inanalisável do Python - + unparseable Python traceback rasto inanalisável do Python - + Unfetchable Python error. Erro inatingível do Python. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ O instalador será encerrado e todas as alterações serão perdidas. CommandList - - + + Could not run command. Não foi possível correr o comando. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. O comando corre no ambiente do host e precisa de conhecer o caminho root, mas nenhum Ponto de Montagem root está definido. - + The command needs to know the user's name, but no username is defined. O comando precisa de saber o nome do utilizador, mas não está definido nenhum nome de utilizador. @@ -632,7 +658,7 @@ O instalador será encerrado e todas as alterações serão perdidas. ContextualProcessJob - + Contextual Processes Job Tarefa de Processos Contextuais @@ -969,7 +995,7 @@ O instalador será encerrado e todas as alterações serão perdidas. DummyCppJob - + Dummy C++ Job Tarefa Dummy C++ @@ -1200,62 +1226,62 @@ O instalador será encerrado e todas as alterações serão perdidas. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source está ligado a uma fonte de energia - + The system is not plugged in to a power source. O sistema não está ligado a uma fonte de energia. - + is connected to the Internet está ligado à internet - + The system is not connected to the Internet. O sistema não está ligado à internet. - + The setup program is not running with administrator rights. O programa de instalação está agora a correr com direitos de administrador. - + The installer is not running with administrator rights. O instalador não está a correr com permissões de administrador. - + The screen is too small to display the setup program. O ecrã é demasiado pequeno para mostrar o programa de instalação. - + The screen is too small to display the installer. O ecrã tem um tamanho demasiado pequeno para mostrar o instalador. @@ -1380,27 +1406,27 @@ O instalador será encerrado e todas as alterações serão perdidas.Formulário - + I accept the terms and conditions above. Aceito os termos e condições acima descritos. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acordo de Licença</h1>Este procedimento instalará programas proprietários que estão sujeitos a termos de licenciamento. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor reveja o Acordo de Utilização do Utilizador Final (EULA) acima.<br/>Se não concordar com os termos, o procedimento de instalação não pode continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acordo de Licença</h1>Este procedimento pode instalar programas proprietários que estão sujeitos a termos de licenciamento com vista a proporcionar funcionalidades adicionais e melhorar a experiência do utilizador. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor reveja o Acordo de Utilização do Utilizador Final (EULA) acima.<br/>Se não concordar com os termos, programas proprietários não serão instalados, e em vez disso serão usadas soluções alternativas de código aberto. @@ -1408,7 +1434,7 @@ O instalador será encerrado e todas as alterações serão perdidas. LicenseViewStep - + License Licença @@ -1416,64 +1442,64 @@ O instalador será encerrado e todas as alterações serão perdidas. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 controlador</strong><br/>por %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 controlador gráfico</strong><br/><font color="Grey">por %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 extra para navegador</strong><br/><font color="Grey">por %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">por %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pacote</strong><br/><font color="Grey">por %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">por %2</font> - + Shows the complete license text Mostra ao texto completo da licença - + Hide license text Esconder texto da licença - + Show license agreement Mostrar acordo da licença - + Hide license agreement Esconder acordo da licença - + Opens the license agreement in a browser window. Abre o acordo da licença numa janela do navegador. - + <a href="%1">View license agreement</a> <a href="%1">Ver acordo da licença</a> @@ -1574,15 +1600,20 @@ O instalador será encerrado e todas as alterações serão perdidas.Descrição - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalaçao de Rede. (Desativada: Incapaz de buscar listas de pacotes, verifique a sua ligação de rede) - + Network Installation. (Disabled: Received invalid groups data) Instalação de Rede. (Desativada: Recebeu dados de grupos inválidos) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ O instalador será encerrado e todas as alterações serão perdidas.Erro desconhecido + + PackageChooserPage + + + Form + Forma + + + + Product Name + + + + + TextLabel + EtiquetaTexto + + + + Long Product Description + + + + + Package Selection + Seleção de pacote + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ O instalador será encerrado e todas as alterações serão perdidas. ProcessResult - + There was no output from the command. O comando não produziu saída de dados. - + Output: @@ -2284,52 +2356,52 @@ Saída de Dados: - + External command crashed. O comando externo "crashou". - + Command <i>%1</i> crashed. Comando <i>%1</i> "crashou". - + External command failed to start. Comando externo falhou ao iniciar. - + Command <i>%1</i> failed to start. Comando <i>%1</i> falhou a inicialização. - + Internal error when starting command. Erro interno ao iniciar comando. - + Bad parameters for process job call. Maus parâmetros para chamada de processamento de tarefa. - + External command failed to finish. Comando externo falhou a finalização. - + Command <i>%1</i> failed to finish in %2 seconds. Comando <i>%1</i> falhou ao finalizar em %2 segundos. - + External command finished with errors. Comando externo finalizou com erros. - + Command <i>%1</i> finished with exit code %2. Comando <i>%1</i> finalizou com código de saída %2. @@ -2388,6 +2460,16 @@ Saída de Dados: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Saída de Dados: TrackingInstallJob - + Installation feedback Relatório da Instalação - + Sending installation feedback. A enviar relatório da instalação. - + Internal error in install-tracking. Erro interno no rastreio da instalação. - + HTTP request timed out. Expirou o tempo para o pedido de HTTP. @@ -2943,28 +3025,28 @@ Saída de Dados: TrackingMachineNeonJob - + Machine feedback Relatório da máquina - + Configuring machine feedback. A configurar relatório da máquina. - - + + Error in machine feedback configuration. Erro na configuração do relatório da máquina. - + Could not configure machine feedback correctly, script error %1. Não foi possível configurar corretamente o relatório da máquina, erro de script %1. - + Could not configure machine feedback correctly, Calamares error %1. Não foi possível configurar corretamente o relatório da máquina, erro do Calamares %1. @@ -2997,17 +3079,17 @@ Saída de Dados: O rastreio de instalação ajuda %1 a ver quanto utilizadores eles têm, qual o hardware que instalam %1 e (com a duas últimas opções abaixo), obter informação contínua sobre aplicações preferidas. Para ver o que será enviado, por favor clique no ícone de ajuda a seguir a cada área. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Ao selecionar isto estará a enviar informação acerca da sua instalação e hardware. Esta informação será <b>enviada apenas uma vez</b> depois da instalação terminar. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Ao selecionar isto irá <b>periodicamente</b> enviar informação sobre a instalação, hardware e aplicações, para %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Ao selecionar isto irá periodicamente enviar informação sobre a instalação, hardware, aplicações e padrões de uso, para %1. @@ -3015,7 +3097,7 @@ Saída de Dados: TrackingViewStep - + Feedback Relatório @@ -3072,6 +3154,19 @@ Saída de Dados: Utilizadores + + VariantModel + + + Key + + + + + Value + Valor + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Saída de Dados: Formulário - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Notas de lançamento - + &Known issues &Problemas conhecidos - - - Select language - Selecione o idioma - - - + &Support &Suporte @@ -3159,42 +3279,42 @@ Saída de Dados: &Acerca - + <h1>Welcome to the %1 installer.</h1> <h1>Bem vindo ao instalador do %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Bem vindo ao instalador Calamares para %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Bem vindo ao programa de instalação Calamares para %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Bem vindo à instalação de %1.</h1> - + About %1 setup Sobre a instalação de %1 - + About %1 installer Acerca %1 instalador - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>para %3</strong><br/><br/>Direitos de Cópia 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Direitos de Cópia 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos à <a href="https://calamares.io/team/">Equipa Calamares</a> e à<a href="https://www.transifex.com/calamares/calamares/">Equipa de tradutores do Calamares</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> desenvolvido e patrocinado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 suporte @@ -3202,7 +3322,7 @@ Saída de Dados: WelcomeViewStep - + Welcome Bem-vindo diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index b979ba4c8..de625aad3 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formular - + GlobalStorage Stocare globală - + JobQueue Coadă de sarcini - + Modules Module - + Type: Tipul: - - + + none nimic - + Interface: Interfața: - + Tools Unelte - + Reload Stylesheet - + Widget Tree - + Debug information Informație pentru depanare @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instalează @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Gata @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Se rulează operațiunea %1. - + Bad working directory path Calea dosarului de lucru este proastă - + Working directory %1 for python job %2 is not readable. Dosarul de lucru %1 pentru sarcina python %2 nu este citibil. - + Bad main script file Fișierul script principal este prost - + Main script file %1 for python job %2 is not readable. Fișierul script peincipal %1 pentru sarcina Python %2 nu este citibil. - + Boost.Python error in job "%1". Eroare Boost.Python în sarcina „%1”. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Înapoi - + &Next &Următorul - + &Cancel &Anulează - + Cancel setup without changing the system. - + Cancel installation without changing the system. Anulează instalarea fără schimbarea sistemului. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Instalează - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Anulez instalarea? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doriți să anulați procesul curent de instalare? Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + + &Yes &Da - + + &No &Nu - + &Close În&chide - + Continue with setup? Continuați configurarea? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Programul de instalare %1 este pregătit să facă schimbări pe discul dumneavoastră pentru a instala %2.<br/><strong>Nu veți putea anula aceste schimbări.</strong> - + &Install now &Instalează acum - + Go &back Î&napoi - + &Done &Gata - + The installation is complete. Close the installer. Instalarea este completă. Închide instalatorul. - + Error Eroare - + Installation Failed Instalare eșuată @@ -382,26 +399,35 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. CalamaresPython::Helper - + Unknown exception type Tip de excepție necunoscut - + unparseable Python error Eroare Python neanalizabilă - + unparseable Python traceback Traceback Python neanalizabil - + Unfetchable Python error. Eroare Python nepreluabilă + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. CommandList - - + + Could not run command. Nu s-a putut executa comanda. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. ContextualProcessJob - + Contextual Processes Job Job de tip Contextual Process @@ -968,7 +994,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1199,62 +1225,62 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source este alimentat cu curent - + The system is not plugged in to a power source. Sistemul nu este alimentat cu curent. - + is connected to the Internet este conectat la Internet - + The system is not connected to the Internet. Sistemul nu este conectat la Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Programul de instalare nu rulează cu privilegii de administrator. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Ecranu este prea mic pentru a afișa instalatorul. @@ -1379,27 +1405,27 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Formular - + I accept the terms and conditions above. Sunt de acord cu termenii și condițiile de mai sus. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acord de licențiere</h1>Această procedură va instala software proprietar supus unor termeni de licențiere. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Vă rugăm să citiți Licența de utilizare (EULA) de mai sus.<br>Dacă nu sunteți de acord cu termenii, procedura de instalare nu poate continua. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acord de licențiere</h1>Această procedură de instalare poate instala software proprietar supus unor termeni de licențiere, pentru a putea oferi funcții suplimentare și pentru a îmbunătăți experiența utilizatorilor. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Vă rugăm să citiți Licența de utilizare (EULA) de mai sus.<br/>Dacă nu sunteți de acord cu termenii, softwareul proprietar nu va fi instalat și se vor folosi alternative open-source în loc. @@ -1407,7 +1433,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. LicenseViewStep - + License Licență @@ -1415,64 +1441,64 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 driver</strong><br/>de %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 driver grafic</strong><br/><font color="Grey">de %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 plugin de browser</strong><br/><font color="Grey">de %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">de %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 pachet</strong><br/><font color="Grey">de %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">de %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Despre - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalarea rețelei. (Dezactivat: Nu se pot obține listele de pachete, verificați conexiunea la rețea) - + Network Installation. (Disabled: Received invalid groups data) Instalare prin rețea. (Dezactivată: S-au recepționat grupuri de date invalide) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1868,6 +1899,47 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Eroare necunoscuta + + PackageChooserPage + + + Form + Formular + + + + Product Name + + + + + TextLabel + EtichetăText + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2270,14 +2342,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. ProcessResult - + There was no output from the command. Nu a existat nici o iesire din comanda - + Output: @@ -2286,52 +2358,52 @@ Output - + External command crashed. Comanda externă a eșuat. - + Command <i>%1</i> crashed. Comanda <i>%1</i> a eșuat. - + External command failed to start. Comanda externă nu a putut fi pornită. - + Command <i>%1</i> failed to start. Comanda <i>%1</i> nu a putut fi pornită. - + Internal error when starting command. Eroare internă la pornirea comenzii. - + Bad parameters for process job call. Parametri proști pentru apelul sarcinii de proces. - + External command failed to finish. Finalizarea comenzii externe a eșuat. - + Command <i>%1</i> failed to finish in %2 seconds. Comanda <i>%1</i> nu a putut fi finalizată în %2 secunde. - + External command finished with errors. Comanda externă finalizată cu erori. - + Command <i>%1</i> finished with exit code %2. Comanda <i>%1</i> finalizată cu codul de ieșire %2. @@ -2390,6 +2462,16 @@ Output language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2922,22 +3004,22 @@ Output TrackingInstallJob - + Installation feedback Feedback pentru instalare - + Sending installation feedback. Trimite feedback pentru instalare - + Internal error in install-tracking. Eroare internă în gestionarea instalării. - + HTTP request timed out. Requestul HTTP a atins time out. @@ -2945,28 +3027,28 @@ Output TrackingMachineNeonJob - + Machine feedback Feedback pentru mașină - + Configuring machine feedback. Se configurează feedback-ul pentru mașină - - + + Error in machine feedback configuration. Eroare în configurația de feedback pentru mașină. - + Could not configure machine feedback correctly, script error %1. Nu s-a putut configura feedback-ul pentru mașină în mod corect, eroare de script %1 - + Could not configure machine feedback correctly, Calamares error %1. Nu s-a putut configura feedback-ul pentru mașină în mod corect, eroare Calamares %1. @@ -2999,17 +3081,17 @@ Output Urmărirea instalărilor ajută %1 să măsoare numărul de utilizatori, hardware-ul pe care se instalează %1 și (cu ajutorul celor două opțiuni de mai jos) poate obține informații în mod continuu despre aplicațiile preferate. Pentru a vedea ce informații se trimit, clic pe pictograma de ajutor din dreptul fiecărei zone. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Alegând să trimiți aceste informații despre instalare și hardware vei trimite aceste informații <b>o singură dată</b> după finalizarea instalării. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Prin această alegere vei trimite informații despre instalare, hardware și aplicații în mod <b>periodic</b>. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Prin această alegere vei trimite informații în mod <b>regulat</b> despre instalare, hardware, aplicații și tipare de utilizare la %1. @@ -3017,7 +3099,7 @@ Output TrackingViewStep - + Feedback Feedback @@ -3074,6 +3156,19 @@ Output Utilizatori + + VariantModel + + + Key + + + + + Value + Valoare + + VolumeGroupBaseDialog @@ -3135,23 +3230,48 @@ Output Formular - - &Release notes - &Note asupra ediției - - - - &Known issues - &Probleme cunoscute - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Note asupra ediției + + + + &Known issues + &Probleme cunoscute + + + &Support &Suport @@ -3161,42 +3281,42 @@ Output &Despre - + <h1>Welcome to the %1 installer.</h1> <h1>Bine ați venit la programul de instalare pentru %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Bun venit în programul de instalare Calamares pentru %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Despre programul de instalare %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 suport @@ -3204,7 +3324,7 @@ Output WelcomeViewStep - + Welcome Bine ați venit diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index b61661e1a..eb6fb7f30 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Пустая страница @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Форма - + GlobalStorage Глобальное хранилище - + JobQueue Очередь заданий - + Modules Модули - + Type: Тип: - - + + none нет - + Interface: Интерфейс: - + Tools Инструменты - + Reload Stylesheet Перезагрузить таблицу стилей - + Widget Tree - + Debug information Отладочная информация @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Установить @@ -133,7 +133,7 @@ Задание не успешно (%1) - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Готово @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Выполняется действие %1. - + Bad working directory path Неверный путь к рабочему каталогу - + Working directory %1 for python job %2 is not readable. Рабочий каталог %1 для задачи python %2 недоступен для чтения. - + Bad main script file Ошибочный главный файл сценария - + Main script file %1 for python job %2 is not readable. Главный файл сценария %1 для задачи python %2 недоступен для чтения. - + Boost.Python error in job "%1". Boost.Python ошибка в задаче "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. Проверка соответствия системным требованиям завершена. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Назад - + &Next &Далее - + &Cancel О&тмена - + Cancel setup without changing the system. Отменить установку без изменения системы. - + Cancel installation without changing the system. Отменить установку без изменения системы. - + Setup Failed Сбой установки - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Ошибка инициализации Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Не удалось установить %1. Calamares не удалось загрузить все сконфигурированные модули. Эта проблема вызвана тем, как ваш дистрибутив использует Calamares. - + <br/>The following modules could not be loaded: <br/>Не удалось загрузить следующие модули: - + Continue with installation? Продолжить установку? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Set up now - + &Set up - + &Install &Установить - + Setup is complete. Close the setup program. Установка завершена. Закройте программу установки. - + Cancel setup? Отменить установку? - + Cancel installation? Отменить установку? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Прервать процесс установки? Программа установки прекратит работу и все изменения будут потеряны. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Действительно прервать процесс установки? Программа установки сразу прекратит работу, все изменения будут потеряны. - + + &Yes &Да - + + &No &Нет - + &Close &Закрыть - + Continue with setup? Продолжить установку? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Install now Приступить к &установке - + Go &back &Назад - + &Done &Готово - + The installation is complete. Close the installer. Установка завершена. Закройте установщик. - + Error Ошибка - + Installation Failed Установка завершилась неудачей @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Неизвестный тип исключения - + unparseable Python error неподдающаяся обработке ошибка Python - + unparseable Python traceback неподдающийся обработке traceback Python - + Unfetchable Python error. Неизвестная ошибка Python + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. Не удалось выполнить команду. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Команда выполняется в окружении установщика, и ей необходимо знать путь корневого раздела, но rootMountPoint не определено. - + The command needs to know the user's name, but no username is defined. Команде необходимо знать имя пользователя, но оно не задано. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space доступно как минимум %1 ГБ свободного дискового пространства - + There is not enough drive space. At least %1 GiB is required. Недостаточно места на дисках. Необходимо как минимум %1 ГБ. - + has at least %1 GiB working memory доступно как минимум %1 ГБ оперативной памяти - + The system does not have enough working memory. At least %1 GiB is required. Недостаточно оперативной памяти. Необходимо как минимум %1 ГБ. - + is plugged in to a power source подключено сетевое питание - + The system is not plugged in to a power source. Сетевое питание не подключено. - + is connected to the Internet присутствует выход в сеть Интернет - + The system is not connected to the Internet. Отсутствует выход в Интернет. - + The setup program is not running with administrator rights. Программа установки запущена без прав администратора. - + The installer is not running with administrator rights. Программа установки не запущена с привилегиями администратора. - + The screen is too small to display the setup program. Экран слишком маленький, чтобы отобразить программу установки. - + The screen is too small to display the installer. Слишком маленький экран для окна установщика. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. Форма - + I accept the terms and conditions above. Я принимаю приведенные выше условия. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Лицензионное соглашение</h1>На этом этапе будет установлено программное обеспечение с проприетарной лицензией. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Ознакомьтесь с приведенными выше Лицензионными соглашениями пользователя (EULA).<br/>Если не согласны с условиями, продолжение установки невозможно. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Лицензионное соглашение</h1>На этом этапе можно установить программное обеспечение с проприетарной лицензией, дающее дополнительные возможности и повышающее удобство работы. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Ознакомьтесь выше, с Лицензионными соглашениями конечного пользователя (EULA).<br/>Если вы не согласны с условиями, проприетарное программное обеспечение будет заменено на альтернативное открытое программное обеспечение. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License Лицензия @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>драйвер %1</strong><br/>от %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>видео драйвер %1</strong><br/><font color="Grey">от %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>плагин браузера %1</strong><br/><font color="Grey">от %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>кодек %1</strong><br/><font color="Grey">от %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>пакет %1</strong><br/><font color="Grey">от %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">от %2</font> - + Shows the complete license text Показывает полный текст лицензии - + Hide license text Скрыть текст лицензии - + Show license agreement Показать лицензионное соглашение - + Hide license agreement Скрыть лицензионное соглашение - + Opens the license agreement in a browser window. Открывает лицензионное соглашение в окне браузера. - + <a href="%1">View license agreement</a> <a href="%1">Просмотреть лицензионное соглашение</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. Описание - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Установка по сети. (Отключено: не удается получить список пакетов, проверьте сетевое подключение) - + Network Installation. (Disabled: Received invalid groups data) Установка по сети. (Отключено: получены неверные сведения о группах) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. Неизвестная ошибка + + PackageChooserPage + + + Form + Форма + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,14 +2339,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. Вывода из команды не последовало. - + Output: @@ -2283,52 +2355,52 @@ Output: - + External command crashed. Сбой внешней команды. - + Command <i>%1</i> crashed. Сбой команды <i>%1</i>. - + External command failed to start. Не удалось запустить внешнюю команду. - + Command <i>%1</i> failed to start. Не удалось запустить команду <i>%1</i>. - + Internal error when starting command. Внутренняя ошибка при запуске команды. - + Bad parameters for process job call. Неверные параметры для вызова процесса. - + External command failed to finish. Не удалось завершить внешнюю команду. - + Command <i>%1</i> failed to finish in %2 seconds. Команда <i>%1</i> не завершилась за %2 с. - + External command finished with errors. Внешняя команда завершилась с ошибками - + Command <i>%1</i> finished with exit code %2. Команда <i>%1</i> завершилась с кодом %2. @@ -2387,6 +2459,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2919,22 +3001,22 @@ Output: TrackingInstallJob - + Installation feedback Отчёт об установке - + Sending installation feedback. Отправка отчёта об установке. - + Internal error in install-tracking. - + HTTP request timed out. Тайм-аут запроса HTTP. @@ -2942,28 +3024,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. Не удалось настроить отзывы о компьютере, ошибка сценария %1. - + Could not configure machine feedback correctly, Calamares error %1. Не удалось настроить отзывы о компьютере, ошибка Calamares %1. @@ -2996,17 +3078,17 @@ Output: Отслеживание установок позволяет %1 узнать, сколько у них пользователей, на каком оборудовании устанавливается %1, и (с двумя последними опциями) постоянно получать сведения о предпочитаемых приложениях. Чтобы увидеть, что будет отправлено, щелкните по значку справки рядом с каждой областью. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Отметив этот пункт, вы поделитесь информацией о установке и своем оборудовании. Эта информация <b>будет отправлена только один раз</b> после завершения установки. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Отметив этот пункт, вы будете <b>периодически</b> отправлять %1 информацию о своей установке, оборудовании и приложениях. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Отметив этот пункт, вы будете <b>регулярно</b> отправлять %1 информацию о своей установке, оборудовании, приложениях и паттернах их использования. @@ -3014,7 +3096,7 @@ Output: TrackingViewStep - + Feedback Отзывы @@ -3071,6 +3153,19 @@ Output: Пользователи + + VariantModel + + + Key + + + + + Value + Значение + + VolumeGroupBaseDialog @@ -3132,23 +3227,48 @@ Output: Форма - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Примечания к выпуску - + &Known issues &Известные проблемы - - - Select language - Выберите язык - - - + &Support П&оддержка @@ -3158,42 +3278,42 @@ Output: &О программе - + <h1>Welcome to the %1 installer.</h1> <h1>Добро пожаловать в программу установки %1 .</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Добро пожаловать в установщик Calamares для %1 .</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Добро пожаловать в программу установки Calamares для %1 .</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Добро пожаловать в программу установки %1 .</h1> - + About %1 setup О установке %1 - + About %1 installer О программе установки %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 поддержка @@ -3201,7 +3321,7 @@ Output: WelcomeViewStep - + Welcome Добро пожаловать diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 04f9e4fd9..fc8984b30 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Prázdna stránka @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Forma - + GlobalStorage Globálne úložisko - + JobQueue Fronta úloh - + Modules Moduly - + Type: Typ: - - + + none žiadny - + Interface: Rozhranie: - + Tools Nástroje - + Reload Stylesheet - + Widget Tree - + Debug information Ladiace informácie @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Inštalácia @@ -133,7 +133,7 @@ Úloha zlyhala (%1) - + Programmed job failure was explicitly requested. Zlyhanie naprogramovanej úlohy bolo výlučne vyžiadané. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Hotovo @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Spúšťa sa operácia %1. - + Bad working directory path Nesprávna cesta k pracovnému adresáru - + Working directory %1 for python job %2 is not readable. Pracovný adresár %1 pre úlohu jazyka python %2 nie je možné čítať. - + Bad main script file Nesprávny súbor hlavného skriptu - + Main script file %1 for python job %2 is not readable. Súbor hlavného skriptu %1 pre úlohu jazyka python %2 nie je možné čítať. - + Boost.Python error in job "%1". Chyba knižnice Boost.Python v úlohe „%1“. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Čaká sa na %n modul.Čaká sa na %n moduly.Čaká sa na %n modulov.Čaká sa na %n modulov. - + (%n second(s)) (%n sekunda)(%n sekundy)(%n sekúnd)(%n sekúnd) - + System-requirements checking is complete. Kontrola systémových požiadaviek je dokončená. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Späť - + &Next Ď&alej - + &Cancel &Zrušiť - + Cancel setup without changing the system. Zrušenie inštalácie bez zmien v systéme. - + Cancel installation without changing the system. Zruší inštaláciu bez zmeny systému. - + Setup Failed Inštalácia zlyhala - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Zlyhala inicializácia inštalátora Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Nie je možné nainštalovať %1. Calamares nemohol načítať všetky konfigurované moduly. Je problém s tým, ako sa Calamares používa pri distribúcii. - + <br/>The following modules could not be loaded: <br/>Nebolo možné načítať nasledujúce moduly - + Continue with installation? Pokračovať v inštalácii? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install _Inštalovať - + Setup is complete. Close the setup program. - + Cancel setup? Zrušiť inštaláciu? - + Cancel installation? Zrušiť inštaláciu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Naozaj chcete zrušiť aktuálny priebeh inštalácie? Inštalačný program bude ukončený a zmeny budú stratené. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Skutočne chcete zrušiť aktuálny priebeh inštalácie? Inštalátor sa ukončí a všetky zmeny budú stratené. - + + &Yes _Áno - + + &No _Nie - + &Close _Zavrieť - + Continue with setup? Pokračovať v inštalácii? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Inštalátor distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> - + &Install now &Inštalovať teraz - + Go &back Prejsť s&päť - + &Done _Dokončiť - + The installation is complete. Close the installer. Inštalácia je dokončená. Zatvorí inštalátor. - + Error Chyba - + Installation Failed Inštalácia zlyhala @@ -383,26 +400,35 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. CalamaresPython::Helper - + Unknown exception type Neznámy typ výnimky - + unparseable Python error Neanalyzovateľná chyba jazyka Python - + unparseable Python traceback Neanalyzovateľný ladiaci výstup jazyka Python - + Unfetchable Python error. Nezískateľná chyba jazyka Python. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. CommandList - - + + Could not run command. Nepodarilo sa spustiť príkaz. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Príkaz beží v hostiteľskom prostredí a potrebuje poznať koreňovú cestu, ale nie je definovaný žiadny koreňový prípojný bod. - + The command needs to know the user's name, but no username is defined. Príkaz musí poznať meno používateľa, ale žiadne nie je definované. @@ -632,7 +658,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. ContextualProcessJob - + Contextual Processes Job Úloha kontextových procesov @@ -969,7 +995,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. DummyCppJob - + Dummy C++ Job Fiktívna úloha jazyka C++ @@ -1200,62 +1226,62 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source je pripojený k zdroju napájania - + The system is not plugged in to a power source. Počítač nie je pripojený k zdroju napájania. - + is connected to the Internet je pripojený k internetu - + The system is not connected to the Internet. Počítač nie je pripojený k internetu. - + The setup program is not running with administrator rights. Inštalačný program nie je spustený s právami správcu. - + The installer is not running with administrator rights. Inštalátor nie je spustený s právami správcu. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Obrazovka je príliš malá na to, aby bolo možné zobraziť inštalátor. @@ -1380,27 +1406,27 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Forma - + I accept the terms and conditions above. Prijímam podmienky vyššie. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licenčné podmienky</h1>Tento proces inštalácie môže nainštalovať uzavretý softvér, ktorý je predmetom licenčných podmienok. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Prosím, prečítajte si licenčnú zmluvu koncového používateľa (EULAs) vyššie.<br/>Ak nesúhlasíte s podmienkami, proces inštalácie nemôže pokračovať. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licenčné podmienky</h1>Tento proces inštalácie môže nainštalovať uzavretý softvér, ktorý je predmetom licenčných podmienok v rámci poskytovania dodatočných funkcií a vylepšenia používateľských skúseností. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Prosím, prečítajte si licenčnú zmluvu koncového používateľa (EULAs) vyššie.<br/>Ak nesúhlasíte s podmienkami, uzavretý softvér nebude nainštalovaný a namiesto neho budú použité alternatívy s otvoreným zdrojom. @@ -1408,7 +1434,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. LicenseViewStep - + License Licencia @@ -1416,64 +1442,64 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>Ovládač %1</strong><br/>vytvoril %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Ovládač grafickej karty %1</strong><br/><font color="Grey">vytvoril %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Zásuvný modul prehliadača %1</strong><br/><font color="Grey">vytvoril %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Kodek %1</strong><br/><font color="Grey">vytvoril %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Balík %1</strong><br/><font color="Grey">vytvoril %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">vytvoril %2</font> - + Shows the complete license text - + Hide license text <br> - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1574,15 +1600,20 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Popis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Sieťová inštalácia. (Zakázaná: Nie je možné získať zoznamy balíkov. Skontrolujte vaše sieťové pripojenie.) - + Network Installation. (Disabled: Received invalid groups data) Sieťová inštalácia. (Zakázaná: Boli prijaté neplatné údaje o skupinách) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Neznáma chyba + + PackageChooserPage + + + Form + Forma + + + + Product Name + + + + + TextLabel + Textová menovka + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,14 +2340,14 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. ProcessResult - + There was no output from the command. Žiadny výstup z príkazu. - + Output: @@ -2284,52 +2356,52 @@ Výstup: - + External command crashed. Externý príkaz nečakane skončil. - + Command <i>%1</i> crashed. Príkaz <i>%1</i> nečakane skončil. - + External command failed to start. Zlyhalo spustenie externého príkazu. - + Command <i>%1</i> failed to start. Zlyhalo spustenie príkazu <i>%1</i> . - + Internal error when starting command. Počas spúšťania príkazu sa vyskytla interná chyba. - + Bad parameters for process job call. Nesprávne parametre pre volanie úlohy procesu. - + External command failed to finish. Zlyhalo dokončenie externého príkazu. - + Command <i>%1</i> failed to finish in %2 seconds. Zlyhalo dokončenie príkazu <i>%1</i> počas doby %2 sekúnd. - + External command finished with errors. Externý príkaz bol dokončený s chybami. - + Command <i>%1</i> finished with exit code %2. Príkaz <i>%1</i> skončil s ukončovacím kódom %2. @@ -2388,6 +2460,16 @@ Výstup: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2920,22 +3002,22 @@ Výstup: TrackingInstallJob - + Installation feedback Spätná väzba inštalácie - + Sending installation feedback. Odosiela sa spätná väzba inštalácie. - + Internal error in install-tracking. Interná chyba príkazu install-tracking. - + HTTP request timed out. Požiadavka HTTP vypršala. @@ -2943,28 +3025,28 @@ Výstup: TrackingMachineNeonJob - + Machine feedback Spätná väzba počítača - + Configuring machine feedback. Nastavuje sa spätná väzba počítača. - - + + Error in machine feedback configuration. Chyba pri nastavovaní spätnej väzby počítača. - + Could not configure machine feedback correctly, script error %1. Nepodarilo sa správne nastaviť spätnú väzbu počítača. Chyba skriptu %1. - + Could not configure machine feedback correctly, Calamares error %1. Nepodarilo sa správne nastaviť spätnú väzbu počítača. Chyba inštalátora Calamares %1. @@ -2997,17 +3079,17 @@ Výstup: Inštalácia sledovania pomáha distribúcii %1 vidieť, koľko používateľov ju používa, na akom hardvéri inštalujú distribúciu %1 a (s poslednými dvoma voľbami nižšie) získavať nepretržité informácie o uprednostňovaných aplikáciách. Na zobrazenie, čo bude odosielané, prosím, kliknite na ikonu pomocníka vedľa každej oblasti. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Vybraním tejto voľby odošlete informácie o vašej inštalácii a hardvéri. Tieto informácie budú <b>odoslané iba raz</b> po dokončení inštalácie. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Vybraním tejto voľby budete <b>pravidelne</b> odosielať informácie o vašej inštalácii, hardvéri a aplikáciách distribúcii %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Vybraním tejto voľby budete <b>neustále</b> odosielať informácie o vašej inštalácii, hardvéri, aplikáciách a charakteristike používania distribúcii %1. @@ -3015,7 +3097,7 @@ Výstup: TrackingViewStep - + Feedback Spätná väzba @@ -3072,6 +3154,19 @@ Výstup: Používatelia + + VariantModel + + + Key + + + + + Value + Hodnota + + VolumeGroupBaseDialog @@ -3133,23 +3228,48 @@ Výstup: Forma - - &Release notes - &Poznámky k vydaniu - - - - &Known issues - &Známe problémy - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + &Poznámky k vydaniu + + + + &Known issues + &Známe problémy + + + &Support Po&dpora @@ -3159,42 +3279,42 @@ Výstup: &O inštalátore - + <h1>Welcome to the %1 installer.</h1> <h1>Vitajte v inštalátore distribúcie %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Vitajte v aplikácii Calamares, inštalátore distribúcie %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer O inštalátore %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>pre %3</strong><br/><br/>Autorské práva 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorské práva 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Poďakovanie patrí <a href="https://calamares.io/team/">tímu inštalátora Calamares</a> a <a href="https://www.transifex.com/calamares/calamares/">prekladateľskému tímu inštalátora Calamares</a>.<br/><br/>Vývoj inštalátora <a href="https://calamares.io/">Calamares</a> je sponzorovaný spoločnosťou <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - oslobodzujúci softvér. - + %1 support Podpora distribúcie %1 @@ -3202,7 +3322,7 @@ Výstup: WelcomeViewStep - + Welcome Uvítanie diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 35ebd55f6..624eab5dc 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Oblika - + GlobalStorage - + JobQueue - + Modules - + Type: Vrsta: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Namesti @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Končano @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path Nepravilna pot delovne mape - + Working directory %1 for python job %2 is not readable. Ni mogoče brati delovne mape %1 za pythonovo opravilo %2. - + Bad main script file Nepravilna datoteka glavnega skripta - + Main script file %1 for python job %2 is not readable. Ni mogoče brati datoteke %1 glavnega skripta za pythonovo opravilo %2. - + Boost.Python error in job "%1". Napaka Boost.Python v opravilu "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Nazaj - + &Next &Naprej - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Preklic namestitve? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ali res želite preklicati trenutni namestitveni proces? Namestilni program se bo končal in vse spremembe bodo izgubljene. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Napaka - + Installation Failed Namestitev je spodletela @@ -382,26 +399,35 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. CalamaresPython::Helper - + Unknown exception type Neznana vrsta izjeme - + unparseable Python error nerazčlenljiva napaka Python - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source je priklopljen na vir napajanja - + The system is not plugged in to a power source. - + is connected to the Internet je povezan s spletom - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Oblika - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. LicenseViewStep - + License @@ -1415,64 +1441,64 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + PackageChooserPage + + + Form + Oblika + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Nepravilni parametri za klic procesa opravila. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Oblika - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3155,42 +3275,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Dobrodošli diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index e843247c7..2a35ea2c8 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Faqe e Zbrazët @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Formular - + GlobalStorage GlobalStorage - + JobQueue Radhë Aktesh - + Modules Module - + Type: Lloj: - - + + none asnjë - + Interface: Ndërfaqe: - + Tools Mjete - + Reload Stylesheet Ringarko Fletëstilin - + Widget Tree Pemë Widget-sh - + Debug information Të dhëna diagnostikimi @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Ujdise - + Install Instaloje @@ -133,7 +133,7 @@ Akti dështoi (%1) - + Programmed job failure was explicitly requested. Dështimi i programuar i aktit qe kërkuar shprehimisht. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done U bë @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Xhiroje urdhrin '%1' te sistemi i synuar. - + Run command '%1'. Xhiro urdhrin '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Po xhirohet %1 veprim. - + Bad working directory path Shteg i gabuar drejtorie pune - + Working directory %1 for python job %2 is not readable. Drejtoria e punës %1 për aktin python %2 s’është e lexueshme. - + Bad main script file Kartelë kryesore programthi e dëmtuar - + Main script file %1 for python job %2 is not readable. Kartela kryesore e programthit file %1 për aktin python %2 s’është e lexueshme. - + Boost.Python error in job "%1". Gabim Boost.Python tek akti \"%1\". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Po pritet për %n modul(e).Po pritet për %n modul(e). - + (%n second(s)) (%n sekondë(a))(%n sekondë(a)) - + System-requirements checking is complete. Kontrolli i domosdoshmërive të sistemit u plotësua. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Mbrapsht - + &Next &Pasuesi - + &Cancel &Anuloje - + Cancel setup without changing the system. Anuloje rregullimin pa ndryshuar sistemin. - + Cancel installation without changing the system. Anuloje instalimin pa ndryshuar sistemin. - + Setup Failed Rregullimi Dështoi - + + Would you like to paste the install log to the web? + Do të donit të hidhet në web regjistri i instalimit? + + + + Install Log Paste URL + URL Ngjitjeje Regjistri Instalimi + + + + The upload was unsuccessful. No web-paste was done. + Ngarkimi s’qe i suksesshëm. S’u bë hedhje në web. + + + Calamares Initialization Failed Gatitja e Calamares-it Dështoi - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 s’mund të instalohet. Calamares s’qe në gjendje të ngarkonte krejt modulet e konfiguruar. Ky është një problem që lidhet me mënyrën se si përdoret Calamares nga shpërndarja. - + <br/>The following modules could not be loaded: <br/>S’u ngarkuan dot modulet vijues: - + Continue with installation? Të vazhdohet me instalimin? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Programi i rregullimit %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të rregullojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Set up now &Rregulloje tani - + &Set up &Rregulloje - + &Install &Instaloje - + Setup is complete. Close the setup program. Rregullimi është i plotë. Mbylleni programin e rregullimit. - + Cancel setup? Të anulohet rregullimi? - + Cancel installation? Të anulohet instalimi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i rregullimit? Programi i rregullimit do të mbyllet dhe krejt ndryshimet do të humbin. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i instalimit? Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - + + &Yes &Po - + + &No &Jo - + &Close &Mbylle - + Continue with setup? Të vazhdohet me rregullimin? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instaluesi %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të instalojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Install now &Instaloje tani - + Go &back Kthehu &mbrapsht - + &Done &U bë - + The installation is complete. Close the installer. Instalimi u plotësua. Mbylle instaluesin. - + Error Gabim - + Installation Failed Instalimi Dështoi @@ -383,26 +400,36 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. CalamaresPython::Helper - + Unknown exception type Lloj i panjohur përjashtimi - + unparseable Python error Gabim kodi Python të papërtypshëm - + unparseable Python traceback <i>Traceback</i> Python i papërtypshëm - + Unfetchable Python error. Gabim Python mosprurjeje kodi. + + CalamaresUtils + + + Install log posted to: +%1 + Regjistri i instalimit u postua te: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. CommandList - - + + Could not run command. S’u xhirua dot urdhri. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Urdhri xhirohet në mjedisin strehë dhe është e nevojshme të dijë shtegun për rrënjën, por nuk ka rootMountPoint të përcaktuar. - + The command needs to know the user's name, but no username is defined. Urdhri lypset të dijë emrin e përdoruesit, por s’ka të përcaktuar emër përdoruesi. @@ -632,7 +659,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. ContextualProcessJob - + Contextual Processes Job Akt Procesesh Kontekstuale @@ -969,7 +996,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. DummyCppJob - + Dummy C++ Job Akt C++ Dummy @@ -1200,62 +1227,62 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. GeneralRequirements - + has at least %1 GiB available drive space ka të paktën %1 GiB hapësirë të përdorshme - + There is not enough drive space. At least %1 GiB is required. S’ka hapësirë të mjaftueshme. Lypset të paktën %1 GiB. - + has at least %1 GiB working memory ka të paktën %1 GiB kujtesë të përdorshme - + The system does not have enough working memory. At least %1 GiB is required. Sistemi s’ka kujtesë të mjaftueshme për të punuar. Lypsen të paktën %1 GiB. - + is plugged in to a power source është në prizë - + The system is not plugged in to a power source. Sistemi s'është i lidhur me ndonjë burim rryme. - + is connected to the Internet është lidhur në Internet - + The system is not connected to the Internet. Sistemi s’është i lidhur në Internet. - + The setup program is not running with administrator rights. Programi i rregullimit nuk po xhirohen me të drejta përgjegjësi. - + The installer is not running with administrator rights. Instaluesi s’po xhirohet me të drejta përgjegjësi. - + The screen is too small to display the setup program. Ekrani është shumë i vogël për të shfaqur programin e rregullimit. - + The screen is too small to display the installer. Ekrani është shumë i vogël për shfaqjen e instaluesit. @@ -1380,27 +1407,27 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Formular - + I accept the terms and conditions above. I pranoj termat dhe kushtet më sipër. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Marrëveshje Licence</h1>Kjo procedurë rregullimi do të instalojë software pronësor që është subjekt kushtesh licencimi. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Ju lutemi, shqyrtoni Marrëveshje Licencimi Për Përdorues të Thjeshtë (EULAs) më sipër.<br/>Nëse nuk pajtohemi me kushtet, procedura e rregullimit s’mund të shkojë më tej. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Marrëveshje Licence</h1>Që të furnizojë veçori shtesë dhe të përmirësojë punën e përdoruesit, kjo procedurë rregullimi mundet të instalojë software pronësor që është subjekt kushtesh licencimi. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Ju lutemi, shqyrtoni Marrëveshje Licencimi Për Përdorues të Thjeshtë (EULAs) më sipër.<br/>Nëse nuk pajtohemi me kushtet, nuk do të instalohet software pronësor, dhe në vend të tij do të përdoren alternativa nga burimi i hapët. @@ -1408,7 +1435,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. LicenseViewStep - + License Licencë @@ -1416,64 +1443,64 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>përudhës %1</strong><br/>nga %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Përudhës grafik %1</strong><br/><font color=\"Grey\">nga %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Shtojcë shfletuesi %1</strong><br/><font color=\"Grey\">nga %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Kodek %1</strong><br/><font color=\"Grey\">nga %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Paketë %1</strong><br/><font color=\"Grey\">nga %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color=\"Grey\">nga %2</font> - + Shows the complete license text Shfaq tekstin e plotë të licencës - + Hide license text Fshihe tekstin e licencës - + Show license agreement Shfaq marrëveshje licence - + Hide license agreement Fshihe marrëveshjen e licencës - + Opens the license agreement in a browser window. E hap marrëveshjen e licencës në një dritare shfletuesi. - + <a href="%1">View license agreement</a> <a href="%1">Shihni marrëveshje licence</a> @@ -1574,15 +1601,20 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Përshkrim - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalim Nga Rrjeti. (U çaktivizua: S’arrihet të sillen lista paketash, kontrolloni lidhjen tuaj në rrjet) - + Network Installation. (Disabled: Received invalid groups data) Instalim Nga Rrjeti. (U çaktivizua: U morën të dhëna të pavlefshme grupesh) + + + Network Installation. (Disabled: Incorrect configuration) + Instalim Nga Rrjeti. (E çaktivizuar: Formësim i pasaktë) + NetInstallViewStep @@ -1866,6 +1898,47 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Gabim i panjohur + + PackageChooserPage + + + Form + Formular + + + + Product Name + Emër Produkti + + + + TextLabel + EtiketëTekst + + + + Long Product Description + Përshkrim i Gjatë i Produktit + + + + Package Selection + Përzgjedhje Pakete + + + + Please pick a product from the list. The selected product will be installed. + Ju lutemi, zgjidhni prej listës një produkt. Produkti i përzgjedhur do të instalohet. + + + + PackageChooserViewStep + + + Packages + Paketa + + Page_Keyboard @@ -2268,14 +2341,14 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. ProcessResult - + There was no output from the command. S’pati përfundim nga urdhri. - + Output: @@ -2284,52 +2357,52 @@ Përfundim: - + External command crashed. Urdhri i jashtëm u vithis. - + Command <i>%1</i> crashed. Urdhri <i>%1</i> u vithis. - + External command failed to start. Dështoi nisja e urdhrit të jashtëm. - + Command <i>%1</i> failed to start. Dështoi nisja e urdhrit <i>%1</i>. - + Internal error when starting command. Gabim i brendshëm kur niset urdhri. - + Bad parameters for process job call. Parametra të gabuar për thirrje akti procesi. - + External command failed to finish. S’u arrit të përfundohej urdhër i jashtëm. - + Command <i>%1</i> failed to finish in %2 seconds. Urdhri <i>%1</i> s’arriti të përfundohej në %2 sekonda. - + External command finished with errors. Urdhri i jashtë përfundoi me gabime. - + Command <i>%1</i> finished with exit code %2. Urdhri <i>%1</i> përfundoi me kod daljeje %2. @@ -2388,6 +2461,16 @@ Përfundim: language[name] (country[name]) %1 (%2) + + + No product + S’ka produkt + + + + No description provided. + S’u dha përshkrim. + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Përfundim: TrackingInstallJob - + Installation feedback Përshtypje mbi instalimin - + Sending installation feedback. Po dërgohen përshtypjet mbi instalimin - + Internal error in install-tracking. Gabim i brendshëm në shquarjen e instalimit. - + HTTP request timed out. Kërkesës HTTP i mbaroi koha. @@ -2943,28 +3026,28 @@ Përfundim: TrackingMachineNeonJob - + Machine feedback Të dhëna nga makina - + Configuring machine feedback. Po formësohet moduli Të dhëna nga makina. - - + + Error in machine feedback configuration. Gabim në formësimin e modulit Të dhëna nga makina. - + Could not configure machine feedback correctly, script error %1. S’u formësua dot si duhet moduli Të dhëna nga makina, gabim programthi %1. - + Could not configure machine feedback correctly, Calamares error %1. S’u formësua dot si duhet moduli Të dhëna nga makina, gabim Calamares %1. @@ -2997,17 +3080,17 @@ Përfundim: Instalimi i gjurmimit e ndihmon %1 të shohë se sa përdorues ka, në çfarë hardware-i e instalojnë %1 dhe (përmes dy mundësive të fundit më poshtë), të marrë të dhëna të vazhdueshme rre aplikacioneve të parapëlqyera. Që të shihni se ç’dërgohet, ju lutemi, klikoni ikonën e ndihmës në krah të çdo fushe. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Duke përzgjedhur këtë, do të dërgoni të dhëna mbi instalimin dhe hardware-in tuaj. Këto të dhëna do të <b>dërgohen vetëm një herë</b>, pasi të përfundojë instalimi. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Duke përzgjedhur këtë, do të dërgoni <b>periodikisht</b> te %1 të dhëna mbi instalimin, hardware-in dhe aplikacionet tuaja. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Duke përzgjedhur këtë, do të dërgoni <b>rregullisht</b> te %1 të dhëna mbi instalimin, hardware-in, aplikacionet dhe rregullsitë tuaja në përdorim. @@ -3015,7 +3098,7 @@ Përfundim: TrackingViewStep - + Feedback Përshtypje @@ -3072,6 +3155,19 @@ Përfundim: Përdorues + + VariantModel + + + Key + Kyç + + + + Value + Vlerë + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Përfundim: Formular - + + + Select application and system language + Përzgjidhni gjuhë aplikacioni dhe sistemi + + + + Open donations website + Hap sajtin e dhurimeve + + + + &Donate + &Dhuroni + + + + Open help and support website + Hap sajtin e ndihmës dhe asistencës + + + + Open issues and bug-tracking website + Hap sajtin ndjekjes së problemeve dhe të metave + + + + Open relead notes website + Hap sajtin e shënimeve mbi hedhjet në qarkullim + + + &Release notes Shënime &versioni - + &Known issues &Probleme të njohura - - - Select language - Përzgjidhni gjuhë - - - + &Support &Asistencë @@ -3159,42 +3280,42 @@ Përfundim: &Mbi - + <h1>Welcome to the %1 installer.</h1> <h1>Mirë se vini te instaluesi i %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Mirë se vini te instaluesi Calamares për %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>Mirë se vini te programi i rregullimit Calamares për %1.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>Mirë se vini te rregullimi i %1.</h1> - + About %1 setup Mbi rregullimin e %1 - + About %1 installer Rreth instaluesit %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>për %3</strong><br/><br/>Të drejta Kopjimi 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Të drejta Kopjimi 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Falënderime për <a href="https://calamares.io/team/">ekipin e Calamares</a> dhe <a href="https://www.transifex.com/calamares/calamares/">ekipin e përkthyesve të Calamares</a>.<br/><br/>Zhvillimi i <a href="https://calamares.io/">Calamares</a> sponsorizohet nga <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Asistencë %1 @@ -3202,7 +3323,7 @@ Përfundim: WelcomeViewStep - + Welcome Mirë se vini diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index d92da1ad1..2f33a3b3d 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Форма - + GlobalStorage - + JobQueue - + Modules Модули - + Type: Тип: - - + + none ништа - + Interface: Сучеље: - + Tools Алатке - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Инсталирај @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Завршено @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Извршавам %1 операцију. - + Bad working directory path Лоша путања радног директоријума - + Working directory %1 for python job %2 is not readable. Радни директоријум %1 за питонов посао %2 није читљив. - + Bad main script file Лош фајл главне скрипте - + Main script file %1 for python job %2 is not readable. Фајл главне скрипте %1 за питонов посао %2 није читљив. - + Boost.Python error in job "%1". Boost.Python грешка у послу „%1“. @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Назад - + &Next &Следеће - + &Cancel &Откажи - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отказати инсталацију? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Да ли стварно желите да прекинете текући процес инсталације? Инсталер ће бити затворен и све промене ће бити изгубљене. - + + &Yes - + + &No - + &Close - + Continue with setup? Наставити са подешавањем? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Инсталирај сада - + Go &back Иди &назад - + &Done - + The installation is complete. Close the installer. - + Error Грешка - + Installation Failed Инсталација није успела @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Непознат тип изузетка - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. Форма - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License Лиценца @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. Опис - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + Форма + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Лоши параметри при позиву посла процеса. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: Корисници + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Форма - - &Release notes - - - - - &Known issues - &Познати проблеми - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + &Познати проблеми + + + &Support По&дршка @@ -3155,42 +3275,42 @@ Output: &О програму - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer О %1 инсталатеру - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 подршка @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Добродошли diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 0ef4a34af..69c2ea421 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: Vrsta: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Instaliraj @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Gotovo @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path Neispravna putanja do radne datoteke - + Working directory %1 for python job %2 is not readable. Nemoguće pročitati radnu datoteku %1 za funkciju %2 u Python-u. - + Bad main script file Neispravan glavna datoteka za skriptu - + Main script file %1 for python job %2 is not readable. Glavna datoteka za skriptu %1 za Python funkciju %2 se ne može pročitati. - + Boost.Python error in job "%1". Boost.Python greška u funkciji %1 @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Nazad - + &Next &Dalje - + &Cancel &Prekini - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Prekini instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Da li stvarno želite prekinuti trenutni proces instalacije? Instaler će se zatvoriti i sve promjene će biti izgubljene. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Greška - + Installation Failed Neuspješna instalacija @@ -382,26 +399,35 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. CalamaresPython::Helper - + Unknown exception type Nepoznat tip izuzetka - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source je priključen na izvor struje - + The system is not plugged in to a power source. - + is connected to the Internet ima vezu sa internetom - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. LicenseViewStep - + License @@ -1415,64 +1441,64 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Pogrešni parametri kod poziva funkcije u procesu. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: Korisnici + + VariantModel + + + Key + + + + + Value + Vrednost + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3155,42 +3275,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Dobrodošli diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 85045517b..5c1cea16f 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Form - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Moduler - + Type: Typ: - - + + none ingen - + Interface: Gränssnitt: - + Tools Verktyg - + Reload Stylesheet - + Widget Tree - + Debug information Avlusningsinformation @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install Installera @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Klar @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Kör %1-operation - + Bad working directory path Arbetskatalogens sökväg är ogiltig - + Working directory %1 for python job %2 is not readable. Arbetskatalog %1 för pythonuppgift %2 är inte läsbar. - + Bad main script file Ogiltig huvudskriptfil - + Main script file %1 for python job %2 is not readable. Huvudskriptfil %1 för pythonuppgift %2 är inte läsbar. - + Boost.Python error in job "%1". Boost.Python-fel i uppgift "%'1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Bakåt - + &Next &Nästa - + &Cancel Avbryt - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryt installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Är du säker på att du vill avsluta installationen i förtid? Alla ändringar kommer att gå förlorade. - + + &Yes - + + &No - + &Close - + Continue with setup? Fortsätt med installation? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar!strong> - + &Install now &Installera nu - + Go &back Gå &bakåt - + &Done - + The installation is complete. Close the installer. - + Error Fel - + Installation Failed Installationen misslyckades @@ -382,26 +399,35 @@ Alla ändringar kommer att gå förlorade. CalamaresPython::Helper - + Unknown exception type Okänd undantagstyp - + unparseable Python error Otolkbart Pythonfel - + unparseable Python traceback Otolkbar Python-traceback - + Unfetchable Python error. Ohämtbart Pythonfel + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ Alla ändringar kommer att gå förlorade. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ Alla ändringar kommer att gå förlorade. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ Alla ändringar kommer att gå förlorade. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ Alla ändringar kommer att gå förlorade. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source är ansluten till en strömkälla - + The system is not plugged in to a power source. Systemet är inte anslutet till någon strömkälla. - + is connected to the Internet är ansluten till internet - + The system is not connected to the Internet. Systemet är inte anslutet till internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Installationsprogammet körs inte med administratörsrättigheter. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Skärmen är för liten för att visa installationshanteraren. @@ -1379,27 +1405,27 @@ Alla ändringar kommer att gå förlorade. Formulär - + I accept the terms and conditions above. Jag accepterar villkoren och avtalet ovan. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licensavtal</h1>Denna installationsprocedur kommer att installera proprietär mjukvara som omfattas av licensvillkor. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Läs igenom End User Agreements (EULA:s) ovan.<br/>Om du inte accepterar villkoren kan inte installationsproceduren fortsätta. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licensavtal</h1>Denna installationsprocedur kan installera proprietär mjukvara som omfattas av licensvillkor för att tillhandahålla ytterligare funktioner och förbättra användarupplevelsen. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ Alla ändringar kommer att gå förlorade. LicenseViewStep - + License Licens @@ -1415,64 +1441,64 @@ Alla ändringar kommer att gå förlorade. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1-drivrutin</strong><br/>från %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafikdrivrutin</strong><br/><font color="Grey">från %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 insticksprogram</strong><br/><font color="Grey">från %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">från %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1-paket</strong><br/><font color="Grey">från %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">från %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ Alla ändringar kommer att gå förlorade. Beskrivning - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Nätverksinstallation. (Inaktiverad: Kan inte hämta paketlistor, kontrollera nätverksanslutningen) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ Alla ändringar kommer att gå förlorade. + + PackageChooserPage + + + Form + Form + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ Alla ändringar kommer att gå förlorade. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Ogiltiga parametrar för processens uppgiftsanrop. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: Användare + + VariantModel + + + Key + + + + + Value + Värde + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: Formulär - - &Release notes - Versionsinfomation - - - - &Known issues - &Kända problem - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + Versionsinfomation + + + + &Known issues + &Kända problem + + + &Support %Support @@ -3155,42 +3275,42 @@ Output: Om - + <h1>Welcome to the %1 installer.</h1> <h1>V&auml;lkommen till %1-installeraren.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Om %1-installationsprogrammet - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1-support @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome Välkommen diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 927770c31..ab0410043 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form ฟอร์ม - + GlobalStorage GlobalStorage - + JobQueue JobQueue - + Modules Modules - + Type: ประเภท: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information ข้อมูลดีบั๊ก @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install ติดตั้ง @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done เสร็จสิ้น @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. การปฏิบัติการ %1 กำลังทำงาน - + Bad working directory path เส้นทางไดเรคทอรีที่ใช้ทำงานไม่ถูกต้อง - + Working directory %1 for python job %2 is not readable. ไม่สามารถอ่านไดเรคทอรีที่ใช้ทำงาน %1 สำหรับ python %2 ได้ - + Bad main script file ไฟล์สคริปต์หลักไม่ถูกต้อง - + Main script file %1 for python job %2 is not readable. ไม่สามารถอ่านไฟล์สคริปต์หลัก %1 สำหรับ python %2 ได้ - + Boost.Python error in job "%1". Boost.Python ผิดพลาดที่งาน "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &B ย้อนกลับ - + &Next &N ถัดไป - + &Cancel &C ยกเลิก - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ยกเลิกการติดตั้ง? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. คุณต้องการยกเลิกกระบวนการติดตั้งที่กำลังดำเนินการอยู่หรือไม่? ตัวติดตั้งจะสิ้นสุดการทำงานและไม่บันทึกการเปลี่ยนแปลงที่ได้ดำเนินการก่อนหน้านี้ - + + &Yes - + + &No - + &Close - + Continue with setup? ดำเนินการติดตั้งต่อหรือไม่? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> ตัวติดตั้ง %1 กำลังพยายามที่จะทำการเปลี่ยนแปลงในดิสก์ของคุณเพื่อติดตั้ง %2<br/><strong>คุณจะไม่สามารถยกเลิกการเปลี่ยนแปลงเหล่านี้ได้</strong> - + &Install now &ติดตั้งตอนนี้ - + Go &back กลั&บไป - + &Done - + The installation is complete. Close the installer. - + Error ข้อผิดพลาด - + Installation Failed การติดตั้งล้มเหลว @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type ข้อผิดพลาดไม่ทราบประเภท - + unparseable Python error ข้อผิดพลาด unparseable Python - + unparseable Python traceback ประวัติย้อนหลัง unparseable Python - + Unfetchable Python error. ข้อผิดพลาด Unfetchable Python + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source เชื่อมต่อปลั๊กเข้ากับแหล่งจ่ายไฟ - + The system is not plugged in to a power source. - + is connected to the Internet เชื่อมต่อกับอินเตอร์เน็ต - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. แบบฟอร์ม - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1865,6 +1896,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + ฟอร์ม + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2267,65 +2339,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. พารามิเตอร์ไม่ถูกต้องสำหรับการเรียกการทำงาน - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2384,6 +2456,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2916,22 +2998,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2939,28 +3021,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2993,17 +3075,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3011,7 +3093,7 @@ Output: TrackingViewStep - + Feedback @@ -3068,6 +3150,19 @@ Output: ผู้ใช้ + + VariantModel + + + Key + + + + + Value + ค่า + + VolumeGroupBaseDialog @@ -3129,23 +3224,48 @@ Output: แบบฟอร์ม - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3155,42 +3275,42 @@ Output: &A เกี่ยวกับ - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer เกี่ยวกับตัวติดตั้ง %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3198,7 +3318,7 @@ Output: WelcomeViewStep - + Welcome ยินดีต้อนรับ diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 730bb881a..0bc1930e9 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Boş Sayfa @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Biçim - + GlobalStorage KüreselDepo - + JobQueue İşKuyruğu - + Modules Eklentiler - + Type: Tipi: - - + + none hiçbiri - + Interface: Arayüz: - + Tools Araçlar - + Reload Stylesheet Stil Sayfasını Yeniden Yükle - + Widget Tree Gereç Ağacı - + Debug information Hata ayıklama bilgisi @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Kur - + Install Sistem Kuruluyor @@ -133,7 +133,7 @@ İş hatası (%1) - + Programmed job failure was explicitly requested. Programlanmış iş arızası açıkça istendi. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Sistem kurulumu tamamlandı, kurulum aracından çıkabilirsiniz. @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. Hedef sistemde '%1' komutunu çalıştırın. - + Run command '%1'. '%1' komutunu çalıştırın. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. %1 işlemleri yapılıyor. - + Bad working directory path Dizin yolu kötü çalışıyor - + Working directory %1 for python job %2 is not readable. %2 python işleri için %1 dizinleme çalışırken okunamadı. - + Bad main script file Sorunlu betik dosyası - + Main script file %1 for python job %2 is not readable. %2 python işleri için %1 sorunlu betik okunamadı. - + Boost.Python error in job "%1". Boost.Python iş hatası "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). %n modülü bekleniyor.%n modül(leri) bekleniyor. - + (%n second(s)) (%n saniye(ler))(%n saniye) - + System-requirements checking is complete. Sistem gereksinimleri kontrolü tamamlandı. @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back &Geri - + &Next &Sonraki - + &Cancel &Vazgeç - + Cancel setup without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Cancel installation without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Setup Failed Kurulum Başarısız - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares Başlatılamadı - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 yüklenemedi. Calamares yapılandırılmış modüllerin bazılarını yükleyemedi. Bu, Calamares'in kullandığınız dağıtıma uyarlamasından kaynaklanan bir sorundur. - + <br/>The following modules could not be loaded: <br/>Aşağıdaki modüller yüklenemedi: - + Continue with installation? Kuruluma devam edilsin mi? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem kurulum uygulaması,%2 ayarlamak için diskinizde değişiklik yapmak üzere. <br/><strong>Bu değişiklikleri geri alamayacaksınız.</strong> - + &Set up now &Şimdi kur - + &Set up &Kur - + &Install &Yükle - + Setup is complete. Close the setup program. Kurulum tamamlandı. Kurulum programını kapatın. - + Cancel setup? Kurulum iptal edilsin mi? - + Cancel installation? Yüklemeyi iptal et? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Mevcut kurulum işlemini gerçekten iptal etmek istiyor musunuz? Kurulum uygulaması sonlandırılacak ve tüm değişiklikler kaybedilecek. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Yükleme işlemini gerçekten iptal etmek istiyor musunuz? Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. - + + &Yes &Evet - + + &No &Hayır - + &Close &Kapat - + Continue with setup? Kuruluma devam et? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem yükleyici %2 yüklemek için diskinizde değişiklik yapacak.<br/><strong>Bu değişiklikleri geri almak mümkün olmayacak.</strong> - + &Install now &Şimdi yükle - + Go &back Geri &git - + &Done &Tamam - + The installation is complete. Close the installer. Yükleme işi tamamlandı. Sistem yükleyiciyi kapatın. - + Error Hata - + Installation Failed Kurulum Başarısız @@ -383,26 +400,35 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. CalamaresPython::Helper - + Unknown exception type Bilinmeyen Özel Durum Tipi - + unparseable Python error Python hata ayıklaması - + unparseable Python traceback Python geri çekme ayıklaması - + Unfetchable Python error. Okunamayan Python hatası. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -614,18 +640,18 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. CommandList - - + + Could not run command. Komut çalıştırılamadı. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. Komut, ana bilgisayar ortamında çalışır ve kök yolunu bilmesi gerekir, ancak kökMontajNoktası tanımlanmamıştır. - + The command needs to know the user's name, but no username is defined. Komutun kullanıcının adını bilmesi gerekir, ancak kullanıcı adı tanımlanmamıştır. @@ -633,7 +659,7 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. ContextualProcessJob - + Contextual Processes Job Bağlamsal Süreç İşleri @@ -970,7 +996,7 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. DummyCppJob - + Dummy C++ Job Dummy C++ Job @@ -1201,63 +1227,63 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. GeneralRequirements - + has at least %1 GiB available drive space En az %1 GB disk sürücü alanı var - + There is not enough drive space. At least %1 GiB is required. Yeterli disk sürücü alanı mevcut değil. En az %1 GB disk alanı gereklidir. - + has at least %1 GiB working memory En az %1 GB bellek var - + The system does not have enough working memory. At least %1 GiB is required. Yeterli ram bellek gereksinimi karşılanamıyor. En az %1 GB ram bellek gereklidir. - + is plugged in to a power source Bir güç kaynağına takılı olduğundan... - + The system is not plugged in to a power source. Sistem güç kaynağına bağlı değil. - + is connected to the Internet İnternete bağlı olduğundan... - + The system is not connected to the Internet. Sistem internete bağlı değil. - + The setup program is not running with administrator rights. Kurulum uygulaması yönetici haklarıyla çalışmıyor. - + The installer is not running with administrator rights. Sistem yükleyici yönetici haklarına sahip olmadan çalışmıyor. - + The screen is too small to display the setup program. Kurulum uygulamasını görüntülemek için ekran çok küçük. - + The screen is too small to display the installer. Ekran, sistem yükleyiciyi görüntülemek için çok küçük. @@ -1382,27 +1408,27 @@ Sistem güç kaynağına bağlı değil. Form - + I accept the terms and conditions above. Yukarıdaki şartları ve koşulları kabul ediyorum. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Lisans Anlaşması</h1> Sistem yükleyici uygulaması belli lisans şartlarına bağlıdır ve şimdi sisteminizi kuracaktır. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Yukarıdaki son kullanıcı lisans sözleşmesini (EULA) gözden geçiriniz.<br/>Şartları kabul etmiyorsanız kurulum devam etmeyecektir. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Lisans Sözleşmesi</h1>Bu kurulum işlemi kullanıcı deneyimini ölçümlemek, ek özellikler sağlamak ve geliştirmek amacıyla lisansa tabi özel yazılım yükleyebilir. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Yukarıdaki Son Kullanıcı Lisans Sözleşmelerini (EULA) gözden geçirin.<br/>Eğer şartları kabul etmiyorsanız kapalı kaynak yazılımların yerine açık kaynak alternatifleri yüklenecektir. @@ -1410,7 +1436,7 @@ Sistem güç kaynağına bağlı değil. LicenseViewStep - + License Lisans @@ -1418,64 +1444,64 @@ Sistem güç kaynağına bağlı değil. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 sürücü</strong><br/>by %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 grafik sürücü</strong><br/><font color="Grey">by %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 tarayıcı eklentisi</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 kodek</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 paketi</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text Tüm lisans metnini göster - + Hide license text Lisans metnini gizle - + Show license agreement Lisans sözleşmesini göster - + Hide license agreement Lisans sözleşmesini gizle - + Opens the license agreement in a browser window. Lisans sözleşmesini bir tarayıcı penceresinde aç. - + <a href="%1">View license agreement</a> <a href="%1">Lisans sözleşmesini görüntüle</a> @@ -1576,15 +1602,20 @@ Sistem güç kaynağına bağlı değil. Açıklama - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Ağ Üzerinden Kurulum. (Devre Dışı: Paket listeleri alınamıyor, ağ bağlantısını kontrol ediniz) - + Network Installation. (Disabled: Received invalid groups data) Ağ Kurulum. (Devre dışı: Geçersiz grup verileri alındı) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1868,6 +1899,47 @@ Sistem güç kaynağına bağlı değil. Bilinmeyen hata + + PackageChooserPage + + + Form + Biçim + + + + Product Name + + + + + TextLabel + MetinEtiketi + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2271,14 +2343,14 @@ Sistem güç kaynağına bağlı değil. ProcessResult - + There was no output from the command. Komut çıktısı yok. - + Output: @@ -2287,52 +2359,52 @@ Output: - + External command crashed. Harici komut çöktü. - + Command <i>%1</i> crashed. Komut <i>%1</i> çöktü. - + External command failed to start. Harici komut başlatılamadı. - + Command <i>%1</i> failed to start. Komut <i>%1</i> başlatılamadı. - + Internal error when starting command. Komut başlatılırken dahili hata. - + Bad parameters for process job call. Çalışma adımları başarısız oldu. - + External command failed to finish. Harici komut başarısız oldu. - + Command <i>%1</i> failed to finish in %2 seconds. Komut <i>%1</i> %2 saniyede başarısız oldu. - + External command finished with errors. Harici komut hatalarla bitti. - + Command <i>%1</i> finished with exit code %2. Komut <i>%1</i> %2 çıkış kodu ile tamamlandı @@ -2391,6 +2463,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2925,22 +3007,22 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. TrackingInstallJob - + Installation feedback Kurulum geribildirimi - + Sending installation feedback. Kurulum geribildirimi gönderiliyor. - + Internal error in install-tracking. Kurulum izlemede dahili hata. - + HTTP request timed out. HTTP isteği zaman aşımına uğradı. @@ -2948,28 +3030,28 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. TrackingMachineNeonJob - + Machine feedback Makine geri bildirimi - + Configuring machine feedback. Makine geribildirimini yapılandırma. - - + + Error in machine feedback configuration. Makine geri bildirim yapılandırmasında hata var. - + Could not configure machine feedback correctly, script error %1. Makine geribildirimi doğru yapılandırılamadı, betik hatası %1. - + Could not configure machine feedback correctly, Calamares error %1. Makine geribildirimini doğru bir şekilde yapılandıramadı, Calamares hata %1. @@ -3002,17 +3084,17 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Yükleme takibi, sahip oldukları kaç kullanıcının, hangi donanımın %1'e kurulduğunu ve (son iki seçenekle birlikte) tercih edilen uygulamalar hakkında sürekli bilgi sahibi olmasını sağlamak için %1'e yardımcı olur. Ne gönderileceğini görmek için, lütfen her alanın yanındaki yardım simgesini tıklayın. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. Bunu seçerseniz kurulum ve donanımınız hakkında bilgi gönderirsiniz. Bu bilgi, <b>kurulum tamamlandıktan sonra</b> yalnızca bir kez gönderilecektir. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. Bunu seçerek <b>kurulum, donanım ve uygulamalarınızla ilgili bilgileri</b> düzenli olarak %1'e gönderirsiniz. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. Bunu seçerek <b>kurulum, donanım ve uygulamalarınızla ilgili bilgileri </b> düzenli olarak %1 adresine gönderirsiniz. @@ -3020,7 +3102,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. TrackingViewStep - + Feedback Geribildirim @@ -3077,6 +3159,19 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Kullanıcı Tercihleri + + VariantModel + + + Key + + + + + Value + Değer + + VolumeGroupBaseDialog @@ -3138,23 +3233,48 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Biçim - + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + &Release notes &Sürüm notları - + &Known issues &Bilinen hatalar - - - Select language - Dil seçin - - - + &Support &Destek @@ -3164,42 +3284,42 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.&Hakkında - + <h1>Welcome to the %1 installer.</h1> <h1>%1 Sistem Yükleyiciye Hoşgeldiniz.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>%1 Calamares Sistem Yükleyici .</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>%1 için Calamares sistem kurulum uygulamasına hoş geldiniz.</h1> - + <h1>Welcome to %1 setup.</h1> <h1>%1 Kurulumuna Hoşgeldiniz.</h1> - + About %1 setup %1 kurulum hakkında - + About %1 installer %1 sistem yükleyici hakkında - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>için %3</strong><br/><br/>Telif Hakkı 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Telif Hakkı 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Teşekkürler <a href="https://calamares.io/team/">Calamares takımı</a> ve <a href="https://www.transifex.com/calamares/calamares/">Calamares çeviri takımı</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> gelişim destekçisi <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Özgür Yazılım. - + %1 support %1 destek @@ -3207,7 +3327,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. WelcomeViewStep - + Welcome Hoşgeldiniz diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index b21f16d51..d9a38ae65 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page Пуста сторінка @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form Форма - + GlobalStorage Глобальне сховище - + JobQueue Черга завдань - + Modules Модулі - + Type: Тип: - - + + none немає - + Interface: Інтерфейс: - + Tools Інструменти - + Reload Stylesheet - + Widget Tree - + Debug information Відлагоджувальна інформація @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up Налаштувати - + Install Встановити @@ -133,7 +133,7 @@ Невдало виконане завдання (%1) - + Programmed job failure was explicitly requested. Невдача в запрограмованому завданні була чітко задана. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done Зроблено @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. Запуск операції %1. - + Bad working directory path Неправильний шлях робочого каталогу - + Working directory %1 for python job %2 is not readable. Неможливо прочитати робочу директорію %1 для завдання python %2. - + Bad main script file Неправильний файл головного сценарію - + Main script file %1 for python job %2 is not readable. Неможливо прочитати файл головного сценарію %1 для завдання python %2. - + Boost.Python error in job "%1". Помилка Boost.Python у завданні "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). Очікування %n модулю.Очікування %n модулів.Очікування %n модулів.Очікування %n модулів. - + (%n second(s)) (%n секунда)(%n секунди)(%n секунд(и))(%n секунд(и)) - + System-requirements checking is complete. Перевірка системних вимог завершена. @@ -226,155 +226,172 @@ Calamares::ViewManager - + &Back &Назад - + &Next &Вперед - + &Cancel &Скасувати - + Cancel setup without changing the system. Скасувати налаштування без зміни системи. - + Cancel installation without changing the system. Скасувати встановлення без зміни системи. - + Setup Failed Помилка встановлення - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Помилка ініціалізації Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 неможливо встановити. Calamares не зміг завантажити всі налаштовані модулі. Ця проблема зв'язана з тим, як Calamares використовується дистрибутивом. - + <br/>The following modules could not be loaded: <br/>Не вдалося завантажити наступні модулі: - + Continue with installation? Продовжити встановлення? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Програма налаштування %1 збирається внести зміни до вашого диска, щоб налаштувати %2. <br/><strong> Ви не зможете скасувати ці зміни.</strong> - + &Set up now &Налаштувати зараз - + &Set up &Налаштувати - + &Install &Встановити - + Setup is complete. Close the setup program. Встановлення виконано. Закрити програму встановлення. - + Cancel setup? Скасувати налаштування? - + Cancel installation? Скасувати встановлення? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Чи ви насправді бажаєте скасувати процес встановлення? Установник закриється і всі зміни буде втрачено. - + + &Yes &Так - + + &No &Ні - + &Close &Закрити - + Continue with setup? Продовжити встановлення? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Установник %1 збирається зробити зміни на вашому диску, щоб встановити %2.<br/><strong>Ці зміни неможливо буде повернути.</strong> - + &Install now &Встановити зараз - + Go &back Перейти &назад - + &Done &Закінчити - + The installation is complete. Close the installer. Встановлення виконано. Закрити установник. - + Error Помилка - + Installation Failed Втановлення завершилося невдачею @@ -382,26 +399,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Невідомий тип виключної ситуації - + unparseable Python error нерозбірлива помилка Python - + unparseable Python traceback нерозбірливе відстеження помилки Python - + Unfetchable Python error. Помилка Python, інформацію про яку неможливо отримати. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -612,18 +638,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -631,7 +657,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -968,7 +994,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job Завдання-макет C++ @@ -1199,62 +1225,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source підключена до джерела живлення - + The system is not plugged in to a power source. Система не підключена до джерела живлення. - + is connected to the Internet з'єднано з мережею Інтернет - + The system is not connected to the Internet. Система не з'єднана з мережею Інтернет. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. Установник запущено без прав адміністратора. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. Екран замалий для відображення установника. @@ -1379,27 +1405,27 @@ The installer will quit and all changes will be lost. Форма - + I accept the terms and conditions above. Я приймаю положення та умови, що наведені вище. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Ліцензійна угода</h1>Процедура встановить пропрієтарне програмне забезпечення, яке підлягає умовам ліцензування. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Будь-ласка, перегляньте Ліцензійні Угоди Кінцевого Користувача (EULAs), що наведені вище.<br/>Якщо ви не згодні з умовами, процедуру встановлення не можна продовжити. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Ліцензійна угода</h1>Для надання додаткових можливостей та з метою покращення користувацького досвіду, процедура може встановити пропрієтарне програмне забезпечення, яке підлягає умовам ліцензування. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Будь-ласка, перегляньте Ліцензійні Угоди Кінцевого Користувача (EULAs), що наведені вище.<br/>Якщо ви не згодні з умовами, пропрієтарне програмне забезпечення не буде встановлено, та замість нього буде використано альтернативи з відкритим сирцевим кодом. @@ -1407,7 +1433,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License Ліцензія @@ -1415,64 +1441,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>Драйвер %1</strong><br/>від %2 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>Графічний драйвер %1</strong><br/><font color="Grey">від %2</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>Плагін для переглядача тенет %1</strong><br/><font color="Grey">від %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>Кодек %1</strong><br/><font color="Grey">від %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>Пакет %1</strong><br/><font color="Grey">від %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">від %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1573,15 +1599,20 @@ The installer will quit and all changes will be lost. Опис - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Встановлення через мережу. (Вимкнено: Неможливо отримати список пакетів, перевірте ваше підключення до мережі) - + Network Installation. (Disabled: Received invalid groups data) Встановлення через мережу. (Вимкнено: Отримано неправильні дані про групи) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1866,6 +1897,47 @@ The installer will quit and all changes will be lost. Невідома помилка + + PackageChooserPage + + + Form + Форма + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2268,65 +2340,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. Неправильні параметри визову завдання обробки. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2385,6 +2457,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2917,22 +2999,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2940,28 +3022,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2994,17 +3076,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3012,7 +3094,7 @@ Output: TrackingViewStep - + Feedback @@ -3069,6 +3151,19 @@ Output: Користувачі + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3130,23 +3225,48 @@ Output: Форма - - &Release notes - При&мітки до випуску - - - - &Known issues - &Відомі проблеми - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + При&мітки до випуску + + + + &Known issues + &Відомі проблеми + + + &Support Під&тримка @@ -3156,42 +3276,42 @@ Output: &Про - + <h1>Welcome to the %1 installer.</h1> <h1>Ласкаво просимо до установника %1.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Ласкаво просимо до установника для %1 Calamares.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer Про втановлювач %1 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Підтримка %1 @@ -3199,7 +3319,7 @@ Output: WelcomeViewStep - + Welcome Вітаємо diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index cb4d80715..a41d087a3 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index 7cd148c37..e35fa76fc 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form - + GlobalStorage - + JobQueue - + Modules - + Type: - - + + none - + Interface: - + Tools - + Reload Stylesheet - + Widget Tree - + Debug information @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up - + Install @@ -133,7 +133,7 @@ - + Programmed job failure was explicitly requested. @@ -141,7 +141,7 @@ Calamares::JobThread - + Done @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. - + Bad working directory path - + Working directory %1 for python job %2 is not readable. - + Bad main script file - + Main script file %1 for python job %2 is not readable. - + Boost.Python error in job "%1". @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -226,154 +226,171 @@ Calamares::ViewManager - + &Back - + &Next - + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + + &Yes - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -381,26 +398,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -611,18 +637,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + The command needs to know the user's name, but no username is defined. @@ -630,7 +656,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -967,7 +993,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job @@ -1198,62 +1224,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source - + The system is not plugged in to a power source. - + is connected to the Internet - + The system is not connected to the Internet. - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. - + The screen is too small to display the setup program. - + The screen is too small to display the installer. @@ -1378,27 +1404,27 @@ The installer will quit and all changes will be lost. - + I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1406,7 +1432,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License @@ -1414,64 +1440,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1572,15 +1598,20 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1864,6 +1895,47 @@ The installer will quit and all changes will be lost. + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2266,65 +2338,65 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. - + Output: - + External command crashed. - + Command <i>%1</i> crashed. - + External command failed to start. - + Command <i>%1</i> failed to start. - + Internal error when starting command. - + Bad parameters for process job call. - + External command failed to finish. - + Command <i>%1</i> failed to finish in %2 seconds. - + External command finished with errors. - + Command <i>%1</i> finished with exit code %2. @@ -2383,6 +2455,16 @@ Output: language[name] (country[name]) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2915,22 +2997,22 @@ Output: TrackingInstallJob - + Installation feedback - + Sending installation feedback. - + Internal error in install-tracking. - + HTTP request timed out. @@ -2938,28 +3020,28 @@ Output: TrackingMachineNeonJob - + Machine feedback - + Configuring machine feedback. - - + + Error in machine feedback configuration. - + Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2992,17 +3074,17 @@ Output: - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -3010,7 +3092,7 @@ Output: TrackingViewStep - + Feedback @@ -3067,6 +3149,19 @@ Output: + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3128,23 +3223,48 @@ Output: - - &Release notes - - - - - &Known issues - - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + &Support @@ -3154,42 +3274,42 @@ Output: - + <h1>Welcome to the %1 installer.</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support @@ -3197,7 +3317,7 @@ Output: WelcomeViewStep - + Welcome diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 9cd30f582..0160196d4 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -49,7 +49,7 @@ Calamares::BlankViewStep - + Blank Page 空白页 @@ -57,58 +57,58 @@ Calamares::DebugWindow - + Form 表单 - + GlobalStorage 全局存储 - + JobQueue 任务队列 - + Modules 模块 - + Type: 类型: - - + + none - + Interface: 接口: - + Tools 工具 - + Reload Stylesheet - + Widget Tree - + Debug information 调试信息 @@ -116,12 +116,12 @@ Calamares::ExecutionViewStep - + Set up - + Install 安装 @@ -134,7 +134,7 @@ - + Programmed job failure was explicitly requested. @@ -142,7 +142,7 @@ Calamares::JobThread - + Done 完成 @@ -158,12 +158,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. - + Run command '%1'. @@ -176,32 +176,32 @@ Calamares::PythonJob - + Running %1 operation. 正在运行 %1 个操作。 - + Bad working directory path 错误的工作目录路径 - + Working directory %1 for python job %2 is not readable. 用于 python 任务 %2 的工作目录 %1 不可读。 - + Bad main script file 错误的主脚本文件 - + Main script file %1 for python job %2 is not readable. 用于 python 任务 %2 的主脚本文件 %1 不可读。 - + Boost.Python error in job "%1". 任务“%1”出现 Boost.Python 错误。 @@ -209,17 +209,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). - + (%n second(s)) - + System-requirements checking is complete. @@ -227,155 +227,172 @@ Calamares::ViewManager - + &Back 后退(&B) - + &Next 下一步(&N) - + &Cancel 取消(&C) - + Cancel setup without changing the system. - + Cancel installation without changing the system. 取消安装,并不做任何更改。 - + Setup Failed - + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + Calamares Initialization Failed Calamares安装失败 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1无法安装。 Calamares无法加载所有已配置的模块。这是分配使用Calamares的方式的问题。 - + <br/>The following modules could not be loaded: <br/>无法加载以下模块: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install 安装(&I) - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? 取消安装? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 确定要取消当前的安装吗? 安装程序将退出,所有修改都会丢失。 - + + &Yes &是 - + + &No &否 - + &Close &关闭 - + Continue with setup? 要继续安装吗? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安装程序将在您的磁盘上做出变更以安装 %2。<br/><strong>您将无法复原这些变更。</strong> - + &Install now 现在安装 (&I) - + Go &back 返回 (&B) - + &Done &完成 - + The installation is complete. Close the installer. 安装已完成。请关闭安装程序。 - + Error 错误 - + Installation Failed 安装失败 @@ -383,26 +400,35 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 未知异常类型 - + unparseable Python error 无法解析的 Python 错误 - + unparseable Python traceback 无法解析的 Python 回溯 - + Unfetchable Python error. 无法获取的 Python 错误。 + + CalamaresUtils + + + Install log posted to: +%1 + + + CalamaresWindow @@ -613,18 +639,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. 无法运行命令 - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. 该命令在主机环境中运行,且需要知道根路径,但没有定义root挂载点。 - + The command needs to know the user's name, but no username is defined. 命令行需要知道用户的名字,但用户名没有被设置 @@ -632,7 +658,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job 后台任务 @@ -970,7 +996,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job 虚设 C++ 任务 @@ -1201,62 +1227,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space - + There is not enough drive space. At least %1 GiB is required. - + has at least %1 GiB working memory - + The system does not have enough working memory. At least %1 GiB is required. - + is plugged in to a power source 已连接到电源 - + The system is not plugged in to a power source. 系统未连接到电源。 - + is connected to the Internet 已连接到互联网 - + The system is not connected to the Internet. 系统未连接到互联网。 - + The setup program is not running with administrator rights. - + The installer is not running with administrator rights. 安装器未以管理员权限运行 - + The screen is too small to display the setup program. - + The screen is too small to display the installer. 屏幕不能完整显示安装器。 @@ -1381,27 +1407,27 @@ The installer will quit and all changes will be lost. 表单 - + I accept the terms and conditions above. 我同意如上条款。 - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>许可协定</h1>此安装程序将会安装受授权条款所限制的专有软件。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 请仔细上方的最终用户许可协定 (EULA)。<br/>若您不同意上述条款,安装程序将不会继续。 - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>许可协定</h1>此安装程序可以安装受授权条款限制的专有软件,以提供额外的功能并增强用户体验。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 请仔细上方的最终用户许可协定 (EULA)。<br/>若您不同意上述条款,将不会安装专有软件,而会使用其开源替代品。 @@ -1409,7 +1435,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License 许可证 @@ -1417,64 +1443,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 驱动程序</strong><br/>由 %2 提供 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 显卡驱动程序</strong><br/><font color="Grey">由 %2 提供</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 浏览器插件</strong><br/><font color="Grey">由 %2 提供</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 编解码器</strong><br/><font color="Grey">由 %2 提供</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 软件包</strong><br/><font color="Grey">由 %2 提供</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">由 %2 提供</font> - + Shows the complete license text - + Hide license text - + Show license agreement - + Hide license agreement - + Opens the license agreement in a browser window. - + <a href="%1">View license agreement</a> @@ -1575,15 +1601,20 @@ The installer will quit and all changes will be lost. 描述 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 网络安装。(已禁用:无法获取软件包列表,请检查网络连接) - + Network Installation. (Disabled: Received invalid groups data) 联网安装。(已禁用:收到无效组数据) + + + Network Installation. (Disabled: Incorrect configuration) + + NetInstallViewStep @@ -1867,6 +1898,47 @@ The installer will quit and all changes will be lost. 未知错误 + + PackageChooserPage + + + Form + 表单 + + + + Product Name + + + + + TextLabel + 文本标签 + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + Page_Keyboard @@ -2269,14 +2341,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 命令没有输出。 - + Output: @@ -2285,52 +2357,52 @@ Output: - + External command crashed. 外部命令已崩溃。 - + Command <i>%1</i> crashed. 命令 <i>%1</i> 已崩溃。 - + External command failed to start. 无法启动外部命令。 - + Command <i>%1</i> failed to start. 无法启动命令 <i>%1</i>。 - + Internal error when starting command. 启动命令时出现内部错误。 - + Bad parameters for process job call. 呼叫进程任务出现错误参数 - + External command failed to finish. 外部命令未成功完成。 - + Command <i>%1</i> failed to finish in %2 seconds. 命令 <i>%1</i> 未能在 %2 秒内完成。 - + External command finished with errors. 外部命令已完成,但出现了错误。 - + Command <i>%1</i> finished with exit code %2. 命令 <i>%1</i> 以退出代码 %2 完成。 @@ -2389,6 +2461,16 @@ Output: language[name] (country[name]) %1(%2) + + + No product + + + + + No description provided. + + RemoveVolumeGroupJob @@ -2921,22 +3003,22 @@ Output: TrackingInstallJob - + Installation feedback 安装反馈 - + Sending installation feedback. 发送安装反馈。 - + Internal error in install-tracking. 在 install-tracking 步骤发生内部错误。 - + HTTP request timed out. HTTP 请求超时。 @@ -2944,28 +3026,28 @@ Output: TrackingMachineNeonJob - + Machine feedback 机器反馈 - + Configuring machine feedback. 正在配置机器反馈。 - - + + Error in machine feedback configuration. 机器反馈配置中存在错误。 - + Could not configure machine feedback correctly, script error %1. 无法正确配置机器反馈,脚本错误代码 %1。 - + Could not configure machine feedback correctly, Calamares error %1. 无法正确配置机器反馈,Calamares 错误代码 %1。 @@ -2998,17 +3080,17 @@ Output: 安装跟踪可帮助 %1 获取关于用户数量,安装 %1 的硬件(选中下方最后两项)及长期以来受欢迎应用程序的信息。请点按每项旁的帮助图标以查看即将被发送的信息。 - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. 选中此项时,安装器将发送关于安装过程和硬件的信息。该信息只会在安装结束后 <b>发送一次</b>。 - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. 选中此项时,安装器将给 %1 <b>定时</b> 发送关于安装进程,硬件及应用程序的信息。 - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. 选中此项时,安装器和系统将给 %1 <b>定时</b> 发送关于安装进程,硬件,应用程序及使用规律的信息。 @@ -3016,7 +3098,7 @@ Output: TrackingViewStep - + Feedback 反馈 @@ -3073,6 +3155,19 @@ Output: 用户 + + VariantModel + + + Key + + + + + Value + + + VolumeGroupBaseDialog @@ -3134,23 +3229,48 @@ Output: 表单 - - &Release notes - 发行注记(&R) - - - - &Known issues - 已知问题(&K) - - - - - Select language + + + Select application and system language + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + 发行注记(&R) + + + + &Known issues + 已知问题(&K) + + + &Support 支持信息(&S) @@ -3160,42 +3280,42 @@ Output: 关于(&A) - + <h1>Welcome to the %1 installer.</h1> <h1>欢迎使用 %1 安装程序。</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>欢迎使用 Calamares 安装程序 - %1。</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Welcome to %1 setup.</h1> - + About %1 setup - + About %1 installer 关于 %1 安装程序 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 的支持信息 @@ -3203,7 +3323,7 @@ Output: WelcomeViewStep - + Welcome 欢迎 diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index efdea35b3..e7eca7d14 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -48,7 +48,7 @@ Calamares::BlankViewStep - + Blank Page 空白頁 @@ -56,58 +56,58 @@ Calamares::DebugWindow - + Form 型式 - + GlobalStorage 全域儲存 - + JobQueue 工作佇列 - + Modules 模組 - + Type: 類型: - - + + none - + Interface: 介面: - + Tools 工具 - + Reload Stylesheet 重新載入樣式表 - + Widget Tree 小工具樹 - + Debug information 除錯資訊 @@ -115,12 +115,12 @@ Calamares::ExecutionViewStep - + Set up 設定 - + Install 安裝 @@ -133,7 +133,7 @@ 排程失敗 (%1) - + Programmed job failure was explicitly requested. 明確要求程式化排程失敗。 @@ -141,7 +141,7 @@ Calamares::JobThread - + Done 完成 @@ -157,12 +157,12 @@ Calamares::ProcessJob - + Run command '%1' in target system. 在目標系統中執行指令「%1」。 - + Run command '%1'. 執行指令「%1」。 @@ -175,32 +175,32 @@ Calamares::PythonJob - + Running %1 operation. 正在執行 %1 操作。 - + Bad working directory path 不良的工作目錄路徑 - + Working directory %1 for python job %2 is not readable. Python 行程 %2 作用中的目錄 %1 不具讀取權限。 - + Bad main script file 錯誤的主要腳本檔 - + Main script file %1 for python job %2 is not readable. Python 行程 %2 的主要腳本檔 %1 無法讀取。 - + Boost.Python error in job "%1". 行程 %1 中 Boost.Python 錯誤。 @@ -208,17 +208,17 @@ Calamares::RequirementsChecker - + Waiting for %n module(s). 正在等待 %n 個模組。 - + (%n second(s)) (%n 秒) - + System-requirements checking is complete. 系統需求檢查完成。 @@ -226,156 +226,173 @@ Calamares::ViewManager - + &Back 返回 (&B) - + &Next 下一步 (&N) - + &Cancel 取消(&C) - + Cancel setup without changing the system. 取消安裝,不更改系統。 - + Cancel installation without changing the system. 不變更系統並取消安裝。 - + Setup Failed 設定失敗 - + + Would you like to paste the install log to the web? + 您想要將安裝紀錄檔貼到網路上嗎? + + + + Install Log Paste URL + 安裝紀錄檔張貼 URL + + + + The upload was unsuccessful. No web-paste was done. + 上傳不成功。並未完成網路張貼。 + + + Calamares Initialization Failed Calamares 初始化失敗 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 無法安裝。Calamares 無法載入所有已設定的模組。散佈版使用 Calamares 的方式有問題。 - + <br/>The following modules could not be loaded: <br/>以下的模組無法載入: - + Continue with installation? 繼續安裝? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 設定程式將在您的磁碟上做出變更以設定 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Set up now 現在進行設定 (&S) - + &Set up 設定 (&S) - + &Install 安裝(&I) - + Setup is complete. Close the setup program. 設定完成。關閉設定程式。 - + Cancel setup? 取消設定? - + Cancel installation? 取消安裝? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 您真的想要取消目前的設定程序嗎? 設定程式將會結束,所有變更都將會遺失。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 您真的想要取消目前的安裝程序嗎? 安裝程式將會退出且所有變動將會遺失。 - + + &Yes 是(&Y) - + + &No 否(&N) - + &Close 關閉(&C) - + Continue with setup? 繼續安裝? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安裝程式將在您的磁碟上做出變更以安裝 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Install now 現在安裝 (&I) - + Go &back 上一步 (&B) - + &Done 完成(&D) - + The installation is complete. Close the installer. 安裝完成。關閉安裝程式。 - + Error 錯誤 - + Installation Failed 安裝失敗 @@ -383,26 +400,36 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 未知的例外型別 - + unparseable Python error 無法解析的 Python 錯誤 - + unparseable Python traceback 無法解析的 Python 回溯紀錄 - + Unfetchable Python error. 無法讀取的 Python 錯誤。 + + CalamaresUtils + + + Install log posted to: +%1 + 安裝紀錄檔已張貼到: +%1 + + CalamaresWindow @@ -613,18 +640,18 @@ The installer will quit and all changes will be lost. CommandList - - + + Could not run command. 無法執行指令。 - + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. 指令執行於主機環境中,且需要知道根路徑,但根掛載點未定義。 - + The command needs to know the user's name, but no username is defined. 指令需要知道使用者名稱,但是使用者名稱未定義。 @@ -632,7 +659,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job 情境處理程序工作 @@ -969,7 +996,7 @@ The installer will quit and all changes will be lost. DummyCppJob - + Dummy C++ Job 虛設 C++ 排程 @@ -1200,62 +1227,62 @@ The installer will quit and all changes will be lost. GeneralRequirements - + has at least %1 GiB available drive space 有至少 %1 GiB 的可用磁碟空間 - + There is not enough drive space. At least %1 GiB is required. 沒有足夠的磁碟空間。至少需要 %1 GiB。 - + has at least %1 GiB working memory 有至少 %1 GiB 的可用記憶體 - + The system does not have enough working memory. At least %1 GiB is required. 系統沒有足夠的記憶體。至少需要 %1 GiB。 - + is plugged in to a power source 已插入外接電源 - + The system is not plugged in to a power source. 系統未插入外接電源。 - + is connected to the Internet 已連上網際網路 - + The system is not connected to the Internet. 系統未連上網際網路 - + The setup program is not running with administrator rights. 設定程式並未以管理員權限執行。 - + The installer is not running with administrator rights. 安裝程式並未以管理員權限執行。 - + The screen is too small to display the setup program. 螢幕太小了,沒辦法顯示設定程式。 - + The screen is too small to display the installer. 螢幕太小了,沒辦法顯示安裝程式。 @@ -1380,27 +1407,27 @@ The installer will quit and all changes will be lost. 表單 - + I accept the terms and conditions above. 我接受上述的條款與條件。 - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>授權協定</h1>此安裝程式將會安裝受授權條款所限制的專有軟體。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 請仔細上方的最終用戶授權協定 (EULA)。<br/>若您不同意上述條款,安裝程式將不會繼續。 - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>授權協定</h1>此安裝程式可以安裝受授權條款限制的專有軟體,以提供額外的功農與增強使用者體驗。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 請仔細上方的最終用戶授權協定 (EULA)。<br/>若您不同意上述條款,將不會安裝專有軟體,而會使用其開放原始螞碼版本作為替代。 @@ -1408,7 +1435,7 @@ The installer will quit and all changes will be lost. LicenseViewStep - + License 授權條款 @@ -1416,64 +1443,64 @@ The installer will quit and all changes will be lost. LicenseWidget - + <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver <strong>%1 驅動程式</strong><br/>由 %2 所提供 - + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver <strong>%1 顯示卡驅動程式</strong><br/><font color="Grey">由 %2 所提供</font> - + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> <strong>%1 瀏覽器外掛程式</strong><br/><font color="Grey">由 %2 所提供</font> - + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> <strong>%1 編解碼器</strong><br/><font color="Grey">由 %2 所提供</font> - + <strong>%1 package</strong><br/><font color="Grey">by %2</font> <strong>%1 軟體包</strong><br/><font color="Grey">由 %2 所提供</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">由 %2 所提供</font> - + Shows the complete license text 顯示完整的授權條款文字 - + Hide license text 隱藏授權條款文字 - + Show license agreement 顯示授權條款協議 - + Hide license agreement 隱藏授權條款協議 - + Opens the license agreement in a browser window. 在瀏覽器視窗開啟授權條款協議。 - + <a href="%1">View license agreement</a> <a href="%1">檢視授權協議</a> @@ -1574,15 +1601,20 @@ The installer will quit and all changes will be lost. 描述 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 網路安裝。(已停用:無法擷取軟體包清單,請檢查您的網路連線) - + Network Installation. (Disabled: Received invalid groups data) 網路安裝。(已停用:收到無效的群組資料) + + + Network Installation. (Disabled: Incorrect configuration) + 網路安裝。(已停用:設定不正確) + NetInstallViewStep @@ -1866,6 +1898,47 @@ The installer will quit and all changes will be lost. 未知的錯誤 + + PackageChooserPage + + + Form + 形式 + + + + Product Name + 產品名稱 + + + + TextLabel + 文字標籤 + + + + Long Product Description + 較長的產品描述 + + + + Package Selection + 軟體包選擇 + + + + Please pick a product from the list. The selected product will be installed. + 請從清單中挑選產品。將會安裝選定的產品。 + + + + PackageChooserViewStep + + + Packages + 軟體包 + + Page_Keyboard @@ -2268,14 +2341,14 @@ The installer will quit and all changes will be lost. ProcessResult - + There was no output from the command. 指令沒有輸出。 - + Output: @@ -2284,52 +2357,52 @@ Output: - + External command crashed. 外部指令當機。 - + Command <i>%1</i> crashed. 指令 <i>%1</i> 已當機。 - + External command failed to start. 外部指令啟動失敗。 - + Command <i>%1</i> failed to start. 指令 <i>%1</i> 啟動失敗。 - + Internal error when starting command. 當啟動指令時發生內部錯誤。 - + Bad parameters for process job call. 呼叫程序的參數無效。 - + External command failed to finish. 外部指令結束失敗。 - + Command <i>%1</i> failed to finish in %2 seconds. 指令 <i>%1</i> 在結束 %2 秒內失敗。 - + External command finished with errors. 外部指令結束時發生錯誤。 - + Command <i>%1</i> finished with exit code %2. 指令 <i>%1</i> 結束時有錯誤碼 %2。 @@ -2388,6 +2461,16 @@ Output: language[name] (country[name]) %1 (%2) + + + No product + 沒有產品 + + + + No description provided. + 未提供描述。 + RemoveVolumeGroupJob @@ -2920,22 +3003,22 @@ Output: TrackingInstallJob - + Installation feedback 安裝回饋 - + Sending installation feedback. 傳送安裝回饋 - + Internal error in install-tracking. 在安裝追蹤裡的內部錯誤。 - + HTTP request timed out. HTTP 請求逾時。 @@ -2943,28 +3026,28 @@ Output: TrackingMachineNeonJob - + Machine feedback 機器回饋 - + Configuring machine feedback. 設定機器回饋。 - - + + Error in machine feedback configuration. 在機器回饋設定中的錯誤。 - + Could not configure machine feedback correctly, script error %1. 無法正確設定機器回饋,指令稿錯誤 %1。 - + Could not configure machine feedback correctly, Calamares error %1. 無法正確設定機器回饋,Calamares 錯誤 %1。 @@ -2997,17 +3080,17 @@ Output: 安裝追蹤協助 %1 看見他們有多少使用者,用什麼硬體安裝 %1 ,以及(下面的最後兩個選項)取得持續性的資訊,如偏好的應用程式等。要檢視傳送了哪些東西,請點選在每個區域旁邊的說明按鈕。 - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. 選取這個後,您將會傳送關於您的安裝與硬體的資訊。這個資訊將<b>只會傳送一次</b>,且在安裝完成後。 - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. 選取這個後,您將會<b>週期性地</b>傳送關於您的安裝、硬體與應用程式的資訊給 %1。 - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. 選取這個後,您將會<b>經常</b>傳送關於您的安裝、硬體、應用程式與使用模式的資訊給 %1。 @@ -3015,7 +3098,7 @@ Output: TrackingViewStep - + Feedback 回饋 @@ -3072,6 +3155,19 @@ Output: 使用者 + + VariantModel + + + Key + 金鑰 + + + + Value + + + VolumeGroupBaseDialog @@ -3133,23 +3229,48 @@ Output: 表單 - + + + Select application and system language + 選取應用程式與系統語言 + + + + Open donations website + 開啟捐款網頁 + + + + &Donate + 捐款(&D) + + + + Open help and support website + 開啟說明與支援網頁 + + + + Open issues and bug-tracking website + 開啟問題與錯誤追蹤網頁 + + + + Open relead notes website + 開啟發行紀錄網頁 + + + &Release notes 發行註記(&R) - + &Known issues 已知問題(&K) - - - Select language - 選取語言 - - - + &Support 支援(&S) @@ -3159,42 +3280,42 @@ Output: 關於(&A) - + <h1>Welcome to the %1 installer.</h1> <h1>歡迎使用 %1 安裝程式。</h1> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>歡迎使用 %1 的 Calamares 安裝程式。</h1> - + <h1>Welcome to the Calamares setup program for %1.</h1> <h1>歡迎使用 %1 的 Calamares 安裝程式。</h1> - + <h1>Welcome to %1 setup.</h1> <h1>歡迎使用 %1 安裝程式。</h1> - + About %1 setup 關於 %1 安裝程式 - + About %1 installer 關於 %1 安裝程式 - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. <h1>%1</h1><br/><strong>%2<br/>為 %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>感謝 <a href="https://calamares.io/team/">Calamares 團隊</a>與 <a href="https://www.transifex.com/calamares/calamares/">Calamares 翻譯團隊</a>。<br/><br/><a href="https://calamares.io/">Calamares</a> 開發由 <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software 贊助。 - + %1 support %1 支援 @@ -3202,7 +3323,7 @@ Output: WelcomeViewStep - + Welcome 歡迎 From 3eb5c00e133a134e06cecbe525a8dd0c6bc00ae3 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 2 Sep 2019 10:52:45 +0200 Subject: [PATCH 334/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 64 +++++++++---------- lang/python/ar/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ast/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/be/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/bg/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ca/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ca@valencia/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/cs_CZ/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/da/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/de/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/el/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/en_GB/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/eo/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/es/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/es_MX/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/es_PR/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/et/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/eu/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/fa/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/fi_FI/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/fr/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/fr_CH/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/gl/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/gu/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/he/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/hi/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/hr/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/hu/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/id/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/is/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/it_IT/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ja/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/kk/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/kn/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ko/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/lo/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/lt/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/mk/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/mr/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/nb/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ne_NP/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/nl/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/pl/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/pt_BR/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/pt_PT/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ro/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ru/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/sk/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/sl/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/sq/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/sr/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/sr@latin/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/sv/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/th/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/tr_TR/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/uk/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/ur/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/uz/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/zh_CN/LC_MESSAGES/python.po | 64 +++++++++---------- lang/python/zh_TW/LC_MESSAGES/python.po | 64 +++++++++---------- 60 files changed, 1920 insertions(+), 1920 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index b31490417..111926ba2 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,22 +26,22 @@ msgstr "Configure GRUB." msgid "Mounting partitions." msgstr "Mounting partitions." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Configuration Error" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "No partitions are defined for
{!s}
to use." @@ -93,15 +93,15 @@ msgstr "Unmount file systems." msgid "Filling up filesystems." msgstr "Filling up filesystems." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync failed with error code {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Failed to unpack image \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -109,84 +109,84 @@ msgstr "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "No mount point for root partition" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Bad mount point for root partition" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint is \"{}\", which does not exist, doing nothing" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Bad unsquash configuration" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "The filesystem for \"{}\" ({}) is not supported" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "The source filesystem \"{}\" does not exist" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "The destination \"{}\" in the target system is not a directory" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Cannot write KDM configuration file" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Cannot write LXDM configuration file" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Cannot write LightDM configuration file" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Cannot configure LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "No LightDM greeter installed." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Cannot write SLIM configuration file" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "No display managers selected for the displaymanager module." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -194,7 +194,7 @@ msgstr "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Display manager configuration was incomplete" @@ -205,7 +205,7 @@ msgstr "Configuring mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "No root mount point is given for
{!s}
to use." diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index 11dc09b36..a4efc853c 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" @@ -30,22 +30,22 @@ msgstr "" msgid "Mounting partitions." msgstr "جاري تركيب الأقسام" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "خطأ في الضبط" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -94,104 +94,104 @@ msgstr "الغاء تحميل ملف النظام" msgid "Filling up filesystems." msgstr "جاري ملئ أنظمة الملفات" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "فشل rsync مع رمز الخطأ {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "فشلت كتابة ملف ضبط KDM." -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "ملف ضبط KDM {!s} غير موجود" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "فشلت كتابة ملف ضبط LXDM." -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "ملف ضبط LXDM {!s} غير موجود" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "فشلت كتابة ملف ضبط LightDM." -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "ملف ضبط LightDM {!s} غير موجود" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "فشل ضبط LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "لم يتم تصيب LightDM" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "فشلت كتابة ملف ضبط SLIM." -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "ملف ضبط SLIM {!s} غير موجود" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "إعداد مدير العرض لم يكتمل" @@ -202,7 +202,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index ad2ec77e2..26cf7c45f 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,15 +93,15 @@ msgstr "Desmontaxe de sistemes de ficheros." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync falló col códigu de fallu {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Fallu al desempaquetar la imaxe «{}»" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -109,85 +109,85 @@ msgstr "" "Fallu al alcontrar unsquashfs, asegúrate que tienes instaláu'l paquete " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nun hai un puntu de montaxe pa la partición del raigañu" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage nun contién una clave «rootMountPoint». Nun va facese nada" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "El puntu de montaxe ye incorreutu pa la partición del raigañu" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint ye «{}» que nun esiste. Nun va facese nada" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "La configuración d'espardimientu ye incorreuta" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "El sistema de ficheros pa «{}» ({}) nun ta sofitáu" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "El sistema de ficheros d'orixe «{}» nun esiste" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "El destín «{}» nel sistema de destín nun ye un direutoriu" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de KDM {!s}" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de LXDM {!s}" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de LightDM {!s}" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Nun pue configurase LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Nun s'instaló dengún saludador de LightDM." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de SLIM {!s}" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Nun s'esbillaron xestores de pantalles pal módulu displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -195,7 +195,7 @@ msgstr "" "La llista displaymanagers ta balera o nun se definió en bothglobalstorage y " "displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "La configuración del xestor de pantalles nun se completó" @@ -206,7 +206,7 @@ msgstr "Configurando mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index 5baed9bac..b19280a27 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Zmicer Turok , 2019\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" @@ -29,22 +29,22 @@ msgstr "Наладзіць GRUB." msgid "Mounting partitions." msgstr "Мантаванне раздзелаў." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Памылка канфігурацыі" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Раздзелы для
{!s}
не вызначаныя." @@ -95,15 +95,15 @@ msgstr "Адмантаваць файлавыя сістэмы." msgid "Filling up filesystems." msgstr "Запаўненне файлавых сістэм." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "памылка rsync з кодам {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Не атрымалася распакаваць вобраз \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,84 +111,84 @@ msgstr "" "Не атрымалася знайсці unsquashfs, праверце ці ўсталяваны ў вас пакунак " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Для каранёвага раздзела няма пункта мантавання" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage не змяшчае ключа \"rootMountPoint\", нічога не выконваецца" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Хібны пункт мантавання для каранёвага раздзела" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint \"{}\" не існуе, нічога не выконваецца" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Хібная канфігурацыя unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Файлавая сістэма для \"{}\" ({}) не падтрымліваецца" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Зыходная файлавая сістэма \"{}\" не існуе" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Пункт прызначэння \"{}\" у мэтавай сістэме не з’яўляецца каталогам" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Файл канфігурацыі KDM {!s} не існуе" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Файл канфігурацыі LXDM {!s} не існуе" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Файл канфігурацыі LightDM {!s} не існуе" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Немагчыма наладзіць LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "LightDM greeter не ўсталяваны." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Файл канфігурацыі SLIM {!s} не існуе" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "У модулі дысплейных кіраўнікоў нічога не абрана." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -196,7 +196,7 @@ msgstr "" "Спіс дысплейных кіраўнікоў пусты альбо не вызначаны ў bothglobalstorage і " "displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Наладка дысплейнага кіраўніка не завершаная." @@ -207,7 +207,7 @@ msgstr "Наладка mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "Каранёвы пункт мантавання для
{!s}
не пададзены." diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 7742ffbd5..d2694254a 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Демонтирай файловите системи." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index d8ff64f9f..e60bcef31 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" @@ -29,22 +29,22 @@ msgstr "Configura el GRUB." msgid "Mounting partitions." msgstr "Es munten les particions." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Error de configuració" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "No s'han definit particions perquè les usi
{!s}
." @@ -97,15 +97,15 @@ msgstr "Desmunta els sistemes de fitxers." msgid "Filling up filesystems." msgstr "S'omplen els sistemes de fitxers." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "Ha fallat rsync amb el codi d'error {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Ha fallat desempaquetar la imatge \"{}\"." -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,85 +113,85 @@ msgstr "" "Ha fallat trobar unsquashfs, assegureu-vos que tingueu el paquet squashfs-" "tools instal·lat." -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "No hi ha punt de muntatge per a la partició d'arrel." -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage no conté cap clau \"rootMountPoint\". No es fa res." -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Punt de muntatge incorrecte per a la partició d'arrel" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "El punt de muntatge d'arrel és \"{}\", que no existeix. No es fa res." -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Configuració incorrecta d'unsquash." -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "El sistema de fitxers per a \"{}\" ({}) no s'admet." -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "El sistema de fitxers font \"{}\" no existeix." -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "La destinació \"{}\" al sistema de destinació no és un directori." -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "No es pot escriure el fitxer de configuració del KDM." -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "El fitxer de configuració del KDM {!s} no existeix." -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "No es pot escriure el fitxer de configuració de l'LXDM." -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "El fitxer de configuració de l'LXDM {!s} no existeix." -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "No es pot escriure el fitxer de configuració del LightDM." -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "El fitxer de configuració del LightDM {!s} no existeix." -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "No es pot configurar el LightDM." -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "No hi ha benvinguda instal·lada per al LightDM." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "No es pot escriure el fitxer de configuració de l'SLIM." -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "El fitxer de configuració de l'SLIM {!s} no existeix." -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "No hi ha cap gestor de pantalla seleccionat per al mòdul displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -199,7 +199,7 @@ msgstr "" "La llista de gestors de pantalla és buida o no definida a bothglobalstorage " "i displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "La configuració del gestor de pantalla no era completa." @@ -210,7 +210,7 @@ msgstr "Es configura mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index 5c242bf1b..b52e75544 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 9215054e0..1237a4857 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" @@ -30,22 +30,22 @@ msgstr "Nastavování zavaděče GRUB." msgid "Mounting partitions." msgstr "Připojování oddílů." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Chyba nastavení" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Pro
{!s}
nejsou zadány žádné oddíly." @@ -97,15 +97,15 @@ msgstr "Odpojit souborové systémy." msgid "Filling up filesystems." msgstr "Naplňování souborových systémů." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync se nezdařilo s chybových kódem {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Nepodařilo se rozbalit obraz „{}“" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "Nepodařilo se nalézt unsquashfs – ověřte, že máte nainstalovaný balíček " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Žádný přípojný bot pro kořenový oddíl" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage neobsahuje klíč „rootMountPoint“ – nic se nebude dělat" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Chybný přípojný bod pro kořenový oddíl" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "kořenovýPřípojnýBod je „{}“, který neexistuje – nic se nebude dělat" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Chybná nastavení unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Souborový systém „{}“ ({}) není podporován" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Zdrojový souborový systém „{}“ neexistuje" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Cíl „{}“ v cílovém systému není složka" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Soubor s nastaveními pro KDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Soubor s nastaveními pro LXDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Soubor s nastaveními pro LightDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Nedaří se nastavit LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Není nainstalovaný žádný LightDM přivítač" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Soubor s nastaveními pro SLIM {!s} neexistuje" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Pro modul správce sezení nejsou vybrány žádní správci sezení." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Seznam správců displejů je prázdný nebo není definován v bothglobalstorage a" " displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Nastavení správce displeje nebylo úplné" @@ -209,7 +209,7 @@ msgstr "Nastavování mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "Pro
{!s}
není zadán žádný přípojný bod." diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index 1e7afa8a0..a7ec70169 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: scootergrisen, 2019\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" @@ -30,22 +30,22 @@ msgstr "Konfigurer GRUB." msgid "Mounting partitions." msgstr "Monterer partitioner." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Fejl ved konfiguration" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Der er ikke angivet nogle partitioner som
{!s}
skal bruge." @@ -97,15 +97,15 @@ msgstr "Afmonter filsystemer." msgid "Filling up filesystems." msgstr "Udfylder filsystemer." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync mislykkedes med fejlkoden {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Kunne ikke udpakke aftrykket \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,85 +113,85 @@ msgstr "" "Kunne ikke finde unsquashfs, sørg for at squashfs-tools-pakken er " "installeret" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Intet monteringspunkt til rodpartition" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage indeholder ikke en \"rootMountPoint\"-nøgle, gør intet" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Dårligt monteringspunkt til rodpartition" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint er \"{}\", hvilket ikke findes, gør intet" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Dårlig unsquash-konfiguration" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Filsystemet til \"{}\" ({}) understøttes ikke" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Kildefilsystemet \"{}\" findes ikke" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Destinationen \"{}\" i målsystemet er ikke en mappe" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Kan ikke skrive KDM-konfigurationsfil" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Kan ikke skrive LXDM-konfigurationsfil" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Kan ikke skrive LightDM-konfigurationsfil" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Kan ikke konfigurerer LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Der er ikke installeret nogen LightDM greeter." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Kan ikke skrive SLIM-konfigurationsfil" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Der er ikke valgt nogen displayhåndteringer til displayhåndtering-modulet." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -199,7 +199,7 @@ msgstr "" "Listen over displayhåndteringer er tom eller udefineret i bothglobalstorage " "og displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Displayhåndtering-konfiguration er ikke komplet" @@ -210,7 +210,7 @@ msgstr "Konfigurerer mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index 43cb42650..2c4f0a89d 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" @@ -31,22 +31,22 @@ msgstr "GRUB konfigurieren." msgid "Mounting partitions." msgstr "Partitionen mounten." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Konfigurationsfehler" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" "Es sind keine Partitionen für
{!s}
zur Verwendung definiert." @@ -100,15 +100,15 @@ msgstr "Dateisysteme aushängen." msgid "Filling up filesystems." msgstr "Auffüllen von Dateisystemen." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync fehlgeschlagen mit Fehlercode {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Entpacken des Image \"{}\" fehlgeschlagen" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -116,84 +116,84 @@ msgstr "" "Konnte kein unsquashfs finden, stellen Sie sicher, dass Sie das squashfs-" "tools Paket installiert haben" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Kein Mount-Punkt für die Root-Partition" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage enthält keinen \"rootMountPoint\"-Schlüssel, tue nichts" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Schlechter Mount-Punkt für die Root-Partition" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint ist \"{}\", welcher nicht existiert, tue nichts" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Schlechte unsquash Konfiguration" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Das Dateisystem für \"{}\" ({}) wird nicht unterstützt" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Das Quelldateisystem \"{}\" existiert nicht" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Das Ziel \"{}\" im Zielsystem ist kein Verzeichnis" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Schreiben der KDM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Schreiben der LXDM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Schreiben der LightDM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Konfiguration von LightDM ist nicht möglich" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Kein LightDM Begrüßer installiert." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Schreiben der SLIM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Keine Displaymanager für das Displaymanagermodul ausgewählt." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -201,7 +201,7 @@ msgstr "" "Die Displaymanagerliste ist leer oder nicht in bothglobalstorage und " "displaymanager.conf definiert." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Displaymanagerkonfiguration war unvollständig." @@ -212,7 +212,7 @@ msgstr "mkinitcpio konfigurieren." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index c4af77ef6..e1986af7c 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 5eef9a059..5ed190480 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Unmount file systems." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index f6e2ef898..2c7ba132a 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Demeti dosieraj sistemoj." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 928549662..093f57457 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adolfo Jayme-Barrientos, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" @@ -32,22 +32,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -96,15 +96,15 @@ msgstr "Desmontar sistemas de archivos." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "No se pudo desempaquetar la imagen «{}»" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -112,92 +112,92 @@ msgstr "" "No se encontró unsquashfs; cerciórese de que tenga instalado el paquete " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "No se puede escribir el archivo de configuración KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "El archivo de configuración {!s} de KDM no existe" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "No se puede escribir el archivo de configuración LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "El archivo de configuracion {!s} de LXDM no existe" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "No se puede escribir el archivo de configuración de LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "El archivo de configuración {!s} de LightDM no existe" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "No se puede configurar LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "No se puede escribir el archivo de configuración de SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "El archivo de configuración {!s} de SLIM no existe" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "No se ha seleccionado ningún gestor de pantalla para el modulo " "displaymanager" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "La configuración del gestor de pantalla estaba incompleta" @@ -208,7 +208,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index bc02a0f42..3059208d4 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" @@ -30,22 +30,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -94,104 +94,104 @@ msgstr "Desmontar sistemas de archivo." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "No se puede escribir el archivo de configuración de KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "El archivo de configuración de KDM {!s} no existe" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "No se puede escribir el archivo de configuración de LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "El archivo de configuración de LXDM {!s} no existe" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "No se puede escribir el archivo de configuración de LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "El archivo de configuración de LightDM {!s} no existe" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "No se puede configurar LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "No se puede escribir el archivo de configuración de SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -202,7 +202,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index 54151ce05..b90d79453 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index 03705c5fb..48ab2b337 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Madis Otenurm, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Haagi failisüsteemid lahti." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LXDM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "LightDM seadistamine ebaõnnestus" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 5ced4ff83..08d38ea97 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,99 +93,99 @@ msgstr "Fitxategi sistemak desmuntatu." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Ezin da KDM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Ezin da LXDM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Ezin da LightDM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Ezin da LightDM konfiguratu" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Ez dago LightDM harrera instalatua." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Ezin da SLIM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Ez da pantaila kudeatzailerik aukeratu pantaila-kudeatzaile modulurako." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -193,7 +193,7 @@ msgstr "" "Pantaila-kudeatzaile-zerrenda hutsik dago edo definitzeke bothglobalstorage " "eta displaymanager.conf" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Pantaila kudeatzaile konfigurazioa osotu gabe" @@ -204,7 +204,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index 85cab6ca6..ccd9ab4d7 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index 0958195b1..b2c45bb04 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kimmo Kujansuu , 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" @@ -29,22 +29,22 @@ msgstr "Määritä GRUB." msgid "Mounting partitions." msgstr "Yhdistä osiot." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Määritysvirhe" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Ei ole määritetty käyttämään osioita
{!s}
." @@ -95,15 +95,15 @@ msgstr "Irrota tiedostojärjestelmät käytöstä." msgid "Filling up filesystems." msgstr "Paikannetaan tiedostojärjestelmiä." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync epäonnistui virhekoodilla {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Kuvan purkaminen epäonnistui \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,84 +111,84 @@ msgstr "" "Ei löytynyt unsquashfs, varmista, että sinulla on squashfs-tools paketti " "asennettuna" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Ei liitoskohtaa juuri root-osiolle" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage ei sisällä \"rootMountPoint\" avainta, eikä tee mitään" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Huono kiinnityspiste root-osioon" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint on \"{}\", jota ei ole, eikä tee mitään" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Huono epäpuhdas kokoonpano" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Tiedostojärjestelmää \"{}\" ({}) ei tueta" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Lähde tiedostojärjestelmää \"{}\" ei ole olemassa" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Kohdejärjestelmän \"{}\" kohde ei ole hakemisto" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LXDM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "LightDM määritysvirhe" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "LightDM ei ole asennettu." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Displaymanager-moduulia varten ei ole valittu näyttönhallintaa." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -196,7 +196,7 @@ msgstr "" "Displaymanager-luettelo on tyhjä tai määrittelemätön, sekä globalstorage, " "että displaymanager.conf tiedostossa." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Näytönhallinnan kokoonpano oli puutteellinen" @@ -207,7 +207,7 @@ msgstr "Määritetään mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index e96f3a136..4f15e0c0a 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Arnaud Ferraris , 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" @@ -37,22 +37,22 @@ msgstr "Configuration du GRUB." msgid "Mounting partitions." msgstr "Montage des partitions." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Erreur de configuration" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" "Aucune partition n'est définie pour être utilisée par
{!s}
." @@ -106,15 +106,15 @@ msgstr "Démonter les systèmes de fichiers" msgid "Filling up filesystems." msgstr "Remplir les systèmes de fichiers." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync a échoué avec le code d'erreur {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Impossible de décompresser l'image \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -122,86 +122,86 @@ msgstr "" "Échec de la recherche de unsquashfs, assurez-vous que le paquetage squashfs-" "tools est installé." -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Pas de point de montage pour la partition racine" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage ne contient pas de clé \"rootMountPoint\", ne fait rien" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Mauvais point de montage pour la partition racine" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint est \"{}\", ce qui n'existe pas, ne fait rien" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Mauvaise configuration unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Le système de fichiers pour \"{}\" ({}) n'est pas supporté" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Le système de fichiers source \"{}\" n'existe pas" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "La destination \"{}\" dans le système cible n'est pas un répertoire" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Impossible d'écrire le fichier de configuration KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Le fichier de configuration KDM n'existe pas" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Impossible d'écrire le fichier de configuration LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Le fichier de configuration LXDM n'existe pas" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Impossible d'écrire le fichier de configuration LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Le fichier de configuration LightDM {!S} n'existe pas" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Impossible de configurer LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Aucun hôte LightDM est installé" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Impossible d'écrire le fichier de configuration SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Le fichier de configuration SLIM {!S} n'existe pas" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Aucun gestionnaire d'affichage n'a été sélectionné pour le module de " "gestionnaire d'affichage" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -209,7 +209,7 @@ msgstr "" "La liste des gestionnaires d'affichage est vide ou indéfinie dans " "bothglobalstorage et displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "La configuration du gestionnaire d'affichage était incomplète" @@ -220,7 +220,7 @@ msgstr "Configuration de mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index fbda54e3c..04bd2e644 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 089d3dd63..e860db18e 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,99 +93,99 @@ msgstr "Desmontar sistemas de ficheiros." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "O ficheiro de configuración de KDM {!s} non existe" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "O ficheiro de configuración de LXDM {!s} non existe" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "O ficheiro de configuración de LightDM {!s} non existe" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Non é posíbel configurar LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Non se instalou o saudador de LightDM." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "O ficheiro de configuración de SLIM {!s} non existe" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Non hai xestores de pantalla seleccionados para o módulo displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -193,7 +193,7 @@ msgstr "" "A lista de xestores de pantalla está baleira ou sen definir en " "bothglobalstorage e displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "A configuración do xestor de pantalla foi incompleta" @@ -204,7 +204,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 84a31ec50..4a05f6d90 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index d5b473aa4..68145ad21 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" @@ -30,22 +30,22 @@ msgstr "הגדרת GRUB." msgid "Mounting partitions." msgstr "מחיצות מעוגנות." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "שגיאת הגדרות" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "לא הוגדרו מחיצות לשימוש של
{!s}
." @@ -97,98 +97,98 @@ msgstr "ניתוק עיגון מערכות קבצים." msgid "Filling up filesystems." msgstr "מערכות הקבצים מתמלאות." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync נכשל עם קוד השגיאה {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "פריסת התמונה „{}” נכשלה" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "איתור unsquashfs לא צלח, נא לוודא שהחבילה squashfs-tools מותקנת" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "אין נקודת עגינה למחיצת העל" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "ב־globalstorage אין את המפתח „rootMountPoint”, לא תתבצע אף פעולה" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "נקודת העגינה של מחיצת השורה שגויה" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint מוגדרת בתור „{}”, שאינו קיים, לא תתבצע אף פעולה" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "תצורת unsquash שגויה" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "מערכת הקבצים עבור „{}” ‏({}) אינה נתמכת" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "מערכת הקבצים במקור „{}” אינה קיימת" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "היעד „{}” במערכת הקבצים המיועדת אינו תיקייה" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "לא ניתן לכתוב את קובץ התצורה של KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "קובץ התצורה של KDM ‏{!s} אינו קיים" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "לא ניתן לכתוב את קובץ התצורה של LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "קובץ התצורה של LXDM ‏{!s} אינו קיים" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "לא ניתן לכתוב את קובץ התצורה של LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "קובץ התצורה של LightDM ‏{!s} אינו קיים" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "לא ניתן להגדיר את LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "לא מותקן מקבל פנים מסוג LightDM." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "לא ניתן לכתוב קובץ תצורה של SLIM." -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "קובץ התצורה {!s} של SLIM אינו קיים" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "לא נבחרו מנהלי תצוגה למודול displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -196,7 +196,7 @@ msgstr "" "הרשימה של מנהלי התצוגה ריקה או שאינה מוגדרת תחת bothglobalstorage " "ו־displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "תצורת מנהל התצוגה אינה שלמה" @@ -207,7 +207,7 @@ msgstr "mkinitcpio מותקן." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "לא סופקה נקודת עגינת שורש לשימוש של
{!s}
." diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index 55e9bebe8..e56cd4b22 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Panwar108 , 2019\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" @@ -29,22 +29,22 @@ msgstr "GRUB विन्यस्त करना।" msgid "Mounting partitions." msgstr "विभाजन माउंट करना।" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "विन्यास त्रुटि" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "
{!s}
के उपयोग हेतु कोई विभाजन परिभाषित नहीं हैं।" @@ -95,99 +95,99 @@ msgstr "फ़ाइल सिस्टम माउंट से हटाना msgid "Filling up filesystems." msgstr "फाइल सिस्टम भरना।" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync त्रुटि कोड {} के साथ विफल।" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "इमेज फ़ाइल \"{}\" को खोलने में विफल" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" "unsqaushfs खोजने में विफल, सुनिश्चित करें कि squashfs-tools पैकेज इंस्टॉल है" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "रुट विभाजन हेतु कोई माउंट पॉइंट नहीं है" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage में \"rootMountPoint\" कुंजी नहीं है, कुछ नहीं किया जाएगा" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "रुट विभाजन हेतु ख़राब माउंट पॉइंट" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "रुट माउंट पॉइंट \"{}\" है, जो कि मौजूद नहीं है, कुछ नहीं किया जाएगा" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "ख़राब unsquash विन्यास सेटिंग्स" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({}) हेतु फ़ाइल सिस्टम समर्थित नहीं है" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "\"{}\" स्रोत फ़ाइल सिस्टम मौजूद नहीं है" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "लक्षित सिस्टम में \"{}\" स्थान कोई डायरेक्टरी नहीं है" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LXDM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "LightDM को विन्यस्त नहीं किया जा सकता" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "कोई LightDM लॉगिन स्क्रीन इंस्टॉल नहीं है।" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "चयनित डिस्प्ले प्रबंधक मॉड्यूल हेतु कोई डिस्प्ले प्रबंधक नहीं मिला।" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -195,7 +195,7 @@ msgstr "" "bothglobalstorage एवं displaymanager.conf में डिस्प्ले प्रबंधक सूची रिक्त या" " अपरिभाषित है।" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "डिस्प्ले प्रबंधक विन्यास अधूरा था" @@ -206,7 +206,7 @@ msgstr "mkinitcpio को विन्यस्त करना।" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index 94461e40e..de66977d5 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" @@ -29,22 +29,22 @@ msgstr "Konfigurirajte GRUB." msgid "Mounting partitions." msgstr "Montiranje particija." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Greška konfiguracije" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Nema definiranih particija za
{!s}
korištenje." @@ -97,15 +97,15 @@ msgstr "Odmontiraj datotečne sustave." msgid "Filling up filesystems." msgstr "Popunjavanje datotečnih sustava." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync nije uspio s kodom pogreške {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Otpakiravnje slike nije uspjelo \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "Neuspješno pronalaženje unsquashfs, provjerite imate li instaliran paket " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nema točke montiranja za root particiju" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage ne sadrži ključ \"rootMountPoint\", ne radi ništa" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Neispravna točka montiranja za root particiju" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint je \"{}\", što ne postoji, ne radi ništa" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Neispravna unsquash konfiguracija" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Datotečni sustav za \"{}\" ({}) nije podržan" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Izvorni datotečni sustav \"{}\" ne postoji" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Odredište \"{}\" u ciljnom sustavu nije direktorij" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Ne mogu zapisati KDM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Ne mogu zapisati LXDM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Ne moku zapisati LightDM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Ne mogu konfigurirati LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Nije instaliran LightDM pozdravnik." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Ne mogu zapisati SLIM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Nisu odabrani upravitelji zaslona za modul displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Popis upravitelja zaslona je prazan ili nedefiniran u bothglobalstorage i " "displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Konfiguracija upravitelja zaslona nije bila potpuna" @@ -209,7 +209,7 @@ msgstr "Konfiguriranje mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 5482de441..7f44c3162 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lajos Pasztor , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" @@ -32,22 +32,22 @@ msgstr "GRUB konfigurálása." msgid "Mounting partitions." msgstr "Partíciók csatolása." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Konfigurációs hiba" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Nincsenek partíciók meghatározva a
{!s}
használatához." @@ -100,15 +100,15 @@ msgstr "Fájlrendszerek leválasztása." msgid "Filling up filesystems." msgstr "Fájlrendszerek betöltése." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "az rsync elhalt a(z) {} hibakóddal" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "\"{}\" kép kicsomagolása nem sikerült" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -116,85 +116,85 @@ msgstr "" "unsquashfs nem található, győződj meg róla a squashfs-tools csomag telepítve" " van." -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nincs betöltési pont a root partíciónál" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage nem tartalmaz \"rootMountPoint\" kulcsot, semmi nem történik" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Rossz betöltési pont a root partíciónál" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint is \"{}\", ami nem létezik, semmi nem történik" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Rossz unsquash konfiguráció" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "A(z) ({}) fájlrendszer nem támogatott a következőhöz: \"{}\"" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "A forrás fájlrendszer \"{}\" nem létezik" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Az elérés \"{}\" nem létező könyvtár a cél rendszerben" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "A KDM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "A(z) {!s} KDM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Az LXDM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "A(z) {!s} LXDM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "A LightDM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "A(z) {!s} LightDM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "A LightDM nem állítható be" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Nincs LightDM üdvözlő telepítve." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "A SLIM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "A(z) {!s} SLIM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Nincs kijelzőkezelő kiválasztva a kijelzőkezelő modulhoz." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -202,7 +202,7 @@ msgstr "" "A kijelzőkezelők listája üres vagy nincs megadva a bothglobalstorage-ben és" " a displaymanager.conf fájlban." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "A kijelzőkezelő konfigurációja hiányos volt" @@ -213,7 +213,7 @@ msgstr "mkinitcpio konfigurálása." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "Nincs root csatolási pont megadva a
{!s}
használatához." diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index f06076b0a..bd8fd1866 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" @@ -31,22 +31,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -95,98 +95,98 @@ msgstr "Lepaskan sistem berkas." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Gak bisa menulis file konfigurasi KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "File {!s} config KDM belum ada" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Gak bisa menulis file konfigurasi LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "File {!s} config LXDM enggak ada" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Gak bisa menulis file konfigurasi LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "File {!s} config LightDM belum ada" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Gak bisa mengkonfigurasi LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Tiada LightDM greeter yang terinstal." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Gak bisa menulis file konfigurasi SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "File {!s} config SLIM belum ada" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Tiada display manager yang dipilih untuk modul displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -194,7 +194,7 @@ msgstr "" "Daftar displaymanager telah kosong atau takdidefinisikan dalam " "bothglobalstorage dan displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Konfigurasi display manager belum rampung" @@ -205,7 +205,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index fdfb49daa..fa12a09d3 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Aftengja skráarkerfi." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index bd9ed4338..eaa45ed9e 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" @@ -31,22 +31,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -95,15 +95,15 @@ msgstr "Smonta i file system." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync fallita con codice d'errore {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Estrazione dell'immagine \"{}\" fallita" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,85 +111,85 @@ msgstr "" "Impossibile trovare unsquashfs, assicurati di aver installato il pacchetto " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nessun punto di montaggio per la partizione di root" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Punto di montaggio per la partizione di root errato" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Configurazione unsquash errata" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Il filesystem per \"{}\" ({}) non è supportato" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Il filesystem sorgente \"{}\" non esiste" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "La destinazione del sistema \"{}\" non è una directory" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Impossibile scrivere il file di configurazione di KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Il file di configurazione di KDM {!s} non esiste" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Impossibile scrivere il file di configurazione di LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Il file di configurazione di LXDM {!s} non esiste" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Impossibile scrivere il file di configurazione di LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Il file di configurazione di LightDM {!s} non esiste" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Impossibile configurare LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Non è stato installato nessun LightDM greeter" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Impossibile scrivere il file di configurazione di SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Il file di configurazione di SLIM {!s} non esiste" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Non è stato selezionato alcun display manager per il modulo displaymanager" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -197,7 +197,7 @@ msgstr "" "La lista displaymanagers è vuota o non definita sia in globalstorage che in " "displaymanager.conf" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "La configurazione del display manager è incompleta" @@ -208,7 +208,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index 73acce210..38d4874e1 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: UTUMI Hirosi , 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" @@ -31,22 +31,22 @@ msgstr "GRUBを設定にします。" msgid "Mounting partitions." msgstr "パーティションのマウント。" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "コンフィグレーションエラー" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "
{!s}
に使用するパーティションが定義されていません。" @@ -98,104 +98,104 @@ msgstr "ファイルシステムをアンマウントする。" msgid "Filling up filesystems." msgstr "ファイルシステムを埋める。" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "エラーコード {} によりrsyncを失敗。" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "イメージ \"{}\" の展開に失敗" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "unsquashfs が見つかりませんでした。 squashfs-toolsがインストールされているか、確認してください。" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "ルートパーティションのためのマウントポイントがありません" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage に \"rootMountPoint\" キーが含まれていません。何もしません。" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "ルートパーティションのためのマウントポイントが不正です" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "ルートマウントポイントは \"{}\" ですが、存在しません。何もできません。" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "unsquash の設定が不正です" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "ファイルシステム \"{}\" ({}) はサポートされていません" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "ソースファイルシステム \"{}\" は存在しません" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "ターゲットシステムの宛先 \"{}\" はディレクトリではありません" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LXDMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "LightDMの設定ができません" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "LightDM greeter がインストールされていません。" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "ディスプレイマネージャが選択されていません。" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "ディスプレイマネージャのリストが bothglobalstorage 及び displaymanager.conf 内で空白か未定義です。" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "ディスプレイマネージャの設定が不完全です" @@ -206,7 +206,7 @@ msgstr "mkinitcpioを設定中" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "
{!s}
を使用するのにルートマウントポイントが与えられていません。" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index 6d0bc8364..95e91ae64 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index 0f5e704ca..c08f80c35 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index 9663a1755..d92595707 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 이정희 , 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" @@ -30,22 +30,22 @@ msgstr "GRUB 구성" msgid "Mounting partitions." msgstr "파티션 마운트 중." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "구성 오류" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "사용할
{!s}
에 대해 정의된 파티션이 없음." @@ -96,105 +96,105 @@ msgstr "파일 시스템 마운트를 해제합니다." msgid "Filling up filesystems." msgstr "파일 시스템을 채우는 중." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync가 {} 오류 코드로 실패했습니다." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "\"{}\" 이미지의 압축을 풀지 못했습니다." -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "unsquashfs를 찾지 못했습니다. squashfs-tools 패키지가 설치되어 있는지 확인하십시오." -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "루트 파티션에 대한 마운트 위치 없음" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage에는 \"rootMountPoint \" 키가 포함되어 있지 않으며 아무 작업도 수행하지 않습니다." -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "루트 파티션에 대한 잘못된 마운트 위치" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint는 \"{}\"이고, 존재하지 않으며, 아무 작업도 수행하지 않습니다." -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "잘못된 unsquash 구성" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({})의 파일시스템은 지원되지 않습니다." -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "\"{}\" 소스 파일시스템은 존재하지 않습니다." -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "대상 시스템의 \"{}\" 목적지가 디렉토리가 아닙니다." -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDM 구성 파일을 쓸 수 없습니다." -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM 구성 파일 {! s}가 없습니다" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LMLDM 구성 파일을 쓸 수 없습니다." -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM 구성 파일 {!s}이 없습니다." -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDM 구성 파일을 쓸 수 없습니다." -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM 구성 파일 {!s}가 없습니다." -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "LightDM을 구성할 수 없습니다." -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "LightDM greeter가 설치되지 않았습니다." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIM 구성 파일을 쓸 수 없음" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM 구성 파일 {!s}가 없음" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "displaymanager 모듈에 대해 선택된 디스플레이 관리자가 없습니다." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" "displaymanagers 목록은 globalstorage 및 displaymanager.conf에서 비어 있거나 정의되지 않습니다." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "디스플레이 관리자 구성이 완료되지 않았습니다." @@ -205,7 +205,7 @@ msgstr "mkinitcpio 구성 중." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "
{!s}
에서 사용할 루트 마운트 지점이 제공되지 않음." diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index d61c2778f..c3d74ba77 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 40932607b..a479665b3 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Moo, 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" @@ -29,22 +29,22 @@ msgstr "Konfigūruoti GRUB." msgid "Mounting partitions." msgstr "Prijungiami skaidiniai." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Konfigūracijos klaida" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Nėra apibrėžta jokių skaidinių, skirtų
{!s}
naudojimui." @@ -97,15 +97,15 @@ msgstr "Atjungti failų sistemas." msgid "Filling up filesystems." msgstr "Užpildomos failų sistemos." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync patyrė nesėkmę su klaidos kodu {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Nepavyko išpakuoti atvaizdį \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "Nepavyko rasti unsquashfs, įsitikinkite, kad esate įdiegę squashfs-tools " "paketą" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nėra prijungimo taško šaknies skaidiniui" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage viduje nėra \"rootMountPoint\" rakto, nieko nedaroma" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Blogas šaknies skaidinio prijungimo taškas" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint yra \"{}\", kurio nėra, nieko nedaroma" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Bloga unsquash konfigūracija" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({}) failų sistema yra nepalaikoma" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Šaltinio failų sistemos \"{}\" nėra" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Paskirties vieta \"{}\", esanti paskirties sistemoje, nėra katalogas" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Nepavyksta įrašyti KDM konfigūracijos failą" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Nepavyksta įrašyti LXDM konfigūracijos failą" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Nepavyksta įrašyti LightDM konfigūracijos failą" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Nepavyksta konfigūruoti LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Nėra įdiegtas joks LightDM sveikintojas." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Nepavyksta įrašyti SLIM konfigūracijos failą" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Displaymanagers moduliui nėra pasirinkta jokių ekranų tvarkytuvių." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Displaymanagers sąrašas yra tuščias arba neapibrėžtas tiek " "bothglobalstorage, tiek ir displaymanager.conf faile." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Ekranų tvarkytuvės konfigūracija yra nepilna" @@ -209,7 +209,7 @@ msgstr "Konfigūruojama mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index 188a74ad9..24b6614aa 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LXDM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Не може да се подеси LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Нема инсталирано LightDM поздравувач" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Немате избрано дисплеј менаџер за displaymanager модулот." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index 3c570148e..e1da832cd 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index cd50bfad6..ce7738193 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index 0377c110f..ce10a0bcd 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index 0a7c305fb..ff9f5295c 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,106 +93,106 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Geen mount-punt voor de root-partitie" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage bevat geen sleutel \"rootMountPoint\", er wordt niks gedaan" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Onjuist mount-punt voor de root-partitie" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" "rootMountPoint is ingesteld op \"{}\", welke niet bestaat, er wordt niks " "gedaan" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -203,7 +203,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index d4b5c7ed5..7bc0e9c05 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Piotr Strębski , 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" @@ -31,22 +31,22 @@ msgstr "Konfiguracja GRUB." msgid "Mounting partitions." msgstr "Montowanie partycji." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Błąd konfiguracji" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -95,15 +95,15 @@ msgstr "Odmontuj systemy plików." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync zakończyło działanie kodem błędu {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Błąd rozpakowywania obrazu \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,88 +111,88 @@ msgstr "" "Nie można odnaleźć unsquashfs, upewnij się, że masz zainstalowany pakiet " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Brak punktu montowania partycji root" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage nie zawiera klucza \"rootMountPoint\", nic nie zostanie " "zrobione" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Błędny punkt montowania partycji root" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" "Punkt montowania partycji root (rootMountPoint) jest \"{}\", które nie " "istnieje; nic nie zostanie zrobione" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Błędna konfiguracja unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "System plików dla \"{}\" ({}) nie jest obsługiwany" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Źródłowy system plików \"{}\" nie istnieje" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Miejsce docelowe \"{}\" w docelowym systemie nie jest katalogiem" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Nie można zapisać pliku konfiguracji KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Plik konfiguracyjny KDM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Nie można zapisać pliku konfiguracji LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Plik konfiguracji LXDM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Nie można zapisać pliku konfiguracji LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Plik konfiguracji LightDM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Nie można skonfigurować LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Nie zainstalowano ekranu powitalnego LightDM." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Nie można zapisać pliku konfiguracji SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Plik konfiguracji SLIM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Brak wybranych menedżerów wyświetlania dla modułu displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -200,7 +200,7 @@ msgstr "" "Lista menedżerów wyświetlania jest pusta lub niezdefiniowana w " "bothglobalstorage i displaymanager.conf" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Konfiguracja menedżera wyświetlania była niekompletna" @@ -211,7 +211,7 @@ msgstr "Konfigurowanie mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index f9630896b..5b107eb6d 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" @@ -30,22 +30,22 @@ msgstr "Configurar GRUB." msgid "Mounting partitions." msgstr "Montando partições." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Erro de Configuração." -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Sem partições definidas para uso por
{!s}
." @@ -98,15 +98,15 @@ msgstr "Desmontar os sistemas de arquivos." msgid "Filling up filesystems." msgstr "Preenchendo sistemas de arquivos." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "O rsync falhou com o código de erro {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Ocorreu uma falha ao descompactar a imagem \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -114,85 +114,85 @@ msgstr "" "Ocorreu uma falha ao localizar o unsquashfs, certifique-se de que o pacote " "squashfs-tools esteja instalado" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nenhum ponto de montagem para a partição root" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "O globalstorage não contém uma chave \"rootMountPoint\". Nada foi feito." -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Ponto de montagem incorreto para a partição root" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "O rootMountPoint é \"{}\", mas ele não existe. Nada foi feito." -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Configuração incorreta do unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "O sistema de arquivos para \"{}\" ({}) não é suportado" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "O sistema de arquivos de origem \"{}\" não existe" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "A destinação \"{}\" no sistema de destino não é um diretório" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do KDM não existe" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do LXDM não existe" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do LightDM não existe" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Não é possível configurar o LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Não há nenhuma tela de login do LightDM instalada." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do SLIM não existe" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Nenhum gerenciador de exibição selecionado para o módulo do displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -200,7 +200,7 @@ msgstr "" "A lista de displaymanagers está vazia ou indefinida no bothglobalstorage e " "no displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "A configuração do gerenciador de exibição está incompleta" @@ -211,7 +211,7 @@ msgstr "Configurando mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index b5ba4bfc4..5beaa7b5f 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Hugo Carvalho , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" @@ -31,22 +31,22 @@ msgstr "Configurar o GRUB." msgid "Mounting partitions." msgstr "A montar partições." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Erro de configuração" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "Nenhuma partição está definida para
{!s}
usar." @@ -99,15 +99,15 @@ msgstr "Desmontar sistemas de ficheiros." msgid "Filling up filesystems." msgstr "A preencher os sistemas de ficheiros." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync falhou com código de erro {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Falha ao descompactar imagem \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -115,85 +115,85 @@ msgstr "" "Falha ao procurar unsquashfs, certifique-se que tem o pacote squashfs-tools " "instalado" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Nenhum ponto de montagem para a partição root" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage não contém um \"rootMountPoint\" chave, nada a fazer" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Ponto de montagem mau para partição root" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint é \"{}\", que não existe, nada a fazer" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Má configuração unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "O sistema de ficheiros \"{}\" ({}) não é suportado" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "O sistema de ficheiros fonte \"{}\" não existe" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "O destino \"{}\" no sistema de destino não é um diretório" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Não é possível gravar o ficheiro de configuração KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "O ficheiro de configuração do KDM {!s} não existe" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Não é possível gravar o ficheiro de configuração LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "O ficheiro de configuração do LXDM {!s} não existe" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Não é possível gravar o ficheiro de configuração LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "O ficheiro de configuração do LightDM {!s} não existe" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Não é possível configurar o LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "Nenhum ecrã de boas-vindas LightDM instalado." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Não é possível gravar o ficheiro de configuração SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "O ficheiro de configuração do SLIM {!s} não existe" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" "Nenhum gestor de exibição selecionado para o módulo de gestor de exibição." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -201,7 +201,7 @@ msgstr "" "A lista de gestores de exibição está vazia ou indefinida no globalstorage e " "no displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "A configuração do gestor de exibição estava incompleta" @@ -212,7 +212,7 @@ msgstr "A configurar o mkintcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "Nenhum ponto de montagem root é fornecido para
{!s}
usar." diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index 36a8ba3d0..1d77f998f 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" @@ -30,22 +30,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -94,104 +94,104 @@ msgstr "Demonteaza sistemul de fisiere" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -202,7 +202,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 46e90df6c..8bb58f167 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 82bab4642..e84b1c968 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Dušan Kazik , 2018\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" @@ -29,22 +29,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Odpojenie súborových systémov." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu KDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu LXDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu LightDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Nedá s nakonfigurovať správca LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu SLIM {!s} neexistuje" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Neboli vybraní žiadni správcovia zobrazenia pre modul displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Konfigurácia správcu zobrazenia nebola úplná" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 6c3f25699..c60bfd0aa 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index 2eaca42fc..a15435f84 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" @@ -29,22 +29,22 @@ msgstr "Formësoni GRUB-in." msgid "Mounting partitions." msgstr "Po montohen pjesë." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Gabim Formësimi" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "S’ka pjesë të përkufizuara për
{!s}
për t’u përdorur." @@ -97,15 +97,15 @@ msgstr "Çmontoni sisteme kartelash." msgid "Filling up filesystems." msgstr "Po mbushen sisteme kartelash." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync dështoi me kod gabimi {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Dështoi shpaketimi i figurës \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "S’u arrit të gjendej unsquashfs, sigurohuni se e keni të instaluar paketën " "squashfs-tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "S’ka pikë montimi për ndarjen rrënjë" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage nuk përmban një vlerë \"rootMountPoint\", s’po bëhet gjë" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Pikë e gabuar montimi për ndarjen rrënjë" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint është \"{}\", që s’ekziston, s’po bëhet gjë" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Formësim i keq i unsquash-it" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Sistemi i kartelave për \"{}\" ({}) nuk mbulohet" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Sistemi i kartelave \"{}\" ({}) s’ekziston" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Destinacioni \"{}\" te sistemi i synuar s’është drejtori" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "S’shkruhet dot kartelë formësimi KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi KDM {!s}" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "S’shkruhet dot kartelë formësimi LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi LXDM {!s}" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "S’shkruhet dot kartelë formësimi LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi LightDM {!s}" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "S’formësohet dot LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "S’ka të instaluar përshëndetës LightDM." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "S’shkruhet dot kartelë formësimi SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi SLIM {!s}" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "S’janë përzgjedhur përgjegjës ekrani për modulin displaymanager." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Lista displaymanagers është e zbrazët ose e papërcaktuar si te " "globalstorage, ashtu edhe te displaymanager.conf." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Formësimi i përgjegjësit të ekranit s’qe i plotë" @@ -209,7 +209,7 @@ msgstr "Po formësohet mkinitcpio." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 7ee71668a..829b7d6ed 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" @@ -29,22 +29,22 @@ msgstr "Подеси ГРУБ" msgid "Mounting partitions." msgstr "Монтирање партиција." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Грешка поставе" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -93,104 +93,104 @@ msgstr "Демонтирање фајл-система." msgid "Filling up filesystems." msgstr "Попуњавање фајл-система." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync неуспешан са кодом грешке {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Неуспело распакивање одраза \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Нема тачке мотирања за root партицију" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -201,7 +201,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 74c8f2782..6d0ad52a9 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 1e83eabe8..12c6368ac 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index a41b2ac35..fb15a4de1 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 1167251a8..49a15e985 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Demiray Muhterem , 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" @@ -29,22 +29,22 @@ msgstr "GRUB'u yapılandır." msgid "Mounting partitions." msgstr "Disk bölümleri bağlanıyor." -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "Yapılandırma Hatası" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "
{!s}
kullanması için hiçbir bölüm tanımlanmadı." @@ -97,100 +97,100 @@ msgstr "Dosya sistemlerini ayırın." msgid "Filling up filesystems." msgstr "Dosya sistemi genişletiliyor." -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync {} hata koduyla başarısız oldu." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "\"{}\" kurulum medyası aktarılamadı" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" "Unsquashfs bulunamadı, squashfs-tools paketinin kurulu olduğundan emin olun." -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "kök disk bölümü için bağlama noktası yok" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage bir \"rootMountPoint\" anahtarı içermiyor, hiçbirşey yapılmadı" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Kök disk bölümü için hatalı bağlama noktası" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint \"{}\", mevcut değil, hiçbirşey yapılmadı" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Unsquash yapılandırma sorunlu" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({}) Dosya sistemi desteklenmiyor" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "\"{}\" Kaynak dosya sistemi mevcut değil" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Hedef sistemdeki \"{}\" hedefi bir dizin değil" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "KDM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "LXDM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "LightDM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "LightDM yapılandırılamıyor" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "LightDM karşılama yüklü değil." -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "SLIM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "Ekran yöneticisi modülü için ekran yöneticisi seçilmedi." -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Görüntüleyiciler listesi, her iki bölgedeki ve displaymanager.conf öğesinde " "boş veya tanımsızdır." -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "Ekran yöneticisi yapılandırma işi tamamlanamadı" @@ -209,7 +209,7 @@ msgstr "Mkinitcpio yapılandırılıyor." #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "
{!s}
kullanması için kök bağlama noktası verilmedi." diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 98788d9c3..94a532593 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" @@ -30,22 +30,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -98,15 +98,15 @@ msgstr "Відключити файлові системи." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync зазнав невдачі з кодом помилки {}." -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "Не вдалося розпакувати образ \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -114,90 +114,90 @@ msgstr "" "Не вдалося знайти unsquashfs, переконайтеся, що встановлено пакет squashfs-" "tools" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "Немає точки монтування для кореневого розділу" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "Помилка точки монтування для кореневого розділу" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "Неправильна конфігурація unsquash" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Файлова система для \"{}\" ({}) не підтримується" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "Вихідна файлова система \"{}\" не існує" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Призначення \"{}\" у цільовій системі не є каталогом" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "Неможливо записати файл налаштування KDM" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "Файл налаштування KDM {!s} не існує" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "Неможливо записати файл конфігурації LXDM" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "Файл налаштування LXDM {!s} не існує" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "Неможливо записати файл налаштування LightDM" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "Файл налаштування LightDM {!s} не існує" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "Неможливо налаштувати LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "Неможливо записати файл налаштування SLIM" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "Файл налаштування SLIM {!s} не існує" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -208,7 +208,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 48d98d4dd..e17e6d6a1 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index f174f0ce5..3e63bc45f 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" @@ -25,22 +25,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -197,7 +197,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index a7760096f..7b9ead660 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" @@ -31,22 +31,22 @@ msgstr "" msgid "Mounting partitions." msgstr "" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "" @@ -95,104 +95,104 @@ msgstr "卸载文件系统。" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "" @@ -203,7 +203,7 @@ msgstr "" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 883246529..610c954f5 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-06 01:16+0200\n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 黃柏諺 , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" @@ -29,22 +29,22 @@ msgstr "設定 GRUB。" msgid "Mounting partitions." msgstr "正在掛載分割區。" -#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:187 +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 #: src/modules/luksopenswaphookcfg/main.py:95 #: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 #: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 #: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 -#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:312 -#: src/modules/fstab/main.py:316 src/modules/localecfg/main.py:144 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" msgstr "設定錯誤" -#: src/modules/mount/main.py:151 src/modules/initcpiocfg/main.py:188 +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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:313 +#: src/modules/fstab/main.py:323 msgid "No partitions are defined for
{!s}
to use." msgstr "沒有分割區被定義為
{!s}
以供使用。" @@ -95,104 +95,104 @@ msgstr "解除掛載檔案系統。" msgid "Filling up filesystems." msgstr "填滿檔案系統。" -#: src/modules/unpackfs/main.py:159 +#: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." msgstr "rsync 失敗,錯誤碼 {} 。" -#: src/modules/unpackfs/main.py:220 src/modules/unpackfs/main.py:238 +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" msgstr "無法解開映像檔 \"{}\"" -#: src/modules/unpackfs/main.py:221 +#: src/modules/unpackfs/main.py:222 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "找不到 unsquashfs,請確定您已安裝 squashfs-tools 軟體包" -#: src/modules/unpackfs/main.py:320 +#: src/modules/unpackfs/main.py:321 msgid "No mount point for root partition" msgstr "沒有 root 分割區的掛載點" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage 不包含 \"rootMountPoint\" 鍵,不做任何事" -#: src/modules/unpackfs/main.py:326 +#: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" msgstr "root 分割區掛載點錯誤" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint 為 \"{}\",其不存在,不做任何事" -#: src/modules/unpackfs/main.py:340 src/modules/unpackfs/main.py:347 -#: src/modules/unpackfs/main.py:352 +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 msgid "Bad unsquash configuration" msgstr "錯誤的 unsquash 設定" -#: src/modules/unpackfs/main.py:341 +#: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "不支援 \"{}\" ({}) 的檔案系統" -#: src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" msgstr "來源檔案系統 \"{}\" 不存在" -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" msgstr "目標系統中的目的地 \"{}\" 不是目錄" -#: src/modules/displaymanager/main.py:381 +#: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" msgstr "無法寫入 KDM 設定檔" -#: src/modules/displaymanager/main.py:382 +#: src/modules/displaymanager/main.py:402 msgid "KDM config file {!s} does not exist" msgstr "KDM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:443 +#: src/modules/displaymanager/main.py:463 msgid "Cannot write LXDM configuration file" msgstr "無法寫入 LXDM 設定檔" -#: src/modules/displaymanager/main.py:444 +#: src/modules/displaymanager/main.py:464 msgid "LXDM config file {!s} does not exist" msgstr "LXDM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:527 +#: src/modules/displaymanager/main.py:547 msgid "Cannot write LightDM configuration file" msgstr "無法寫入 LightDM 設定檔" -#: src/modules/displaymanager/main.py:528 +#: src/modules/displaymanager/main.py:548 msgid "LightDM config file {!s} does not exist" msgstr "LightDM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:602 +#: src/modules/displaymanager/main.py:622 msgid "Cannot configure LightDM" msgstr "無法設定 LightDM" -#: src/modules/displaymanager/main.py:603 +#: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." msgstr "未安裝 LightDM greeter。" -#: src/modules/displaymanager/main.py:634 +#: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" msgstr "無法寫入 SLIM 設定檔" -#: src/modules/displaymanager/main.py:635 +#: src/modules/displaymanager/main.py:655 msgid "SLIM config file {!s} does not exist" msgstr "SLIM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:750 +#: src/modules/displaymanager/main.py:770 msgid "No display managers selected for the displaymanager module." msgstr "未在顯示管理器模組中選取顯示管理器。" -#: src/modules/displaymanager/main.py:751 +#: src/modules/displaymanager/main.py:771 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "顯示管理器清單為空或在全域儲存與 displaymanager.conf 中皆未定義。" -#: src/modules/displaymanager/main.py:831 +#: src/modules/displaymanager/main.py:851 msgid "Display manager configuration was incomplete" msgstr "顯示管理器設定不完整" @@ -203,7 +203,7 @@ msgstr "正在設定 mkinitcpio。" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 #: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:317 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." msgstr "沒有給定的根掛載點
{!s}
以供使用。" From 543e2d34fcf2721b9bd7a767828217a24f4a89c7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Sep 2019 12:02:43 +0200 Subject: [PATCH 335/626] [libcalamares] [locale] Remove unused includes --- src/libcalamares/geoip/GeoIPXML.cpp | 1 - src/modules/locale/LocaleViewStep.cpp | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/libcalamares/geoip/GeoIPXML.cpp b/src/libcalamares/geoip/GeoIPXML.cpp index d84eb3b21..256e774cf 100644 --- a/src/libcalamares/geoip/GeoIPXML.cpp +++ b/src/libcalamares/geoip/GeoIPXML.cpp @@ -20,7 +20,6 @@ #include "utils/Logger.h" -#include #include namespace CalamaresUtils diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index ee5c7699b..9dbcb5993 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -35,8 +35,6 @@ #include #include -#include -#include #include From f8356a6dcc7fa935af8e5cc681b68ab75a22d88d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Sep 2019 12:21:33 +0200 Subject: [PATCH 336/626] [libcalamares] Add an async get method - Mostly a "cheap" wrapper for a half-dozen boilerplate lines of Qt NAM code. --- src/libcalamares/network/Manager.cpp | 41 ++++++++++++++++++++++++++++ src/libcalamares/network/Manager.h | 9 ++++++ 2 files changed, 50 insertions(+) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 6c2d6caab..0cf5be20f 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -99,6 +99,40 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) d->m_hasInternetUrl = url; } +/** @brief Does a request asynchronously, returns the (pending) reply + * + * The extra options for the request are taken from @p options, + * including the timeout setting. A timeout will cause the reply + * to abort. + * + * On failure, returns nullptr (e.g. bad URL, timeout). + */ +static QNetworkReply* +asynchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) +{ + QNetworkRequest request = QNetworkRequest( url ); + QNetworkReply* reply = nam->get( request ); + QTimer* timer = nullptr; + + // Bail out early if the request is bad + if ( reply->error() ) + { + reply->deleteLater(); + return nullptr; + } + + options.applyToRequest( &request ); + if ( options.hasTimeout() ) + { + timer = new QTimer( reply ); + timer->setSingleShot( true ); + QObject::connect( timer, &QTimer::timeout, reply, &QNetworkReply::abort ); + timer->start( options.timeout() ); + } + + return reply; +} + /** @brief Does a request synchronously, returns the request itself * * The extra options for the request are taken from @p options, @@ -173,5 +207,12 @@ Manager::synchronousGet( const QUrl& url, const RequestOptions& options ) return reply.first ? reply.second->readAll() : QByteArray(); } +QNetworkReply* +Manager::asynchronouseGet( const QUrl& url, const CalamaresUtils::Network::RequestOptions& options ) +{ + return asynchronousRun( d->m_nam, url, options ); +} + + } // namespace Network } // namespace CalamaresUtils diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index 041314f13..62788f504 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -28,6 +28,7 @@ #include #include +class QNetworkReply; class QNetworkRequest; namespace CalamaresUtils @@ -139,6 +140,14 @@ public: */ bool hasInternet(); + /** @brief Do a network request asynchronously. + * + * Returns a pointer to the reply-from-the-request. + * This may be a nullptr if an error occurs immediately. + * The caller is responsible for cleaning up the reply (eventually). + */ + QNetworkReply* asynchronouseGet( const QUrl& url, const RequestOptions& options = RequestOptions() ); + private: struct Private; std::unique_ptr< Private > d; From badbdf59ee357483ef04eb338796c1f1df4a1f70 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Sep 2019 13:43:10 +0200 Subject: [PATCH 337/626] [libcalamares] Build synchronous get w/ async-get --- src/libcalamares/network/Manager.cpp | 42 +++++++++++----------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 0cf5be20f..56e36cd55 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -103,7 +103,7 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) * * The extra options for the request are taken from @p options, * including the timeout setting. A timeout will cause the reply - * to abort. + * to abort. The reply is **not** scheduled for deletion. * * On failure, returns nullptr (e.g. bad URL, timeout). */ @@ -144,36 +144,28 @@ asynchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl static QPair< RequestStatus, QNetworkReply* > synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) { - QNetworkRequest request = QNetworkRequest( url ); - QNetworkReply* reply = nam->get( request ); + auto* reply = asynchronousRun( nam, url, options ); + if ( !reply ) + { + return qMakePair( RequestStatus( RequestStatus::Failed ), nullptr ); + } + QEventLoop loop; - QTimer timer; - - // Bail out early if the request is bad - if ( reply->error() ) - { - reply->deleteLater(); - return qMakePair( RequestStatus( RequestStatus::Failed ), nullptr ); - } - - options.applyToRequest( &request ); - if ( options.hasTimeout() ) - { - timer.setSingleShot( true ); - QObject::connect( &timer, &QTimer::timeout, &loop, &QEventLoop::quit ); - timer.start( options.timeout() ); - } - QObject::connect( reply, &QNetworkReply::finished, &loop, &QEventLoop::quit ); loop.exec(); - if ( options.hasTimeout() && !timer.isActive() ) + reply->deleteLater(); + if ( reply->isRunning() ) { - reply->deleteLater(); return qMakePair( RequestStatus( RequestStatus::Timeout ), nullptr ); } - - reply->deleteLater(); - return qMakePair( RequestStatus( RequestStatus::Ok ), reply ); + else if ( reply->error() != QNetworkReply::NoError ) + { + return qMakePair( RequestStatus( RequestStatus::Timeout ), nullptr ); + } + else + { + return qMakePair( RequestStatus( RequestStatus::Ok ), reply ); + } } RequestStatus From 9850e4b35b0a7d0749e0803781f94f803de37294 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Sep 2019 14:10:36 +0200 Subject: [PATCH 338/626] [netinstall] Use the network-manager - use asynchronousGet and keep the reply - drop unused includes - apply current coding style --- src/modules/netinstall/NetInstallPage.cpp | 93 ++++++++++++++--------- src/modules/netinstall/NetInstallPage.h | 19 ++--- 2 files changed, 63 insertions(+), 49 deletions(-) diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index a4f52d5b7..c3754e1c2 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -22,26 +22,24 @@ #include "NetInstallPage.h" #include "PackageModel.h" - #include "ui_page_netinst.h" + #include "JobQueue.h" +#include "network/Manager.h" #include "utils/Logger.h" #include "utils/Retranslator.h" #include "utils/Yaml.h" -#include -#include -#include - #include +#include using CalamaresUtils::yamlToVariant; NetInstallPage::NetInstallPage( QWidget* parent ) : QWidget( parent ) , ui( new Ui::Page_NetInst ) - , m_networkManager( this ) + , m_reply( nullptr ) , m_groups( nullptr ) { ui->setupUi( this ); @@ -55,14 +53,14 @@ NetInstallPage::readGroups( const QByteArray& yamlData ) YAML::Node groups = YAML::Load( yamlData.constData() ); if ( !groups.IsSequence() ) + { cWarning() << "netinstall groups data does not form a sequence."; + } Q_ASSERT( groups.IsSequence() ); m_groups = new PackageModel( groups ); - CALAMARES_RETRANSLATE( - m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); - m_groups->setHeaderData( 1, Qt::Horizontal, tr( "Description" ) ); ) + CALAMARES_RETRANSLATE( m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); + m_groups->setHeaderData( 1, Qt::Horizontal, tr( "Description" ) ); ) return true; - } catch ( YAML::Exception& e ) { @@ -71,29 +69,53 @@ NetInstallPage::readGroups( const QByteArray& yamlData ) } } -void -NetInstallPage::dataIsHere( QNetworkReply* reply ) +/// @brief Convenience to zero out and deleteLater on the reply, used in dataIsHere +struct ReplyDeleter { - cDebug() << "NetInstall group data received" << reply->url(); - reply->deleteLater(); + QNetworkReply*& p; + + ~ReplyDeleter() + { + if ( p ) + { + p->deleteLater(); + } + p = nullptr; + } +}; + +void +NetInstallPage::dataIsHere() +{ + if ( !m_reply || !m_reply->isFinished() ) + { + cWarning() << "NetInstall data called too early."; + return; + } + + cDebug() << "NetInstall group data received" << m_reply->url(); + + ReplyDeleter d { m_reply }; // If m_required is *false* then we still say we're ready // even if the reply is corrupt or missing. - if ( reply->error() != QNetworkReply::NoError ) + if ( m_reply->error() != QNetworkReply::NoError ) { cWarning() << "unable to fetch netinstall package lists."; - cDebug() << Logger::SubEntry << "Netinstall reply error: " << reply->error(); - cDebug() << Logger::SubEntry << "Request for url: " << reply->url().toString() << " failed with: " << reply->errorString(); - ui->netinst_status->setText( tr( "Network Installation. (Disabled: Unable to fetch package lists, check your network connection)" ) ); + cDebug() << Logger::SubEntry << "Netinstall reply error: " << m_reply->error(); + cDebug() << Logger::SubEntry << "Request for url: " << m_reply->url().toString() + << " failed with: " << m_reply->errorString(); + ui->netinst_status->setText( + tr( "Network Installation. (Disabled: Unable to fetch package lists, check your network connection)" ) ); emit checkReady( !m_required ); return; } - if ( !readGroups( reply->readAll() ) ) + if ( !readGroups( m_reply->readAll() ) ) { cWarning() << "netinstall groups data was received, but invalid."; - cDebug() << Logger::SubEntry << "Url: " << reply->url().toString(); - cDebug() << Logger::SubEntry << "Headers: " << reply->rawHeaderList(); + cDebug() << Logger::SubEntry << "Url: " << m_reply->url().toString(); + cDebug() << Logger::SubEntry << "Headers: " << m_reply->rawHeaderList(); ui->netinst_status->setText( tr( "Network Installation. (Disabled: Received invalid groups data)" ) ); emit checkReady( !m_required ); return; @@ -110,7 +132,9 @@ PackageModel::PackageItemDataList NetInstallPage::selectedPackages() const { if ( m_groups ) + { return m_groups->getPackages(); + } else { cWarning() << "no netinstall groups are available."; @@ -121,24 +145,23 @@ NetInstallPage::selectedPackages() const void NetInstallPage::loadGroupList( const QString& confUrl ) { - cDebug() << "NetInstall loading groups from" << confUrl; - QNetworkRequest request; - request.setUrl( QUrl( confUrl ) ); - // Follows all redirects except unsafe ones (https to http). - request.setAttribute( QNetworkRequest::FollowRedirectsAttribute, true ); - // Not everybody likes the default User Agent used by this class (looking at you, - // sourceforge.net), so let's set a more descriptive one. - request.setRawHeader( "User-Agent", "Mozilla/5.0 (compatible; Calamares)" ); + using namespace CalamaresUtils::Network; - connect( &m_networkManager, &QNetworkAccessManager::finished, - this, &NetInstallPage::dataIsHere ); - auto* rq = m_networkManager.get( request ); - if ( rq->error() ) + cDebug() << "NetInstall loading groups from" << confUrl; + QNetworkReply* reply = Manager::instance().asynchronouseGet( + QUrl( confUrl ), + RequestOptions( RequestOptions::FakeUserAgent | RequestOptions::FollowRedirect, std::chrono::seconds( 30 ) ) ); + + if ( !reply ) { - cDebug() << Logger::Continuation << "request failed immediately," << rq->errorString(); - rq->deleteLater(); + cDebug() << Logger::Continuation << "request failed immediately."; ui->netinst_status->setText( tr( "Network Installation. (Disabled: Incorrect configuration)" ) ); } + else + { + m_reply = reply; + connect( reply, &QNetworkReply::finished, this, &NetInstallPage::dataIsHere ); + } } void diff --git a/src/modules/netinstall/NetInstallPage.h b/src/modules/netinstall/NetInstallPage.h index b2887304b..fbd60a8fd 100644 --- a/src/modules/netinstall/NetInstallPage.h +++ b/src/modules/netinstall/NetInstallPage.h @@ -24,14 +24,10 @@ #include "PackageModel.h" #include "PackageTreeItem.h" -#include -#include +#include #include -// required forward declarations -class QByteArray; class QNetworkReply; -class QString; namespace Ui { @@ -57,10 +53,7 @@ public: // corrupt or unavailable data causes checkReady() to be emitted // true (not-required) or false. void setRequired( bool ); - bool getRequired() const - { - return m_required; - } + bool getRequired() const { return m_required; } // Returns the list of packages belonging to groups that are // selected in the view in this given moment. No data is cached here, so @@ -68,7 +61,7 @@ public: PackageModel::PackageItemDataList selectedPackages() const; public slots: - void dataIsHere( QNetworkReply* ); + void dataIsHere(); signals: void checkReady( bool ); @@ -81,11 +74,9 @@ private: Ui::Page_NetInst* ui; - // Handles connection with the remote URL storing the configuration. - QNetworkAccessManager m_networkManager; - + QNetworkReply* m_reply; PackageModel* m_groups; bool m_required; }; -#endif // NETINSTALLPAGE_H +#endif // NETINSTALLPAGE_H From 0eae72e10f04047fbb979196d9b2f4c552daa3f3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Sep 2019 14:45:20 +0200 Subject: [PATCH 339/626] [packagechooser] Introduce translatable labels - Since the package chooser might be used more than once, or for more specific items than "Packages", introduce a way to provide specific strings for display. - The only string needed is the ViewStep name, since the item with id "" can be used for the no-selection item. --- src/modules/packagechooser/packagechooser.conf | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index eebe4dfb4..b82a52d3f 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -20,6 +20,19 @@ # or one-or-more). mode: required +# Human-visible strings in this module. These are all optional. +# The following translated keys are used: +# - *step*, used in the overall progress view (left-hand pane) +# +# Each key kan have a [locale] added to it, which is used as +# the translated string for that locale. For the strings +# associated with the "no-selection" item, see *items*, below +# with the explicit id "". +# +labels: + step: "Packages" + step[nl]: "Pakketten" + # Items to display in the chooser. In general, this should be a # pretty short list to avoid overwhelming the UI. This is a list # of objects, and the items are displayed in list order. From 019d1c36c69344872ad069af3d4d4d7a49532aab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Sep 2019 15:13:51 +0200 Subject: [PATCH 340/626] [packagechooser] Load translated strings from config - Apply the *labels* from the configuration file to the visible strings (only the ViewStep name). --- .../packagechooser/PackageChooserViewStep.cpp | 21 +++++++++++++++---- .../packagechooser/PackageChooserViewStep.h | 2 ++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 7758986ba..6b014fda2 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -32,6 +32,7 @@ #include "GlobalStorage.h" #include "JobQueue.h" +#include "locale/TranslatableConfiguration.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" #include "utils/Variant.h" @@ -46,6 +47,7 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) , m_widget( nullptr ) , m_model( nullptr ) , m_mode( PackageChooserMode::Required ) + , m_stepName( nullptr ) { emit nextStatusChanged( false ); } @@ -58,13 +60,14 @@ PackageChooserViewStep::~PackageChooserViewStep() m_widget->deleteLater(); } delete m_model; + delete m_stepName; } QString PackageChooserViewStep::prettyName() const { - return tr( "Packages" ); + return m_stepName ? m_stepName->get() : tr( "Packages" ); } @@ -167,12 +170,12 @@ void PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { QString mode = CalamaresUtils::getString( configurationMap, "mode" ); - bool ok = false; + bool mode_ok = false; if ( !mode.isEmpty() ) { - m_mode = roleNames().find( mode, ok ); + m_mode = roleNames().find( mode, mode_ok ); } - if ( !ok ) + if ( !mode_ok ) { m_mode = PackageChooserMode::Required; } @@ -185,6 +188,16 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap m_id = moduleInstanceKey().split( '@' ).last(); } + bool labels_ok = false; + auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok ); + if ( labels_ok ) + { + if ( labels.contains( "step" ) ) + { + m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" ); + } + } + bool first_time = !m_model; if ( configurationMap.contains( "items" ) ) { diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index e3ffc1d5b..da0775758 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -20,6 +20,7 @@ #define PACKAGECHOOSERVIEWSTEP_H #include "PluginDllMacro.h" +#include "locale/TranslatableConfiguration.h" #include "utils/PluginFactory.h" #include "viewpages/ViewStep.h" @@ -65,6 +66,7 @@ private: // Configuration PackageChooserMode m_mode; QString m_id; + CalamaresUtils::Locale::TranslatedString *m_stepName; // As it appears in the sidebar }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) From 996714dd064d61b88ec4597bd7eeaf910a9ecac5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 4 Sep 2019 19:33:24 +0200 Subject: [PATCH 341/626] [packagechooser] Use all translations for no-package-selected - If there is an item with id "" (empty), it is used as the "no-package-selected" placeholder text. - Existing code iterated over the abstract model and used the name and description at the time the model was set -- but by getting the name and description from the model, only a single string was obtained instead of the full range of translations. - Therefore, when arriving on the page, the "no-package-selected" information was displayed from the translation that was active when the model was set. Instead, extend the non-abstract model so we can find the no-package- selected item and pass that explicitly to the page. FIXES #1241 --- .../packagechooser/PackageChooserPage.cpp | 33 +++++++------------ .../packagechooser/PackageChooserPage.h | 5 +++ .../packagechooser/PackageChooserViewStep.cpp | 9 +++++ .../packagechooser/PackageChooserViewStep.h | 2 +- src/modules/packagechooser/PackageModel.h | 13 ++++++++ 5 files changed, 39 insertions(+), 23 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index f0a6579b4..1986cf464 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -53,10 +53,10 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent } /** @brief size the given @p pixmap to @p size - * + * * This is "smart" in the sense that it tries to keep the image un-scaled * (if it's just a little too big) and otherwise scales as needed. - * + * * Returns a copy if any modifications are done. */ static QPixmap @@ -129,26 +129,7 @@ void PackageChooserPage::setModel( QAbstractItemModel* model ) { ui->products->setModel( model ); - - // Check if any of the items in the model is the "none" option. - // If so, copy its values into the introduction / none item. - for ( int r = 0; r < model->rowCount(); ++r ) - { - auto index = model->index( r, 0 ); - if ( index.isValid() ) - { - QVariant v = model->data( index, PackageListModel::IdRole ); - if ( v.isValid() && v.toString().isEmpty() ) - { - m_introduction.name = model->data( index, PackageListModel::NameRole ).toString(); - m_introduction.description = model->data( index, PackageListModel::DescriptionRole ).toString(); - m_introduction.screenshot = model->data( index, PackageListModel::ScreenshotRole ).value< QPixmap >(); - currentChanged( QModelIndex() ); - break; - } - } - } - + currentChanged( QModelIndex() ); connect( ui->products->selectionModel(), &QItemSelectionModel::selectionChanged, this, @@ -181,3 +162,11 @@ PackageChooserPage::selectedPackageIds() const } return ids; } + +void +PackageChooserPage::setIntroduction( const CalamaresUtils::Locale::TranslatedString& name, + const CalamaresUtils::Locale::TranslatedString& description ) +{ + m_introduction.name = name; + m_introduction.description = description; +} diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 401de903b..4a1ac207b 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -21,6 +21,8 @@ #include "PackageModel.h" +#include "locale/TranslatableConfiguration.h" + #include #include @@ -37,6 +39,9 @@ public: void setModel( QAbstractItemModel* model ); + /// @brief Sets the introductory (no-package-selected) texts + void setIntroduction( const CalamaresUtils::Locale::TranslatedString& name, + const CalamaresUtils::Locale::TranslatedString& description ); /// @brief Is anything selected? bool hasSelection() const; /** @brief Get the list of selected ids diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 6b014fda2..ff506117d 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -283,4 +283,13 @@ PackageChooserViewStep::hookupModel() } m_widget->setModel( m_model ); + for ( int i = 0; i < m_model->packageCount(); ++i ) + { + const auto& package = m_model->packageData( i ); + if ( package.id.isEmpty() ) + { + m_widget->setIntroduction( package.name, package.description ); + break; + } + } } diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index da0775758..499571c12 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -66,7 +66,7 @@ private: // Configuration PackageChooserMode m_mode; QString m_id; - CalamaresUtils::Locale::TranslatedString *m_stepName; // As it appears in the sidebar + CalamaresUtils::Locale::TranslatedString* m_stepName; // As it appears in the sidebar }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) diff --git a/src/modules/packagechooser/PackageModel.h b/src/modules/packagechooser/PackageModel.h index 8362bee33..ee3b30185 100644 --- a/src/modules/packagechooser/PackageModel.h +++ b/src/modules/packagechooser/PackageModel.h @@ -80,6 +80,14 @@ struct PackageItem * A valid item has an untranslated name available. */ bool isValid() const { return !name.isEmpty(); } + + /** @brief Is this a (the) No-Package package? + * + * There should be at most one No-Package item in a collection + * of PackageItems. That one will be used to describe a + * "no package" situation. + */ + bool isNonePackage() const { return id.isEmpty(); } }; using PackageList = QVector< PackageItem >; @@ -100,6 +108,11 @@ public: int rowCount( const QModelIndex& index ) const override; QVariant data( const QModelIndex& index, int role ) const override; + /// @brief Direct (non-abstract) access to package data + const PackageItem& packageData( int r ) const { return m_packages[ r ]; } + /// @brief Direct (non-abstract) count of package data + int packageCount() const { return m_packages.count(); } + enum Roles : int { NameRole = Qt::DisplayRole, From 01c438317840afe08cac77cd3350d247af4c6cd6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 4 Sep 2019 19:40:35 +0200 Subject: [PATCH 342/626] [packagechooser] Simplify parameters - Just pass the no-package-selected item around. --- src/modules/packagechooser/PackageChooserPage.cpp | 7 +++---- src/modules/packagechooser/PackageChooserPage.h | 5 +---- src/modules/packagechooser/PackageChooserViewStep.cpp | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 1986cf464..1ca7b2c30 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -164,9 +164,8 @@ PackageChooserPage::selectedPackageIds() const } void -PackageChooserPage::setIntroduction( const CalamaresUtils::Locale::TranslatedString& name, - const CalamaresUtils::Locale::TranslatedString& description ) +PackageChooserPage::setIntroduction( const PackageItem& item ) { - m_introduction.name = name; - m_introduction.description = description; + m_introduction.name = item.name; + m_introduction.description = item.description; } diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 4a1ac207b..79b9fa69c 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -21,8 +21,6 @@ #include "PackageModel.h" -#include "locale/TranslatableConfiguration.h" - #include #include @@ -40,8 +38,7 @@ public: void setModel( QAbstractItemModel* model ); /// @brief Sets the introductory (no-package-selected) texts - void setIntroduction( const CalamaresUtils::Locale::TranslatedString& name, - const CalamaresUtils::Locale::TranslatedString& description ); + void setIntroduction( const PackageItem& item ); /// @brief Is anything selected? bool hasSelection() const; /** @brief Get the list of selected ids diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index ff506117d..6fb29a4f7 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -288,7 +288,7 @@ PackageChooserViewStep::hookupModel() const auto& package = m_model->packageData( i ); if ( package.id.isEmpty() ) { - m_widget->setIntroduction( package.name, package.description ); + m_widget->setIntroduction( package ); break; } } From 88fc6685ba1037664c429b34421d28be3850c5d3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 4 Sep 2019 09:19:00 -0400 Subject: [PATCH 343/626] [libcalamares] Apply coding style to geoip/ --- src/libcalamares/geoip/GeoIPTests.cpp | 6 ++++-- src/libcalamares/geoip/GeoIPXML.cpp | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/geoip/GeoIPTests.cpp b/src/libcalamares/geoip/GeoIPTests.cpp index 3400bb24f..4b1f8f8e1 100644 --- a/src/libcalamares/geoip/GeoIPTests.cpp +++ b/src/libcalamares/geoip/GeoIPTests.cpp @@ -197,7 +197,8 @@ GeoIPTests::testSplitTZ() #define CHECK_GET( t, selector, url ) \ { \ - auto tz = GeoIP##t( selector ).processReply( CalamaresUtils::Network::Manager::instance().synchronousGet( QUrl( url ) ) ); \ + auto tz = GeoIP##t( selector ) \ + .processReply( CalamaresUtils::Network::Manager::instance().synchronousGet( QUrl( url ) ) ); \ qDebug() << tz; \ QCOMPARE( default_tz, tz ); \ auto tz2 = CalamaresUtils::GeoIP::Handler( "" #t, url, selector ).get(); \ @@ -216,7 +217,8 @@ GeoIPTests::testGet() GeoIPJSON default_handler; // Call the KDE service the definitive source. - auto default_tz = default_handler.processReply( CalamaresUtils::Network::Manager::instance().synchronousGet( QUrl( "https://geoip.kde.org/v1/calamares" ) ) ); + auto default_tz = default_handler.processReply( + CalamaresUtils::Network::Manager::instance().synchronousGet( QUrl( "https://geoip.kde.org/v1/calamares" ) ) ); // This is bogus, because the test isn't always run by me // QCOMPARE( default_tz.first, QStringLiteral("Europe") ); diff --git a/src/libcalamares/geoip/GeoIPXML.cpp b/src/libcalamares/geoip/GeoIPXML.cpp index 256e774cf..2a97c5546 100644 --- a/src/libcalamares/geoip/GeoIPXML.cpp +++ b/src/libcalamares/geoip/GeoIPXML.cpp @@ -73,10 +73,12 @@ QString GeoIPXML::rawReply( const QByteArray& data ) { for ( const auto& e : getElementTexts( data, m_element ) ) + { if ( !e.isEmpty() ) { return e; } + } return QString(); } From 52e72f4fb1df2790fa4c829dd4fc0ec6a458315d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 4 Sep 2019 09:20:02 -0400 Subject: [PATCH 344/626] [welcome] Apply coding style --- src/modules/welcome/WelcomeViewStep.cpp | 3 ++- src/modules/welcome/WelcomeViewStep.h | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index 17a10f754..b34900e7f 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -148,7 +148,8 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) jobOrBrandingSetting( Branding::KnownIssuesUrl, configurationMap, "showKnownIssuesUrl" ) ); m_widget->setupButton( WelcomePage::Button::ReleaseNotes, jobOrBrandingSetting( Branding::ReleaseNotesUrl, configurationMap, "showReleaseNotesUrl" ) ); - m_widget->setupButton( WelcomePage::Button::Donate, CalamaresUtils::getString( configurationMap, "showDonateUrl" ) ); + m_widget->setupButton( WelcomePage::Button::Donate, + CalamaresUtils::getString( configurationMap, "showDonateUrl" ) ); if ( configurationMap.contains( "requirements" ) && configurationMap.value( "requirements" ).type() == QVariant::Map ) diff --git a/src/modules/welcome/WelcomeViewStep.h b/src/modules/welcome/WelcomeViewStep.h index 5d27d7aad..4d8fa160f 100644 --- a/src/modules/welcome/WelcomeViewStep.h +++ b/src/modules/welcome/WelcomeViewStep.h @@ -34,11 +34,11 @@ class GeneralRequirements; namespace CalamaresUtils { - namespace GeoIP - { - class Handler; - } -} // namespace +namespace GeoIP +{ +class Handler; +} +} // namespace CalamaresUtils class PLUGINDLLEXPORT WelcomeViewStep : public Calamares::ViewStep { @@ -79,4 +79,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( WelcomeViewStepFactory ) -#endif // WELCOMEPAGEPLUGIN_H +#endif // WELCOMEPAGEPLUGIN_H From 4259bc9d5d9ef3c6386490fbfa5fd44607427409 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 5 Sep 2019 03:23:50 -0400 Subject: [PATCH 345/626] [packagechooser] Also use screenshot from no-package-selected --- src/modules/packagechooser/PackageChooserPage.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 1ca7b2c30..2c66d4724 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -168,4 +168,5 @@ PackageChooserPage::setIntroduction( const PackageItem& item ) { m_introduction.name = item.name; m_introduction.description = item.description; + m_introduction.screenshot = item.screenshot; } From a57a030ee2eb0a68866796af316b09b9fde2b95c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 5 Sep 2019 06:33:39 -0400 Subject: [PATCH 346/626] [packagechooser] Massage the list view to be narrower --- src/modules/packagechooser/PackageChooserPage.cpp | 4 ++++ src/modules/packagechooser/page_package.ui | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 2c66d4724..b4d9f99af 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -20,6 +20,7 @@ #include "ui_page_package.h" +#include "utils/CalamaresUtilsGui.h" #include "utils/Logger.h" #include "utils/Retranslator.h" @@ -50,6 +51,9 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent case PackageChooserMode::RequiredMultiple: ui->products->setSelectionMode( QAbstractItemView::ExtendedSelection ); } + + ui->products->setMinimumWidth( 10 * CalamaresUtils::defaultFontHeight() ); + } /** @brief size the given @p pixmap to @p size diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui index 496c478a1..8349f2b52 100644 --- a/src/modules/packagechooser/page_package.ui +++ b/src/modules/packagechooser/page_package.ui @@ -21,11 +21,11 @@
- + - + 0 1 From 782b4699742309c9b4de89c718255331a593cbab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 12:38:49 +0200 Subject: [PATCH 347/626] [locale] Move all the translation work to a single slot --- src/modules/locale/LocalePage.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index f6cdba436..4a48ecde8 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -215,15 +215,7 @@ LocalePage::LocalePage( QWidget* parent ) } ); - CALAMARES_RETRANSLATE( - m_regionLabel->setText( tr( "Region:" ) ); - m_zoneLabel->setText( tr( "Zone:" ) ); - - updateLocaleLabels(); - - m_localeChangeButton->setText( tr( "&Change..." ) ); - m_formatsChangeButton->setText( tr( "&Change..." ) ); - ) + CALAMARES_RETRANSLATE_SLOT( &LocalePage::updateLocaleLabels ) } @@ -234,6 +226,11 @@ LocalePage::~LocalePage() void LocalePage::updateLocaleLabels() { + m_regionLabel->setText( tr( "Region:" ) ); + m_zoneLabel->setText( tr( "Zone:" ) ); + m_localeChangeButton->setText( tr( "&Change..." ) ); + m_formatsChangeButton->setText( tr( "&Change..." ) ); + LocaleConfiguration lc = m_selectedLocaleConfiguration.isEmpty() ? guessLocaleConfiguration() : m_selectedLocaleConfiguration; From 91f050927284db0bc16d360c996437bb5865c30f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 15:18:58 +0200 Subject: [PATCH 348/626] [locale] Refactor lambdas to plain methods - Lengthy lambda's doing UI stuff -- that doesn't change -- are easier to read as plain methods. --- src/modules/locale/LocalePage.cpp | 78 ++++++++++++++++--------------- src/modules/locale/LocalePage.h | 3 ++ 2 files changed, 44 insertions(+), 37 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 4a48ecde8..c84cd924e 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -99,43 +99,8 @@ LocalePage::LocalePage( QWidget* parent ) setLayout( mainLayout ); - connect( m_regionCombo, - static_cast< void ( QComboBox::* )( int ) >( &QComboBox::currentIndexChanged ), - [this]( int currentIndex ) - { - Q_UNUSED( currentIndex ) - QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); - if ( !regions.contains( m_regionCombo->currentData().toString() ) ) - return; - - m_zoneCombo->blockSignals( true ); - - m_zoneCombo->clear(); - - const QList< LocaleGlobal::Location > zones = regions.value( m_regionCombo->currentData().toString() ); - for ( const LocaleGlobal::Location& zone : zones ) - { - m_zoneCombo->addItem( LocaleGlobal::Location::pretty( zone.zone ), zone.zone ); - } - - m_zoneCombo->model()->sort( 0 ); - - m_zoneCombo->blockSignals( false ); - - m_zoneCombo->currentIndexChanged( m_zoneCombo->currentIndex() ); - } ); - - connect( m_zoneCombo, - static_cast< void ( QComboBox::* )( int ) >( &QComboBox::currentIndexChanged ), - [this]( int currentIndex ) - { - Q_UNUSED( currentIndex ) - if ( !m_blockTzWidgetSet ) - m_tzWidget->setCurrentLocation( m_regionCombo->currentData().toString(), - m_zoneCombo->currentData().toString() ); - - updateGlobalStorage(); - } ); + connect( m_regionCombo, QOverload< int >::of( &QComboBox::currentIndexChanged ), this, &LocalePage::regionChanged ); + connect( m_zoneCombo, QOverload< int >::of( &QComboBox::currentIndexChanged ), this, &LocalePage::zoneChanged ); connect( m_tzWidget, &TimeZoneWidget::locationChanged, [this]( LocaleGlobal::Location location ) @@ -517,3 +482,42 @@ LocalePage::updateGlobalStorage() m_selectedLocaleConfiguration = newLocale; updateLocaleLabels(); } + + +void +LocalePage::regionChanged( int currentIndex ) +{ + Q_UNUSED( currentIndex ) + QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); + if ( !regions.contains( m_regionCombo->currentData().toString() ) ) + { + return; + } + + m_zoneCombo->blockSignals( true ); + + m_zoneCombo->clear(); + + const QList< LocaleGlobal::Location > zones = regions.value( m_regionCombo->currentData().toString() ); + for ( const LocaleGlobal::Location& zone : zones ) + { + m_zoneCombo->addItem( LocaleGlobal::Location::pretty( zone.zone ), zone.zone ); + } + + m_zoneCombo->model()->sort( 0 ); + + m_zoneCombo->blockSignals( false ); + + m_zoneCombo->currentIndexChanged( m_zoneCombo->currentIndex() ); +} + +void +LocalePage::zoneChanged( int currentIndex ) +{ + Q_UNUSED( currentIndex ) + if ( !m_blockTzWidgetSet ) + m_tzWidget->setCurrentLocation( m_regionCombo->currentData().toString(), + m_zoneCombo->currentData().toString() ); + + updateGlobalStorage(); +} diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 20ad444c9..9aa7bf4f8 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -65,6 +65,9 @@ private: void updateGlobalStorage(); void updateLocaleLabels(); + void regionChanged( int currentIndex ); + void zoneChanged( int currentIndex ); + TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; QComboBox* m_zoneCombo; From 21dde80a6598c040b5b747c316451c822452bca7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 15:47:12 +0200 Subject: [PATCH 349/626] [locale] Refactor button handling to plain methods --- src/modules/locale/LocalePage.cpp | 160 +++++++++++++++--------------- src/modules/locale/LocalePage.h | 5 + 2 files changed, 87 insertions(+), 78 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index c84cd924e..ff9032aed 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -101,84 +101,9 @@ LocalePage::LocalePage( QWidget* parent ) connect( m_regionCombo, QOverload< int >::of( &QComboBox::currentIndexChanged ), this, &LocalePage::regionChanged ); connect( m_zoneCombo, QOverload< int >::of( &QComboBox::currentIndexChanged ), this, &LocalePage::zoneChanged ); - - connect( m_tzWidget, &TimeZoneWidget::locationChanged, - [this]( LocaleGlobal::Location location ) - { - m_blockTzWidgetSet = true; - - // Set region index - int index = m_regionCombo->findData( location.region ); - if ( index < 0 ) - return; - - m_regionCombo->setCurrentIndex( index ); - - // Set zone index - index = m_zoneCombo->findData( location.zone ); - if ( index < 0 ) - return; - - m_zoneCombo->setCurrentIndex( index ); - - m_blockTzWidgetSet = false; - - updateGlobalStorage(); - } ); - - connect( m_localeChangeButton, &QPushButton::clicked, - [this] - { - LCLocaleDialog* dlg = - new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration().language() : - m_selectedLocaleConfiguration.language(), - m_localeGenLines, - this ); - dlg->exec(); - if ( dlg->result() == QDialog::Accepted && - !dlg->selectedLCLocale().isEmpty() ) - { - m_selectedLocaleConfiguration.setLanguage( dlg->selectedLCLocale() ); - m_selectedLocaleConfiguration.explicit_lang = true; - this->updateGlobalLocale(); - this->updateLocaleLabels(); - } - - dlg->deleteLater(); - } ); - - connect( m_formatsChangeButton, &QPushButton::clicked, - [this] - { - LCLocaleDialog* dlg = - new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration().lc_numeric : - m_selectedLocaleConfiguration.lc_numeric, - m_localeGenLines, - this ); - dlg->exec(); - if ( dlg->result() == QDialog::Accepted && - !dlg->selectedLCLocale().isEmpty() ) - { - // TODO: improve the granularity of this setting. - m_selectedLocaleConfiguration.lc_numeric = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_time = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_monetary = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_paper = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_name = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_address = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_telephone = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_measurement = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.lc_identification = dlg->selectedLCLocale(); - m_selectedLocaleConfiguration.explicit_lc = true; - - this->updateLocaleLabels(); - } - - dlg->deleteLater(); - - } ); + connect( m_tzWidget, &TimeZoneWidget::locationChanged, this, &LocalePage::locationChanged ); + connect( m_localeChangeButton, &QPushButton::clicked, this, &LocalePage::changeLocale ); + connect( m_formatsChangeButton, &QPushButton::clicked, this, &LocalePage::changeFormats ); CALAMARES_RETRANSLATE_SLOT( &LocalePage::updateLocaleLabels ) } @@ -521,3 +446,82 @@ LocalePage::zoneChanged( int currentIndex ) updateGlobalStorage(); } + +void +LocalePage::locationChanged( LocaleGlobal::Location location ) +{ + m_blockTzWidgetSet = true; + + // Set region index + int index = m_regionCombo->findData( location.region ); + if ( index < 0 ) + return; + + m_regionCombo->setCurrentIndex( index ); + + // Set zone index + index = m_zoneCombo->findData( location.zone ); + if ( index < 0 ) + return; + + m_zoneCombo->setCurrentIndex( index ); + + m_blockTzWidgetSet = false; + + updateGlobalStorage(); +} + +void +LocalePage::changeLocale() +{ + LCLocaleDialog* dlg = + new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? + guessLocaleConfiguration().language() : + m_selectedLocaleConfiguration.language(), + m_localeGenLines, + this ); + dlg->exec(); + if ( dlg->result() == QDialog::Accepted && + !dlg->selectedLCLocale().isEmpty() ) + { + m_selectedLocaleConfiguration.setLanguage( dlg->selectedLCLocale() ); + m_selectedLocaleConfiguration.explicit_lang = true; + this->updateGlobalLocale(); + this->updateLocaleLabels(); + } + + dlg->deleteLater(); +} + + +void +LocalePage::changeFormats() +{ + LCLocaleDialog* dlg = + new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? + guessLocaleConfiguration().lc_numeric : + m_selectedLocaleConfiguration.lc_numeric, + m_localeGenLines, + this ); + dlg->exec(); + if ( dlg->result() == QDialog::Accepted && + !dlg->selectedLCLocale().isEmpty() ) + { + // TODO: improve the granularity of this setting. + m_selectedLocaleConfiguration.lc_numeric = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_time = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_monetary = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_paper = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_name = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_address = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_telephone = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_measurement = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.lc_identification = dlg->selectedLCLocale(); + m_selectedLocaleConfiguration.explicit_lc = true; + + this->updateLocaleLabels(); + } + + dlg->deleteLater(); + +} diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 9aa7bf4f8..5e4dbe8e9 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -21,6 +21,8 @@ #define LOCALEPAGE_H #include "LocaleConfiguration.h" +#include "timezonewidget/localeglobal.h" + #include "Job.h" #include @@ -67,6 +69,9 @@ private: void regionChanged( int currentIndex ); void zoneChanged( int currentIndex ); + void locationChanged( LocaleGlobal::Location location ); + void changeLocale(); + void changeFormats(); TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; From 3093f635e2040a34d272b54f13b1aadcbcc56a90 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 15:48:22 +0200 Subject: [PATCH 350/626] [locale] Apply coding style --- src/modules/locale/LocalePage.cpp | 151 ++++++++++++++---------------- src/modules/locale/LocalePage.h | 6 +- 2 files changed, 74 insertions(+), 83 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index ff9032aed..ecca8ca28 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -35,8 +35,8 @@ #include #include #include -#include #include +#include LocalePage::LocalePage( QWidget* parent ) : QWidget( parent ) @@ -109,8 +109,7 @@ LocalePage::LocalePage( QWidget* parent ) } -LocalePage::~LocalePage() -{} +LocalePage::~LocalePage() {} void @@ -121,9 +120,8 @@ LocalePage::updateLocaleLabels() m_localeChangeButton->setText( tr( "&Change..." ) ); m_formatsChangeButton->setText( tr( "&Change..." ) ); - LocaleConfiguration lc = m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration() : - m_selectedLocaleConfiguration; + LocaleConfiguration lc + = m_selectedLocaleConfiguration.isEmpty() ? guessLocaleConfiguration() : m_selectedLocaleConfiguration; auto labels = prettyLocaleStatus( lc ); m_localeLabel->setText( labels.first ); m_formatsLabel->setText( labels.second ); @@ -131,9 +129,7 @@ LocalePage::updateLocaleLabels() void -LocalePage::init( const QString& initialRegion, - const QString& initialZone, - const QString& localeGenPath ) +LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { m_regionCombo->blockSignals( true ); m_zoneCombo->blockSignals( true ); @@ -155,19 +151,18 @@ LocalePage::init( const QString& initialRegion, m_regionCombo->currentIndexChanged( m_regionCombo->currentIndex() ); // Default location - auto containsLocation = []( const QList< LocaleGlobal::Location >& locations, - const QString& zone ) -> bool - { + auto containsLocation = []( const QList< LocaleGlobal::Location >& locations, const QString& zone ) -> bool { for ( const LocaleGlobal::Location& location : locations ) { if ( location.zone == zone ) + { return true; + } } return false; }; - if ( keys.contains( initialRegion ) && - containsLocation( regions.value( initialRegion ), initialZone ) ) + if ( keys.contains( initialRegion ) && containsLocation( regions.value( initialRegion ), initialZone ) ) { m_tzWidget->setCurrentLocation( initialRegion, initialZone ); } @@ -185,14 +180,13 @@ LocalePage::init( const QString& initialRegion, QFile supported( "/usr/share/i18n/SUPPORTED" ); QByteArray ba; - if ( supported.exists() && - supported.open( QIODevice::ReadOnly | QIODevice::Text ) ) + if ( supported.exists() && supported.open( QIODevice::ReadOnly | QIODevice::Text ) ) { ba = supported.readAll(); supported.close(); const auto lines = ba.split( '\n' ); - for ( const QByteArray &line : lines ) + for ( const QByteArray& line : lines ) { m_localeGenLines.append( QString::fromLatin1( line.simplified() ) ); } @@ -208,28 +202,32 @@ LocalePage::init( const QString& initialRegion, else { cWarning() << "Cannot open file" << localeGenPath - << ". Assuming the supported languages are already built into " - "the locale archive."; + << ". Assuming the supported languages are already built into " + "the locale archive."; QProcess localeA; localeA.start( "locale", QStringList() << "-a" ); localeA.waitForFinished(); ba = localeA.readAllStandardOutput(); } const auto lines = ba.split( '\n' ); - for ( const QByteArray &line : lines ) + for ( const QByteArray& line : lines ) { - if ( line.startsWith( "## " ) || - line.startsWith( "# " ) || - line.simplified() == "#" ) + if ( line.startsWith( "## " ) || line.startsWith( "# " ) || line.simplified() == "#" ) + { continue; + } QString lineString = QString::fromLatin1( line.simplified() ); if ( lineString.startsWith( "#" ) ) + { lineString.remove( '#' ); + } lineString = lineString.simplified(); if ( lineString.isEmpty() ) + { continue; + } m_localeGenLines.append( lineString ); } @@ -238,41 +236,44 @@ LocalePage::init( const QString& initialRegion, if ( m_localeGenLines.isEmpty() ) { cWarning() << "cannot acquire a list of available locales." - << "The locale and localecfg modules will be broken as long as this " - "system does not provide" - << "\n\t " - << "* a well-formed" - << supported.fileName() - << "\n\tOR" - << "* a well-formed" - << (localeGenPath.isEmpty() ? QLatin1Literal("/etc/locale.gen") : localeGenPath) - << "\n\tOR" - << "* a complete pre-compiled locale-gen database which allows complete locale -a output."; - return; // something went wrong and there's nothing we can do about it. + << "The locale and localecfg modules will be broken as long as this " + "system does not provide" + << "\n\t " + << "* a well-formed" << supported.fileName() << "\n\tOR" + << "* a well-formed" + << ( localeGenPath.isEmpty() ? QLatin1Literal( "/etc/locale.gen" ) : localeGenPath ) << "\n\tOR" + << "* a complete pre-compiled locale-gen database which allows complete locale -a output."; + return; // something went wrong and there's nothing we can do about it. } // Assuming we have a list of supported locales, we usually only want UTF-8 ones // because it's not 1995. for ( auto it = m_localeGenLines.begin(); it != m_localeGenLines.end(); ) { - if ( !it->contains( "UTF-8", Qt::CaseInsensitive ) && - !it->contains( "utf8", Qt::CaseInsensitive ) ) + if ( !it->contains( "UTF-8", Qt::CaseInsensitive ) && !it->contains( "utf8", Qt::CaseInsensitive ) ) + { it = m_localeGenLines.erase( it ); + } else + { ++it; + } } // We strip " UTF-8" from "en_US.UTF-8 UTF-8" because it's redundant redundant. for ( auto it = m_localeGenLines.begin(); it != m_localeGenLines.end(); ++it ) { if ( it->endsWith( " UTF-8" ) ) + { it->chop( 6 ); + } *it = it->simplified(); } updateGlobalStorage(); } -std::pair< QString, QString > LocalePage::prettyLocaleStatus( const LocaleConfiguration& lc ) const +std::pair< QString, QString > +LocalePage::prettyLocaleStatus( const LocaleConfiguration& lc ) const { using CalamaresUtils::Locale::Label; @@ -288,14 +289,11 @@ QString LocalePage::prettyStatus() const { QString status; - status += tr( "Set timezone to %1/%2.
" ) - .arg( m_regionCombo->currentText() ) - .arg( m_zoneCombo->currentText() ); + status += tr( "Set timezone to %1/%2.
" ).arg( m_regionCombo->currentText() ).arg( m_zoneCombo->currentText() ); - LocaleConfiguration lc = m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration() : - m_selectedLocaleConfiguration; - auto labels = prettyLocaleStatus(lc); + LocaleConfiguration lc + = m_selectedLocaleConfiguration.isEmpty() ? guessLocaleConfiguration() : m_selectedLocaleConfiguration; + auto labels = prettyLocaleStatus( lc ); status += labels.first + "
"; status += labels.second + "
"; @@ -319,9 +317,8 @@ LocalePage::createJobs() QMap< QString, QString > LocalePage::localesMap() { - return m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration().toMap() : - m_selectedLocaleConfiguration.toMap(); + return m_selectedLocaleConfiguration.isEmpty() ? guessLocaleConfiguration().toMap() + : m_selectedLocaleConfiguration.toMap(); } @@ -329,8 +326,7 @@ void LocalePage::onActivate() { m_regionCombo->setFocus(); - if ( m_selectedLocaleConfiguration.isEmpty() || - !m_selectedLocaleConfiguration.explicit_lang ) + if ( m_selectedLocaleConfiguration.isEmpty() || !m_selectedLocaleConfiguration.explicit_lang ) { auto newLocale = guessLocaleConfiguration(); m_selectedLocaleConfiguration.setLanguage( newLocale.language() ); @@ -343,16 +339,15 @@ LocalePage::onActivate() LocaleConfiguration LocalePage::guessLocaleConfiguration() const { - return LocaleConfiguration::fromLanguageAndLocation( QLocale().name(), - m_localeGenLines, - m_tzWidget->getCurrentLocation().country ); + return LocaleConfiguration::fromLanguageAndLocation( + QLocale().name(), m_localeGenLines, m_tzWidget->getCurrentLocation().country ); } void LocalePage::updateGlobalLocale() { - auto *gs = Calamares::JobQueue::instance()->globalStorage(); + auto* gs = Calamares::JobQueue::instance()->globalStorage(); const QString bcp47 = m_selectedLocaleConfiguration.toBcp47(); gs->insert( "locale", bcp47 ); } @@ -361,11 +356,11 @@ LocalePage::updateGlobalLocale() void LocalePage::updateGlobalStorage() { - auto *gs = Calamares::JobQueue::instance()->globalStorage(); + auto* gs = Calamares::JobQueue::instance()->globalStorage(); LocaleGlobal::Location location = m_tzWidget->getCurrentLocation(); - bool locationChanged = ( location.region != gs->value( "locationRegion" ) ) || - ( location.zone != gs->value( "locationZone" ) ); + bool locationChanged + = ( location.region != gs->value( "locationRegion" ) ) || ( location.zone != gs->value( "locationZone" ) ); gs->insert( "locationRegion", location.region ); gs->insert( "locationZone", location.zone ); @@ -378,18 +373,17 @@ LocalePage::updateGlobalStorage() if ( locationChanged && Calamares::Settings::instance()->doChroot() ) { QProcess::execute( "timedatectl", // depends on systemd - { "set-timezone", - location.region + '/' + location.zone } ); + { "set-timezone", location.region + '/' + location.zone } ); } #endif // Preserve those settings that have been made explicit. auto newLocale = guessLocaleConfiguration(); - if ( !m_selectedLocaleConfiguration.isEmpty() && - m_selectedLocaleConfiguration.explicit_lang ) + if ( !m_selectedLocaleConfiguration.isEmpty() && m_selectedLocaleConfiguration.explicit_lang ) + { newLocale.setLanguage( m_selectedLocaleConfiguration.language() ); - if ( !m_selectedLocaleConfiguration.isEmpty() && - m_selectedLocaleConfiguration.explicit_lc ) + } + if ( !m_selectedLocaleConfiguration.isEmpty() && m_selectedLocaleConfiguration.explicit_lc ) { newLocale.lc_numeric = m_selectedLocaleConfiguration.lc_numeric; newLocale.lc_time = m_selectedLocaleConfiguration.lc_time; @@ -455,14 +449,18 @@ LocalePage::locationChanged( LocaleGlobal::Location location ) // Set region index int index = m_regionCombo->findData( location.region ); if ( index < 0 ) + { return; + } m_regionCombo->setCurrentIndex( index ); // Set zone index index = m_zoneCombo->findData( location.zone ); if ( index < 0 ) + { return; + } m_zoneCombo->setCurrentIndex( index ); @@ -474,15 +472,13 @@ LocalePage::locationChanged( LocaleGlobal::Location location ) void LocalePage::changeLocale() { - LCLocaleDialog* dlg = - new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration().language() : - m_selectedLocaleConfiguration.language(), - m_localeGenLines, - this ); + LCLocaleDialog* dlg + = new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? guessLocaleConfiguration().language() + : m_selectedLocaleConfiguration.language(), + m_localeGenLines, + this ); dlg->exec(); - if ( dlg->result() == QDialog::Accepted && - !dlg->selectedLCLocale().isEmpty() ) + if ( dlg->result() == QDialog::Accepted && !dlg->selectedLCLocale().isEmpty() ) { m_selectedLocaleConfiguration.setLanguage( dlg->selectedLCLocale() ); m_selectedLocaleConfiguration.explicit_lang = true; @@ -497,15 +493,13 @@ LocalePage::changeLocale() void LocalePage::changeFormats() { - LCLocaleDialog* dlg = - new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? - guessLocaleConfiguration().lc_numeric : - m_selectedLocaleConfiguration.lc_numeric, - m_localeGenLines, - this ); + LCLocaleDialog* dlg + = new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ? guessLocaleConfiguration().lc_numeric + : m_selectedLocaleConfiguration.lc_numeric, + m_localeGenLines, + this ); dlg->exec(); - if ( dlg->result() == QDialog::Accepted && - !dlg->selectedLCLocale().isEmpty() ) + if ( dlg->result() == QDialog::Accepted && !dlg->selectedLCLocale().isEmpty() ) { // TODO: improve the granularity of this setting. m_selectedLocaleConfiguration.lc_numeric = dlg->selectedLCLocale(); @@ -523,5 +517,4 @@ LocalePage::changeFormats() } dlg->deleteLater(); - } diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 5e4dbe8e9..73097252b 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -39,9 +39,7 @@ public: explicit LocalePage( QWidget* parent = nullptr ); virtual ~LocalePage(); - void init( const QString& initialRegion, - const QString& initialZone, - const QString& localeGenPath ); + void init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ); QString prettyStatus() const; @@ -91,4 +89,4 @@ private: bool m_blockTzWidgetSet; }; -#endif // LOCALEPAGE_H +#endif // LOCALEPAGE_H From 5a24e45e3b1522e4f9239ff1a12a4a08c37fe4fc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 15:58:56 +0200 Subject: [PATCH 351/626] [locale] Factor out a simple lambda - If this was handed to an algorithm it would make more sense as a lambda --- src/modules/locale/LocalePage.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index ecca8ca28..d3829aad3 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -127,6 +127,18 @@ LocalePage::updateLocaleLabels() m_formatsLabel->setText( labels.second ); } +static inline bool +containsLocation( const QList< LocaleGlobal::Location >& locations, const QString& zone ) +{ + for ( const LocaleGlobal::Location& location : locations ) + { + if ( location.zone == zone ) + { + return true; + } + } + return false; +} void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) @@ -150,18 +162,6 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons m_regionCombo->currentIndexChanged( m_regionCombo->currentIndex() ); - // Default location - auto containsLocation = []( const QList< LocaleGlobal::Location >& locations, const QString& zone ) -> bool { - for ( const LocaleGlobal::Location& location : locations ) - { - if ( location.zone == zone ) - { - return true; - } - } - return false; - }; - if ( keys.contains( initialRegion ) && containsLocation( regions.value( initialRegion ), initialZone ) ) { m_tzWidget->setCurrentLocation( initialRegion, initialZone ); From 0ee8427d5a310a568263f1493d573b888b28661a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 16:05:09 +0200 Subject: [PATCH 352/626] [locale] Remove old-style GeoIP configuration --- CHANGES | 3 +++ src/modules/locale/LocaleViewStep.cpp | 16 ---------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/CHANGES b/CHANGES index ad985b1e4..b3a1da805 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,9 @@ This release contains contributions from (alphabetically by first name): ## Modules ## + - *locale* module no longer recognized the legacy GeoIP configuration. + This has been deprecated since Calamares 3.2.8. + # 3.2.13 (2019-08-30) # diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 9dbcb5993..5d9d2df71 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -231,20 +231,4 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) m_geoipStyle = CalamaresUtils::getString( geoip, "style" ); m_geoipSelector = CalamaresUtils::getString( geoip, "selector" ); } - else - { - // Accommodate deprecated geoip configuration - m_geoipUrl = CalamaresUtils::getString( configurationMap, "geoipUrl" ); - m_geoipStyle = CalamaresUtils::getString( configurationMap, "geoipStyle" ); - m_geoipSelector = CalamaresUtils::getString( configurationMap, "geoipSelector" ); - - if ( !m_geoipUrl.isEmpty() && ( m_geoipStyle.isEmpty() || m_geoipStyle == "legacy" ) ) - { - m_geoipStyle = "json"; - m_geoipUrl.append( "/json/" ); - } - - if ( !m_geoipUrl.isEmpty() ) - cWarning() << "Legacy-style GeoIP configuration is deprecated. Use geoip: map."; - } } From 5cac3ac6ada4682e76c8d9a7c1a516dbfe926ece Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 16:58:37 +0200 Subject: [PATCH 353/626] [locale] Apply coding style --- src/modules/locale/LCLocaleDialog.cpp | 31 ++++---- src/modules/locale/LCLocaleDialog.h | 2 +- src/modules/locale/LocaleConfiguration.cpp | 82 ++++++++++++++-------- src/modules/locale/LocaleConfiguration.h | 20 +++--- src/modules/locale/LocaleViewStep.cpp | 36 ++++++---- src/modules/locale/LocaleViewStep.h | 2 +- src/modules/locale/SetTimezoneJob.cpp | 40 ++++------- src/modules/locale/SetTimezoneJob.h | 3 +- src/modules/locale/Tests.cpp | 25 ++++--- 9 files changed, 127 insertions(+), 114 deletions(-) diff --git a/src/modules/locale/LCLocaleDialog.cpp b/src/modules/locale/LCLocaleDialog.cpp index 9f1b8fbdf..db33f0c3d 100644 --- a/src/modules/locale/LCLocaleDialog.cpp +++ b/src/modules/locale/LCLocaleDialog.cpp @@ -25,9 +25,7 @@ #include #include -LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, - const QStringList& localeGenLines, - QWidget* parent ) +LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, const QStringList& localeGenLines, QWidget* parent ) : QDialog( parent ) { setModal( true ); @@ -41,7 +39,7 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, upperText->setText( tr( "The system locale setting affects the language and character " "set for some command line user interface elements.
" "The current setting is %1." ) - .arg( guessedLCLocale ) ); + .arg( guessedLCLocale ) ); mainLayout->addWidget( upperText ); setMinimumWidth( upperText->fontMetrics().height() * 24 ); @@ -60,33 +58,32 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, } } - QDialogButtonBox* dbb = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, - Qt::Horizontal, - this ); + QDialogButtonBox* dbb + = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this ); dbb->button( QDialogButtonBox::Cancel )->setText( tr( "&Cancel" ) ); dbb->button( QDialogButtonBox::Ok )->setText( tr( "&OK" ) ); mainLayout->addWidget( dbb ); - connect( dbb->button( QDialogButtonBox::Ok ), &QPushButton::clicked, - this, &QDialog::accept ); - connect( dbb->button( QDialogButtonBox::Cancel ), &QPushButton::clicked, - this, &QDialog::reject ); + connect( dbb->button( QDialogButtonBox::Ok ), &QPushButton::clicked, this, &QDialog::accept ); + connect( dbb->button( QDialogButtonBox::Cancel ), &QPushButton::clicked, this, &QDialog::reject ); - connect( m_localesWidget, &QListWidget::itemDoubleClicked, - this, &QDialog::accept ); - connect( m_localesWidget, &QListWidget::itemSelectionChanged, - [this, dbb]() - { + connect( m_localesWidget, &QListWidget::itemDoubleClicked, this, &QDialog::accept ); + connect( m_localesWidget, &QListWidget::itemSelectionChanged, [this, dbb]() { if ( m_localesWidget->selectedItems().isEmpty() ) + { dbb->button( QDialogButtonBox::Ok )->setEnabled( false ); + } else + { dbb->button( QDialogButtonBox::Ok )->setEnabled( true ); - + } } ); if ( selected > -1 ) + { m_localesWidget->setCurrentRow( selected ); + } } diff --git a/src/modules/locale/LCLocaleDialog.h b/src/modules/locale/LCLocaleDialog.h index 29005b94b..81e4cb547 100644 --- a/src/modules/locale/LCLocaleDialog.h +++ b/src/modules/locale/LCLocaleDialog.h @@ -37,4 +37,4 @@ private: QListWidget* m_localesWidget; }; -#endif // LCLOCALEDIALOG_H +#endif // LCLOCALEDIALOG_H diff --git a/src/modules/locale/LocaleConfiguration.cpp b/src/modules/locale/LocaleConfiguration.cpp index 8bc2b2c77..2024785e2 100644 --- a/src/modules/locale/LocaleConfiguration.cpp +++ b/src/modules/locale/LocaleConfiguration.cpp @@ -30,16 +30,15 @@ LocaleConfiguration::LocaleConfiguration() LocaleConfiguration::LocaleConfiguration( const QString& localeName, const QString& formatsName ) : LocaleConfiguration() { - lc_numeric = lc_time = lc_monetary = lc_paper = lc_name - = lc_address = lc_telephone = lc_measurement - = lc_identification = formatsName; + lc_numeric = lc_time = lc_monetary = lc_paper = lc_name = lc_address = lc_telephone = lc_measurement + = lc_identification = formatsName; - (void) setLanguage( localeName ); + (void)setLanguage( localeName ); } void -LocaleConfiguration::setLanguage(const QString& localeName ) +LocaleConfiguration::setLanguage( const QString& localeName ) { QString language = localeName.split( '_' ).first(); m_languageLocaleBcp47 = QLocale( language ).bcp47Name().toLower(); @@ -55,30 +54,39 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, QString language = languageLocale.split( '_' ).first(); QStringList linesForLanguage; - for ( const QString &line : availableLocales ) + for ( const QString& line : availableLocales ) { if ( line.startsWith( language ) ) + { linesForLanguage.append( line ); + } } QString lang; if ( linesForLanguage.length() == 0 || languageLocale.isEmpty() ) + { lang = "en_US.UTF-8"; + } else if ( linesForLanguage.length() == 1 ) + { lang = linesForLanguage.first(); + } else { QStringList linesForLanguageUtf; // FIXME: this might be useless if we already filter out non-UTF8 locales foreach ( QString line, linesForLanguage ) { - if ( line.contains( "UTF-8", Qt::CaseInsensitive ) || - line.contains( "utf8", Qt::CaseInsensitive ) ) + if ( line.contains( "UTF-8", Qt::CaseInsensitive ) || line.contains( "utf8", Qt::CaseInsensitive ) ) + { linesForLanguageUtf.append( line ); + } } if ( linesForLanguageUtf.length() == 1 ) + { lang = linesForLanguageUtf.first(); + } } // lang could still be empty if we found multiple locales that satisfy myLanguage @@ -92,8 +100,7 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, # locale categories reflect the selected location. */ if ( language == "pt" || language == "zh" ) { - QString proposedLocale = QString( "%1_%2" ).arg( language ) - .arg( countryCode ); + QString proposedLocale = QString( "%1_%2" ).arg( language ).arg( countryCode ); foreach ( QString line, linesForLanguage ) { if ( line.contains( proposedLocale ) ) @@ -108,7 +115,7 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, // language locale and pick the first result, if any. if ( lang.isEmpty() ) { - for ( const QString &line : availableLocales ) + for ( const QString& line : availableLocales ) { if ( line.startsWith( languageLocale ) ) { @@ -116,13 +123,14 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, break; } } - } // Else we have an unrecognized or unsupported locale, all we can do is go with // en_US.UTF-8 UTF-8. This completes all default language setting guesswork. if ( lang.isEmpty() ) + { lang = "en_US.UTF-8"; + } // The following block was inspired by Ubiquity, scripts/localechooser-apply. @@ -171,10 +179,9 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, // We make a proposed locale based on the UI language and the timezone's country. There is no // guarantee that this will be a valid, supported locale (often it won't). QString lc_formats; - QString combined = QString( "%1_%2" ).arg( language ) - .arg( countryCode ); + QString combined = QString( "%1_%2" ).arg( language ).arg( countryCode ); // We look up if it's a supported locale. - for ( const QString &line : availableLocales ) + for ( const QString& line : availableLocales ) { if ( line.startsWith( combined ) ) { @@ -187,7 +194,7 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, if ( lc_formats.isEmpty() ) { QStringList available; - for ( const QString &line : availableLocales ) + for ( const QString& line : availableLocales ) { if ( line.contains( QString( "_%1" ).arg( countryCode ) ) ) { @@ -248,11 +255,10 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, }; if ( countryToDefaultLanguage.contains( countryCode ) ) { - QString combinedLocale = - QString( "%1_%2" ).arg( countryToDefaultLanguage.value( countryCode ) ) - .arg( countryCode ); + QString combinedLocale + = QString( "%1_%2" ).arg( countryToDefaultLanguage.value( countryCode ) ).arg( countryCode ); - for ( const QString &line : availableLocales ) + for ( const QString& line : availableLocales ) { if ( line.startsWith( combinedLocale ) ) { @@ -267,7 +273,9 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, // If we cannot make a good choice for a given country we go with the LANG // setting, which defaults to en_US.UTF-8 UTF-8 if all else fails. if ( lc_formats.isEmpty() ) + { lc_formats = lang; + } return LocaleConfiguration( lang, lc_formats ); } @@ -276,16 +284,9 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale, bool LocaleConfiguration::isEmpty() const { - return m_lang.isEmpty() && - lc_numeric.isEmpty() && - lc_time.isEmpty() && - lc_monetary.isEmpty() && - lc_paper.isEmpty() && - lc_name.isEmpty() && - lc_address.isEmpty() && - lc_telephone.isEmpty() && - lc_measurement.isEmpty() && - lc_identification.isEmpty(); + return m_lang.isEmpty() && lc_numeric.isEmpty() && lc_time.isEmpty() && lc_monetary.isEmpty() && lc_paper.isEmpty() + && lc_name.isEmpty() && lc_address.isEmpty() && lc_telephone.isEmpty() && lc_measurement.isEmpty() + && lc_identification.isEmpty(); } @@ -295,35 +296,54 @@ LocaleConfiguration::toMap() const QMap< QString, QString > map; if ( !m_lang.isEmpty() ) + { map.insert( "LANG", m_lang ); + } if ( !lc_numeric.isEmpty() ) + { map.insert( "LC_NUMERIC", lc_numeric ); + } if ( !lc_time.isEmpty() ) + { map.insert( "LC_TIME", lc_time ); + } if ( !lc_monetary.isEmpty() ) + { map.insert( "LC_MONETARY", lc_monetary ); + } if ( !lc_paper.isEmpty() ) + { map.insert( "LC_PAPER", lc_paper ); + } if ( !lc_name.isEmpty() ) + { map.insert( "LC_NAME", lc_name ); + } if ( !lc_address.isEmpty() ) + { map.insert( "LC_ADDRESS", lc_address ); + } if ( !lc_telephone.isEmpty() ) + { map.insert( "LC_TELEPHONE", lc_telephone ); + } if ( !lc_measurement.isEmpty() ) + { map.insert( "LC_MEASUREMENT", lc_measurement ); + } if ( !lc_identification.isEmpty() ) + { map.insert( "LC_IDENTIFICATION", lc_identification ); + } return map; } - diff --git a/src/modules/locale/LocaleConfiguration.h b/src/modules/locale/LocaleConfiguration.h index 5e99b1f37..4f4fc6b21 100644 --- a/src/modules/locale/LocaleConfiguration.h +++ b/src/modules/locale/LocaleConfiguration.h @@ -21,8 +21,8 @@ #define LOCALECONFIGURATION_H #include -#include #include +#include class LocaleConfiguration { @@ -31,13 +31,14 @@ public: explicit LocaleConfiguration(); /// @brief Create a locale with everything set to the given @p localeName explicit LocaleConfiguration( const QString& localeName /* "en_US.UTF-8" */ ) - : LocaleConfiguration( localeName, localeName ) { } + : LocaleConfiguration( localeName, localeName ) + { + } /// @brief Create a locale with language and formats separate explicit LocaleConfiguration( const QString& localeName, const QString& formatsName ); - static LocaleConfiguration fromLanguageAndLocation( const QString& language, - const QStringList& availableLocales, - const QString& countryCode ); + static LocaleConfiguration + fromLanguageAndLocation( const QString& language, const QStringList& availableLocales, const QString& countryCode ); bool isEmpty() const; @@ -55,8 +56,8 @@ public: // These become all uppercase in locale.conf, but we keep them lowercase here to // avoid confusion with locale.h. - QString lc_numeric, lc_time, lc_monetary, lc_paper, lc_name, lc_address, - lc_telephone, lc_measurement, lc_identification; + QString lc_numeric, lc_time, lc_monetary, lc_paper, lc_name, lc_address, lc_telephone, lc_measurement, + lc_identification; // If the user has explicitly selected language (from the dialog) // or numbers format, set these to avoid implicit changes to them. @@ -67,9 +68,10 @@ private: QString m_languageLocaleBcp47; }; -inline QDebug& operator <<( QDebug& s, const LocaleConfiguration& l ) +inline QDebug& +operator<<( QDebug& s, const LocaleConfiguration& l ) { return s << l.language() << '(' << l.toBcp47() << ") +" << l.lc_numeric; } -#endif // LOCALECONFIGURATION_H +#endif // LOCALECONFIGURATION_H diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 5d9d2df71..a9b9da456 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -38,7 +38,7 @@ #include -CALAMARES_PLUGIN_FACTORY_DEFINITION( LocaleViewStepFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( LocaleViewStepFactory, registerPlugin< LocaleViewStep >(); ) LocaleViewStep::LocaleViewStep( QObject* parent ) : Calamares::ViewStep( parent ) @@ -53,19 +53,17 @@ LocaleViewStep::LocaleViewStep( QObject* parent ) m_waitingWidget = new WaitingWidget( tr( "Loading location data..." ) ); mainLayout->addWidget( m_waitingWidget ); - connect( &m_initWatcher, &QFutureWatcher< void >::finished, - this, [=] - { - bool hasInternet = Calamares::JobQueue::instance()->globalStorage() - ->value( "hasInternet" ).toBool(); + connect( &m_initWatcher, &QFutureWatcher< void >::finished, this, [=] { + bool hasInternet = Calamares::JobQueue::instance()->globalStorage()->value( "hasInternet" ).toBool(); if ( m_geoipUrl.isEmpty() || !hasInternet ) setUpPage(); else + { fetchGeoIpTimezone(); - }); + } + } ); - QFuture< void > initFuture = QtConcurrent::run( [=] - { + QFuture< void > initFuture = QtConcurrent::run( [=] { LocaleGlobal::init(); if ( m_geoipUrl.isEmpty() ) return; @@ -90,16 +88,16 @@ LocaleViewStep::LocaleViewStep( QObject* parent ) LocaleViewStep::~LocaleViewStep() { if ( m_widget && m_widget->parent() == nullptr ) + { m_widget->deleteLater(); + } } void LocaleViewStep::setUpPage() { - m_actualWidget->init( m_startingTimezone.first, - m_startingTimezone.second, - m_localeGenPath ); + m_actualWidget->init( m_startingTimezone.first, m_startingTimezone.second, m_localeGenPath ); m_widget->layout()->removeWidget( m_waitingWidget ); m_waitingWidget->deleteLater(); m_widget->layout()->addWidget( m_actualWidget ); @@ -116,10 +114,14 @@ LocaleViewStep::fetchGeoIpTimezone() { m_startingTimezone = h.get(); if ( !m_startingTimezone.isValid() ) + { cWarning() << "GeoIP lookup at" << m_geoipUrl << "failed."; + } } else + { cWarning() << "GeoIP Style" << m_geoipStyle << "is not recognized."; + } setUpPage(); } @@ -198,10 +200,11 @@ LocaleViewStep::onLeave() auto map = m_actualWidget->localesMap(); QVariantMap vm; for ( auto it = map.constBegin(); it != map.constEnd(); ++it ) + { vm.insert( it.key(), it.value() ); + } - Calamares::JobQueue::instance()->globalStorage() - ->insert( "localeConf", vm ); + Calamares::JobQueue::instance()->globalStorage()->insert( "localeConf", vm ); } @@ -216,12 +219,15 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } else { - m_startingTimezone = CalamaresUtils::GeoIP::RegionZonePair( QStringLiteral( "America" ), QStringLiteral( "New_York" ) ); + m_startingTimezone + = CalamaresUtils::GeoIP::RegionZonePair( QStringLiteral( "America" ), QStringLiteral( "New_York" ) ); } m_localeGenPath = CalamaresUtils::getString( configurationMap, "localeGenPath" ); if ( m_localeGenPath.isEmpty() ) + { m_localeGenPath = QStringLiteral( "/etc/locale.gen" ); + } bool ok = false; QVariantMap geoip = CalamaresUtils::getSubMap( configurationMap, "geoip", ok ); diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index 8ab50b75d..b04b34651 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -83,4 +83,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( LocaleViewStepFactory ) -#endif // LOCALEVIEWSTEP_H +#endif // LOCALEVIEWSTEP_H diff --git a/src/modules/locale/SetTimezoneJob.cpp b/src/modules/locale/SetTimezoneJob.cpp index 71a693df7..adcac13c1 100644 --- a/src/modules/locale/SetTimezoneJob.cpp +++ b/src/modules/locale/SetTimezoneJob.cpp @@ -19,11 +19,11 @@ #include -#include "JobQueue.h" #include "GlobalStorage.h" +#include "JobQueue.h" #include "Settings.h" -#include "utils/Logger.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" #include #include @@ -51,13 +51,13 @@ SetTimezoneJob::exec() // to a running timedated over D-Bus), and we have code that works if ( !Calamares::Settings::instance()->doChroot() ) { - int ec = CalamaresUtils::System::instance()-> - targetEnvCall( { "timedatectl", - "set-timezone", - m_region + '/' + m_zone } ); + int ec = CalamaresUtils::System::instance()->targetEnvCall( + { "timedatectl", "set-timezone", m_region + '/' + m_zone } ); if ( !ec ) + { return Calamares::JobResult::ok(); + } } QString localtimeSlink( "/etc/localtime" ); @@ -72,31 +72,21 @@ SetTimezoneJob::exec() tr( "Bad path: %1" ).arg( zoneFile.absolutePath() ) ); // Make sure /etc/localtime doesn't exist, otherwise symlinking will fail - CalamaresUtils::System::instance()-> - targetEnvCall( { "rm", - "-f", - localtimeSlink } ); + CalamaresUtils::System::instance()->targetEnvCall( { "rm", "-f", localtimeSlink } ); - int ec = CalamaresUtils::System::instance()-> - targetEnvCall( { "ln", - "-s", - zoneinfoPath, - localtimeSlink } ); + int ec = CalamaresUtils::System::instance()->targetEnvCall( { "ln", "-s", zoneinfoPath, localtimeSlink } ); if ( ec ) - return Calamares::JobResult::error( tr( "Cannot set timezone." ), - tr( "Link creation failed, target: %1; link name: %2" ) - .arg( zoneinfoPath ) - .arg( "/etc/localtime" ) ); + return Calamares::JobResult::error( + tr( "Cannot set timezone." ), + tr( "Link creation failed, target: %1; link name: %2" ).arg( zoneinfoPath ).arg( "/etc/localtime" ) ); QFile timezoneFile( gs->value( "rootMountPoint" ).toString() + "/etc/timezone" ); - if ( !timezoneFile.open( QIODevice::WriteOnly | - QIODevice::Text | - QIODevice::Truncate ) ) - return Calamares::JobResult::error( tr( "Cannot set timezone,"), - tr( "Cannot open /etc/timezone for writing")); + if ( !timezoneFile.open( QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate ) ) + return Calamares::JobResult::error( tr( "Cannot set timezone," ), + tr( "Cannot open /etc/timezone for writing" ) ); - QTextStream out(&timezoneFile); + QTextStream out( &timezoneFile ); out << m_region << '/' << m_zone << "\n"; timezoneFile.close(); diff --git a/src/modules/locale/SetTimezoneJob.h b/src/modules/locale/SetTimezoneJob.h index 7f50d8744..f7f2331ad 100644 --- a/src/modules/locale/SetTimezoneJob.h +++ b/src/modules/locale/SetTimezoneJob.h @@ -26,8 +26,7 @@ class SetTimezoneJob : public Calamares::Job { Q_OBJECT public: - SetTimezoneJob( const QString& region, - const QString& zone ); + SetTimezoneJob( const QString& region, const QString& zone ); QString prettyName() const override; Calamares::JobResult exec() override; diff --git a/src/modules/locale/Tests.cpp b/src/modules/locale/Tests.cpp index 0e1a3eb48..b8e471339 100644 --- a/src/modules/locale/Tests.cpp +++ b/src/modules/locale/Tests.cpp @@ -25,19 +25,17 @@ QTEST_GUILESS_MAIN( LocaleTests ) -LocaleTests::LocaleTests() +LocaleTests::LocaleTests() {} + +LocaleTests::~LocaleTests() {} + +void +LocaleTests::initTestCase() { } -LocaleTests::~LocaleTests() -{ -} - -void LocaleTests::initTestCase() -{ -} - -void LocaleTests::testEmptyLocaleConfiguration() +void +LocaleTests::testEmptyLocaleConfiguration() { LocaleConfiguration lc; @@ -45,7 +43,8 @@ void LocaleTests::testEmptyLocaleConfiguration() QCOMPARE( lc.toBcp47(), QString() ); } -void LocaleTests::testDefaultLocaleConfiguration() +void +LocaleTests::testDefaultLocaleConfiguration() { LocaleConfiguration lc( "en_US.UTF-8" ); QVERIFY( !lc.isEmpty() ); @@ -58,7 +57,8 @@ void LocaleTests::testDefaultLocaleConfiguration() QCOMPARE( lc2.toBcp47(), "de" ); } -void LocaleTests::testSplitLocaleConfiguration() +void +LocaleTests::testSplitLocaleConfiguration() { LocaleConfiguration lc( "en_US.UTF-8", "de_DE.UTF-8" ); QVERIFY( !lc.isEmpty() ); @@ -76,5 +76,4 @@ void LocaleTests::testSplitLocaleConfiguration() QVERIFY( !lc3.isEmpty() ); QCOMPARE( lc3.toBcp47(), "da" ); QCOMPARE( lc3.lc_numeric, "de_DE.UTF-8" ); - } From d70d418d923fe9848441e7474618a835d15ff6be Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 7 Sep 2019 17:02:59 +0200 Subject: [PATCH 354/626] [locale] Refactor setting of LC entries --- src/modules/locale/LocaleConfiguration.cpp | 68 ++++++---------------- 1 file changed, 19 insertions(+), 49 deletions(-) diff --git a/src/modules/locale/LocaleConfiguration.cpp b/src/modules/locale/LocaleConfiguration.cpp index 2024785e2..3377b11f3 100644 --- a/src/modules/locale/LocaleConfiguration.cpp +++ b/src/modules/locale/LocaleConfiguration.cpp @@ -289,61 +289,31 @@ LocaleConfiguration::isEmpty() const && lc_identification.isEmpty(); } +/// @brief Sets @p value on @p key in the @p map if @p value is non-empty +static inline void +add_lc( QMap< QString, QString >& map, const char* key, const QString& value ) +{ + if ( !value.isEmpty() ) + { + map.insert( key, value ); + } +} QMap< QString, QString > LocaleConfiguration::toMap() const { QMap< QString, QString > map; - if ( !m_lang.isEmpty() ) - { - map.insert( "LANG", m_lang ); - } - - if ( !lc_numeric.isEmpty() ) - { - map.insert( "LC_NUMERIC", lc_numeric ); - } - - if ( !lc_time.isEmpty() ) - { - map.insert( "LC_TIME", lc_time ); - } - - if ( !lc_monetary.isEmpty() ) - { - map.insert( "LC_MONETARY", lc_monetary ); - } - - if ( !lc_paper.isEmpty() ) - { - map.insert( "LC_PAPER", lc_paper ); - } - - if ( !lc_name.isEmpty() ) - { - map.insert( "LC_NAME", lc_name ); - } - - if ( !lc_address.isEmpty() ) - { - map.insert( "LC_ADDRESS", lc_address ); - } - - if ( !lc_telephone.isEmpty() ) - { - map.insert( "LC_TELEPHONE", lc_telephone ); - } - - if ( !lc_measurement.isEmpty() ) - { - map.insert( "LC_MEASUREMENT", lc_measurement ); - } - - if ( !lc_identification.isEmpty() ) - { - map.insert( "LC_IDENTIFICATION", lc_identification ); - } + add_lc( map, "LANG", m_lang ); + add_lc( map, "LC_NUMERIC", lc_numeric ); + add_lc( map, "LC_TIME", lc_time ); + add_lc( map, "LC_MONETARY", lc_monetary ); + add_lc( map, "LC_PAPER", lc_paper ); + add_lc( map, "LC_NAME", lc_name ); + add_lc( map, "LC_ADDRESS", lc_address ); + add_lc( map, "LC_TELEPHONE", lc_telephone ); + add_lc( map, "LC_MEASUREMENT", lc_measurement ); + add_lc( map, "LC_IDENTIFICATION", lc_identification ); return map; } From 0a1dc77f9be6b4c696e05fe218f7ff525d5bc702 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Sep 2019 11:26:47 +0200 Subject: [PATCH 355/626] [locale] Hang on to GeoIP::Handler just once - replace configuration settings by putting them in an object - use unique_ptr to allow us to create one optionally. --- src/modules/locale/LocaleViewStep.cpp | 32 ++++++++++++++++----------- src/modules/locale/LocaleViewStep.h | 8 +++---- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index a9b9da456..bbd2d07a1 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -45,6 +45,7 @@ LocaleViewStep::LocaleViewStep( QObject* parent ) , m_widget( new QWidget() ) , m_actualWidget( new LocalePage() ) , m_nextEnabled( false ) + , m_geoip( nullptr ) { QBoxLayout* mainLayout = new QHBoxLayout; m_widget->setLayout( mainLayout ); @@ -55,8 +56,10 @@ LocaleViewStep::LocaleViewStep( QObject* parent ) connect( &m_initWatcher, &QFutureWatcher< void >::finished, this, [=] { bool hasInternet = Calamares::JobQueue::instance()->globalStorage()->value( "hasInternet" ).toBool(); - if ( m_geoipUrl.isEmpty() || !hasInternet ) + if ( !m_geoip || !hasInternet ) + { setUpPage(); + } else { fetchGeoIpTimezone(); @@ -65,8 +68,10 @@ LocaleViewStep::LocaleViewStep( QObject* parent ) QFuture< void > initFuture = QtConcurrent::run( [=] { LocaleGlobal::init(); - if ( m_geoipUrl.isEmpty() ) + if ( !m_geoip ) + { return; + } Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); @@ -109,19 +114,14 @@ LocaleViewStep::setUpPage() void LocaleViewStep::fetchGeoIpTimezone() { - CalamaresUtils::GeoIP::Handler h( m_geoipStyle, m_geoipUrl, m_geoipSelector ); - if ( h.isValid() ) + if ( m_geoip && m_geoip->isValid() ) { - m_startingTimezone = h.get(); + m_startingTimezone = m_geoip->get(); if ( !m_startingTimezone.isValid() ) { - cWarning() << "GeoIP lookup at" << m_geoipUrl << "failed."; + cWarning() << "GeoIP lookup at" << m_geoip->url() << "failed."; } } - else - { - cWarning() << "GeoIP Style" << m_geoipStyle << "is not recognized."; - } setUpPage(); } @@ -233,8 +233,14 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) QVariantMap geoip = CalamaresUtils::getSubMap( configurationMap, "geoip", ok ); if ( ok ) { - m_geoipUrl = CalamaresUtils::getString( geoip, "url" ); - m_geoipStyle = CalamaresUtils::getString( geoip, "style" ); - m_geoipSelector = CalamaresUtils::getString( geoip, "selector" ); + QString url = CalamaresUtils::getString( geoip, "url" ); + QString style = CalamaresUtils::getString( geoip, "style" ); + QString selector = CalamaresUtils::getString( geoip, "selector" ); + + m_geoip = std::make_unique< CalamaresUtils::GeoIP::Handler >( style, url, selector ); + if ( !m_geoip->isValid() ) + { + cWarning() << "GeoIP Style" << style << "is not recognized."; + } } } diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index b04b34651..a6c28d78d 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -20,6 +20,7 @@ #ifndef LOCALEVIEWSTEP_H #define LOCALEVIEWSTEP_H +#include "geoip/Handler.h" #include "geoip/Interface.h" #include "utils/PluginFactory.h" #include "viewpages/ViewStep.h" @@ -29,6 +30,8 @@ #include #include +#include + class LocalePage; class WaitingWidget; @@ -74,11 +77,8 @@ private: CalamaresUtils::GeoIP::RegionZonePair m_startingTimezone; QString m_localeGenPath; - QString m_geoipUrl; // The URL, depening on style might be modified on lookup - QString m_geoipStyle; // String selecting which kind of geoip data to expect - QString m_geoipSelector; // String selecting data from the geoip lookup - QList< Calamares::job_ptr > m_jobs; + std::unique_ptr< CalamaresUtils::GeoIP::Handler > m_geoip; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( LocaleViewStepFactory ) From 41ece863de6633ac997bdbb55e390b4fbbdc6150 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Sep 2019 06:18:55 -0400 Subject: [PATCH 356/626] [locale] Create widgets when needed instead of at startup - this blocks forever, since now the GeoIP lookup isn't done at all. --- src/modules/locale/LocaleViewStep.cpp | 89 ++++++++++++--------------- 1 file changed, 40 insertions(+), 49 deletions(-) diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index bbd2d07a1..89baf23c2 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -43,7 +43,8 @@ CALAMARES_PLUGIN_FACTORY_DEFINITION( LocaleViewStepFactory, registerPlugin< Loca LocaleViewStep::LocaleViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new QWidget() ) - , m_actualWidget( new LocalePage() ) + , m_waitingWidget( nullptr ) + , m_actualWidget( nullptr ) , m_nextEnabled( false ) , m_geoip( nullptr ) { @@ -51,41 +52,6 @@ LocaleViewStep::LocaleViewStep( QObject* parent ) m_widget->setLayout( mainLayout ); CalamaresUtils::unmarginLayout( mainLayout ); - m_waitingWidget = new WaitingWidget( tr( "Loading location data..." ) ); - mainLayout->addWidget( m_waitingWidget ); - - connect( &m_initWatcher, &QFutureWatcher< void >::finished, this, [=] { - bool hasInternet = Calamares::JobQueue::instance()->globalStorage()->value( "hasInternet" ).toBool(); - if ( !m_geoip || !hasInternet ) - { - setUpPage(); - } - else - { - fetchGeoIpTimezone(); - } - } ); - - QFuture< void > initFuture = QtConcurrent::run( [=] { - LocaleGlobal::init(); - if ( !m_geoip ) - { - return; - } - - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - - // Max 10sec wait for RequirementsChecker to finish, assuming the welcome - // module is used. - // If welcome is not used, either "hasInternet" should be set by other means, - // or the GeoIP feature should be disabled. - for ( int i = 0; i < 10; ++i ) - if ( !gs->contains( "hasInternet" ) ) - QThread::sleep( 1 ); - } ); - - m_initWatcher.setFuture( initFuture ); - emit nextStatusChanged( m_nextEnabled ); } @@ -102,10 +68,19 @@ LocaleViewStep::~LocaleViewStep() void LocaleViewStep::setUpPage() { + if ( m_waitingWidget ) + { + m_widget->layout()->removeWidget( m_waitingWidget ); + m_waitingWidget->deleteLater(); + } + + if ( !m_actualWidget ) + { + m_actualWidget = new LocalePage(); + } m_actualWidget->init( m_startingTimezone.first, m_startingTimezone.second, m_localeGenPath ); - m_widget->layout()->removeWidget( m_waitingWidget ); - m_waitingWidget->deleteLater(); m_widget->layout()->addWidget( m_actualWidget ); + m_nextEnabled = true; emit nextStatusChanged( m_nextEnabled ); } @@ -122,7 +97,6 @@ LocaleViewStep::fetchGeoIpTimezone() cWarning() << "GeoIP lookup at" << m_geoip->url() << "failed."; } } - setUpPage(); } @@ -143,6 +117,12 @@ LocaleViewStep::prettyStatus() const QWidget* LocaleViewStep::widget() { + // If none of the inner widgets is already created, create the spinner + if ( !m_actualWidget && !m_waitingWidget ) + { + m_waitingWidget = new WaitingWidget( tr( "Loading location data..." ) ); + m_widget->layout()->addWidget( m_waitingWidget ); + } return m_widget; } @@ -185,7 +165,10 @@ LocaleViewStep::jobs() const void LocaleViewStep::onActivate() { - m_actualWidget->onActivate(); + if ( m_actualWidget ) + { + m_actualWidget->onActivate(); + } } @@ -193,18 +176,26 @@ void LocaleViewStep::onLeave() { m_jobs.clear(); - m_jobs.append( m_actualWidget->createJobs() ); - m_prettyStatus = m_actualWidget->prettyStatus(); - - auto map = m_actualWidget->localesMap(); - QVariantMap vm; - for ( auto it = map.constBegin(); it != map.constEnd(); ++it ) + if ( m_actualWidget ) { - vm.insert( it.key(), it.value() ); - } + m_jobs.append( m_actualWidget->createJobs() ); - Calamares::JobQueue::instance()->globalStorage()->insert( "localeConf", vm ); + m_prettyStatus = m_actualWidget->prettyStatus(); + + auto map = m_actualWidget->localesMap(); + QVariantMap vm; + for ( auto it = map.constBegin(); it != map.constEnd(); ++it ) + { + vm.insert( it.key(), it.value() ); + } + + Calamares::JobQueue::instance()->globalStorage()->insert( "localeConf", vm ); + } + else + { + Calamares::JobQueue::instance()->globalStorage()->remove( "localeConf" ); + } } From 11d3f10e26cb75f2bb9e49537c3d79ee12261e6f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Sep 2019 14:18:47 +0200 Subject: [PATCH 357/626] [locale] Dispose of waiting widget - Do the async GeoIP checking in the async requirements-checking phase - Do not return any requirements results -- we just need the async bit - Drop the waiting widget, since it's not needed (done by the requirements phase) --- src/modules/locale/LocaleViewStep.cpp | 43 +++++++++++++++++---------- src/modules/locale/LocaleViewStep.h | 5 ++-- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 89baf23c2..4acfcb2de 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -27,7 +27,7 @@ #include "JobQueue.h" #include "geoip/Handler.h" - +#include "network/Manager.h" #include "utils/CalamaresUtilsGui.h" #include "utils/Logger.h" #include "utils/Variant.h" @@ -43,7 +43,6 @@ CALAMARES_PLUGIN_FACTORY_DEFINITION( LocaleViewStepFactory, registerPlugin< Loca LocaleViewStep::LocaleViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new QWidget() ) - , m_waitingWidget( nullptr ) , m_actualWidget( nullptr ) , m_nextEnabled( false ) , m_geoip( nullptr ) @@ -68,12 +67,6 @@ LocaleViewStep::~LocaleViewStep() void LocaleViewStep::setUpPage() { - if ( m_waitingWidget ) - { - m_widget->layout()->removeWidget( m_waitingWidget ); - m_waitingWidget->deleteLater(); - } - if ( !m_actualWidget ) { m_actualWidget = new LocalePage(); @@ -117,12 +110,6 @@ LocaleViewStep::prettyStatus() const QWidget* LocaleViewStep::widget() { - // If none of the inner widgets is already created, create the spinner - if ( !m_actualWidget && !m_waitingWidget ) - { - m_waitingWidget = new WaitingWidget( tr( "Loading location data..." ) ); - m_widget->layout()->addWidget( m_waitingWidget ); - } return m_widget; } @@ -165,10 +152,11 @@ LocaleViewStep::jobs() const void LocaleViewStep::onActivate() { - if ( m_actualWidget ) + if ( !m_actualWidget ) { - m_actualWidget->onActivate(); + setUpPage(); } + m_actualWidget->onActivate(); } @@ -235,3 +223,26 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } } } + +Calamares::RequirementsList +LocaleViewStep::checkRequirements() +{ + LocaleGlobal::init(); + if ( m_geoip && m_geoip->isValid() ) + { + auto& network = CalamaresUtils::Network::Manager::instance(); + if ( network.hasInternet() ) + { + fetchGeoIpTimezone(); + } + else + { + if ( network.synchronousPing( m_geoip->url() ) ) + { + fetchGeoIpTimezone(); + } + } + } + + return Calamares::RequirementsList(); +} diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index a6c28d78d..0bb0e34a6 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -61,14 +61,15 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; + /// @brief Do setup (returns empty list) asynchronously + virtual Calamares::RequirementsList checkRequirements(); + private slots: void setUpPage(); private: void fetchGeoIpTimezone(); QWidget* m_widget; - QFutureWatcher< void > m_initWatcher; - WaitingWidget* m_waitingWidget; LocalePage* m_actualWidget; bool m_nextEnabled; From ca351ff7b600f999fdf41dec4e42bda55db6fd34 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Sep 2019 14:26:46 +0200 Subject: [PATCH 358/626] [libcalamares] Apply (some) options to request earlier --- src/libcalamares/network/Manager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 56e36cd55..b4d90c2b8 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -111,6 +111,8 @@ static QNetworkReply* asynchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) { QNetworkRequest request = QNetworkRequest( url ); + options.applyToRequest( &request ); + QNetworkReply* reply = nam->get( request ); QTimer* timer = nullptr; @@ -121,7 +123,6 @@ asynchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl return nullptr; } - options.applyToRequest( &request ); if ( options.hasTimeout() ) { timer = new QTimer( reply ); From 57a942d155d2cf8af320c97dad0fb5a0ad5b3ac0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 07:21:24 -0400 Subject: [PATCH 359/626] [libcalamares] Make a NAM per thread - To avoid warnings about creating requests and replies, parented by the NAM but from another thread, make a NAM per thread. --- src/libcalamares/network/Manager.cpp | 95 +++++++++++++++++++++++++--- 1 file changed, 86 insertions(+), 9 deletions(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index b4d90c2b8..fefa7c375 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -18,10 +18,15 @@ #include "Manager.h" +#include "utils/Logger.h" + #include +#include +#include #include #include #include +#include #include namespace CalamaresUtils @@ -45,21 +50,91 @@ RequestOptions::applyToRequest( QNetworkRequest* request ) const } } -struct Manager::Private +class Manager::Private : public QObject { + Q_OBJECT +private: std::unique_ptr< QNetworkAccessManager > m_nam; + + using ThreadNam = QPair< QThread*, QNetworkAccessManager* >; + QVector< ThreadNam > m_perThreadNams; + +public slots: + void cleanupNam(); + +public: QUrl m_hasInternetUrl; bool m_hasInternet; Private(); + + QNetworkAccessManager* nam(); }; Manager::Private::Private() : m_nam( std::make_unique< QNetworkAccessManager >() ) , m_hasInternet( false ) { + m_perThreadNams.reserve( 20 ); + m_perThreadNams.append( qMakePair( QThread::currentThread(), m_nam.get() ) ); } +static QMutex* +namMutex() +{ + static QMutex namMutex; + return &namMutex; +} + +QNetworkAccessManager* +Manager::Private::nam() +{ + QMutexLocker lock( namMutex() ); + + auto* thread = QThread::currentThread(); + int index = 0; + for ( const auto& n : m_perThreadNams ) + { + if ( n.first == thread ) + { + return n.second; + } + ++index; + } + + // Need a new NAM for this thread + QNetworkAccessManager* nam = new QNetworkAccessManager(); + m_perThreadNams.append( qMakePair( thread, nam ) ); + QObject::connect( thread, &QThread::finished, this, &Manager::Private::cleanupNam ); + + return nam; +} + +void +Manager::Private::cleanupNam() +{ + QMutexLocker lock( namMutex() ); + + auto* thread = QThread::currentThread(); + bool cleanupFound = false; + int cleanupIndex = 0; + for ( const auto& n : m_perThreadNams ) + { + if ( n.first == thread ) + { + cleanupFound = true; + delete n.second; + break; + } + ++cleanupIndex; + } + if ( cleanupFound ) + { + m_perThreadNams.remove( cleanupIndex ); + } +} + + Manager::Manager() : d( std::make_unique< Private >() ) { @@ -83,9 +158,9 @@ Manager::hasInternet() bool Manager::checkHasInternet() { - bool hasInternet = d->m_nam->networkAccessible() == QNetworkAccessManager::Accessible; + bool hasInternet = d->nam()->networkAccessible() == QNetworkAccessManager::Accessible; - if ( !hasInternet && ( d->m_nam->networkAccessible() == QNetworkAccessManager::UnknownAccessibility ) ) + if ( !hasInternet && ( d->nam()->networkAccessible() == QNetworkAccessManager::UnknownAccessibility ) ) { hasInternet = synchronousPing( d->m_hasInternetUrl ); } @@ -108,7 +183,7 @@ Manager::setCheckHasInternetUrl( const QUrl& url ) * On failure, returns nullptr (e.g. bad URL, timeout). */ static QNetworkReply* -asynchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) +asynchronousRun( QNetworkAccessManager* nam, const QUrl& url, const RequestOptions& options ) { QNetworkRequest request = QNetworkRequest( url ); options.applyToRequest( &request ); @@ -143,12 +218,12 @@ asynchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl * is marked for later automatic deletion, so don't store the pointer. */ static QPair< RequestStatus, QNetworkReply* > -synchronousRun( const std::unique_ptr< QNetworkAccessManager >& nam, const QUrl& url, const RequestOptions& options ) +synchronousRun( QNetworkAccessManager* nam, const QUrl& url, const RequestOptions& options ) { auto* reply = asynchronousRun( nam, url, options ); if ( !reply ) { - return qMakePair( RequestStatus( RequestStatus::Failed ), nullptr ); + return qMakePair( RequestStatus( RequestStatus::Failed ), nullptr ); } QEventLoop loop; @@ -177,7 +252,7 @@ Manager::synchronousPing( const QUrl& url, const RequestOptions& options ) return RequestStatus::Failed; } - auto reply = synchronousRun( d->m_nam, url, options ); + auto reply = synchronousRun( d->nam(), url, options ); if ( reply.first ) { return reply.second->bytesAvailable() ? RequestStatus::Ok : RequestStatus::Empty; @@ -196,16 +271,18 @@ Manager::synchronousGet( const QUrl& url, const RequestOptions& options ) return QByteArray(); } - auto reply = synchronousRun( d->m_nam, url, options ); + auto reply = synchronousRun( d->nam(), url, options ); return reply.first ? reply.second->readAll() : QByteArray(); } QNetworkReply* Manager::asynchronouseGet( const QUrl& url, const CalamaresUtils::Network::RequestOptions& options ) { - return asynchronousRun( d->m_nam, url, options ); + return asynchronousRun( d->nam(), url, options ); } } // namespace Network } // namespace CalamaresUtils + +#include "Manager.moc" From e1aced56fd89c26c613412721eda7a53d74eed0d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 08:01:44 -0400 Subject: [PATCH 360/626] Changes: fix typo's --- CHANGES | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b3a1da805..f2925b8ab 100644 --- a/CHANGES +++ b/CHANGES @@ -7,12 +7,13 @@ website will have to do for older versions. # 3.2.14 (unreleased) # This release contains contributions from (alphabetically by first name): + - No external contributors in this release. ## Core ## ## Modules ## - - *locale* module no longer recognized the legacy GeoIP configuration. + - *locale* module no longer recognizes the legacy GeoIP configuration. This has been deprecated since Calamares 3.2.8. From b8dd6e9ae73eb348fe786871cedfdb55610de156 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 13:38:21 +0200 Subject: [PATCH 361/626] [libcalamaresui] Introduce a module-instance-key class - This replaces rather ad-hoc use of a QString as key. --- .../modulesystem/ModuleManager.h | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index 8412e51d5..3a7535de4 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -32,6 +32,41 @@ namespace Calamares class Module; struct RequirementEntry; // from Requirement.h +/** @brief A module instance's key (`module@id`) + * + * A module instance is identified by both the module's name + * (a Calamares module, e.g. `users`) and an instance id. + * Usually, the instance id is the same as the module name + * and the whole module instance key is `users@users`, but + * it is possible to use the same module more than once + * and then you distinguish those module instances by their + * secondary id (e.g. `users@one`). + * + * This is supported by the *instances* configuration entry + * in `settings.conf`. + */ +class ModuleInstanceKey : protected QPair< QString, QString > +{ +public: + /// @brief Create an instance key from explicit module and id. + ModuleInstanceKey( const QString& module, const QString& id ) + : QPair( module, id ) + { + } + + /// @brief Create "usual" instances keys `module@module` + ModuleInstanceKey( const QString& module ) + : QPair( module, module ) + { + } + + QString module() const { return first; } + QString id() const { return second; } + + explicit operator QString() const { return module() + '@' + id(); } +}; + + /** * @brief The ModuleManager class is a singleton which manages Calamares modules. * From 78de6776af621fae4a69ab1f7f5ed7c95f06e779 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jul 2019 14:32:33 +0200 Subject: [PATCH 362/626] [libcalamaresui] Swap out use of QString for ModuleInstanceKey - The strings `module@id` are used internally, make that type explicit. --- .../modulesystem/ModuleManager.cpp | 68 ++++++++++--------- .../modulesystem/ModuleManager.h | 35 +++++++++- 2 files changed, 67 insertions(+), 36 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index a65f64108..487cb47c4 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -137,7 +137,12 @@ ModuleManager::doInit() QStringList ModuleManager::loadedInstanceKeys() { - return m_loadedModulesByInstanceKey.keys(); + QStringList l; + for ( const auto& m : m_loadedModulesByInstanceKey.keys() ) + { + l << QString( m ); + } + return l; } @@ -150,7 +155,7 @@ ModuleManager::moduleDescriptor( const QString& name ) Module* ModuleManager::moduleInstance( const QString& instanceKey ) { - return m_loadedModulesByInstanceKey.value( instanceKey ); + return m_loadedModulesByInstanceKey.value( ModuleInstanceKey::fromString( instanceKey ) ); } @@ -160,12 +165,12 @@ ModuleManager::moduleInstance( const QString& instanceKey ) * @return -1 on failure, otherwise index of the instance that matches. */ static int -findCustomInstance( const Settings::InstanceDescriptionList& customInstances, const QString& module, const QString& id ) +findCustomInstance( const Settings::InstanceDescriptionList& customInstances, const ModuleInstanceKey& m ) { for ( int i = 0; i < customInstances.count(); ++i ) { const auto& thisInstance = customInstances[ i ]; - if ( thisInstance.value( "module" ) == module && thisInstance.value( "id" ) == id ) + if ( thisInstance.value( "module" ) == m.module() && thisInstance.value( "id" ) == m.id() ) { return i; } @@ -189,32 +194,28 @@ ModuleManager::loadModules() foreach ( const QString& moduleEntry, modulePhase.second ) { - QStringList moduleEntrySplit = moduleEntry.split( '@' ); - QString moduleName; - QString instanceId; - QString configFileName; - if ( moduleEntrySplit.length() < 1 || moduleEntrySplit.length() > 2 ) + auto instanceKey = ModuleInstanceKey::fromString( moduleEntry ); + if ( !instanceKey.isValid() ) { cError() << "Wrong module entry format for module" << moduleEntry; failedModules.append( moduleEntry ); continue; } - moduleName = moduleEntrySplit.first(); - instanceId = moduleEntrySplit.last(); - configFileName = QString( "%1.conf" ).arg( moduleName ); - if ( !m_availableDescriptorsByModuleName.contains( moduleName ) - || m_availableDescriptorsByModuleName.value( moduleName ).isEmpty() ) + + if ( !m_availableDescriptorsByModuleName.contains( instanceKey.module() ) + || m_availableDescriptorsByModuleName.value( instanceKey.module() ).isEmpty() ) { - cError() << "Module" << moduleName << "not found in module search paths." + cError() << "Module" << QString( instanceKey ) << "not found in module search paths." << Logger::DebugList( m_paths ); - failedModules.append( moduleName ); + failedModules.append( QString( instanceKey ) ); continue; } - if ( moduleName != instanceId ) //means this is a custom instance + QString configFileName; + if ( instanceKey.isCustom() ) { - int found = findCustomInstance( customInstances, moduleName, instanceId ); + int found = findCustomInstance( customInstances, instanceKey ); if ( found > -1 ) { @@ -227,6 +228,10 @@ ModuleManager::loadModules() continue; } } + else + { + configFileName = QString( "%1.conf" ).arg( instanceKey.module() ); + } // So now we can assume that the module entry is at least valid, // that we have a descriptor on hand (and therefore that the @@ -235,38 +240,35 @@ ModuleManager::loadModules() // We still don't know whether the config file for the entry // exists and is valid, but that's the only thing that could fail // from this point on. -- Teo 8/2015 - - QString instanceKey = QString( "%1@%2" ).arg( moduleName ).arg( instanceId ); - Module* thisModule = m_loadedModulesByInstanceKey.value( instanceKey, nullptr ); if ( thisModule && !thisModule->isLoaded() ) { - cError() << "Module" << instanceKey << "exists but not loaded."; - failedModules.append( instanceKey ); + cError() << "Module" << QString( instanceKey ) << "exists but not loaded."; + failedModules.append( QString( instanceKey ) ); continue; } if ( thisModule && thisModule->isLoaded() ) { - cDebug() << "Module" << instanceKey << "already loaded."; + cDebug() << "Module" << QString( instanceKey ) << "already loaded."; } else { - thisModule = Module::fromDescriptor( m_availableDescriptorsByModuleName.value( moduleName ), - instanceId, + thisModule = Module::fromDescriptor( m_availableDescriptorsByModuleName.value( instanceKey.module() ), + instanceKey.id(), configFileName, - m_moduleDirectoriesByModuleName.value( moduleName ) ); + m_moduleDirectoriesByModuleName.value( instanceKey.module() ) ); if ( !thisModule ) { - cError() << "Module" << instanceKey << "cannot be created from descriptor" << configFileName; - failedModules.append( instanceKey ); + cError() << "Module" << QString( instanceKey ) << "cannot be created from descriptor" << configFileName; + failedModules.append( QString( instanceKey ) ); continue; } if ( !checkDependencies( *thisModule ) ) { // Error message is already printed - failedModules.append( instanceKey ); + failedModules.append( QString( instanceKey ) ); continue; } @@ -275,8 +277,8 @@ ModuleManager::loadModules() m_loadedModulesByInstanceKey.insert( instanceKey, thisModule ); if ( !thisModule->isLoaded() ) { - cError() << "Module" << instanceKey << "loading FAILED."; - failedModules.append( instanceKey ); + cError() << "Module" << QString( instanceKey ) << "loading FAILED."; + failedModules.append( QString( instanceKey ) ); continue; } } @@ -293,7 +295,7 @@ ModuleManager::loadModules() ViewManager::instance()->addViewStep( evs ); } - evs->appendJobModuleInstanceKey( instanceKey ); + evs->appendJobModuleInstanceKey( QString( instanceKey ) ); } } } diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index 3a7535de4..ed314c7e0 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -45,25 +45,54 @@ struct RequirementEntry; // from Requirement.h * This is supported by the *instances* configuration entry * in `settings.conf`. */ -class ModuleInstanceKey : protected QPair< QString, QString > +class ModuleInstanceKey : public QPair< QString, QString > { public: /// @brief Create an instance key from explicit module and id. ModuleInstanceKey( const QString& module, const QString& id ) : QPair( module, id ) { + if ( second.isEmpty() ) + { + second = first; + } } /// @brief Create "usual" instances keys `module@module` - ModuleInstanceKey( const QString& module ) + explicit ModuleInstanceKey( const QString& module ) : QPair( module, module ) { } + /// @brief Create unusual, invalid instance key + ModuleInstanceKey() + : QPair( QString(), QString() ) + { + } + + /// @brief A valid module has both name and id + bool isValid() const { return !first.isEmpty() && !second.isEmpty(); } + + /// @brief A custom module has a non-default id + bool isCustom() const { return first != second; } + QString module() const { return first; } QString id() const { return second; } explicit operator QString() const { return module() + '@' + id(); } + + /// @brief Create instance key from stringified version + static ModuleInstanceKey fromString( const QString& s ) + { + QStringList moduleEntrySplit = s.split( '@' ); + if ( moduleEntrySplit.length() < 1 || moduleEntrySplit.length() > 2 ) + { + return ModuleInstanceKey(); + } + // For length 1, first == last + return ModuleInstanceKey( moduleEntrySplit.first(), moduleEntrySplit.last() ); + } + }; @@ -158,7 +187,7 @@ private: QMap< QString, QVariantMap > m_availableDescriptorsByModuleName; QMap< QString, QString > m_moduleDirectoriesByModuleName; - QMap< QString, Module* > m_loadedModulesByInstanceKey; + QMap< ModuleInstanceKey, Module* > m_loadedModulesByInstanceKey; const QStringList m_paths; static ModuleManager* s_instance; From 666462651b74c26f3ebf0efe470b5d77c4745573 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 08:18:56 -0400 Subject: [PATCH 363/626] [libcalamares] Namespace consistently - Things in libcalamares/ subdirectories are namespaced according to that subdirectory (sometimes in namespace Calamares, sometimes CalamaresUtils). Do that in modulesystem/ too. --- src/libcalamares/Settings.cpp | 6 +++--- src/libcalamares/Settings.h | 2 +- src/libcalamares/modulesystem/Actions.h | 5 ++++- src/libcalamaresui/modulesystem/ModuleManager.cpp | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/libcalamares/Settings.cpp b/src/libcalamares/Settings.cpp index b55292bd4..456956430 100644 --- a/src/libcalamares/Settings.cpp +++ b/src/libcalamares/Settings.cpp @@ -169,14 +169,14 @@ interpretSequence( const YAML::Node& node, Settings::ModuleSequence& moduleSeque continue; } QString thisActionS = sequenceVListItem.toMap().firstKey(); - ModuleAction thisAction; + ModuleSystem::Action thisAction; if ( thisActionS == "show" ) { - thisAction = ModuleAction::Show; + thisAction = ModuleSystem::Action::Show; } else if ( thisActionS == "exec" ) { - thisAction = ModuleAction::Exec; + thisAction = ModuleSystem::Action::Exec; } else { diff --git a/src/libcalamares/Settings.h b/src/libcalamares/Settings.h index a52eac82e..4c2f2ed9d 100644 --- a/src/libcalamares/Settings.h +++ b/src/libcalamares/Settings.h @@ -46,7 +46,7 @@ public: using InstanceDescriptionList = QList< InstanceDescription >; InstanceDescriptionList customModuleInstances() const; - using ModuleSequence = QList< QPair< ModuleAction, QStringList > >; + using ModuleSequence = QList< QPair< ModuleSystem::Action, QStringList > >; ModuleSequence modulesSequence() const; QString brandingComponentName() const; diff --git a/src/libcalamares/modulesystem/Actions.h b/src/libcalamares/modulesystem/Actions.h index 06b5589c4..e1be0b867 100644 --- a/src/libcalamares/modulesystem/Actions.h +++ b/src/libcalamares/modulesystem/Actions.h @@ -22,13 +22,16 @@ namespace Calamares { +namespace ModuleSystem +{ -enum class ModuleAction : char +enum class Action : char { Show, Exec }; +} // namespace ModuleSystem } // namespace Calamares #endif diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 487cb47c4..5bbfbe50a 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -190,7 +190,7 @@ ModuleManager::loadModules() = failedModules.isEmpty() ? Settings::instance()->modulesSequence() : Settings::ModuleSequence(); for ( const auto& modulePhase : modulesSequence ) { - ModuleAction currentAction = modulePhase.first; + ModuleSystem::Action currentAction = modulePhase.first; foreach ( const QString& moduleEntry, modulePhase.second ) { @@ -285,7 +285,7 @@ ModuleManager::loadModules() // At this point we most certainly have a pointer to a loaded module in // thisModule. We now need to enqueue jobs info into an EVS. - if ( currentAction == ModuleAction::Exec ) + if ( currentAction == ModuleSystem::Action::Exec ) { ExecutionViewStep* evs = qobject_cast< ExecutionViewStep* >( Calamares::ViewManager::instance()->viewSteps().last() ); From 2f99004041c1f71f0f5ef110e977208bf061b41b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 08:50:00 -0400 Subject: [PATCH 364/626] [libcalamares] Move the module instance-key - Split out of the UI library and into (header-only) libcalamares. --- src/libcalamares/modulesystem/InstanceKey.h | 96 +++++++++++++++++++ .../modulesystem/ModuleManager.cpp | 6 +- .../modulesystem/ModuleManager.h | 68 +------------ 3 files changed, 102 insertions(+), 68 deletions(-) create mode 100644 src/libcalamares/modulesystem/InstanceKey.h diff --git a/src/libcalamares/modulesystem/InstanceKey.h b/src/libcalamares/modulesystem/InstanceKey.h new file mode 100644 index 000000000..8e04dbaef --- /dev/null +++ b/src/libcalamares/modulesystem/InstanceKey.h @@ -0,0 +1,96 @@ +/* === This file is part of Calamares - === + * + * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2018-2019, Adriaan de Groot + * + * 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 . + */ +#ifndef MODULESYSTEM_INSTANCEKEY_H +#define MODULESYSTEM_INSTANCEKEY_H + +#include +#include +#include + +namespace Calamares +{ +namespace ModuleSystem +{ + +/** @brief A module instance's key (`module@id`) + * + * A module instance is identified by both the module's name + * (a Calamares module, e.g. `users`) and an instance id. + * Usually, the instance id is the same as the module name + * and the whole module instance key is `users@users`, but + * it is possible to use the same module more than once + * and then you distinguish those module instances by their + * secondary id (e.g. `users@one`). + * + * This is supported by the *instances* configuration entry + * in `settings.conf`. + */ +class InstanceKey : public QPair< QString, QString > +{ +public: + /// @brief Create an instance key from explicit module and id. + InstanceKey( const QString& module, const QString& id ) + : QPair( module, id ) + { + if ( second.isEmpty() ) + { + second = first; + } + } + + /// @brief Create "usual" instances keys `module@module` + explicit InstanceKey( const QString& module ) + : QPair( module, module ) + { + } + + /// @brief Create unusual, invalid instance key + InstanceKey() + : QPair( QString(), QString() ) + { + } + + /// @brief A valid module has both name and id + bool isValid() const { return !first.isEmpty() && !second.isEmpty(); } + + /// @brief A custom module has a non-default id + bool isCustom() const { return first != second; } + + QString module() const { return first; } + QString id() const { return second; } + + explicit operator QString() const { return module() + '@' + id(); } + + /// @brief Create instance key from stringified version + static InstanceKey fromString( const QString& s ) + { + QStringList moduleEntrySplit = s.split( '@' ); + if ( moduleEntrySplit.length() < 1 || moduleEntrySplit.length() > 2 ) + { + return InstanceKey(); + } + // For length 1, first == last + return InstanceKey( moduleEntrySplit.first(), moduleEntrySplit.last() ); + } + +}; + +} +} +#endif diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 5bbfbe50a..79ad25325 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -155,7 +155,7 @@ ModuleManager::moduleDescriptor( const QString& name ) Module* ModuleManager::moduleInstance( const QString& instanceKey ) { - return m_loadedModulesByInstanceKey.value( ModuleInstanceKey::fromString( instanceKey ) ); + return m_loadedModulesByInstanceKey.value( ModuleSystem::InstanceKey::fromString( instanceKey ) ); } @@ -165,7 +165,7 @@ ModuleManager::moduleInstance( const QString& instanceKey ) * @return -1 on failure, otherwise index of the instance that matches. */ static int -findCustomInstance( const Settings::InstanceDescriptionList& customInstances, const ModuleInstanceKey& m ) +findCustomInstance( const Settings::InstanceDescriptionList& customInstances, const ModuleSystem::InstanceKey& m ) { for ( int i = 0; i < customInstances.count(); ++i ) { @@ -194,7 +194,7 @@ ModuleManager::loadModules() foreach ( const QString& moduleEntry, modulePhase.second ) { - auto instanceKey = ModuleInstanceKey::fromString( moduleEntry ); + auto instanceKey = ModuleSystem::InstanceKey::fromString( moduleEntry ); if ( !instanceKey.isValid() ) { cError() << "Wrong module entry format for module" << moduleEntry; diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index ed314c7e0..5fe239ae1 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -20,6 +20,8 @@ #ifndef MODULELOADER_H #define MODULELOADER_H +#include "modulesystem/InstanceKey.h" + #include "Requirement.h" #include @@ -32,70 +34,6 @@ namespace Calamares class Module; struct RequirementEntry; // from Requirement.h -/** @brief A module instance's key (`module@id`) - * - * A module instance is identified by both the module's name - * (a Calamares module, e.g. `users`) and an instance id. - * Usually, the instance id is the same as the module name - * and the whole module instance key is `users@users`, but - * it is possible to use the same module more than once - * and then you distinguish those module instances by their - * secondary id (e.g. `users@one`). - * - * This is supported by the *instances* configuration entry - * in `settings.conf`. - */ -class ModuleInstanceKey : public QPair< QString, QString > -{ -public: - /// @brief Create an instance key from explicit module and id. - ModuleInstanceKey( const QString& module, const QString& id ) - : QPair( module, id ) - { - if ( second.isEmpty() ) - { - second = first; - } - } - - /// @brief Create "usual" instances keys `module@module` - explicit ModuleInstanceKey( const QString& module ) - : QPair( module, module ) - { - } - - /// @brief Create unusual, invalid instance key - ModuleInstanceKey() - : QPair( QString(), QString() ) - { - } - - /// @brief A valid module has both name and id - bool isValid() const { return !first.isEmpty() && !second.isEmpty(); } - - /// @brief A custom module has a non-default id - bool isCustom() const { return first != second; } - - QString module() const { return first; } - QString id() const { return second; } - - explicit operator QString() const { return module() + '@' + id(); } - - /// @brief Create instance key from stringified version - static ModuleInstanceKey fromString( const QString& s ) - { - QStringList moduleEntrySplit = s.split( '@' ); - if ( moduleEntrySplit.length() < 1 || moduleEntrySplit.length() > 2 ) - { - return ModuleInstanceKey(); - } - // For length 1, first == last - return ModuleInstanceKey( moduleEntrySplit.first(), moduleEntrySplit.last() ); - } - -}; - - /** * @brief The ModuleManager class is a singleton which manages Calamares modules. * @@ -187,7 +125,7 @@ private: QMap< QString, QVariantMap > m_availableDescriptorsByModuleName; QMap< QString, QString > m_moduleDirectoriesByModuleName; - QMap< ModuleInstanceKey, Module* > m_loadedModulesByInstanceKey; + QMap< ModuleSystem::InstanceKey, Module* > m_loadedModulesByInstanceKey; const QStringList m_paths; static ModuleManager* s_instance; From ba7e96c5e1ba8da852a7455cdeb58cfd51e04353 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 09:21:37 -0400 Subject: [PATCH 365/626] [libcalamares] Add test for InstanceKey - cover all the constructors - Start with some tests that fail, showing bugs in the implementation - Fix bug that "derp@derp" was creating a valid instance-key with a bad module and id (need to use ::fromString() to get that functionality). - Extend tests with more bad cases. - Refactor tests to simplify "this is bad" assertions. --- src/libcalamares/CMakeLists.txt | 10 ++ src/libcalamares/modulesystem/InstanceKey.h | 12 ++ src/libcalamares/modulesystem/Tests.cpp | 129 ++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 src/libcalamares/modulesystem/Tests.cpp diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 87338ae6c..f942dbde1 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -207,6 +207,16 @@ if ( ECM_FOUND AND BUILD_TESTING ) Qt5::Test ) calamares_automoc( libcalamaresnetworktest ) + + ecm_add_test( + modulesystem/Tests.cpp + TEST_NAME + libcalamaresmodulesystemtest + LINK_LIBRARIES + calamares + Qt5::Test + ) + calamares_automoc( libcalamaresmodulesystemtest ) endif() if( BUILD_TESTING ) diff --git a/src/libcalamares/modulesystem/InstanceKey.h b/src/libcalamares/modulesystem/InstanceKey.h index 8e04dbaef..80be23941 100644 --- a/src/libcalamares/modulesystem/InstanceKey.h +++ b/src/libcalamares/modulesystem/InstanceKey.h @@ -52,12 +52,14 @@ public: { second = first; } + validate(); } /// @brief Create "usual" instances keys `module@module` explicit InstanceKey( const QString& module ) : QPair( module, module ) { + validate(); } /// @brief Create unusual, invalid instance key @@ -89,6 +91,16 @@ public: return InstanceKey( moduleEntrySplit.first(), moduleEntrySplit.last() ); } +private: + /** @brief Check validity and reset module and id if needed. */ + void validate() + { + if ( first.contains( '@' ) || second.contains( '@' ) ) + { + first = QString(); + second = QString(); + } + } }; } diff --git a/src/libcalamares/modulesystem/Tests.cpp b/src/libcalamares/modulesystem/Tests.cpp new file mode 100644 index 000000000..b54d020c5 --- /dev/null +++ b/src/libcalamares/modulesystem/Tests.cpp @@ -0,0 +1,129 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "modulesystem/InstanceKey.h" + +#include + +using Calamares::ModuleSystem::InstanceKey; + +class ModuleSystemTests : public QObject +{ + Q_OBJECT +public: + ModuleSystemTests() {} + virtual ~ModuleSystemTests() {} + +private Q_SLOTS: + void initTestCase(); + + void testEmptyInstanceKey(); + void testSimpleInstanceKey(); + void testCustomInstanceKey(); + void testFromStringInstanceKey(); + + void testBadSimpleCases(); + void testBadFromStringCases(); +}; + +void ModuleSystemTests::initTestCase() +{ +} + +void assert_is_invalid( const InstanceKey& k ) +{ + QVERIFY( !k.isValid() ); + QVERIFY( !k.isCustom() ); + QVERIFY( k.module().isEmpty() ); + QVERIFY( k.id().isEmpty() ); +} + +void ModuleSystemTests::testEmptyInstanceKey() +{ + InstanceKey k0; + assert_is_invalid( k0 ); +} + +void ModuleSystemTests::testSimpleInstanceKey() +{ + InstanceKey k1( "derp" ); + QVERIFY( k1.isValid() ); + QVERIFY( !k1.isCustom() ); + QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k1.id(), QStringLiteral( "derp" ) ); +} + +void ModuleSystemTests::testCustomInstanceKey() +{ + InstanceKey k0("derp", "derp"); + QVERIFY( k0.isValid() ); + QVERIFY( !k0.isCustom() ); + QCOMPARE( k0.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k0.id(), QStringLiteral( "derp" ) ); + + InstanceKey k1("derp", "horse"); + QVERIFY( k1.isValid() ); + QVERIFY( k1.isCustom() ); + QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k1.id(), QStringLiteral( "horse" ) ); +} + +void ModuleSystemTests::testFromStringInstanceKey() +{ + InstanceKey k0 = InstanceKey::fromString( "derp@derp" ); + QVERIFY( k0.isValid() ); + QVERIFY( !k0.isCustom() ); + QCOMPARE( k0.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k0.id(), QStringLiteral( "derp" ) ); + + InstanceKey k1 = InstanceKey::fromString( "derp@horse" ); + QVERIFY( k1.isValid() ); + QVERIFY( k1.isCustom() ); + QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k1.id(), QStringLiteral( "horse" ) ); + + InstanceKey k2 = InstanceKey::fromString( "derp" ); + QVERIFY( k2.isValid() ); + QVERIFY( !k2.isCustom() ); + QCOMPARE( k2.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k2.id(), QStringLiteral( "derp" ) ); +} + +/// @brief These are expected to fail since they show bugs in the code +void ModuleSystemTests::testBadSimpleCases() +{ + InstanceKey k2( "derp@derp" ); + assert_is_invalid( k2 ); + + InstanceKey k3( "derp@horse" ); + assert_is_invalid( k3 ); +} + +void ModuleSystemTests::testBadFromStringCases() +{ + InstanceKey k0 = InstanceKey::fromString( QString() ); + assert_is_invalid( k0 ); + + k0 = InstanceKey::fromString( "derp@derp@derp" ); + assert_is_invalid( k0 ); +} + + +QTEST_GUILESS_MAIN( ModuleSystemTests ) + +#include "Tests.moc" From 57e4b66af23e5c140e5f71f7e52f4de71cf7bcdf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 11:14:54 -0400 Subject: [PATCH 366/626] [libcalamares] Test QString() operator - An invalid InstanceKey should give an empty string - Test remaining QString() cases - Edge cases for 2-string constructor --- src/libcalamares/modulesystem/Tests.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/libcalamares/modulesystem/Tests.cpp b/src/libcalamares/modulesystem/Tests.cpp index b54d020c5..8c067a090 100644 --- a/src/libcalamares/modulesystem/Tests.cpp +++ b/src/libcalamares/modulesystem/Tests.cpp @@ -51,6 +51,7 @@ void assert_is_invalid( const InstanceKey& k ) QVERIFY( !k.isCustom() ); QVERIFY( k.module().isEmpty() ); QVERIFY( k.id().isEmpty() ); + QVERIFY( QString( k ).isEmpty() ); } void ModuleSystemTests::testEmptyInstanceKey() @@ -66,6 +67,7 @@ void ModuleSystemTests::testSimpleInstanceKey() QVERIFY( !k1.isCustom() ); QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); QCOMPARE( k1.id(), QStringLiteral( "derp" ) ); + QCOMPARE( QString( k1 ), QStringLiteral( "derp@derp" ) ); } void ModuleSystemTests::testCustomInstanceKey() @@ -75,12 +77,21 @@ void ModuleSystemTests::testCustomInstanceKey() QVERIFY( !k0.isCustom() ); QCOMPARE( k0.module(), QStringLiteral( "derp" ) ); QCOMPARE( k0.id(), QStringLiteral( "derp" ) ); + QCOMPARE( QString( k0 ), QStringLiteral( "derp@derp" ) ); InstanceKey k1("derp", "horse"); QVERIFY( k1.isValid() ); QVERIFY( k1.isCustom() ); QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); QCOMPARE( k1.id(), QStringLiteral( "horse" ) ); + QCOMPARE( QString( k1 ), QStringLiteral( "derp@horse" ) ); + + InstanceKey k4( "derp", QString() ); + QVERIFY( k4.isValid() ); + QVERIFY( !k4.isCustom() ); + QCOMPARE( k4.module(), QStringLiteral( "derp" ) ); + QCOMPARE( k4.id(), QStringLiteral( "derp" ) ); + QCOMPARE( QString( k4 ), QStringLiteral( "derp@derp" ) ); } void ModuleSystemTests::testFromStringInstanceKey() @@ -90,18 +101,21 @@ void ModuleSystemTests::testFromStringInstanceKey() QVERIFY( !k0.isCustom() ); QCOMPARE( k0.module(), QStringLiteral( "derp" ) ); QCOMPARE( k0.id(), QStringLiteral( "derp" ) ); + QCOMPARE( QString( k0 ), QStringLiteral( "derp@derp" ) ); InstanceKey k1 = InstanceKey::fromString( "derp@horse" ); QVERIFY( k1.isValid() ); QVERIFY( k1.isCustom() ); QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); QCOMPARE( k1.id(), QStringLiteral( "horse" ) ); + QCOMPARE( QString( k1 ), QStringLiteral( "derp@horse" ) ); InstanceKey k2 = InstanceKey::fromString( "derp" ); QVERIFY( k2.isValid() ); QVERIFY( !k2.isCustom() ); QCOMPARE( k2.module(), QStringLiteral( "derp" ) ); QCOMPARE( k2.id(), QStringLiteral( "derp" ) ); + QCOMPARE( QString( k2 ), QStringLiteral( "derp@derp" ) ); } /// @brief These are expected to fail since they show bugs in the code @@ -112,6 +126,9 @@ void ModuleSystemTests::testBadSimpleCases() InstanceKey k3( "derp@horse" ); assert_is_invalid( k3 ); + + InstanceKey k4( "derp", "derp@derp" ); + assert_is_invalid( k4 ); } void ModuleSystemTests::testBadFromStringCases() From 7dcc6e8e07151007f1cc420933ce68485a769ebd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 11:16:01 -0400 Subject: [PATCH 367/626] [libcalamares] Fix bug in InstanceKey::QString --- src/libcalamares/modulesystem/InstanceKey.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/modulesystem/InstanceKey.h b/src/libcalamares/modulesystem/InstanceKey.h index 80be23941..d5d4d26ff 100644 --- a/src/libcalamares/modulesystem/InstanceKey.h +++ b/src/libcalamares/modulesystem/InstanceKey.h @@ -77,7 +77,7 @@ public: QString module() const { return first; } QString id() const { return second; } - explicit operator QString() const { return module() + '@' + id(); } + explicit operator QString() const { return isValid() ? module() + '@' + id() : QString(); } /// @brief Create instance key from stringified version static InstanceKey fromString( const QString& s ) From ce6f6592d4d1acf6ec58092cdfc44542c2b2cbe4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 13:03:25 -0400 Subject: [PATCH 368/626] [libcalamares] Drop parts of InstanceKey API - Drop the 1-argument QString constructor, it is suprising - Drop the conversion to QString - Add a toString() instead - Drop tests for the removed API - While here, apply code formatting to the tests This is done to force consumers to update to strongly-typed InstanceKeys. --- src/libcalamares/modulesystem/InstanceKey.h | 27 ++++++----- src/libcalamares/modulesystem/Tests.cpp | 53 ++++++++------------- 2 files changed, 35 insertions(+), 45 deletions(-) diff --git a/src/libcalamares/modulesystem/InstanceKey.h b/src/libcalamares/modulesystem/InstanceKey.h index d5d4d26ff..35ad27c40 100644 --- a/src/libcalamares/modulesystem/InstanceKey.h +++ b/src/libcalamares/modulesystem/InstanceKey.h @@ -19,10 +19,16 @@ #ifndef MODULESYSTEM_INSTANCEKEY_H #define MODULESYSTEM_INSTANCEKEY_H -#include +#include #include +#include #include +namespace Logger +{ +class CLog; +} + namespace Calamares { namespace ModuleSystem @@ -55,13 +61,6 @@ public: validate(); } - /// @brief Create "usual" instances keys `module@module` - explicit InstanceKey( const QString& module ) - : QPair( module, module ) - { - validate(); - } - /// @brief Create unusual, invalid instance key InstanceKey() : QPair( QString(), QString() ) @@ -77,8 +76,6 @@ public: QString module() const { return first; } QString id() const { return second; } - explicit operator QString() const { return isValid() ? module() + '@' + id() : QString(); } - /// @brief Create instance key from stringified version static InstanceKey fromString( const QString& s ) { @@ -91,6 +88,11 @@ public: return InstanceKey( moduleEntrySplit.first(), moduleEntrySplit.last() ); } + QString toString() const + { + return first + '@' + second; + } + private: /** @brief Check validity and reset module and id if needed. */ void validate() @@ -103,6 +105,7 @@ private: } }; -} -} +} // namespace ModuleSystem +} // namespace Calamares + #endif diff --git a/src/libcalamares/modulesystem/Tests.cpp b/src/libcalamares/modulesystem/Tests.cpp index 8c067a090..8ef62a098 100644 --- a/src/libcalamares/modulesystem/Tests.cpp +++ b/src/libcalamares/modulesystem/Tests.cpp @@ -33,7 +33,6 @@ private Q_SLOTS: void initTestCase(); void testEmptyInstanceKey(); - void testSimpleInstanceKey(); void testCustomInstanceKey(); void testFromStringInstanceKey(); @@ -41,97 +40,85 @@ private Q_SLOTS: void testBadFromStringCases(); }; -void ModuleSystemTests::initTestCase() +void +ModuleSystemTests::initTestCase() { } -void assert_is_invalid( const InstanceKey& k ) +void +assert_is_invalid( const InstanceKey& k ) { QVERIFY( !k.isValid() ); QVERIFY( !k.isCustom() ); QVERIFY( k.module().isEmpty() ); QVERIFY( k.id().isEmpty() ); - QVERIFY( QString( k ).isEmpty() ); + QVERIFY( k.toString().isEmpty() ); } -void ModuleSystemTests::testEmptyInstanceKey() +void +ModuleSystemTests::testEmptyInstanceKey() { InstanceKey k0; assert_is_invalid( k0 ); } -void ModuleSystemTests::testSimpleInstanceKey() +void +ModuleSystemTests::testCustomInstanceKey() { - InstanceKey k1( "derp" ); - QVERIFY( k1.isValid() ); - QVERIFY( !k1.isCustom() ); - QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); - QCOMPARE( k1.id(), QStringLiteral( "derp" ) ); - QCOMPARE( QString( k1 ), QStringLiteral( "derp@derp" ) ); -} - -void ModuleSystemTests::testCustomInstanceKey() -{ - InstanceKey k0("derp", "derp"); + InstanceKey k0( "derp", "derp" ); QVERIFY( k0.isValid() ); QVERIFY( !k0.isCustom() ); QCOMPARE( k0.module(), QStringLiteral( "derp" ) ); QCOMPARE( k0.id(), QStringLiteral( "derp" ) ); - QCOMPARE( QString( k0 ), QStringLiteral( "derp@derp" ) ); + QCOMPARE( k0.toString(), QStringLiteral( "derp@derp" ) ); - InstanceKey k1("derp", "horse"); + InstanceKey k1( "derp", "horse" ); QVERIFY( k1.isValid() ); QVERIFY( k1.isCustom() ); QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); QCOMPARE( k1.id(), QStringLiteral( "horse" ) ); - QCOMPARE( QString( k1 ), QStringLiteral( "derp@horse" ) ); + QCOMPARE( k1.toString(), QStringLiteral( "derp@horse" ) ); InstanceKey k4( "derp", QString() ); QVERIFY( k4.isValid() ); QVERIFY( !k4.isCustom() ); QCOMPARE( k4.module(), QStringLiteral( "derp" ) ); QCOMPARE( k4.id(), QStringLiteral( "derp" ) ); - QCOMPARE( QString( k4 ), QStringLiteral( "derp@derp" ) ); + QCOMPARE( k4.toString(), QStringLiteral( "derp@derp" ) ); } -void ModuleSystemTests::testFromStringInstanceKey() +void +ModuleSystemTests::testFromStringInstanceKey() { InstanceKey k0 = InstanceKey::fromString( "derp@derp" ); QVERIFY( k0.isValid() ); QVERIFY( !k0.isCustom() ); QCOMPARE( k0.module(), QStringLiteral( "derp" ) ); QCOMPARE( k0.id(), QStringLiteral( "derp" ) ); - QCOMPARE( QString( k0 ), QStringLiteral( "derp@derp" ) ); InstanceKey k1 = InstanceKey::fromString( "derp@horse" ); QVERIFY( k1.isValid() ); QVERIFY( k1.isCustom() ); QCOMPARE( k1.module(), QStringLiteral( "derp" ) ); QCOMPARE( k1.id(), QStringLiteral( "horse" ) ); - QCOMPARE( QString( k1 ), QStringLiteral( "derp@horse" ) ); InstanceKey k2 = InstanceKey::fromString( "derp" ); QVERIFY( k2.isValid() ); QVERIFY( !k2.isCustom() ); QCOMPARE( k2.module(), QStringLiteral( "derp" ) ); QCOMPARE( k2.id(), QStringLiteral( "derp" ) ); - QCOMPARE( QString( k2 ), QStringLiteral( "derp@derp" ) ); } /// @brief These are expected to fail since they show bugs in the code -void ModuleSystemTests::testBadSimpleCases() +void +ModuleSystemTests::testBadSimpleCases() { - InstanceKey k2( "derp@derp" ); - assert_is_invalid( k2 ); - - InstanceKey k3( "derp@horse" ); - assert_is_invalid( k3 ); - InstanceKey k4( "derp", "derp@derp" ); assert_is_invalid( k4 ); } -void ModuleSystemTests::testBadFromStringCases() +void +ModuleSystemTests::testBadFromStringCases() { InstanceKey k0 = InstanceKey::fromString( QString() ); assert_is_invalid( k0 ); From d6ed04649564102c32cf49ecbac42d1886de32aa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 14 Sep 2019 14:15:00 -0400 Subject: [PATCH 369/626] [libcalamaresui] Replace a superfluous lambda - The whole method body can be a lot on its own, and since loadModules() does nothing but single-shot the lambda, call it from outside instead. --- src/calamares/CalamaresApplication.cpp | 3 +- .../modulesystem/ModuleManager.cpp | 206 +++++++++--------- .../modulesystem/ModuleManager.h | 3 +- 3 files changed, 106 insertions(+), 106 deletions(-) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index 755808f5f..959e41fb1 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -39,6 +39,7 @@ #include #include #include +#include CalamaresApplication::CalamaresApplication( int& argc, char* argv[] ) @@ -354,7 +355,7 @@ CalamaresApplication::initView() connect( m_moduleManager, &Calamares::ModuleManager::modulesLoaded, this, &CalamaresApplication::initViewSteps ); connect( m_moduleManager, &Calamares::ModuleManager::modulesFailed, this, &CalamaresApplication::initFailed ); - m_moduleManager->loadModules(); + QTimer::singleShot( 0, m_moduleManager, &Calamares::ModuleManager::loadModules ); m_mainwindow->move( this->desktop()->availableGeometry().center() - m_mainwindow->rect().center() ); diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 79ad25325..f32663808 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -182,133 +182,131 @@ findCustomInstance( const Settings::InstanceDescriptionList& customInstances, co void ModuleManager::loadModules() { - QTimer::singleShot( 0, this, [this]() { - QStringList failedModules = checkDependencies(); - Settings::InstanceDescriptionList customInstances = Settings::instance()->customModuleInstances(); + QStringList failedModules = checkDependencies(); + Settings::InstanceDescriptionList customInstances = Settings::instance()->customModuleInstances(); - const auto modulesSequence - = failedModules.isEmpty() ? Settings::instance()->modulesSequence() : Settings::ModuleSequence(); - for ( const auto& modulePhase : modulesSequence ) + const auto modulesSequence + = failedModules.isEmpty() ? Settings::instance()->modulesSequence() : Settings::ModuleSequence(); + for ( const auto& modulePhase : modulesSequence ) + { + ModuleSystem::Action currentAction = modulePhase.first; + + foreach ( const QString& moduleEntry, modulePhase.second ) { - ModuleSystem::Action currentAction = modulePhase.first; - - foreach ( const QString& moduleEntry, modulePhase.second ) + auto instanceKey = ModuleSystem::InstanceKey::fromString( moduleEntry ); + if ( !instanceKey.isValid() ) { - auto instanceKey = ModuleSystem::InstanceKey::fromString( moduleEntry ); - if ( !instanceKey.isValid() ) + cError() << "Wrong module entry format for module" << moduleEntry; + failedModules.append( moduleEntry ); + continue; + } + + + if ( !m_availableDescriptorsByModuleName.contains( instanceKey.module() ) + || m_availableDescriptorsByModuleName.value( instanceKey.module() ).isEmpty() ) + { + cError() << "Module" << QString( instanceKey ) << "not found in module search paths." + << Logger::DebugList( m_paths ); + failedModules.append( QString( instanceKey ) ); + continue; + } + + QString configFileName; + if ( instanceKey.isCustom() ) + { + int found = findCustomInstance( customInstances, instanceKey ); + + if ( found > -1 ) { - cError() << "Wrong module entry format for module" << moduleEntry; + configFileName = customInstances[ found ].value( "config" ); + } + else //ought to be a custom instance, but cannot find instance entry + { + cError() << "Custom instance" << moduleEntry << "not found in custom instances section."; failedModules.append( moduleEntry ); continue; } + } + else + { + configFileName = QString( "%1.conf" ).arg( instanceKey.module() ); + } + // So now we can assume that the module entry is at least valid, + // that we have a descriptor on hand (and therefore that the + // module exists), and that the instance is either default or + // defined in the custom instances section. + // We still don't know whether the config file for the entry + // exists and is valid, but that's the only thing that could fail + // from this point on. -- Teo 8/2015 + Module* thisModule = m_loadedModulesByInstanceKey.value( instanceKey, nullptr ); + if ( thisModule && !thisModule->isLoaded() ) + { + cError() << "Module" << QString( instanceKey ) << "exists but not loaded."; + failedModules.append( QString( instanceKey ) ); + continue; + } - if ( !m_availableDescriptorsByModuleName.contains( instanceKey.module() ) - || m_availableDescriptorsByModuleName.value( instanceKey.module() ).isEmpty() ) + if ( thisModule && thisModule->isLoaded() ) + { + cDebug() << "Module" << QString( instanceKey ) << "already loaded."; + } + else + { + thisModule = Module::fromDescriptor( m_availableDescriptorsByModuleName.value( instanceKey.module() ), + instanceKey.id(), + configFileName, + m_moduleDirectoriesByModuleName.value( instanceKey.module() ) ); + if ( !thisModule ) { - cError() << "Module" << QString( instanceKey ) << "not found in module search paths." - << Logger::DebugList( m_paths ); + cError() << "Module" << QString( instanceKey ) << "cannot be created from descriptor" << configFileName; failedModules.append( QString( instanceKey ) ); continue; } - QString configFileName; - if ( instanceKey.isCustom() ) + if ( !checkDependencies( *thisModule ) ) { - int found = findCustomInstance( customInstances, instanceKey ); - - if ( found > -1 ) - { - configFileName = customInstances[ found ].value( "config" ); - } - else //ought to be a custom instance, but cannot find instance entry - { - cError() << "Custom instance" << moduleEntry << "not found in custom instances section."; - failedModules.append( moduleEntry ); - continue; - } - } - else - { - configFileName = QString( "%1.conf" ).arg( instanceKey.module() ); - } - - // So now we can assume that the module entry is at least valid, - // that we have a descriptor on hand (and therefore that the - // module exists), and that the instance is either default or - // defined in the custom instances section. - // We still don't know whether the config file for the entry - // exists and is valid, but that's the only thing that could fail - // from this point on. -- Teo 8/2015 - Module* thisModule = m_loadedModulesByInstanceKey.value( instanceKey, nullptr ); - if ( thisModule && !thisModule->isLoaded() ) - { - cError() << "Module" << QString( instanceKey ) << "exists but not loaded."; + // Error message is already printed failedModules.append( QString( instanceKey ) ); continue; } - if ( thisModule && thisModule->isLoaded() ) + // If it's a ViewModule, it also appends the ViewStep to the ViewManager. + thisModule->loadSelf(); + m_loadedModulesByInstanceKey.insert( instanceKey, thisModule ); + if ( !thisModule->isLoaded() ) { - cDebug() << "Module" << QString( instanceKey ) << "already loaded."; - } - else - { - thisModule = Module::fromDescriptor( m_availableDescriptorsByModuleName.value( instanceKey.module() ), - instanceKey.id(), - configFileName, - m_moduleDirectoriesByModuleName.value( instanceKey.module() ) ); - if ( !thisModule ) - { - cError() << "Module" << QString( instanceKey ) << "cannot be created from descriptor" << configFileName; - failedModules.append( QString( instanceKey ) ); - continue; - } - - if ( !checkDependencies( *thisModule ) ) - { - // Error message is already printed - failedModules.append( QString( instanceKey ) ); - continue; - } - - // If it's a ViewModule, it also appends the ViewStep to the ViewManager. - thisModule->loadSelf(); - m_loadedModulesByInstanceKey.insert( instanceKey, thisModule ); - if ( !thisModule->isLoaded() ) - { - cError() << "Module" << QString( instanceKey ) << "loading FAILED."; - failedModules.append( QString( instanceKey ) ); - continue; - } - } - - // At this point we most certainly have a pointer to a loaded module in - // thisModule. We now need to enqueue jobs info into an EVS. - if ( currentAction == ModuleSystem::Action::Exec ) - { - ExecutionViewStep* evs - = qobject_cast< ExecutionViewStep* >( Calamares::ViewManager::instance()->viewSteps().last() ); - if ( !evs ) // If the last step is not an EVS, we must create it. - { - evs = new ExecutionViewStep( ViewManager::instance() ); - ViewManager::instance()->addViewStep( evs ); - } - - evs->appendJobModuleInstanceKey( QString( instanceKey ) ); + cError() << "Module" << QString( instanceKey ) << "loading FAILED."; + failedModules.append( QString( instanceKey ) ); + continue; } } + + // At this point we most certainly have a pointer to a loaded module in + // thisModule. We now need to enqueue jobs info into an EVS. + if ( currentAction == ModuleSystem::Action::Exec ) + { + ExecutionViewStep* evs + = qobject_cast< ExecutionViewStep* >( Calamares::ViewManager::instance()->viewSteps().last() ); + if ( !evs ) // If the last step is not an EVS, we must create it. + { + evs = new ExecutionViewStep( ViewManager::instance() ); + ViewManager::instance()->addViewStep( evs ); + } + + evs->appendJobModuleInstanceKey( QString( instanceKey ) ); + } } - if ( !failedModules.isEmpty() ) - { - ViewManager::instance()->onInitFailed( failedModules ); - emit modulesFailed( failedModules ); - } - else - { - emit modulesLoaded(); - } - } ); + } + if ( !failedModules.isEmpty() ) + { + ViewManager::instance()->onInitFailed( failedModules ); + emit modulesFailed( failedModules ); + } + else + { + emit modulesLoaded(); + } } void diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index 5fe239ae1..a4f28fab8 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -79,8 +79,9 @@ public: Module* moduleInstance( const QString& instanceKey ); /** - * @brief loadModules initiates the asynchronous module loading operation. + * @brief loadModules does all of the module loading operation. * When this is done, the signal modulesLoaded is emitted. + * It is recommended to call this from a single-shot QTimer. */ void loadModules(); From 7a5ac63f92ff5737eefcdb32b82f736a1d192e0b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 15 Sep 2019 14:36:27 -0400 Subject: [PATCH 370/626] [libcalamares] Chase change of API - Replace QString( x ) by x.toString() where x is an InstanceKey --- .../modulesystem/ModuleManager.cpp | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index f32663808..78164ae18 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -140,7 +140,7 @@ ModuleManager::loadedInstanceKeys() QStringList l; for ( const auto& m : m_loadedModulesByInstanceKey.keys() ) { - l << QString( m ); + l << m.toString(); } return l; } @@ -205,9 +205,9 @@ ModuleManager::loadModules() if ( !m_availableDescriptorsByModuleName.contains( instanceKey.module() ) || m_availableDescriptorsByModuleName.value( instanceKey.module() ).isEmpty() ) { - cError() << "Module" << QString( instanceKey ) << "not found in module search paths." + cError() << "Module" << instanceKey.toString() << "not found in module search paths." << Logger::DebugList( m_paths ); - failedModules.append( QString( instanceKey ) ); + failedModules.append( instanceKey.toString() ); continue; } @@ -242,14 +242,14 @@ ModuleManager::loadModules() Module* thisModule = m_loadedModulesByInstanceKey.value( instanceKey, nullptr ); if ( thisModule && !thisModule->isLoaded() ) { - cError() << "Module" << QString( instanceKey ) << "exists but not loaded."; - failedModules.append( QString( instanceKey ) ); + cError() << "Module" << instanceKey.toString() << "exists but not loaded."; + failedModules.append( instanceKey.toString() ); continue; } if ( thisModule && thisModule->isLoaded() ) { - cDebug() << "Module" << QString( instanceKey ) << "already loaded."; + cDebug() << "Module" << instanceKey.toString() << "already loaded."; } else { @@ -259,15 +259,15 @@ ModuleManager::loadModules() m_moduleDirectoriesByModuleName.value( instanceKey.module() ) ); if ( !thisModule ) { - cError() << "Module" << QString( instanceKey ) << "cannot be created from descriptor" << configFileName; - failedModules.append( QString( instanceKey ) ); + cError() << "Module" << instanceKey.toString() << "cannot be created from descriptor" << configFileName; + failedModules.append( instanceKey.toString() ); continue; } if ( !checkDependencies( *thisModule ) ) { // Error message is already printed - failedModules.append( QString( instanceKey ) ); + failedModules.append( instanceKey.toString() ); continue; } @@ -276,8 +276,8 @@ ModuleManager::loadModules() m_loadedModulesByInstanceKey.insert( instanceKey, thisModule ); if ( !thisModule->isLoaded() ) { - cError() << "Module" << QString( instanceKey ) << "loading FAILED."; - failedModules.append( QString( instanceKey ) ); + cError() << "Module" << instanceKey.toString() << "loading FAILED."; + failedModules.append( instanceKey.toString() ); continue; } } @@ -294,7 +294,7 @@ ModuleManager::loadModules() ViewManager::instance()->addViewStep( evs ); } - evs->appendJobModuleInstanceKey( QString( instanceKey ) ); + evs->appendJobModuleInstanceKey( instanceKey.toString() ); } } } From c448117073c177008a111cb804068358b65193b4 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Sun, 15 Sep 2019 21:51:51 +0200 Subject: [PATCH 371/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_da.ts | 45 +- lang/calamares_fi_FI.ts | 43 +- lang/calamares_ja.ts | 16 +- lang/calamares_ml.ts | 3325 +++++++++++++++++++++++++++++++++++++++ lang/calamares_pt_PT.ts | 21 +- lang/calamares_sk.ts | 66 +- lang/calamares_tr_TR.ts | 39 +- 7 files changed, 3442 insertions(+), 113 deletions(-) create mode 100644 lang/calamares_ml.ts diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 1a98bef6f..6190d2458 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -258,17 +258,17 @@ Would you like to paste the install log to the web? - + Vil du indsætte installationsloggen på webbet? Install Log Paste URL - + Indsættelses-URL for installationslog The upload was unsuccessful. No web-paste was done. - + Uploaden lykkedes ikke. Der blev ikke foretaget nogen webindsættelse. @@ -426,7 +426,8 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Install log posted to: %1 - + Installationslog indsendt til: +%1 @@ -1154,7 +1155,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. <h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment. - <h1>Færdig.</h1><br/>%1 er blevet installeret på din computer.<br/>Du kan nu genstarte for at komme ind i dit nye system eller fortsætte med at bruge %2 live-miljøet. + <h1>Færdig.</h1><br/>%1 er blevet installeret på din computer.<br/>Du kan nu genstarte for at komme ind i dit nye system eller fortsætte med at bruge %2 livemiljøet. @@ -1612,7 +1613,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Network Installation. (Disabled: Incorrect configuration) - + Netværksinstallation. (deaktiveret: forkert konfiguration) @@ -1907,7 +1908,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Product Name - + Produktnavn @@ -1917,17 +1918,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Long Product Description - + Lang produktbeskrivelse Package Selection - + Valg af pakke Please pick a product from the list. The selected product will be installed. - + Vælg venligst et produkt fra listen. Det valgte produkt installeres. @@ -1935,7 +1936,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Packages - + Pakker @@ -2303,12 +2304,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. 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. - Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe trinnet over og konfigurere udseendet og fremtoningen når systemet er sat op. Ved klik på et udseende og fremtoning giver det dig en live forhåndsvisning af det. + Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe trinnet over og konfigurere udseendet og fremtoningen når systemet er sat op. Ved klik på et udseende og fremtoning giver det dig en liveforhåndsvisning af det. Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel. - Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe trinnet over og konfigurere udseendet og fremtoningen når systemet er installeret. Ved klik på et udseende og fremtoning giver det dig en live forhåndsvisning af det. + Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe trinnet over og konfigurere udseendet og fremtoningen når systemet er installeret. Ved klik på et udseende og fremtoning giver det dig en liveforhåndsvisning af det. @@ -2463,12 +2464,12 @@ Output: No product - + Intet produkt No description provided. - + Der er ikke angivet nogen beskrivelse. @@ -3159,7 +3160,7 @@ Output: Key - + Nøgle @@ -3231,32 +3232,32 @@ Output: Select application and system language - + Vælg program- og systemsprog Open donations website - + Åbn websted for donationer &Donate - + &Donér Open help and support website - + Åbn websted for hjælp og support Open issues and bug-tracking website - + Åbn websted for issues og bug-tracking Open relead notes website - + Åbn websted for udgivelsesnoter diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index a4477fdfd..12e00b6a4 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -37,7 +37,7 @@ Do not install a boot loader - Älä asenna käynnistyksenlataajaa + Älä asenna käynnistyslatainta @@ -258,17 +258,17 @@ Would you like to paste the install log to the web? - + Haluatko liittää asennuslokin verkkoon? Install Log Paste URL - + Asenna lokitiedon URL-osoite The upload was unsuccessful. No web-paste was done. - + Lähettäminen epäonnistui. Web-liittämistä ei tehty. @@ -426,7 +426,8 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Install log posted to: %1 - + Asennuksen loki lähetetty: +%1 @@ -1612,7 +1613,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Network Installation. (Disabled: Incorrect configuration) - + Verkko asennus. (Ei käytössä: virheellinen määritys) @@ -1907,27 +1908,27 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Product Name - + Tuotteen nimi TextLabel - + Nimilappu Long Product Description - + Pitkä tuotekuvaus Package Selection - + Paketin valinta Please pick a product from the list. The selected product will be installed. - + Ole hyvä ja valitse tuote luettelosta. Valittu tuote asennetaan. @@ -1935,7 +1936,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Packages - + Paketit @@ -2463,12 +2464,12 @@ Ulostulo: No product - + Ei tuotetta No description provided. - + Kuvausta ei ole. @@ -3160,7 +3161,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. Key - + Avain @@ -3232,32 +3233,32 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. Select application and system language - + Valitse sovelluksen ja järjestelmän kieli Open donations website - + Avaa lahjoitussivusto &Donate - + &Lahjoita Open help and support website - + Avaa ohje- ja tukisivusto Open issues and bug-tracking website - + Avaa ongelmia käsittelevä verkkosivusto Open relead notes website - + Avaa julkaisutiedot sivusto diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 0ae25da8e..8fa2e81d1 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -1923,12 +1923,12 @@ The installer will quit and all changes will be lost. Package Selection - + パッケージの選択 Please pick a product from the list. The selected product will be installed. - + リストから製品を選んでください。選択した製品がインストールされます。 @@ -1936,7 +1936,7 @@ The installer will quit and all changes will be lost. Packages - + パッケージ @@ -2464,7 +2464,7 @@ Output: No product - + 製品がありません。 @@ -3232,12 +3232,12 @@ Output: Select application and system language - + アプリケーション及び言語の選択 Open donations website - + 寄付サイトを開く @@ -3247,12 +3247,12 @@ Output: Open help and support website - + サポートサイトを開く Open issues and bug-tracking website - + issue 及び bug-track のサイトを開く diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts new file mode 100644 index 000000000..c7490623d --- /dev/null +++ b/lang/calamares_ml.ts @@ -0,0 +1,3325 @@ + + + BootInfoWidget + + + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. + + + + + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. + + + + + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. + + + + + BootLoaderModel + + + Master Boot Record of %1 + + + + + Boot Partition + ബൂട്ട് പാർട്ടീഷൻ + + + + System Partition + + + + + Do not install a boot loader + + + + + %1 (%2) + + + + + Calamares::BlankViewStep + + + Blank Page + + + + + Calamares::DebugWindow + + + Form + + + + + GlobalStorage + + + + + JobQueue + + + + + Modules + + + + + Type: + + + + + + none + + + + + Interface: + + + + + Tools + + + + + Reload Stylesheet + + + + + Widget Tree + + + + + Debug information + + + + + Calamares::ExecutionViewStep + + + Set up + + + + + Install + + + + + Calamares::FailJob + + + Job failed (%1) + + + + + Programmed job failure was explicitly requested. + + + + + Calamares::JobThread + + + Done + + + + + Calamares::NamedJob + + + Example job (%1) + + + + + Calamares::ProcessJob + + + Run command '%1' in target system. + + + + + Run command '%1'. + + + + + Running command %1 %2 + + + + + Calamares::PythonJob + + + Running %1 operation. + + + + + Bad working directory path + + + + + Working directory %1 for python job %2 is not readable. + + + + + Bad main script file + + + + + Main script file %1 for python job %2 is not readable. + + + + + Boost.Python error in job "%1". + + + + + Calamares::RequirementsChecker + + + Waiting for %n module(s). + + + + + (%n second(s)) + + + + + System-requirements checking is complete. + + + + + Calamares::ViewManager + + + &Back + + + + + &Next + + + + + &Cancel + + + + + Cancel setup without changing the system. + + + + + Cancel installation without changing the system. + + + + + Setup Failed + + + + + Would you like to paste the install log to the web? + + + + + Install Log Paste URL + + + + + The upload was unsuccessful. No web-paste was done. + + + + + Calamares Initialization Failed + + + + + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. + + + + + <br/>The following modules could not be loaded: + + + + + Continue with installation? + + + + + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> + + + + + &Set up now + + + + + &Set up + + + + + &Install + + + + + Setup is complete. Close the setup program. + + + + + Cancel setup? + + + + + Cancel installation? + + + + + Do you really want to cancel the current setup process? +The setup program will quit and all changes will be lost. + + + + + Do you really want to cancel the current install process? +The installer will quit and all changes will be lost. + + + + + + &Yes + + + + + + &No + + + + + &Close + + + + + Continue with setup? + + + + + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> + + + + + &Install now + + + + + Go &back + + + + + &Done + + + + + The installation is complete. Close the installer. + + + + + Error + + + + + Installation Failed + + + + + CalamaresPython::Helper + + + Unknown exception type + + + + + unparseable Python error + + + + + unparseable Python traceback + + + + + Unfetchable Python error. + + + + + CalamaresUtils + + + Install log posted to: +%1 + + + + + CalamaresWindow + + + %1 Setup Program + + + + + %1 Installer + + + + + Show debug information + + + + + CheckerContainer + + + Gathering system information... + + + + + ChoicePage + + + Form + + + + + After: + + + + + <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. + + + + + Boot loader location: + + + + + Select storage de&vice: + + + + + + + + Current: + + + + + Reuse %1 as home partition for %2. + + + + + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> + + + + + %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. + + + + + <strong>Select a partition to install on</strong> + + + + + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. + + + + + The EFI system partition at %1 will be used for starting %2. + + + + + EFI system partition: + + + + + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. + + + + + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. + + + + + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. + + + + + No Swap + + + + + Reuse Swap + + + + + Swap (no Hibernate) + + + + + Swap (with Hibernate) + + + + + Swap to file + + + + + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. + + + + + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. + + + + + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. + + + + + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. + + + + + ClearMountsJob + + + Clear mounts for partitioning operations on %1 + + + + + Clearing mounts for partitioning operations on %1. + + + + + Cleared all mounts for %1 + + + + + ClearTempMountsJob + + + Clear all temporary mounts. + + + + + Clearing all temporary mounts. + + + + + Cannot get list of temporary mounts. + + + + + Cleared all temporary mounts. + + + + + CommandList + + + + Could not run command. + + + + + The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. + + + + + The command needs to know the user's name, but no username is defined. + + + + + ContextualProcessJob + + + Contextual Processes Job + + + + + CreatePartitionDialog + + + Create a Partition + + + + + MiB + + + + + Partition &Type: + + + + + &Primary + + + + + E&xtended + + + + + Fi&le System: + + + + + LVM LV name + + + + + Flags: + + + + + &Mount Point: + + + + + Si&ze: + + + + + En&crypt + + + + + Logical + + + + + Primary + + + + + GPT + + + + + Mountpoint already in use. Please select another one. + + + + + CreatePartitionJob + + + Create new %2MiB partition on %4 (%3) with file system %1. + + + + + Create new <strong>%2MiB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. + + + + + Creating new %1 partition on %2. + + + + + The installer failed to create partition on disk '%1'. + + + + + CreatePartitionTableDialog + + + Create Partition Table + + + + + Creating a new partition table will delete all existing data on the disk. + + + + + What kind of partition table do you want to create? + + + + + Master Boot Record (MBR) + + + + + GUID Partition Table (GPT) + + + + + CreatePartitionTableJob + + + Create new %1 partition table on %2. + + + + + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). + + + + + Creating new %1 partition table on %2. + + + + + The installer failed to create a partition table on %1. + + + + + CreateUserJob + + + Create user %1 + + + + + Create user <strong>%1</strong>. + + + + + Creating user %1. + + + + + Sudoers dir is not writable. + + + + + Cannot create sudoers file for writing. + + + + + Cannot chmod sudoers file. + + + + + Cannot open groups file for reading. + + + + + CreateVolumeGroupDialog + + + Create Volume Group + + + + + CreateVolumeGroupJob + + + Create new volume group named %1. + + + + + Create new volume group named <strong>%1</strong>. + + + + + Creating new volume group named %1. + + + + + The installer failed to create a volume group named '%1'. + + + + + DeactivateVolumeGroupJob + + + + Deactivate volume group named %1. + + + + + Deactivate volume group named <strong>%1</strong>. + + + + + The installer failed to deactivate a volume group named %1. + + + + + DeletePartitionJob + + + Delete partition %1. + + + + + Delete partition <strong>%1</strong>. + + + + + Deleting partition %1. + + + + + The installer failed to delete partition %1. + + + + + DeviceInfoWidget + + + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. + + + + + This device has a <strong>%1</strong> partition table. + + + + + This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. + + + + + This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page. + + + + + <br><br>This is the recommended partition table type for modern systems which start from an <strong>EFI</strong> boot environment. + + + + + <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. + + + + + DeviceModel + + + %1 - %2 (%3) + device[name] - size[number] (device-node[name]) + + + + + %1 - (%2) + device[name] - (device-node[name]) + + + + + DracutLuksCfgJob + + + Write LUKS configuration for Dracut to %1 + + + + + Skip writing LUKS configuration for Dracut: "/" partition is not encrypted + + + + + Failed to open %1 + + + + + DummyCppJob + + + Dummy C++ Job + + + + + EditExistingPartitionDialog + + + Edit Existing Partition + + + + + Content: + + + + + &Keep + + + + + Format + + + + + Warning: Formatting the partition will erase all existing data. + + + + + &Mount Point: + + + + + Si&ze: + + + + + MiB + + + + + Fi&le System: + + + + + Flags: + + + + + Mountpoint already in use. Please select another one. + + + + + EncryptWidget + + + Form + + + + + En&crypt system + + + + + Passphrase + + + + + Confirm passphrase + + + + + Please enter the same passphrase in both boxes. + + + + + FillGlobalStorageJob + + + Set partition information + + + + + Install %1 on <strong>new</strong> %2 system partition. + + + + + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. + + + + + Install %2 on %3 system partition <strong>%1</strong>. + + + + + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. + + + + + Install boot loader on <strong>%1</strong>. + + + + + Setting up mount points. + + + + + FinishedPage + + + Form + + + + + <Restart checkbox tooltip> + + + + + &Restart now + + + + + <h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system. + + + + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html> + + + + + <h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment. + + + + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + + <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. + + + + + <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. + + + + + FinishedViewStep + + + Finish + + + + + Setup Complete + + + + + Installation Complete + + + + + The setup of %1 is complete. + + + + + The installation of %1 is complete. + + + + + FormatPartitionJob + + + Format partition %1 (file system: %2, size: %3 MiB) on %4. + + + + + Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. + + + + + Formatting partition %1 with file system %2. + + + + + The installer failed to format partition %1 on disk '%2'. + + + + + GeneralRequirements + + + has at least %1 GiB available drive space + + + + + There is not enough drive space. At least %1 GiB is required. + + + + + has at least %1 GiB working memory + + + + + The system does not have enough working memory. At least %1 GiB is required. + + + + + is plugged in to a power source + + + + + The system is not plugged in to a power source. + + + + + is connected to the Internet + + + + + The system is not connected to the Internet. + + + + + The setup program is not running with administrator rights. + + + + + The installer is not running with administrator rights. + + + + + The screen is too small to display the setup program. + + + + + The screen is too small to display the installer. + + + + + IDJob + + + + + + OEM Batch Identifier + + + + + Could not create directories <code>%1</code>. + + + + + Could not open file <code>%1</code>. + + + + + Could not write to file <code>%1</code>. + + + + + InitcpioJob + + + Creating initramfs with mkinitcpio. + + + + + InitramfsJob + + + Creating initramfs. + + + + + InteractiveTerminalPage + + + Konsole not installed + + + + + Please install KDE Konsole and try again! + + + + + Executing script: &nbsp;<code>%1</code> + + + + + InteractiveTerminalViewStep + + + Script + + + + + KeyboardPage + + + Set keyboard model to %1.<br/> + + + + + Set keyboard layout to %1/%2. + + + + + KeyboardViewStep + + + Keyboard + + + + + LCLocaleDialog + + + System locale setting + + + + + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + + + &Cancel + + + + + &OK + + + + + LicensePage + + + Form + + + + + I accept the terms and conditions above. + + + + + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. + + + + + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. + + + + + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. + + + + + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. + + + + + LicenseViewStep + + + License + + + + + LicenseWidget + + + <strong>%1 driver</strong><br/>by %2 + %1 is an untranslatable product name, example: Creative Audigy driver + + + + + <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> + %1 is usually a vendor name, example: Nvidia graphics driver + + + + + <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> + + + + + <strong>%1 codec</strong><br/><font color="Grey">by %2</font> + + + + + <strong>%1 package</strong><br/><font color="Grey">by %2</font> + + + + + <strong>%1</strong><br/><font color="Grey">by %2</font> + + + + + Shows the complete license text + + + + + Hide license text + + + + + Show license agreement + + + + + Hide license agreement + + + + + Opens the license agreement in a browser window. + + + + + <a href="%1">View license agreement</a> + + + + + LocalePage + + + The system language will be set to %1. + + + + + The numbers and dates locale will be set to %1. + + + + + Region: + + + + + Zone: + + + + + + &Change... + + + + + Set timezone to %1/%2.<br/> + + + + + LocaleViewStep + + + Loading location data... + + + + + Location + + + + + LuksBootKeyFileJob + + + Configuring LUKS key file. + + + + + + No partitions are defined. + + + + + + + Encrypted rootfs setup error + + + + + Root partition %1 is LUKS but no passphrase has been set. + + + + + Could not create LUKS key file for root partition %1. + + + + + Could configure LUKS key file on partition %1. + + + + + NetInstallPage + + + Name + + + + + Description + + + + + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) + + + + + Network Installation. (Disabled: Received invalid groups data) + + + + + Network Installation. (Disabled: Incorrect configuration) + + + + + NetInstallViewStep + + + Package selection + + + + + OEMPage + + + Ba&tch: + + + + + <html><head/><body><p>Enter a batch-identifier here. This will be stored in the target system.</p></body></html> + + + + + <html><head/><body><h1>OEM Configuration</h1><p>Calamares will use OEM settings while configuring the target system.</p></body></html> + + + + + OEMViewStep + + + OEM Configuration + + + + + Set the OEM Batch Identifier to <code>%1</code>. + + + + + PWQ + + + Password is too short + + + + + Password is too long + + + + + Password is too weak + + + + + Memory allocation error when setting '%1' + + + + + Memory allocation error + + + + + The password is the same as the old one + + + + + The password is a palindrome + + + + + The password differs with case changes only + + + + + The password is too similar to the old one + + + + + The password contains the user name in some form + + + + + The password contains words from the real name of the user in some form + + + + + The password contains forbidden words in some form + + + + + The password contains less than %1 digits + + + + + The password contains too few digits + + + + + The password contains less than %1 uppercase letters + + + + + The password contains too few uppercase letters + + + + + The password contains less than %1 lowercase letters + + + + + The password contains too few lowercase letters + + + + + The password contains less than %1 non-alphanumeric characters + + + + + The password contains too few non-alphanumeric characters + + + + + The password is shorter than %1 characters + + + + + The password is too short + + + + + The password is just rotated old one + + + + + The password contains less than %1 character classes + + + + + The password does not contain enough character classes + + + + + The password contains more than %1 same characters consecutively + + + + + The password contains too many same characters consecutively + + + + + The password contains more than %1 characters of the same class consecutively + + + + + The password contains too many characters of the same class consecutively + + + + + The password contains monotonic sequence longer than %1 characters + + + + + The password contains too long of a monotonic character sequence + + + + + No password supplied + + + + + Cannot obtain random numbers from the RNG device + + + + + Password generation failed - required entropy too low for settings + + + + + The password fails the dictionary check - %1 + + + + + The password fails the dictionary check + + + + + Unknown setting - %1 + + + + + Unknown setting + + + + + Bad integer value of setting - %1 + + + + + Bad integer value + + + + + Setting %1 is not of integer type + + + + + Setting is not of integer type + + + + + Setting %1 is not of string type + + + + + Setting is not of string type + + + + + Opening the configuration file failed + + + + + The configuration file is malformed + + + + + Fatal failure + + + + + Unknown error + + + + + PackageChooserPage + + + Form + + + + + Product Name + + + + + TextLabel + + + + + Long Product Description + + + + + Package Selection + + + + + Please pick a product from the list. The selected product will be installed. + + + + + PackageChooserViewStep + + + Packages + + + + + Page_Keyboard + + + Form + + + + + Keyboard Model: + + + + + Type here to test your keyboard + + + + + Page_UserSetup + + + Form + + + + + What is your name? + + + + + What name do you want to use to log in? + + + + + Choose a password to keep your account safe. + + + + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> + + + + + What is the name of this computer? + + + + + <small>This name will be used if you make the computer visible to others on a network.</small> + + + + + Log in automatically without asking for the password. + + + + + Use the same password for the administrator account. + + + + + Choose a password for the administrator account. + + + + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> + + + + + PartitionLabelsView + + + Root + + + + + Home + + + + + Boot + + + + + EFI system + + + + + Swap + + + + + New partition for %1 + + + + + New partition + + + + + %1 %2 + size[number] filesystem[name] + + + + + PartitionModel + + + + Free Space + + + + + + New partition + + + + + Name + + + + + File System + + + + + Mount Point + + + + + Size + + + + + PartitionPage + + + Form + + + + + Storage de&vice: + + + + + &Revert All Changes + + + + + New Partition &Table + + + + + Cre&ate + + + + + &Edit + + + + + &Delete + + + + + New Volume Group + + + + + Resize Volume Group + + + + + Deactivate Volume Group + + + + + Remove Volume Group + + + + + I&nstall boot loader on: + + + + + Are you sure you want to create a new partition table on %1? + + + + + Can not create new partition + + + + + The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead. + + + + + PartitionViewStep + + + Gathering system information... + + + + + Partitions + + + + + Install %1 <strong>alongside</strong> another operating system. + + + + + <strong>Erase</strong> disk and install %1. + + + + + <strong>Replace</strong> a partition with %1. + + + + + <strong>Manual</strong> partitioning. + + + + + Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). + + + + + <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. + + + + + <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. + + + + + <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). + + + + + Disk <strong>%1</strong> (%2) + + + + + Current: + + + + + After: + + + + + No EFI system partition configured + + + + + An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. + + + + + EFI system partition flag not set + + + + + An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. + + + + + Boot partition not encrypted + + + + + A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. + + + + + has at least one disk device available. + + + + + There are no partitons to install on. + + + + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + 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. + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + + + PreserveFiles + + + Saving files for later ... + + + + + No files configured to save for later. + + + + + Not all of the configured files could be preserved. + + + + + ProcessResult + + + +There was no output from the command. + + + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + + + QObject + + + Default Keyboard Model + + + + + + Default + + + + + unknown + + + + + extended + + + + + unformatted + + + + + swap + + + + + Unpartitioned space or unknown partition table + + + + + (no mount point) + + + + + Requirements checking for module <i>%1</i> is complete. + + + + + %1 (%2) + language[name] (country[name]) + + + + + No product + + + + + No description provided. + + + + + RemoveVolumeGroupJob + + + + Remove Volume Group named %1. + + + + + Remove Volume Group named <strong>%1</strong>. + + + + + The installer failed to remove a volume group named '%1'. + + + + + ReplaceWidget + + + Form + + + + + Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition. + + + + + The selected item does not appear to be a valid partition. + + + + + %1 cannot be installed on empty space. Please select an existing partition. + + + + + %1 cannot be installed on an extended partition. Please select an existing primary or logical partition. + + + + + %1 cannot be installed on this partition. + + + + + Data partition (%1) + + + + + Unknown system partition (%1) + + + + + %1 system partition (%2) + + + + + <strong>%4</strong><br/><br/>The partition %1 is too small for %2. Please select a partition with capacity at least %3 GiB. + + + + + <strong>%2</strong><br/><br/>An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. + + + + + + + <strong>%3</strong><br/><br/>%1 will be installed on %2.<br/><font color="red">Warning: </font>all data on partition %2 will be lost. + + + + + The EFI system partition at %1 will be used for starting %2. + + + + + EFI system partition: + + + + + ResizeFSJob + + + Resize Filesystem Job + + + + + Invalid configuration + + + + + The file-system resize job has an invalid configuration and will not run. + + + + + + KPMCore not Available + + + + + + Calamares cannot start KPMCore for the file-system resize job. + + + + + + + + + Resize Failed + + + + + The filesystem %1 could not be found in this system, and cannot be resized. + + + + + The device %1 could not be found in this system, and cannot be resized. + + + + + + The filesystem %1 cannot be resized. + + + + + + The device %1 cannot be resized. + + + + + The filesystem %1 must be resized, but cannot. + + + + + The device %1 must be resized, but cannot + + + + + ResizePartitionJob + + + Resize partition %1. + + + + + Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. + + + + + Resizing %2MiB partition %1 to %3MiB. + + + + + The installer failed to resize partition %1 on disk '%2'. + + + + + ResizeVolumeGroupDialog + + + Resize Volume Group + + + + + ResizeVolumeGroupJob + + + + Resize volume group named %1 from %2 to %3. + + + + + Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>. + + + + + The installer failed to resize a volume group named '%1'. + + + + + ResultsListWidget + + + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> + + + + + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> + + + + + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. + + + + + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. + + + + + This program will ask you some questions and set up %2 on your computer. + + + + + For best results, please ensure that this computer: + + + + + System requirements + + + + + ScanningDialog + + + Scanning storage devices... + + + + + Partitioning + + + + + SetHostNameJob + + + Set hostname %1 + + + + + Set hostname <strong>%1</strong>. + + + + + Setting hostname %1. + + + + + + Internal Error + + + + + + Cannot write hostname to target system + + + + + SetKeyboardLayoutJob + + + Set keyboard model to %1, layout to %2-%3 + + + + + Failed to write keyboard configuration for the virtual console. + + + + + + + Failed to write to %1 + + + + + Failed to write keyboard configuration for X11. + + + + + Failed to write keyboard configuration to existing /etc/default directory. + + + + + SetPartFlagsJob + + + Set flags on partition %1. + + + + + Set flags on %1MiB %2 partition. + + + + + Set flags on new partition. + + + + + Clear flags on partition <strong>%1</strong>. + + + + + Clear flags on %1MiB <strong>%2</strong> partition. + + + + + Flag %1MiB <strong>%2</strong> partition as <strong>%3</strong>. + + + + + Clearing flags on %1MiB <strong>%2</strong> partition. + + + + + Setting flags <strong>%3</strong> on %1MiB <strong>%2</strong> partition. + + + + + Clear flags on new partition. + + + + + Flag partition <strong>%1</strong> as <strong>%2</strong>. + + + + + Flag new partition as <strong>%1</strong>. + + + + + Clearing flags on partition <strong>%1</strong>. + + + + + Clearing flags on new partition. + + + + + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. + + + + + Setting flags <strong>%1</strong> on new partition. + + + + + The installer failed to set flags on partition %1. + + + + + SetPasswordJob + + + Set password for user %1 + + + + + Setting password for user %1. + + + + + Bad destination system path. + + + + + rootMountPoint is %1 + + + + + Cannot disable root account. + + + + + passwd terminated with error code %1. + + + + + Cannot set password for user %1. + + + + + usermod terminated with error code %1. + + + + + SetTimezoneJob + + + Set timezone to %1/%2 + + + + + Cannot access selected timezone path. + + + + + Bad path: %1 + + + + + Cannot set timezone. + + + + + Link creation failed, target: %1; link name: %2 + + + + + Cannot set timezone, + + + + + Cannot open /etc/timezone for writing + + + + + ShellProcessJob + + + Shell Processes Job + + + + + SlideCounter + + + %L1 / %L2 + slide counter, %1 of %2 (numeric) + + + + + SummaryPage + + + This is an overview of what will happen once you start the setup procedure. + + + + + This is an overview of what will happen once you start the install procedure. + + + + + SummaryViewStep + + + Summary + + + + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + + + UsersPage + + + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> + + + + + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> + + + + + Your username is too long. + + + + + Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + + + + Your hostname is too short. + + + + + Your hostname is too long. + + + + + Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. + + + + + + Your passwords do not match! + + + + + UsersViewStep + + + Users + + + + + VariantModel + + + Key + + + + + Value + + + + + VolumeGroupBaseDialog + + + Create Volume Group + + + + + List of Physical Volumes + + + + + Volume Group Name: + + + + + Volume Group Type: + + + + + Physical Extent Size: + + + + + MiB + + + + + Total Size: + + + + + Used Size: + + + + + Total Sectors: + + + + + Quantity of LVs: + + + + + WelcomePage + + + Form + + + + + + Select application and system language + + + + + Open donations website + + + + + &Donate + + + + + Open help and support website + + + + + Open issues and bug-tracking website + + + + + Open relead notes website + + + + + &Release notes + + + + + &Known issues + + + + + &Support + + + + + &About + + + + + <h1>Welcome to the %1 installer.</h1> + + + + + <h1>Welcome to the Calamares installer for %1.</h1> + + + + + <h1>Welcome to the Calamares setup program for %1.</h1> + + + + + <h1>Welcome to %1 setup.</h1> + + + + + About %1 setup + + + + + About %1 installer + + + + + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + + + + + %1 support + + + + + WelcomeViewStep + + + Welcome + + + + \ No newline at end of file diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 07234f117..0606d6ea2 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -258,17 +258,17 @@ Would you like to paste the install log to the web? - + Deseja colar o registo de instalação na Web? Install Log Paste URL - + Instalar o URL da pasta de registo The upload was unsuccessful. No web-paste was done. - + O carregamento não teve êxito. Nenhuma pasta da web foi feita. @@ -293,7 +293,7 @@ The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + O programa de instalação %1 está prestes a fazer alterações no seu disco para configurar o %2.<br/><strong>Você não poderá desfazer essas alterações.</strong> @@ -426,7 +426,8 @@ O instalador será encerrado e todas as alterações serão perdidas. Install log posted to: %1 - + Instalar registo publicado em: +%1 @@ -3236,27 +3237,27 @@ Saída de Dados: Open donations website - + Abrir site de doações &Donate - + &Doar Open help and support website - + Abra o site de ajuda e suporte Open issues and bug-tracking website - + Site de questões abertas e monitorização de erros Open relead notes website - + Abrir site de notas de leitura diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index fc8984b30..c0b09a8db 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -298,12 +298,12 @@ &Set up now - + &Inštalovať teraz &Set up - + &Inštalovať @@ -313,7 +313,7 @@ Setup is complete. Close the setup program. - + Inštalácia je dokončená. Zavrite inštalačný program. @@ -434,7 +434,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. %1 Setup Program - + Inštalačný program distribúcie %1 @@ -503,7 +503,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + Oddiel %1 bude zmenšený na %2MiB a nový %3MiB oddiel bude vytvorený pre distribúciu %4. @@ -746,12 +746,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Create new %2MiB partition on %4 (%3) with file system %1. - + Vytvorenie nového %2MiB oddielu na zariadení %4 (%3) so systémom súborov %1. Create new <strong>%2MiB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Vytvorenie nového <strong>%2MiB</strong> oddielu na zariadení <strong>%4</strong> (%3) so systémom súborov <strong>%1</strong>. @@ -1144,7 +1144,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system. - + <h1>Všetko je dokončené.</h1><br/>Distribúcia %1 bola nainštalovaná do vášho počítača.<br/>Teraz môžete začať používať váš nový systém. @@ -1205,12 +1205,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Format partition %1 (file system: %2, size: %3 MiB) on %4. - + Naformátovanie oddielu %1 (systém súborov: %2, veľkosť: %3 MiB) na %4. Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Naformátovanie <strong>%3MiB</strong> oddielu <strong>%1</strong> so systémom súborov <strong>%2</strong>. @@ -1228,22 +1228,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. has at least %1 GiB available drive space - + obsahuje aspoň %1 GiB voľného miesta na disku There is not enough drive space. At least %1 GiB is required. - + Nie je dostatok miesta na disku. Vyžaduje sa aspoň %1 GiB. has at least %1 GiB working memory - + obsahuje aspoň %1 GiB voľnej operačnej pamäte The system does not have enough working memory. At least %1 GiB is required. - + Počítač neobsahuje dostatok operačnej pamäte. Vyžaduje sa aspoň %1 GiB. @@ -1278,7 +1278,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. The screen is too small to display the setup program. - + Obrazovka je príliš malá na to, aby bolo možné zobraziť inštalačný program. @@ -1294,22 +1294,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. OEM Batch Identifier - + Hromadný identifikátor OEM Could not create directories <code>%1</code>. - + Nepodarilo sa vytvoriť adresáre <code>%1</code>. Could not open file <code>%1</code>. - + Nepodarilo sa otvoriť súbor <code>%1</code>. Could not write to file <code>%1</code>. - + Nepodarilo sa zapísať do súboru <code>%1</code>. @@ -1476,7 +1476,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Shows the complete license text - + Zobrazí úplný text licencie @@ -1486,22 +1486,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Show license agreement - + Zobraziť licenčné podmienky Hide license agreement - + Skryť licenčné podmienky Opens the license agreement in a browser window. - + Otvorí licenčné podmienky v okne prehliadača. <a href="%1">View license agreement</a> - + <a href="%1">Zobraziť licenčné podmienky</a> @@ -1556,13 +1556,13 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Configuring LUKS key file. - + Nastavuje sa kľúčový súbor LUKS. No partitions are defined. - + Nie sú určené žiadne oddiely. @@ -1612,7 +1612,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Network Installation. (Disabled: Incorrect configuration) - + Sieťová inštalácia. (Zakázaná: Nesprávna konfigurácia) @@ -1646,7 +1646,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. OEM Configuration - + Konfigurácia OEM @@ -1907,7 +1907,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Product Name - + Názov produktu @@ -1917,12 +1917,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Long Product Description - + Dlhý popis produktu Package Selection - + Výber balíkov @@ -1935,7 +1935,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Packages - + Balíky @@ -3241,7 +3241,7 @@ Výstup: &Donate - + &Prispieť diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 0bc1930e9..299ecf1a6 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -258,17 +258,17 @@ Would you like to paste the install log to the web? - + Yükleme günlüğünü web'e yapıştırmak ister misiniz? Install Log Paste URL - + Günlük Yapıştırma URL'sini Yükle The upload was unsuccessful. No web-paste was done. - + Yükleme başarısız oldu. Web yapıştırması yapılmadı. @@ -426,7 +426,8 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. Install log posted to: %1 - + Gönderilen log yüklemesi: +%1 @@ -1614,7 +1615,7 @@ Sistem güç kaynağına bağlı değil. Network Installation. (Disabled: Incorrect configuration) - + Ağ Kurulumu. (Devre dışı: Yanlış yapılandırma) @@ -1909,7 +1910,7 @@ Sistem güç kaynağına bağlı değil. Product Name - + Ürün adı @@ -1919,17 +1920,17 @@ Sistem güç kaynağına bağlı değil. Long Product Description - + Uzun ürün açıklaması Package Selection - + Paket seçimi Please pick a product from the list. The selected product will be installed. - + Lütfen listeden bir ürün seçin. Seçilen ürün yüklenecek. @@ -1937,7 +1938,7 @@ Sistem güç kaynağına bağlı değil. Packages - + Paketler @@ -2466,12 +2467,12 @@ Output: No product - + Ürün yok No description provided. - + Açıklama bulunamadı. @@ -3164,7 +3165,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. Key - + Anahtar @@ -3236,32 +3237,32 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. Select application and system language - + Uygulama ve sistem dilini seçin Open donations website - + Bağış web sitesini aç &Donate - + &Bağış Open help and support website - + Yardım ve destek web sitesini açın Open issues and bug-tracking website - + Geri bildirim ve hata izleme web sitesi Open relead notes website - + Sürüm Notları web sitesini aç From 3bef83b1529f3543ade0e9ec5a490b9019ff801a Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Sun, 15 Sep 2019 21:51:51 +0200 Subject: [PATCH 372/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- .../lang/ml/LC_MESSAGES/dummypythonqt.mo | Bin 0 -> 382 bytes .../lang/ml/LC_MESSAGES/dummypythonqt.po | 42 ++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.mo create mode 100644 src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po diff --git a/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.mo new file mode 100644 index 0000000000000000000000000000000000000000..7521088e0dc6daaa29d336d107ee51f962758eeb GIT binary patch literal 382 zcmYL@O-{ow5QU3ipRVC)*o5;Z86J13JJo#B=~OWHh=DywEFG z<(8KM=YrP^QeN?+r-tsvxyCX=_WOO`8Lq5ci$lNAH7QyHH^LI!g=`vDqj<%DuLKQ=yu69-3{ic2+wV#AFUF8;`;I6C{v-N_Ps% ipsr9>Z4IyRRGZo|P|e?H<8TQ7ZQNCG8w2ePQRf$YLu?HI literal 0 HcmV?d00001 diff --git a/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po new file mode 100644 index 000000000..f74bc4680 --- /dev/null +++ b/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"PO-Revision-Date: 2016-12-16 12:18+0000\n" +"Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/modules/dummypythonqt/main.py:84 +msgid "Click me!" +msgstr "" + +#: src/modules/dummypythonqt/main.py:94 +msgid "A new QLabel." +msgstr "" + +#: src/modules/dummypythonqt/main.py:97 +msgid "Dummy PythonQt ViewStep" +msgstr "" + +#: src/modules/dummypythonqt/main.py:183 +msgid "The Dummy PythonQt Job" +msgstr "" + +#: src/modules/dummypythonqt/main.py:186 +msgid "This is the Dummy PythonQt Job. The dummy job says: {}" +msgstr "" + +#: src/modules/dummypythonqt/main.py:190 +msgid "A status message for Dummy PythonQt Job." +msgstr "" From 4ef10ca3269a26cee50b657fce7cf8c527cdec1c Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Sun, 15 Sep 2019 21:51:51 +0200 Subject: [PATCH 373/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/ast/LC_MESSAGES/python.mo | Bin 5255 -> 5424 bytes lang/python/ast/LC_MESSAGES/python.po | 4 +- lang/python/be/LC_MESSAGES/python.mo | Bin 9733 -> 9743 bytes lang/python/be/LC_MESSAGES/python.po | 4 +- lang/python/fi_FI/LC_MESSAGES/python.mo | Bin 7648 -> 7867 bytes lang/python/fi_FI/LC_MESSAGES/python.po | 8 +- lang/python/ml/LC_MESSAGES/python.mo | Bin 0 -> 382 bytes lang/python/ml/LC_MESSAGES/python.po | 337 ++++++++++++++++++++++++ 8 files changed, 345 insertions(+), 8 deletions(-) create mode 100644 lang/python/ml/LC_MESSAGES/python.mo create mode 100644 lang/python/ml/LC_MESSAGES/python.po diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index a349964df7e7a88dbee912248d96bd46f910e1c2..d54bc30fac1031a57d4c795d9f31eac085357e63 100644 GIT binary patch delta 1217 zcmX}rTSyd99LMpKyKUY|Q_JjPQ=03g-6XqP2$h8-vDiZpk!x+yzpz9Dnw8pS88?gyjV>hiJb% zW6Xqk!bKG~-e5I;!_63p7_%JPP|rKD2T!0jbPxG}d5xO)74=?ti7}N}gPI@1a_qou zm_TjdJl3 zYGWTUhJUaL8;Xe>>zf1@2eBWu@LhE9Gmept!V-4R_-v^$Tksin;tx~=b}r2?dbS23I-K}YZ$Dh0E+35y8}8L;oHM72h` zqQoI=p@A((>d)pkgaptwojy$0p|k-tZIq1IruA(In^7lGUL3j_e}sjm^r$$C7VhMW zRzu3b7GMcdyEfEdC?ETmR*|X|55ck1;OVWs@n_ zzc~{rs_$_<&&?z=sjTB=11Cu98*bpFT)x>i==#|pe))M>T{Uk+J!i}fa#`O=MU%dt O&Wwz@(;v!ihyMc}{e}7f delta 1066 zcmY+@Pe@cz6vy$?_-eA6Y1HX|Q{z+fzfJbvlweRK0+BW@w8cXQ($GX22nr^s2*Mzy zKeURX7PU&ST(xo|5lGM~f{36^NZMK#et-9A(1q*g-g)!9=bm$Bs^M;Z;d{CF*cdI$ z{mjV?W*xW^;SXb}#LUOPxEGV2*-<=Ez?cvBm|fd1 zqXIY*4=>V>3gjjhRKq7M+VCx^2Y#atif%XS!zxq;uHzwmj_QRu+=D++sb4|$Mx6Y& zVivW};|Y9&P51+|7%LspkSLdd2ol48 zLpSB3t_NDMgh^|;UkyF&E~5T(5!PawsX_4s!AQ=OnxzzP)xk5lKa#6vA;!TER`6z%QJ{ zkYAd{Ei`!sThXeJxHU-Ef-wx>Hk#*GSc@49VgW0$iq6!#D&?q(AWFduNMIDt(bNmb z7?qM7U@gw#4UV9zTI$46v~dI5@C?mHUeGM`f%oX{name!s}." #: src/modules/services-systemd/main.py:80 msgid "Cannot mask systemd unit {name!s}." -msgstr "Немагчыма замаскаваць юніт systemd {name!s}. " +msgstr "Немагчыма замаскаваць адзінку systemd {name!s}. " #: src/modules/services-systemd/main.py:82 msgid "" @@ -85,7 +85,7 @@ msgid "" "{suffix!s} for unit {name!s}." msgstr "" "Невядомыя systemd загады {command!s} і {suffix!s} " -"для юніта {name!s}." +"для адзінкі {name!s}." #: src/modules/umount/main.py:40 msgid "Unmount file systems." diff --git a/lang/python/fi_FI/LC_MESSAGES/python.mo b/lang/python/fi_FI/LC_MESSAGES/python.mo index 07df789023245ada0695fdb56bba9e1ed4179c27..2b3a62198dbaa9f6cbe942f9543452667f5f3303 100644 GIT binary patch delta 1656 zcmZY9OKeP09LMp0+Zoh&KW0=_uWG5PDlMfmMHQtbl@iYq6DC#KX_HnHk7PC$79Nr7 zwGa}KNH-+Lij7A^NE$4}LQsoJ1VJoBMB@81Gal(l&wS3gbMATk&wtt%yj2x@HO6z= zD7Dl{)b;6RVLa;LgEDH6Ssji}+Jt%Zui!*{gk{)|6EJJASvk&4+Kl@CJkG`^I38_? z*#fhe`Dsk0-+=kpiPQ01vVR-L((lKS_#Lw_Gc&Q^RMbX7sChPGHXcMjp2cx^6$5w= zbMXZhv%dYHF`5U3LlXllv5|fQ>ZF%Y6W&Kn@CG&Echts4_!95u;VAm$s0b`aZRh~% zU>8sayN7!JJ?5~!*)X#pOvWj=1?S-*Bt&){XX1O*gn{8^r5Hp_+=@AP61Bl=I2j)# zpTETrea{H9Cagwn-~z^G(TLM%z&E%C=Md)^7{g82gF7&tHAt#M0bxR{!3^a=7Dy8AD7}wtVD-x%B@MypvFDL3Ves! z=oEHUg!QNcbtn6mk-ghvWN-Ewl`Ef78}RvwzZ%oY6irlv4z{5N9!F($4{F?9RA^se z3I0U>te9OXDQj>8ZbMz!4O9;Gp{^=}$rQOlBq&x9qoL%hLk?|Cs5|b!VmyU9(H$(s zPpA_)tfmD^`KZP^)Ivv5cYO^T@B?a|5U0_GTTt_yL(Lm|NJ9&LL;WnWIi^k+M51e3 za5lDMH(o@dXMX-!DCEVs7&qcdJd0)6hg)$RnYjx)P~)GW-q#}JMx*&@RM6j!3eg!P zcPyQ%ml^W_isz)746;+AmP#3yAo?NeHT;le60-JT}R4Gg~P>14Hj9>rn zoC~3@Ol5fjD?nWnKfK>%E}xZDF2Ty&DsN!CVy~iDE}$xj%H0-kc4m;4a&C@$%$u8| zJ5bzLP*Y_ZjSOm$`_P-4wkZD28}iOy747T_x3;!Ko1OM(#OVm{+#7C=l-NJd3kswA z+GgxZeb-rH^=`c{KVIiMpH|)&X>0Eu@b;gl1K(Y@dX>A{mlyX9e?4?sb!Q~n6%IR= uYWy9)H`3J=*%M~5W$u@(neo7c=V_&X=KXK4Yuj5mMA#Yla{Ob~*Nk7Kq0U19 delta 1442 zcmXxk%S)6|7{~F)ab8oWi)o{inwpo)E^4NYI%8TXW_F>3vMexa712^#ObrwjZHju; zMFnZMMHeV$X%U7l`~xZ^Drr#|6h%9mSJgz9>H&vmN*|VK~LCnEoZq#fP{NCoq7sSc{np;3vm?J zF~7Z|v6Ks`>G211aUcCE)K1T#2E30NU<@_j6l!7LQSW~ z2v^`E3^Bh=(pZVkLbEz7M?zyqa4im@27HAY@H1)v-=g?}DzJe57S#1#4C7fmjH9TD z1B=bp<9ghKJs90Z;}MMtoW*V|Ai$6+=9cX2|l6D z*x}|L+=?3KI%=UWQR96_d~`@ns|Wd&@LKXO7?)T7@{j1T)Ee!EH%6BrY!;w;_LY=b~S-N z`7$$^e=`5i`Pp~N>%?>6x$>NPZaj@b&)6^fzBZnNQlmdb?qIrvg)mlX#c(70DX|H^LI, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"PO-Revision-Date: 2017-08-09 10:34+0000\n" +"Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/modules/grubcfg/main.py:37 +msgid "Configure GRUB." +msgstr "" + +#: src/modules/mount/main.py:38 +msgid "Mounting partitions." +msgstr "" + +#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 +#: src/modules/initcpiocfg/main.py:191 +#: src/modules/luksopenswaphookcfg/main.py:95 +#: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 +#: src/modules/machineid/main.py:49 src/modules/initramfscfg/main.py:94 +#: src/modules/initramfscfg/main.py:98 src/modules/openrcdmcryptcfg/main.py:78 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/fstab/main.py:322 +#: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 +#: src/modules/networkcfg/main.py:48 +msgid "Configuration Error" +msgstr "" + +#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 +#: 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
{!s}
to use." +msgstr "" + +#: src/modules/services-systemd/main.py:35 +msgid "Configure systemd services" +msgstr "" + +#: src/modules/services-systemd/main.py:68 +#: src/modules/services-openrc/main.py:102 +msgid "Cannot modify service" +msgstr "" + +#: src/modules/services-systemd/main.py:69 +msgid "" +"systemctl {arg!s} call in chroot returned error code {num!s}." +msgstr "" + +#: src/modules/services-systemd/main.py:72 +#: src/modules/services-systemd/main.py:76 +msgid "Cannot enable systemd service {name!s}." +msgstr "" + +#: src/modules/services-systemd/main.py:74 +msgid "Cannot enable systemd target {name!s}." +msgstr "" + +#: src/modules/services-systemd/main.py:78 +msgid "Cannot disable systemd target {name!s}." +msgstr "" + +#: src/modules/services-systemd/main.py:80 +msgid "Cannot mask systemd unit {name!s}." +msgstr "" + +#: src/modules/services-systemd/main.py:82 +msgid "" +"Unknown systemd commands {command!s} and " +"{suffix!s} for unit {name!s}." +msgstr "" + +#: src/modules/umount/main.py:40 +msgid "Unmount file systems." +msgstr "" + +#: src/modules/unpackfs/main.py:41 +msgid "Filling up filesystems." +msgstr "" + +#: src/modules/unpackfs/main.py:160 +msgid "rsync failed with error code {}." +msgstr "" + +#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +msgid "Failed to unpack image \"{}\"" +msgstr "" + +#: src/modules/unpackfs/main.py:222 +msgid "" +"Failed to find unsquashfs, make sure you have the squashfs-tools package " +"installed" +msgstr "" + +#: src/modules/unpackfs/main.py:321 +msgid "No mount point for root partition" +msgstr "" + +#: src/modules/unpackfs/main.py:322 +msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" +msgstr "" + +#: src/modules/unpackfs/main.py:327 +msgid "Bad mount point for root partition" +msgstr "" + +#: src/modules/unpackfs/main.py:328 +msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" +msgstr "" + +#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 +#: src/modules/unpackfs/main.py:353 +msgid "Bad unsquash configuration" +msgstr "" + +#: src/modules/unpackfs/main.py:342 +msgid "The filesystem for \"{}\" ({}) is not supported" +msgstr "" + +#: src/modules/unpackfs/main.py:349 +msgid "The source filesystem \"{}\" does not exist" +msgstr "" + +#: src/modules/unpackfs/main.py:354 +msgid "The destination \"{}\" in the target system is not a directory" +msgstr "" + +#: src/modules/displaymanager/main.py:401 +msgid "Cannot write KDM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:402 +msgid "KDM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:463 +msgid "Cannot write LXDM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:464 +msgid "LXDM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:547 +msgid "Cannot write LightDM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:548 +msgid "LightDM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:622 +msgid "Cannot configure LightDM" +msgstr "" + +#: src/modules/displaymanager/main.py:623 +msgid "No LightDM greeter installed." +msgstr "" + +#: src/modules/displaymanager/main.py:654 +msgid "Cannot write SLIM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:655 +msgid "SLIM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:770 +msgid "No display managers selected for the displaymanager module." +msgstr "" + +#: src/modules/displaymanager/main.py:771 +msgid "" +"The displaymanagers list is empty or undefined in bothglobalstorage and " +"displaymanager.conf." +msgstr "" + +#: src/modules/displaymanager/main.py:851 +msgid "Display manager configuration was incomplete" +msgstr "" + +#: src/modules/initcpiocfg/main.py:36 +msgid "Configuring mkinitcpio." +msgstr "" + +#: src/modules/initcpiocfg/main.py:192 +#: src/modules/luksopenswaphookcfg/main.py:100 +#: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." +msgstr "" + +#: src/modules/luksopenswaphookcfg/main.py:35 +msgid "Configuring encrypted swap." +msgstr "" + +#: src/modules/rawfs/main.py:35 +msgid "Installing data." +msgstr "" + +#: src/modules/services-openrc/main.py:38 +msgid "Configure OpenRC services" +msgstr "" + +#: src/modules/services-openrc/main.py:66 +msgid "Cannot add service {name!s} to run-level {level!s}." +msgstr "" + +#: src/modules/services-openrc/main.py:68 +msgid "Cannot remove service {name!s} from run-level {level!s}." +msgstr "" + +#: src/modules/services-openrc/main.py:70 +msgid "" +"Unknown service-action {arg!s} for service {name!s} in run-" +"level {level!s}." +msgstr "" + +#: src/modules/services-openrc/main.py:103 +msgid "" +"rc-update {arg!s} call in chroot returned error code {num!s}." +msgstr "" + +#: src/modules/services-openrc/main.py:110 +msgid "Target runlevel does not exist" +msgstr "" + +#: src/modules/services-openrc/main.py:111 +msgid "" +"The path for runlevel {level!s} is {path!s}, which does not " +"exist." +msgstr "" + +#: src/modules/services-openrc/main.py:119 +msgid "Target service does not exist" +msgstr "" + +#: src/modules/services-openrc/main.py:120 +msgid "" +"The path for service {name!s} is {path!s}, which does not " +"exist." +msgstr "" + +#: src/modules/plymouthcfg/main.py:36 +msgid "Configure Plymouth theme" +msgstr "" + +#: src/modules/machineid/main.py:36 +msgid "Generate machine-id." +msgstr "" + +#: src/modules/packages/main.py:62 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:64 src/modules/packages/main.py:74 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:67 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:70 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/bootloader/main.py:51 +msgid "Install bootloader." +msgstr "" + +#: src/modules/removeuser/main.py:34 +msgid "Remove live user from target system" +msgstr "" + +#: src/modules/hwclock/main.py:35 +msgid "Setting hardware clock." +msgstr "" + +#: src/modules/dracut/main.py:36 +msgid "Creating initramfs with dracut." +msgstr "" + +#: src/modules/dracut/main.py:58 +msgid "Failed to run dracut on the target" +msgstr "" + +#: src/modules/dracut/main.py:59 +msgid "The exit code was {}" +msgstr "" + +#: src/modules/initramfscfg/main.py:41 +msgid "Configuring initramfs." +msgstr "" + +#: src/modules/openrcdmcryptcfg/main.py:34 +msgid "Configuring OpenRC dmcrypt service." +msgstr "" + +#: src/modules/fstab/main.py:38 +msgid "Writing fstab." +msgstr "" + +#: src/modules/dummypython/main.py:44 +msgid "Dummy python job." +msgstr "" + +#: src/modules/dummypython/main.py:97 +msgid "Dummy python step {}" +msgstr "" + +#: src/modules/localecfg/main.py:39 +msgid "Configuring locales." +msgstr "" + +#: src/modules/networkcfg/main.py:37 +msgid "Saving network configuration." +msgstr "" From 0e054f1246308f21746e5e521efc2b1e023f8143 Mon Sep 17 00:00:00 2001 From: Harald Sitter Date: Wed, 18 Sep 2019 12:37:32 +0200 Subject: [PATCH 374/626] [displaymanager] map plasma 5.17+ desktop environment exec changed compared to earlier 5.x --- src/modules/displaymanager/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index f85a8aecc..8c0b1a46f 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -63,6 +63,7 @@ class DesktopEnvironment: desktop_environments = [ + DesktopEnvironment('/usr/bin/startplasma-x11', 'plasma'), # KDE Plasma 5.17+ DesktopEnvironment('/usr/bin/startkde', 'plasma'), # KDE Plasma 5 DesktopEnvironment('/usr/bin/startkde', 'kde-plasma'), # KDE Plasma 4 DesktopEnvironment( From 490c14d93df531856c89623aebb2dc2929005afc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sun, 8 Sep 2019 21:20:13 +0100 Subject: [PATCH 375/626] QLatin1Literal->QLatin1String. --- src/libcalamares/locale/Label.h | 2 +- src/libcalamares/utils/CommandList.cpp | 4 ++-- src/libcalamaresui/ViewManager.cpp | 6 +++--- src/libcalamaresui/modulesystem/ModuleManager.cpp | 2 +- src/libcalamaresui/modulesystem/PythonQtViewModule.cpp | 2 +- src/modules/dracutlukscfg/DracutLuksCfgJob.cpp | 4 ++-- src/modules/dracutlukscfg/DracutLuksCfgJob.h | 4 ++-- src/modules/locale/LocalePage.cpp | 2 +- src/modules/locale/timezonewidget/timezonewidget.cpp | 2 +- src/modules/netinstall/PackageTreeItem.cpp | 2 +- src/modules/partition/core/PartUtils.cpp | 2 +- src/modules/partition/gui/PartitionViewStep.cpp | 2 +- src/modules/preservefiles/PreserveFiles.cpp | 2 +- src/modules/users/UsersViewStep.cpp | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/libcalamares/locale/Label.h b/src/libcalamares/locale/Label.h index 0fe61d909..95129d38c 100644 --- a/src/libcalamares/locale/Label.h +++ b/src/libcalamares/locale/Label.h @@ -67,7 +67,7 @@ public: * en_US and en (American English) is defined as English. The Queen's * English -- proper English -- is relegated to non-English status. */ - bool isEnglish() const { return m_localeId == QLatin1Literal( "en_US" ) || m_localeId == QLatin1Literal( "en" ); } + bool isEnglish() const { return m_localeId == QLatin1String( "en_US" ) || m_localeId == QLatin1String( "en" ); } /** @brief Get the human-readable name for this locale. */ QString label() const { return m_label; } diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 1a3075a43..8a2f3835b 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -131,8 +131,8 @@ findInCommands( const CommandList& l, const QString& needle ) Calamares::JobResult CommandList::run() { - QLatin1Literal rootMagic( "@@ROOT@@" ); - QLatin1Literal userMagic( "@@USER@@" ); + QLatin1String rootMagic( "@@ROOT@@" ); + QLatin1String userMagic( "@@USER@@" ); System::RunLocation location = m_doChroot ? System::RunLocation::RunInTarget : System::RunLocation::RunInHost; diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 8fb832369..6da81e7af 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -275,12 +275,12 @@ ViewManager::onInitFailed( const QStringList& modules ) { description.append( tr( "
The following modules could not be loaded:" ) ); QStringList details; - details << QLatin1Literal( "
    " ); + details << QLatin1String( "
      " ); for ( const auto& m : modules ) { - details << QLatin1Literal( "
    • " ) << m << QLatin1Literal( "
    • " ); + details << QLatin1String( "
    • " ) << m << QLatin1String( "
    • " ); } - details << QLatin1Literal( "
    " ); + details << QLatin1String( "
" ); detailString = details.join( QString() ); } diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 78164ae18..53cc1fabb 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -91,7 +91,7 @@ ModuleManager::doInit() bool success = currentDir.cd( subdir ); if ( success ) { - QFileInfo descriptorFileInfo( currentDir.absoluteFilePath( QLatin1Literal( "module.desc" ) ) ); + QFileInfo descriptorFileInfo( currentDir.absoluteFilePath( QLatin1String( "module.desc" ) ) ); if ( !descriptorFileInfo.exists() ) { cDebug() << "ModuleManager expected descriptor is missing:" diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp index 0b775e067..08e4c5c08 100644 --- a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp +++ b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp @@ -137,7 +137,7 @@ PythonQtViewModule::loadSelf() return; } - static const QLatin1Literal calamares_module_annotation( + static const QLatin1String calamares_module_annotation( "_calamares_module_typename = ''\n" "def calamares_module(viewmodule_type):\n" " global _calamares_module_typename\n" diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp b/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp index 9b15ef87c..97b2c9d55 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp @@ -30,7 +30,7 @@ #include "utils/Logger.h" // static -const QLatin1Literal DracutLuksCfgJob::CONFIG_FILE( "/etc/dracut.conf.d/calamares-luks.conf" ); +const QLatin1String DracutLuksCfgJob::CONFIG_FILE( "/etc/dracut.conf.d/calamares-luks.conf" ); // static const char *DracutLuksCfgJob::CONFIG_FILE_HEADER = @@ -50,7 +50,7 @@ const char *DracutLuksCfgJob::CONFIG_FILE_CRYPTTAB_LINE = "install_items+=\" /etc/crypttab \"\n"; // static -const QLatin1Literal DracutLuksCfgJob::CONFIG_FILE_SWAPLINE( "# enable automatic resume from swap\nadd_device+=\" /dev/disk/by-uuid/%1 \"\n" ); +const QLatin1String DracutLuksCfgJob::CONFIG_FILE_SWAPLINE( "# enable automatic resume from swap\nadd_device+=\" /dev/disk/by-uuid/%1 \"\n" ); // static QString diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.h b/src/modules/dracutlukscfg/DracutLuksCfgJob.h index 15ff24069..5811c34a1 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.h +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.h @@ -42,11 +42,11 @@ public: Calamares::JobResult exec() override; private: - static const QLatin1Literal CONFIG_FILE; + static const QLatin1String CONFIG_FILE; static const char *CONFIG_FILE_HEADER; static const char *CONFIG_FILE_CRYPTTAB_KEYFILE_LINE; static const char *CONFIG_FILE_CRYPTTAB_LINE; - static const QLatin1Literal CONFIG_FILE_SWAPLINE; + static const QLatin1String CONFIG_FILE_SWAPLINE; static QString rootMountPoint(); static QVariantList partitions(); diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index d3829aad3..7720a840c 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -241,7 +241,7 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons << "\n\t " << "* a well-formed" << supported.fileName() << "\n\tOR" << "* a well-formed" - << ( localeGenPath.isEmpty() ? QLatin1Literal( "/etc/locale.gen" ) : localeGenPath ) << "\n\tOR" + << ( localeGenPath.isEmpty() ? QLatin1String( "/etc/locale.gen" ) : localeGenPath ) << "\n\tOR" << "* a complete pre-compiled locale-gen database which allows complete locale -a output."; return; // something went wrong and there's nothing we can do about it. } diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index a228f000c..1553af9bc 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -34,7 +34,7 @@ constexpr static double MATH_PI = 3.14159265; #ifdef DEBUG_TIMEZONES // Adds a label to the timezone with this name -constexpr static QLatin1Literal ZONE_NAME( "zone" ); +constexpr static QLatin1String ZONE_NAME( "zone" ); #endif TimeZoneWidget::TimeZoneWidget( QWidget* parent ) : diff --git a/src/modules/netinstall/PackageTreeItem.cpp b/src/modules/netinstall/PackageTreeItem.cpp index 80e553d2e..b3dc6fae7 100644 --- a/src/modules/netinstall/PackageTreeItem.cpp +++ b/src/modules/netinstall/PackageTreeItem.cpp @@ -45,7 +45,7 @@ PackageTreeItem::PackageTreeItem::PackageTreeItem() : PackageTreeItem( QString(), nullptr ) { m_data.selected = Qt::Checked; - m_data.name = QLatin1Literal( "" ); + m_data.name = QLatin1String( "" ); } PackageTreeItem::~PackageTreeItem() diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index 562474865..94630b472 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -450,7 +450,7 @@ isEfiBootable( const Partition* candidate ) QString findFS( QString fsName, FileSystem::Type* fsType ) { - QStringList fsLanguage { QLatin1Literal( "C" ) }; // Required language list to turn off localization + QStringList fsLanguage { QLatin1String( "C" ) }; // Required language list to turn off localization if ( fsName.isEmpty() ) fsName = QStringLiteral( "ext4" ); diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp index 8a190b68a..95df5561c 100644 --- a/src/modules/partition/gui/PartitionViewStep.cpp +++ b/src/modules/partition/gui/PartitionViewStep.cpp @@ -646,7 +646,7 @@ PartitionViewStep::checkRequirements() Calamares::RequirementsList l; l.append( { - QLatin1Literal( "partitions" ), + QLatin1String( "partitions" ), []{ return tr( "has at least one disk device available." ); }, []{ return tr( "There are no partitons to install on." ); }, m_core->deviceModel()->rowCount() > 0, // satisfied diff --git a/src/modules/preservefiles/PreserveFiles.cpp b/src/modules/preservefiles/PreserveFiles.cpp index 96d26274c..175f8e4f8 100644 --- a/src/modules/preservefiles/PreserveFiles.cpp +++ b/src/modules/preservefiles/PreserveFiles.cpp @@ -52,7 +52,7 @@ QString targetPrefix() } } - return QLatin1Literal( "/" ); + return QLatin1String( "/" ); } QString atReplacements( QString s ) diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index 4582a9e85..0d1bb593e 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -173,7 +173,7 @@ UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } } - QString shell( QLatin1Literal( "/bin/bash" ) ); // as if it's not set at all + QString shell( QLatin1String( "/bin/bash" ) ); // as if it's not set at all if ( configurationMap.contains( "userShell" ) ) shell = CalamaresUtils::getString( configurationMap, "userShell" ); // Now it might be explicitly set to empty, which is ok From f8ed7009f1e23200deb00276e10d7cdf1976c735 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 10:51:19 +0200 Subject: [PATCH 376/626] Changes: mention module updates --- CHANGES | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index f2925b8ab..bc01163ae 100644 --- a/CHANGES +++ b/CHANGES @@ -7,14 +7,17 @@ website will have to do for older versions. # 3.2.14 (unreleased) # This release contains contributions from (alphabetically by first name): - - No external contributors in this release. + - Harald Sitter ## Core ## ## Modules ## - *locale* module no longer recognizes the legacy GeoIP configuration. - This has been deprecated since Calamares 3.2.8. + This has been deprecated since Calamares 3.2.8 and is now removed. + - *packagechooser* module can now be custom-labeled in the overall + progress (left-hand column). #1228 + - *displaymanager* module now recognizes KDE Plasma 5.17. # 3.2.13 (2019-08-30) # From 57bb9c16f4a8e14367917d0feda8d13c6e8412ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 10:55:59 +0200 Subject: [PATCH 377/626] [displaymanager] Also look for Wayland sessions - Sessions can be X11-sessions (living in xsessions) or Wayland- (living in wayland-sessions). Look in both places. - Refactor code a little to make it nicer to read. --- src/modules/displaymanager/main.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 8c0b1a46f..b46dc3d43 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,15 +51,20 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop + def find_de_executable(self, root_mount_point): + return os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) + + def find_de_session(self, root_mount_point): + x11_sessions = "{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file) + wayland_sessions = "{!s}/usr/share/wayland-sessions/{!s}.desktop".format(root_mount_point, self.desktop_file) + return os.path.exists(x11_sessions) or os.path.exists(wayland_sessions) + def find_desktop_environment(self, root_mount_point): """ Check if this environment is installed in the target system at @p root_mount_point. """ - return ( - os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) and - os.path.exists("{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file)) - ) + return find_de_executable(root_mount_point) and find_de_session(root_mount_point) desktop_environments = [ From 4799e821d316483bff638d7a5879f015dd92f31f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 11:25:18 +0200 Subject: [PATCH 378/626] [locale] Reduce warnings, missing override --- src/modules/locale/LocaleViewStep.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index 0bb0e34a6..ca8ecc3fa 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -62,7 +62,7 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; /// @brief Do setup (returns empty list) asynchronously - virtual Calamares::RequirementsList checkRequirements(); + virtual Calamares::RequirementsList checkRequirements() override; private slots: void setUpPage(); From 3c387a11c96225aae6a79bfbfb3841470a89cbb3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 11:26:53 +0200 Subject: [PATCH 379/626] [libcalamares] class/struct mismatch - Manager::Private is a class, not just a struct. Needed for hypothetical MSVC compatibility. --- src/libcalamares/network/Manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/network/Manager.h b/src/libcalamares/network/Manager.h index 62788f504..ddd42f27b 100644 --- a/src/libcalamares/network/Manager.h +++ b/src/libcalamares/network/Manager.h @@ -149,7 +149,7 @@ public: QNetworkReply* asynchronouseGet( const QUrl& url, const RequestOptions& options = RequestOptions() ); private: - struct Private; + class Private; std::unique_ptr< Private > d; }; } // namespace Network From bb9cca643faa6d365b4e326f13fa836c8f820649 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 11:50:06 +0200 Subject: [PATCH 380/626] [libcalamares] Avoid warnings from MOC-generated code - Moc generates Q_UNUSED(_a); which in turn (with clang) issues a superfluous-semicolon warning. Existing code with automoc uses utils/moc-warnings.h to turn off warnings that are issued on moc code. Include it explicitly here because automoc isn't applied. --- src/libcalamares/modulesystem/Tests.cpp | 1 + src/libcalamares/network/Manager.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libcalamares/modulesystem/Tests.cpp b/src/libcalamares/modulesystem/Tests.cpp index 8ef62a098..4ef5840ea 100644 --- a/src/libcalamares/modulesystem/Tests.cpp +++ b/src/libcalamares/modulesystem/Tests.cpp @@ -130,4 +130,5 @@ ModuleSystemTests::testBadFromStringCases() QTEST_GUILESS_MAIN( ModuleSystemTests ) +#include "utils/moc-warnings.h" #include "Tests.moc" diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index fefa7c375..6243b03b3 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -285,4 +285,5 @@ Manager::asynchronouseGet( const QUrl& url, const CalamaresUtils::Network::Reque } // namespace Network } // namespace CalamaresUtils +#include "utils/moc-warnings.h" #include "Manager.moc" From d77141a1479a8ae9d2d7b3cf9b73a442a26b2ec1 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 23 Sep 2019 12:43:04 +0200 Subject: [PATCH 381/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 55 ++- lang/calamares_ast.ts | 55 ++- lang/calamares_be.ts | 55 ++- lang/calamares_bg.ts | 55 ++- lang/calamares_ca.ts | 55 ++- lang/calamares_ca@valencia.ts | 55 ++- lang/calamares_cs_CZ.ts | 55 ++- lang/calamares_da.ts | 57 ++- lang/calamares_de.ts | 55 ++- lang/calamares_el.ts | 55 ++- lang/calamares_en.ts | 57 ++- lang/calamares_en_GB.ts | 55 ++- lang/calamares_eo.ts | 55 ++- lang/calamares_es.ts | 55 ++- lang/calamares_es_MX.ts | 55 ++- lang/calamares_es_PR.ts | 55 ++- lang/calamares_et.ts | 55 ++- lang/calamares_eu.ts | 55 ++- lang/calamares_fa.ts | 55 ++- lang/calamares_fi_FI.ts | 57 ++- lang/calamares_fr.ts | 57 ++- lang/calamares_fr_CH.ts | 55 ++- lang/calamares_gl.ts | 55 ++- lang/calamares_gu.ts | 55 ++- lang/calamares_he.ts | 57 ++- lang/calamares_hi.ts | 55 ++- lang/calamares_hr.ts | 57 ++- lang/calamares_hu.ts | 55 ++- lang/calamares_id.ts | 55 ++- lang/calamares_is.ts | 55 ++- lang/calamares_it_IT.ts | 55 ++- lang/calamares_ja.ts | 78 ++-- lang/calamares_kk.ts | 55 ++- lang/calamares_kn.ts | 55 ++- lang/calamares_ko.ts | 55 ++- lang/calamares_lo.ts | 55 ++- lang/calamares_lt.ts | 57 ++- lang/calamares_mk.ts | 55 ++- lang/calamares_ml.ts | 770 +++++++++++++++++----------------- lang/calamares_mr.ts | 55 ++- lang/calamares_nb.ts | 55 ++- lang/calamares_ne_NP.ts | 55 ++- lang/calamares_nl.ts | 55 ++- lang/calamares_pl.ts | 55 ++- lang/calamares_pt_BR.ts | 57 ++- lang/calamares_pt_PT.ts | 57 ++- lang/calamares_ro.ts | 55 ++- lang/calamares_ru.ts | 55 ++- lang/calamares_sk.ts | 103 +++-- lang/calamares_sl.ts | 55 ++- lang/calamares_sq.ts | 57 ++- lang/calamares_sr.ts | 55 ++- lang/calamares_sr@latin.ts | 55 ++- lang/calamares_sv.ts | 55 ++- lang/calamares_th.ts | 55 ++- lang/calamares_tr_TR.ts | 57 ++- lang/calamares_uk.ts | 55 ++- lang/calamares_ur.ts | 55 ++- lang/calamares_uz.ts | 55 ++- lang/calamares_zh_CN.ts | 55 ++- lang/calamares_zh_TW.ts | 57 ++- 61 files changed, 1932 insertions(+), 2233 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index e7fd4069a..83da1a296 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting إعداد محليّة النّظام - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. إعداد محليّة النّظام يؤثّر على لغة بعض عناصر واجهة مستخدم سطر الأوامر وأطقم محارفها.<br/>الإعداد الحاليّ هو <strong>%1</strong>. - + &Cancel &إلغاء - + &OK @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: المنطقة: - + Zone: المجال: - - + + &Change... &غيّر... - + Set timezone to %1/%2.<br/> اضبط المنطقة الزّمنيّة إلى %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - يحمّل بيانات المواقع... - - - + Location الموقع @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name الاسم - + Description الوصف - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost.
- + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: المسار سيّء: %1 - + Cannot set timezone. لا يمكن تعيين المنطقة الزمنية. - + Link creation failed, target: %1; link name: %2 فشل إنشاء الوصلة، الهدف: %1، اسم الوصلة: %2 - + Cannot set timezone, تعذّر ضبط المنطقة الزّمنيّة، - + Cannot open /etc/timezone for writing تعذّر فتح ‎/etc/timezone للكتابة @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index e569a3165..0f9603de9 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -1378,22 +1378,22 @@ L'instalador va colar y van perdese tolos cambeos.
LCLocaleDialog - + System locale setting Axuste de la locale del sistema - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. L'axuste de la locale del sistema afeuta a la llingua y al conxuntu de caráuteres de dalgunos elementos de la interfaz d'usuariu en llinia de comandos. <br/>L'axuste actual ye <strong>%1</strong>. - + &Cancel &Encaboxar - + &OK &Aceutar @@ -1507,33 +1507,33 @@ L'instalador va colar y van perdese tolos cambeos. LocalePage - + The system language will be set to %1. La llingua del sistema va afitase a %1. - + The numbers and dates locale will be set to %1. La númberación y data van afitase en %1. - + Region: Rexón: - + Zone: Zona: - - + + &Change... &Camudar... - + Set timezone to %1/%2.<br/> Va afitase'l fusu horariu a %1/%2.<br/> @@ -1541,12 +1541,7 @@ L'instalador va colar y van perdese tolos cambeos. LocaleViewStep - - Loading location data... - Cargando los datos del allugamientu... - - - + Location Allugamientu @@ -1590,27 +1585,27 @@ L'instalador va colar y van perdese tolos cambeos. NetInstallPage - + Name Nome - + Description Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación per rede. (Desactivada: Nun pue dise en cata de les llistes de paquetes, comprueba la conexón a internet) - + Network Installation. (Disabled: Received invalid groups data) Instalación per rede. (Desactivada: Recibiéronse datos non válidos de grupos) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ L'instalador va colar y van perdese tolos cambeos. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ L'instalador va colar y van perdese tolos cambeos. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ Salida: Camín incorreutu: %1 - + Cannot set timezone. Nun pue afitase'l fusu horariu. - + Link creation failed, target: %1; link name: %2 Falló la creación del enllaz, destín: %1 ; nome del enllaz: %2 - + Cannot set timezone, Nun pue afitase'l fusu horariu, - + Cannot open /etc/timezone for writing Nun pue abrise /etc/timezone pa la escritura @@ -3255,7 +3250,7 @@ Salida: - Open relead notes website + Open release notes website diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 7c00e22c8..8cffbd1fa 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index 54a32ce51..339fd962c 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting Настройка на локацията на системата - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Локацията на системата засяга езика и символите зададени за някои елементи на командния ред.<br/>Текущата настройка е <strong>%1</strong>. - + &Cancel &Отказ - + &OK &ОК @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. Системният език ще бъде %1. - + The numbers and dates locale will be set to %1. Форматът на цифрите и датата ще бъде %1. - + Region: Регион: - + Zone: Зона: - - + + &Change... &Промени... - + Set timezone to %1/%2.<br/> Постави часовата зона на %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - Зареждане на данните за местоположение - - - + Location Местоположение @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Име - + Description Описание - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Мрежова инсталация. (Изключена: Списъкът с пакети не може да бъде извлечен, проверете Вашата Интернет връзка) - + Network Installation. (Disabled: Received invalid groups data) Мрежова инсталация. (Изключена: Получени са данни за невалидни групи) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2940,22 +2935,22 @@ Output: Невалиден път: %1 - + Cannot set timezone. Не може да се зададе часова зона. - + Link creation failed, target: %1; link name: %2 Неуспешно създаване на връзка: %1; име на връзка: %2 - + Cannot set timezone, Не може да се зададе часова зона, - + Cannot open /etc/timezone for writing Не може да се отвори /etc/timezone за записване @@ -3254,7 +3249,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 22dfb148a..ad5eabc66 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -1379,22 +1379,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. LCLocaleDialog - + System locale setting Configuració de la llengua del sistema - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuració local del sistema afecta la llengua i el joc de caràcters d'alguns elements de la interície de línia d'ordres. <br/>La configuració actual és <strong>%1</strong>. - + &Cancel &Cancel·la - + &OK D'ac&ord @@ -1508,33 +1508,33 @@ L'instal·lador es tancarà i tots els canvis es perdran. LocalePage - + The system language will be set to %1. La llengua del sistema s'establirà a %1. - + The numbers and dates locale will be set to %1. Els números i les dates de la configuració local s'establiran a %1. - + Region: Regió: - + Zone: Zona: - - + + &Change... &Canvia... - + Set timezone to %1/%2.<br/> Estableix la zona horària a %1/%2.<br/> @@ -1542,12 +1542,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. LocaleViewStep - - Loading location data... - Es carreguen les dades d'ubicació... - - - + Location Ubicació @@ -1591,27 +1586,27 @@ L'instal·lador es tancarà i tots els canvis es perdran. NetInstallPage - + Name Nom - + Description Descripció - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instal·lació per xarxa. (Inhabilitada: no es poden obtenir les llistes de paquets, comproveu la connexió.) - + Network Installation. (Disabled: Received invalid groups data) Instal·lació per xarxa. (Inhabilitada: dades de grups rebudes no vàlides) - + Network Installation. (Disabled: Incorrect configuration) Instal·lació per xarxa. (Inhabilitada: configuració incorrecta) @@ -1921,12 +1916,12 @@ L'instal·lador es tancarà i tots els canvis es perdran. Descripció llarga del producte - + Package Selection Selecció de paquets - + Please pick a product from the list. The selected product will be installed. Si us plau, trieu un producte de la llista. S'instal·larà el producte seleccionat. @@ -1934,7 +1929,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. PackageChooserViewStep - + Packages Paquets @@ -2942,22 +2937,22 @@ Sortida: Camí incorrecte: %1 - + Cannot set timezone. No es pot assignar la zona horària. - + Link creation failed, target: %1; link name: %2 Ha fallat la creació del vincle; destinació: %1, nom del vincle: %2 - + Cannot set timezone, No es pot establir la zona horària, - + Cannot open /etc/timezone for writing No es pot obrir /etc/timezone per escriure-hi @@ -3256,7 +3251,7 @@ Sortida: - Open relead notes website + Open release notes website Obre el lloc web de les notes de la versió diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index 3072f064b..2dd15d056 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 343b24678..ffcefa462 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -1379,22 +1379,22 @@ Instalační program bude ukončen a všechny změny ztraceny. LCLocaleDialog - + System locale setting Místní a jazykové nastavení systému - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Místní a jazykové nastavení systému ovlivňuje jazyk a znakovou sadu některých prvků rozhraní příkazového řádku.<br/>Stávající nastavení je <strong>%1</strong>. - + &Cancel &Storno - + &OK &OK @@ -1508,33 +1508,33 @@ Instalační program bude ukončen a všechny změny ztraceny. LocalePage - + The system language will be set to %1. Jazyk systému bude nastaven na %1. - + The numbers and dates locale will be set to %1. Formát zobrazení čísel, data a času bude nastaven dle národního prostředí %1. - + Region: Oblast: - + Zone: Pásmo: - - + + &Change... &Změnit… - + Set timezone to %1/%2.<br/> Nastavit časové pásmo na %1/%2.<br/> @@ -1542,12 +1542,7 @@ Instalační program bude ukončen a všechny změny ztraceny. LocaleViewStep - - Loading location data... - Načítání informací o poloze… - - - + Location Poloha @@ -1591,27 +1586,27 @@ Instalační program bude ukončen a všechny změny ztraceny. NetInstallPage - + Name Jméno - + Description Popis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Síťová instalace. (Vypnuto: Nedaří se stáhnout seznamy balíčků – zkontrolujte připojení k síti) - + Network Installation. (Disabled: Received invalid groups data) Síťová instalace. (Vypnuto: Obdrženy neplatné údaje skupin) - + Network Installation. (Disabled: Incorrect configuration) Síťová instalace. (vypnuto: nesprávné nastavení) @@ -1921,12 +1916,12 @@ Instalační program bude ukončen a všechny změny ztraceny. Podrobnější popis produktu - + Package Selection Výběr balíčků - + Please pick a product from the list. The selected product will be installed. Vyberte produkt ze seznamu. Ten vybraný bude nainstalován. @@ -1934,7 +1929,7 @@ Instalační program bude ukončen a všechny změny ztraceny. PackageChooserViewStep - + Packages Balíčky @@ -2942,22 +2937,22 @@ Výstup: Chybný popis umístění: %1 - + Cannot set timezone. Časovou zónu se nedaří nastavit. - + Link creation failed, target: %1; link name: %2 Odkaz se nepodařilo vytvořit, cíl: %1; název odkazu: %2 - + Cannot set timezone, Nedaří se nastavit časovou zónu, - + Cannot open /etc/timezone for writing Soubor /etc/timezone se nedaří otevřít pro zápis @@ -3256,7 +3251,7 @@ Výstup: - Open relead notes website + Open release notes website Otevřít webovou stránku s poznámkami k vydání diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 6190d2458..851048289 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -1379,22 +1379,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. LCLocaleDialog - + System locale setting Systemets lokalitetsindstilling - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemets lokalitetsindstilling har indflydelse på sproget og tegnsættet for nogle kommandolinje-brugerelementer.<br/>Den nuværende indstilling er <strong>%1</strong>. - + &Cancel &Annullér - + &OK &OK @@ -1508,33 +1508,33 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. LocalePage - + The system language will be set to %1. Systemsproget vil blive sat til %1. - + The numbers and dates locale will be set to %1. Lokalitet for tal og datoer vil blive sat til %1. - + Region: Region: - + Zone: Zone: - - + + &Change... &Skift ... - + Set timezone to %1/%2.<br/> Sæt tidszone til %1/%2.<br/> @@ -1542,12 +1542,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. LocaleViewStep - - Loading location data... - Indlæser placeringsdata ... - - - + Location Placering @@ -1591,27 +1586,27 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. NetInstallPage - + Name Navn - + Description Beskrivelse - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netværksinstallation. (Deaktiveret: Kunne ikke hente pakkelister, tjek din netværksforbindelse) - + Network Installation. (Disabled: Received invalid groups data) Netværksinstallation. (Deaktiveret: Modtog ugyldige gruppers data) - + Network Installation. (Disabled: Incorrect configuration) Netværksinstallation. (deaktiveret: forkert konfiguration) @@ -1921,12 +1916,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Lang produktbeskrivelse - + Package Selection Valg af pakke - + Please pick a product from the list. The selected product will be installed. Vælg venligst et produkt fra listen. Det valgte produkt installeres. @@ -1934,7 +1929,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. PackageChooserViewStep - + Packages Pakker @@ -2942,22 +2937,22 @@ Output: Ugyldig sti: %1 - + Cannot set timezone. Kan ikke sætte tidszone. - + Link creation failed, target: %1; link name: %2 Oprettelse af link mislykkedes, destination: %1; linknavn: %2 - + Cannot set timezone, Kan ikke sætte tidszone, - + Cannot open /etc/timezone for writing Kan ikke åbne /etc/timezone til skrivning @@ -3256,8 +3251,8 @@ Output: - Open relead notes website - Åbn websted for udgivelsesnoter + Open release notes website + Åbn websted med udgivelsesnoter diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 761e3e2ac..d7abd3849 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -1378,22 +1378,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. LCLocaleDialog - + System locale setting Regions- und Spracheinstellungen - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Die Lokalisierung des Systems beeinflusst die Sprache und den Zeichensatz einiger Elemente der Kommandozeile.<br/>Die derzeitige Einstellung ist <strong>%1</strong>. - + &Cancel &Abbrechen - + &OK &OK @@ -1507,33 +1507,33 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. LocalePage - + The system language will be set to %1. Die Systemsprache wird auf %1 gestellt. - + The numbers and dates locale will be set to %1. Das Format für Zahlen und Datum wird auf %1 gesetzt. - + Region: Region: - + Zone: Zeitzone: - - + + &Change... &Ändern... - + Set timezone to %1/%2.<br/> Setze Zeitzone auf %1/%2.<br/> @@ -1541,12 +1541,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. LocaleViewStep - - Loading location data... - Lade Standortdaten... - - - + Location Standort @@ -1590,27 +1585,27 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. NetInstallPage - + Name Name - + Description Beschreibung - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netzwerk-Installation. (Deaktiviert: Paketlisten nicht erreichbar, prüfe deine Netzwerk-Verbindung) - + Network Installation. (Disabled: Received invalid groups data) Netwerk-Installation. (Deaktiviert: Ungültige Gruppen-Daten eingegeben) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ Ausgabe: Ungültiger Pfad: %1 - + Cannot set timezone. Zeitzone kann nicht gesetzt werden. - + Link creation failed, target: %1; link name: %2 Erstellen der Verknüpfung fehlgeschlagen, Ziel: %1; Verknüpfung: %2 - + Cannot set timezone, Kann die Zeitzone nicht setzen, - + Cannot open /etc/timezone for writing Kein Schreibzugriff auf /etc/timezone @@ -3255,7 +3250,7 @@ Ausgabe: - Open relead notes website + Open release notes website diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 6bedf1c84..e39be7328 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting Τοπική ρύθμιση συστήματος - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Η τοπική ρύθμιση του συστήματος επηρεάζει τη γλώσσα και το σύνολο χαρακτήρων για ορισμένα στοιχεία διεπαφής χρήστη της γραμμής εντολών.<br/>Η τρέχουσα ρύθμιση είναι <strong>%1</strong>. - + &Cancel &Ακύρωση - + &OK @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. Η τοπική γλώσσα του συστήματος έχει οριστεί σε %1. - + The numbers and dates locale will be set to %1. - + Region: Περιοχή: - + Zone: Ζώνη: - - + + &Change... &Αλλαγή... - + Set timezone to %1/%2.<br/> Ορισμός της ζώνης ώρας σε %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - Γίνεται φόρτωση των δεδομένων τοποθεσίας... - - - + Location Τοποθεσία @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Όνομα - + Description Περιγραφή - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. Αδυναμία ορισμού ζώνης ώρας. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, Αδυναμία ορισμού ζώνης ώρας, - + Cannot open /etc/timezone for writing Αδυναμία ανοίγματος /etc/timezone για εγγραφή @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 1b43513b9..44bc9ebb6 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1379,22 +1379,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Cancel - + &OK &OK @@ -1508,33 +1508,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. The system language will be set to %1. - + The numbers and dates locale will be set to %1. The numbers and dates locale will be set to %1. - + Region: Region: - + Zone: Zone: - - + + &Change... &Change... - + Set timezone to %1/%2.<br/> Set timezone to %1/%2.<br/> @@ -1542,12 +1542,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - Loading location data... - - - + Location Location @@ -1591,27 +1586,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Name - + Description Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) Network Installation. (Disabled: Incorrect configuration) @@ -1921,12 +1916,12 @@ The installer will quit and all changes will be lost. Long Product Description - + Package Selection Package Selection - + Please pick a product from the list. The selected product will be installed. Please pick a product from the list. The selected product will be installed. @@ -1934,7 +1929,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages Packages @@ -2942,22 +2937,22 @@ Output: Bad path: %1 - + Cannot set timezone. Cannot set timezone. - + Link creation failed, target: %1; link name: %2 Link creation failed, target: %1; link name: %2 - + Cannot set timezone, Cannot set timezone, - + Cannot open /etc/timezone for writing Cannot open /etc/timezone for writing @@ -3256,8 +3251,8 @@ Output: - Open relead notes website - Open relead notes website + Open release notes website + Open release notes website diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 63b177362..8957c19e6 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Cancel - + &OK &OK @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. The system language will be set to %1. - + The numbers and dates locale will be set to %1. The numbers and dates locale will be set to %1. - + Region: Region: - + Zone: Zone: - - + + &Change... &Change... - + Set timezone to %1/%2.<br/> Set timezone to %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - Loading location data... - - - + Location Location @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Name - + Description Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2940,22 +2935,22 @@ Output: Bad path: %1 - + Cannot set timezone. Cannot set timezone. - + Link creation failed, target: %1; link name: %2 Link creation failed, target: %1; link name: %2 - + Cannot set timezone, Cannot set timezone, - + Cannot open /etc/timezone for writing Cannot open /etc/timezone for writing @@ -3254,7 +3249,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index 3dd478608..c88aacd93 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -1377,22 +1377,22 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Nuligi - + &OK @@ -1506,33 +1506,33 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1540,12 +1540,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. LocaleViewStep - - Loading location data... - - - - + Location @@ -1589,27 +1584,27 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 776c066dd..bc33b8a13 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -1378,22 +1378,22 @@ Saldrá del instalador y se perderán todos los cambios. LCLocaleDialog - + System locale setting Configuración regional del sistema. - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuración regional del sistema afecta al idioma y a al conjunto de caracteres para algunos elementos de interfaz de la linea de comandos.<br/>La configuración actual es <strong>%1</strong>. - + &Cancel &Cancelar - + &OK &Aceptar @@ -1507,33 +1507,33 @@ Saldrá del instalador y se perderán todos los cambios. LocalePage - + The system language will be set to %1. El idioma del sistema se establecerá a %1. - + The numbers and dates locale will be set to %1. La localización de números y fechas se establecerá a %1. - + Region: Región: - + Zone: Zona: - - + + &Change... &Cambiar... - + Set timezone to %1/%2.<br/> Configurar zona horaria a %1/%2.<br/> @@ -1541,12 +1541,7 @@ Saldrá del instalador y se perderán todos los cambios. LocaleViewStep - - Loading location data... - Detectando ubicación... - - - + Location Ubicación @@ -1590,27 +1585,27 @@ Saldrá del instalador y se perderán todos los cambios. NetInstallPage - + Name Nombre - + Description Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación a través de la Red. (Desactivada: no se ha podido obtener una lista de paquetes, comprueba tu conexión a la red) - + Network Installation. (Disabled: Received invalid groups data) Instalación de red. (Deshabilitada: Se recibieron grupos de datos no válidos) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ Saldrá del instalador y se perderán todos los cambios. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ Saldrá del instalador y se perderán todos los cambios. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ Salida: Ruta errónea: %1 - + Cannot set timezone. No se puede definir la zona horaria - + Link creation failed, target: %1; link name: %2 Fallo al crear el enlace, destino: %1; nombre del enlace: %2 - + Cannot set timezone, No se puede establecer la zona horaria, - + Cannot open /etc/timezone for writing No se puede abrir/etc/timezone para la escritura @@ -3255,7 +3250,7 @@ Salida: - Open relead notes website + Open release notes website diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index e09c470f5..f97d796af 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -1379,22 +1379,22 @@ El instalador terminará y se perderán todos los cambios. LCLocaleDialog - + System locale setting Configuración de localización del sistema - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuración regional del sistema afecta al idioma y a al conjunto de caracteres para algunos elementos de interfaz de la linea de comandos.<br/>La configuración actual es <strong>%1</strong>. - + &Cancel &Cancelar - + &OK &OK @@ -1508,33 +1508,33 @@ El instalador terminará y se perderán todos los cambios. LocalePage - + The system language will be set to %1. El lenguaje del sistema será establecido a %1. - + The numbers and dates locale will be set to %1. Los números y datos locales serán establecidos a %1. - + Region: Región: - + Zone: Zona: - - + + &Change... &Cambiar... - + Set timezone to %1/%2.<br/> Definir la zona horaria como %1/%2.<br/> @@ -1542,12 +1542,7 @@ El instalador terminará y se perderán todos los cambios. LocaleViewStep - - Loading location data... - Cargando datos de ubicación... - - - + Location Ubicación @@ -1591,27 +1586,27 @@ El instalador terminará y se perderán todos los cambios. NetInstallPage - + Name Nombre - + Description Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación de Red. (Deshabilitada: No se puede acceder a la lista de paquetes, verifique su conección de red) - + Network Installation. (Disabled: Received invalid groups data) Instalación de Red. (Deshabilitada: Grupos de datos invalidos recibidos) - + Network Installation. (Disabled: Incorrect configuration) @@ -1921,12 +1916,12 @@ El instalador terminará y se perderán todos los cambios. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1934,7 +1929,7 @@ El instalador terminará y se perderán todos los cambios. PackageChooserViewStep - + Packages @@ -2943,22 +2938,22 @@ Salida Ruta errónea: %1 - + Cannot set timezone. No se puede definir la zona horaria - + Link creation failed, target: %1; link name: %2 Fallo al crear el enlace, destino: %1; nombre del enlace: %2 - + Cannot set timezone, No se puede establer la zona horaria. - + Cannot open /etc/timezone for writing No se puede abrir /etc/timezone para escritura @@ -3257,7 +3252,7 @@ Salida - Open relead notes website + Open release notes website diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 377fea35e..74d09aa87 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location Ubicación @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index cbcf37bab..3e178c1b6 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -1377,22 +1377,22 @@ Paigaldaja sulgub ning kõik muutused kaovad. LCLocaleDialog - + System locale setting Süsteemilokaali valik - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Süsteemilokaali valik mõjutab keelt ja märgistikku teatud käsurea kasutajaliideste elementidel.<br/>Praegune valik on <strong>%1</strong>. - + &Cancel &Tühista - + &OK &OK @@ -1506,33 +1506,33 @@ Paigaldaja sulgub ning kõik muutused kaovad. LocalePage - + The system language will be set to %1. Süsteemikeeleks määratakse %1. - + The numbers and dates locale will be set to %1. Arvude ja kuupäevade lokaaliks seatakse %1. - + Region: Regioon: - + Zone: Tsoon: - - + + &Change... &Muuda... - + Set timezone to %1/%2.<br/> Määra ajatsooniks %1/%2.<br/> @@ -1540,12 +1540,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. LocaleViewStep - - Loading location data... - Laadin asukohaandmeid... - - - + Location Asukoht @@ -1589,27 +1584,27 @@ Paigaldaja sulgub ning kõik muutused kaovad. NetInstallPage - + Name Nimi - + Description Kirjeldus - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Võrgupaigaldus. (Keelatud: paketinimistute saamine ebaõnnestus, kontrolli oma võrguühendust) - + Network Installation. (Disabled: Received invalid groups data) Võrgupaigaldus. (Keelatud: vastu võetud sobimatud grupiandmed) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Paigaldaja sulgub ning kõik muutused kaovad. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. PackageChooserViewStep - + Packages @@ -2940,22 +2935,22 @@ Väljund: Halb tee: %1 - + Cannot set timezone. Ajatsooni ei saa määrata. - + Link creation failed, target: %1; link name: %2 Lingi loomine ebaõnnestus, siht: %1; lingi nimi: %2 - + Cannot set timezone, Ajatsooni ei saa määrata, - + Cannot open /etc/timezone for writing /etc/timezone ei saa kirjutamiseks avada @@ -3254,7 +3249,7 @@ Väljund: - Open relead notes website + Open release notes website diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 68aa61df7..8fd97620c 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -1377,22 +1377,22 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. LCLocaleDialog - + System locale setting Sistemaren locale ezarpena - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Utzi - + &OK &Ados @@ -1506,33 +1506,33 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. LocalePage - + The system language will be set to %1. %1 ezarriko da sistemako hizkuntza bezala. - + The numbers and dates locale will be set to %1. Zenbaki eta daten eskualdea %1-(e)ra ezarri da. - + Region: Eskualdea: - + Zone: Zonaldea: - - + + &Change... &Aldatu... - + Set timezone to %1/%2.<br/> Ordu-zonaldea %1%2-ra ezarri da.<br/> @@ -1540,12 +1540,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. LocaleViewStep - - Loading location data... - Kokapen datuak kargatzen... - - - + Location Kokapena @@ -1589,27 +1584,27 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. NetInstallPage - + Name Izena - + Description Deskribapena - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. PackageChooserViewStep - + Packages @@ -2939,22 +2934,22 @@ Irteera: Bide okerra: %1 - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, Ezin da ezarri ordu-zonaldea - + Cannot open /etc/timezone for writing @@ -3253,7 +3248,7 @@ Irteera: - Open relead notes website + Open release notes website diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index c8b0071d4..25afddb92 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 12e00b6a4..5a51c1297 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -1379,22 +1379,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. LCLocaleDialog - + System locale setting Järjestelmän maa-asetus - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Järjestelmän kieli asetus vaikuttaa joidenkin komentorivin käyttöliittymän kieleen ja merkistön käyttöön.<br/>Nykyinen asetus on <strong>%1</strong>. - + &Cancel &Peruuta - + &OK &OK @@ -1508,33 +1508,33 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. LocalePage - + The system language will be set to %1. Järjestelmän kielen asetuksena on %1. - + The numbers and dates locale will be set to %1. Numerot ja päivämäärät, paikallinen asetus on %1. - + Region: Alue: - + Zone: Vyöhyke: - - + + &Change... &Vaihda... - + Set timezone to %1/%2.<br/> Aseta aikavyöhyke %1/%2.<br/> @@ -1542,12 +1542,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. LocaleViewStep - - Loading location data... - Ladataan sijainnin tietoja... - - - + Location Sijainti @@ -1591,27 +1586,27 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. NetInstallPage - + Name Nimi - + Description Kuvaus - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Verkkoasennus. (Ei käytössä: Pakettiluetteloita ei voi hakea, tarkista verkkoyhteys) - + Network Installation. (Disabled: Received invalid groups data) Verkkoasennus. (Ei käytössä: Vastaanotettiin virheellisiä ryhmän tietoja) - + Network Installation. (Disabled: Incorrect configuration) Verkko asennus. (Ei käytössä: virheellinen määritys) @@ -1921,12 +1916,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Pitkä tuotekuvaus - + Package Selection Paketin valinta - + Please pick a product from the list. The selected product will be installed. Ole hyvä ja valitse tuote luettelosta. Valittu tuote asennetaan. @@ -1934,7 +1929,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. PackageChooserViewStep - + Packages Paketit @@ -2943,22 +2938,22 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.Huono polku: %1 - + Cannot set timezone. Aikavyöhykettä ei voi asettaa. - + Link creation failed, target: %1; link name: %2 Linkin luominen kohteeseen %1 epäonnistui; linkin nimi: %2 - + Cannot set timezone, Aikavyöhykettä ei voi määrittää, - + Cannot open /etc/timezone for writing Ei voi avata /etc/timezone @@ -3257,8 +3252,8 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. - Open relead notes website - Avaa julkaisutiedot sivusto + Open release notes website + Avaa julkaisutiedot verkkosivusto diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index be8194516..47fd4fd9f 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -1379,22 +1379,22 @@ L'installateur se fermera et les changements seront perdus. LCLocaleDialog - + System locale setting Paramètre régional - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Les paramètres régionaux systèmes affectent la langue et le jeu de caractère pour la ligne de commande et différents éléments d'interface.<br/>Le paramètre actuel est <strong>%1</strong>. - + &Cancel &Annuler - + &OK &OK @@ -1508,33 +1508,33 @@ L'installateur se fermera et les changements seront perdus. LocalePage - + The system language will be set to %1. La langue du système sera réglée sur %1. - + The numbers and dates locale will be set to %1. Les nombres et les dates seront réglés sur %1. - + Region: Région : - + Zone: Zone : - - + + &Change... &Modifier... - + Set timezone to %1/%2.<br/> Configurer le fuseau horaire à %1/%2.<br/> @@ -1542,12 +1542,7 @@ L'installateur se fermera et les changements seront perdus. LocaleViewStep - - Loading location data... - Chargement des données de localisation... - - - + Location Localisation @@ -1591,27 +1586,27 @@ L'installateur se fermera et les changements seront perdus. NetInstallPage - + Name Nom - + Description Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installation par le réseau (Désactivée : impossible de récupérer leslistes de paquets, vérifiez la connexion réseau) - + Network Installation. (Disabled: Received invalid groups data) Installation par le réseau. (Désactivée : données de groupes reçues invalides) - + Network Installation. (Disabled: Incorrect configuration) Installation réseau. (Désactivée : configuration incorrecte) @@ -1921,12 +1916,12 @@ L'installateur se fermera et les changements seront perdus. Description complète du produit - + Package Selection Sélection des paquets - + Please pick a product from the list. The selected product will be installed. Merci de sélectionner un produit de la liste. Le produit sélectionné sera installé. @@ -1934,7 +1929,7 @@ L'installateur se fermera et les changements seront perdus. PackageChooserViewStep - + Packages Paquets @@ -2943,22 +2938,22 @@ Sortie Mauvais chemin : %1 - + Cannot set timezone. Impossible de définir le fuseau horaire. - + Link creation failed, target: %1; link name: %2 Création du lien échouée, destination : %1; nom du lien : %2 - + Cannot set timezone, Impossible de définir le fuseau horaire. - + Cannot open /etc/timezone for writing Impossible d'ourvir /etc/timezone pour écriture @@ -3257,8 +3252,8 @@ Sortie - Open relead notes website - Ouvrir le site des notes de publication + Open release notes website + diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 59bf06312..3c59a785f 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index bdc2eb52f..0ceb33757 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -1378,22 +1378,22 @@ O instalador pecharase e perderanse todos os cambios. LCLocaleDialog - + System locale setting Configuración da localización - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A configuración de localización afecta a linguaxe e o conxunto de caracteres dalgúns elementos da interface de usuario de liña de comandos. <br/>A configuración actúal é <strong>%1</strong>. - + &Cancel &Cancelar - + &OK &Ok @@ -1507,33 +1507,33 @@ O instalador pecharase e perderanse todos os cambios. LocalePage - + The system language will be set to %1. A linguaxe do sistema será establecida a %1. - + The numbers and dates locale will be set to %1. A localización de números e datas será establecida a %1. - + Region: Rexión: - + Zone: Zona: - - + + &Change... &Cambio... - + Set timezone to %1/%2.<br/> Establecer a zona de tempo a %1/%2.<br/> @@ -1541,12 +1541,7 @@ O instalador pecharase e perderanse todos os cambios. LocaleViewStep - - Loading location data... - Cargando datos de localización... - - - + Location Localización... @@ -1590,27 +1585,27 @@ O instalador pecharase e perderanse todos os cambios. NetInstallPage - + Name Nome - + Description Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installación por rede. (Desactivadas. Non se pudo recupera-la lista de pacotes, comprobe a sua conexión a rede) - + Network Installation. (Disabled: Received invalid groups data) Instalación de rede. (Desactivado: Recibírense datos de grupos incorrectos) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ O instalador pecharase e perderanse todos os cambios. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ O instalador pecharase e perderanse todos os cambios. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ Saída: Ruta incorrecta: %1 - + Cannot set timezone. Non é posíbel estabelecer o fuso horario - + Link creation failed, target: %1; link name: %2 Fallou a creación da ligazón; destino: %1; nome da ligazón: %2 - + Cannot set timezone, Non é posíbel estabelecer o fuso horario, - + Cannot open /etc/timezone for writing Non é posíbel abrir /etc/timezone para escribir nel @@ -3255,7 +3250,7 @@ Saída: - Open relead notes website + Open release notes website diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index 876d2ddd6..c1d0d3d2c 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 67918bbfa..d90e0becb 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -1379,22 +1379,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting הגדרות מיקום המערכת - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. הגדרת מיקום המערכת משפיעה על השפה וקידוד התווים של חלק מרכיבי ממשקי שורת פקודה למשתמש. <br/> ההגדרה הנוכחית היא <strong>%1</strong>. - + &Cancel &ביטול - + &OK &אישור @@ -1508,33 +1508,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. שפת המערכת תוגדר להיות %1. - + The numbers and dates locale will be set to %1. תבנית של המספרים והתאריכים של המיקום יוגדרו להיות %1. - + Region: איזור: - + Zone: מיקום: - - + + &Change... ה&חלפה… - + Set timezone to %1/%2.<br/> הגדרת אזור זמן בתור %1/%2.<br/> @@ -1542,12 +1542,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - הנתונים על המיקום נטענים… - - - + Location מיקום @@ -1591,27 +1586,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name שם - + Description תיאור - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) התקנה מהרשת. (מושבתת: לא ניתן לקבל רשימות של חבילות תכנה, נא לבדוק את החיבור לרשת) - + Network Installation. (Disabled: Received invalid groups data) התקנה מהרשת. (מושבתת: המידע שהתקבל על קבוצות שגוי) - + Network Installation. (Disabled: Incorrect configuration) התקנת רשת. (מושבתת: תצורה שגויה) @@ -1921,12 +1916,12 @@ The installer will quit and all changes will be lost. תיאור ארוך של המוצר - + Package Selection בחירת חבילות - + Please pick a product from the list. The selected product will be installed. נא לבחור במוצר מהרשימה. המוצר הנבחר יותקן. @@ -1934,7 +1929,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages חבילות @@ -2942,22 +2937,22 @@ Output: נתיב לא תקין: %1 - + Cannot set timezone. לא ניתן להגדיר את אזור הזמן. - + Link creation failed, target: %1; link name: %2 נכשלה יצירת קיצור דרך, מיקום: %1; שם קיצור הדרך: %2 - + Cannot set timezone, לא ניתן להגדיר את אזור הזמן, - + Cannot open /etc/timezone for writing לא ניתן לפתוח את /etc/timezone לכתיבה @@ -3256,8 +3251,8 @@ Output: - Open relead notes website - פתיחת אתר ההערות לפי גרסה + Open release notes website + פתיחת האתר עם הערות המהדורה diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index 9743ae70b..e4ed62440 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -1378,22 +1378,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting सिस्टम स्थानिकी सेटिंग्स - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. सिस्टम स्थानिकी सेटिंग कमांड लाइन के कुछ उपयोक्ता अंतरफलक तत्वों की भाषा व अक्षर सेट पर असर डालती है।<br/>मौजूदा सेटिंग है <strong>%1</strong>। - + &Cancel रद्द करें (&C) - + &OK ठीक है (&O) @@ -1507,33 +1507,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. सिस्टम भाषा %1 सेट की जाएगी। - + The numbers and dates locale will be set to %1. संख्या व दिनांक स्थानिकी %1 सेट की जाएगी। - + Region: क्षेत्र : - + Zone: ज़ोन : - - + + &Change... बदलें (&C)... - + Set timezone to %1/%2.<br/> समय क्षेत्र %1%2 पर सेट करें।<br/> @@ -1541,12 +1541,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - स्थान संबंधी डाटा लोड हो रहा है... - - - + Location स्थान @@ -1590,27 +1585,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name नाम - + Description विवरण - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) नेटवर्क इंस्टॉल। (निष्क्रिय है : पैकेज सूची प्राप्त करने में असमर्थ, अपना नेटवर्क कनेक्शन जाँचें) - + Network Installation. (Disabled: Received invalid groups data) नेटवर्क इंस्टॉल (निष्क्रिय है : प्राप्त किया गया समूह डाटा अमान्य है) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ Output: गलत पथ: %1 - + Cannot set timezone. समय क्षेत्र सेट नहीं हो सका। - + Link creation failed, target: %1; link name: %2 लिंक बनाना विफल, लक्ष्य: %1; लिंक का नाम: %2 - + Cannot set timezone, समय क्षेत्र सेट नहीं हो सका, - + Cannot open /etc/timezone for writing राइट करने हेतु /etc /timezone खोला नहीं जा सका @@ -3255,7 +3250,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 3819751ae..f79ac5427 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -1379,22 +1379,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. LCLocaleDialog - + System locale setting Postavke jezične sheme sustava - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Jezična shema sustava ima efekt na jezični i znakovni skup za neke komandno linijske elemente sučelja.<br/>Trenutačna postavka je <strong>%1</strong>. - + &Cancel &Odustani - + &OK &OK @@ -1508,33 +1508,33 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. LocalePage - + The system language will be set to %1. Jezik sustava će se postaviti na %1. - + The numbers and dates locale will be set to %1. Jezična shema brojeva i datuma će se postaviti na %1. - + Region: Regija: - + Zone: Zona: - - + + &Change... &Promijeni... - + Set timezone to %1/%2.<br/> Postavi vremesku zonu na %1%2.<br/> @@ -1542,12 +1542,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. LocaleViewStep - - Loading location data... - Učitavanje podataka o lokaciji... - - - + Location Lokacija @@ -1591,27 +1586,27 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. NetInstallPage - + Name Ime - + Description Opis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Mrežna instalacija. (Onemogućeno: Ne mogu dohvatiti listu paketa, provjerite da li ste spojeni na mrežu) - + Network Installation. (Disabled: Received invalid groups data) Mrežna instalacija. (Onemogućeno: Primanje nevažećih podataka o grupama) - + Network Installation. (Disabled: Incorrect configuration) Mrežna instalacija. (Onemogućeno: Neispravna konfiguracija) @@ -1921,12 +1916,12 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Dugi opis proizvoda - + Package Selection Odabir paketa - + Please pick a product from the list. The selected product will be installed. Molimo odaberite proizvod s popisa. Izabrani proizvod će biti instaliran. @@ -1934,7 +1929,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. PackageChooserViewStep - + Packages Paketi @@ -2942,22 +2937,22 @@ Izlaz: Loš put: %1 - + Cannot set timezone. Ne mogu postaviti vremesku zonu. - + Link creation failed, target: %1; link name: %2 Kreiranje linka nije uspjelo, cilj: %1; ime linka: %2 - + Cannot set timezone, Ne mogu postaviti vremensku zonu, - + Cannot open /etc/timezone for writing Ne mogu otvoriti /etc/timezone za pisanje @@ -3256,8 +3251,8 @@ Izlaz: - Open relead notes website - Otvorite web mjesto za bilješke + Open release notes website + Otvorite web mjesto s bilješkama izdanja diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 7edbaae80..7bc628a70 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -1378,22 +1378,22 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. LCLocaleDialog - + System locale setting Területi beállítások - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A nyelvi beállítás kihat a nyelvi és karakter beállításokra a parancssori elemeknél.<br/>A jelenlegi beállítás <strong>%1</strong>. - + &Cancel &Mégse - + &OK &OK @@ -1507,33 +1507,33 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. LocalePage - + The system language will be set to %1. A rendszer területi beállítása %1. - + The numbers and dates locale will be set to %1. A számok és dátumok területi beállítása %1. - + Region: Régió: - + Zone: Zóna: - - + + &Change... &Változtat... - + Set timezone to %1/%2.<br/> Időzóna beállítása %1/%2.<br/> @@ -1541,12 +1541,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. LocaleViewStep - - Loading location data... - Hely adatok betöltése... - - - + Location Hely @@ -1590,27 +1585,27 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. NetInstallPage - + Name Név - + Description Leírás - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Hálózati telepítés. (Kikapcsolva: A csomagokat nem lehet letölteni, ellenőrizd a hálózati kapcsolatot) - + Network Installation. (Disabled: Received invalid groups data) Hálózati Telepítés. (Letiltva: Hibás adat csoportok fogadva) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. PackageChooserViewStep - + Packages @@ -2942,22 +2937,22 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Rossz elérési út: %1 - + Cannot set timezone. Nem lehet az időzónát beállítani. - + Link creation failed, target: %1; link name: %2 Link létrehozása nem sikerült: %1, link év: %2 - + Cannot set timezone, Nem lehet beállítani az időzónát . - + Cannot open /etc/timezone for writing Nem lehet megnyitni írásra: /etc/timezone @@ -3257,7 +3252,7 @@ Calamares hiba %1. - Open relead notes website + Open release notes website diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index ad37569e9..88a225a89 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -1377,22 +1377,22 @@ Instalasi akan ditutup dan semua perubahan akan hilang. LCLocaleDialog - + System locale setting Setelan lokal sistem - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Pengaturan system locale berpengaruh pada bahasa dan karakter pada beberapa elemen antarmuka Command Line. <br/>Pengaturan saat ini adalah <strong>%1</strong>. - + &Cancel &Batal - + &OK &OK @@ -1506,33 +1506,33 @@ Instalasi akan ditutup dan semua perubahan akan hilang. LocalePage - + The system language will be set to %1. Bahasa sistem akan disetel ke %1. - + The numbers and dates locale will be set to %1. Nomor dan tanggal lokal akan disetel ke %1. - + Region: Wilayah: - + Zone: Zona: - - + + &Change... &Ubah... - + Set timezone to %1/%2.<br/> Setel zona waktu ke %1/%2.<br/> @@ -1540,12 +1540,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. LocaleViewStep - - Loading location data... - Memuat data lokasi... - - - + Location Lokasi @@ -1589,27 +1584,27 @@ Instalasi akan ditutup dan semua perubahan akan hilang. NetInstallPage - + Name Nama - + Description Deskripsi - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalasi Jaringan. (Dinonfungsikan: Tak mampu menarik daftar paket, periksa sambungan jaringanmu) - + Network Installation. (Disabled: Received invalid groups data) Instalasi jaringan. (Menonaktifkan: Penerimaan kelompok data yang tidak sah) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Instalasi akan ditutup dan semua perubahan akan hilang. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. PackageChooserViewStep - + Packages @@ -2942,22 +2937,22 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Jalur lokasi buruk: %1 - + Cannot set timezone. Tidak dapat menyetel zona waktu. - + Link creation failed, target: %1; link name: %2 Pembuatan tautan gagal, target: %1; nama tautan: %2 - + Cannot set timezone, Tidak bisa menetapkan zona waktu. - + Cannot open /etc/timezone for writing Tidak bisa membuka /etc/timezone untuk penulisan @@ -3256,7 +3251,7 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. - Open relead notes website + Open release notes website diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index e6512111c..00ba48462 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -1377,22 +1377,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. LCLocaleDialog - + System locale setting Staðfærsla kerfisins stilling - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Hætta við - + &OK &Í lagi @@ -1506,33 +1506,33 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. LocalePage - + The system language will be set to %1. Tungumál kerfisins verður sett sem %1. - + The numbers and dates locale will be set to %1. - + Region: Hérað: - + Zone: Svæði: - - + + &Change... &Breyta... - + Set timezone to %1/%2.<br/> Setja tímabelti sem %1/%2.<br/> @@ -1540,12 +1540,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. LocaleViewStep - - Loading location data... - Hleð inn staðsetningargögnum... - - - + Location Staðsetning @@ -1589,27 +1584,27 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. NetInstallPage - + Name Heiti - + Description Lýsing - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. Get ekki sett tímasvæði. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, Get ekki sett tímasvæði, - + Cannot open /etc/timezone for writing Get ekki opnað /etc/timezone til að skrifa. @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index f1544b1c9..1d860c7d0 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -1377,22 +1377,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno LCLocaleDialog - + System locale setting Impostazioni di localizzazione del sistema - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Le impostazioni di localizzazione del sistema influenzano la lingua e il set di caratteri per alcuni elementi di interfaccia da linea di comando. <br/>L'impostazione attuale è <strong>%1</strong>. - + &Cancel &Annulla - + &OK &OK @@ -1506,33 +1506,33 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno LocalePage - + The system language will be set to %1. La lingua di sistema sarà impostata a %1. - + The numbers and dates locale will be set to %1. I numeri e le date locali saranno impostati a %1. - + Region: Area: - + Zone: Zona: - - + + &Change... &Cambia... - + Set timezone to %1/%2.<br/> Imposta il fuso orario a %1%2.<br/> @@ -1540,12 +1540,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno LocaleViewStep - - Loading location data... - Caricamento dei dati di posizione... - - - + Location Posizione @@ -1589,27 +1584,27 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno NetInstallPage - + Name Nome - + Description Descrizione - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installazione di rete. (Disabilitata: impossibile recuperare le liste dei pacchetti, controllare la connessione di rete) - + Network Installation. (Disabled: Received invalid groups data) Installazione di rete. (Disabilitata: Ricevuti dati non validi dei gruppi) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno PackageChooserViewStep - + Packages @@ -2940,22 +2935,22 @@ Output: Percorso errato: %1 - + Cannot set timezone. Impossibile impostare il fuso orario. - + Link creation failed, target: %1; link name: %2 Impossibile creare il link, destinazione: %1; nome del link: %2 - + Cannot set timezone, Impossibile impostare il fuso orario, - + Cannot open /etc/timezone for writing Impossibile aprire il file /etc/timezone in scrittura @@ -3254,7 +3249,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 8fa2e81d1..58d127397 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -258,17 +258,17 @@ Would you like to paste the install log to the web? - + インストールログをWebに貼り付けますか? Install Log Paste URL - + インストールログを貼り付けるURL The upload was unsuccessful. No web-paste was done. - + アップロードは失敗しました。 ウェブへの貼り付けは行われませんでした。 @@ -426,7 +426,8 @@ The installer will quit and all changes will be lost. Install log posted to: %1 - + インストールログの投稿先: +%1 @@ -1379,22 +1380,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting システムのロケールの設定 - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. システムロケールの設定はコマンドラインやインターフェースでの言語や文字の表示に影響をおよぼします。<br/>現在の設定 <strong>%1</strong>. - + &Cancel 中止 (&C) - + &OK 了解 (&O) @@ -1508,33 +1509,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. システムの言語が %1 に設定されます。 - + The numbers and dates locale will be set to %1. 数字と日付のロケールが %1 に設定されます。 - + Region: 地域: - + Zone: ゾーン: - - + + &Change... 変更 (&C)... - + Set timezone to %1/%2.<br/> タイムゾーンを %1/%2 に設定。<br/> @@ -1542,12 +1543,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - ロケーションデータをロード中... - - - + Location ロケーション @@ -1591,29 +1587,29 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name 名前 - + Description 説明 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) ネットワークインストール。(無効: パッケージリストを取得できません。ネットワーク接続を確認してください。) - + Network Installation. (Disabled: Received invalid groups data) ネットワークインストール (不可: 無効なグループデータを受け取りました) - + Network Installation. (Disabled: Incorrect configuration) - + ネットワークインストール。(無効: 不正な設定) @@ -1908,7 +1904,7 @@ The installer will quit and all changes will be lost. Product Name - + 製品名 @@ -1918,15 +1914,15 @@ The installer will quit and all changes will be lost. Long Product Description - + 製品の詳しい説明 - + Package Selection パッケージの選択 - + Please pick a product from the list. The selected product will be installed. リストから製品を選んでください。選択した製品がインストールされます。 @@ -1934,7 +1930,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages パッケージ @@ -2469,7 +2465,7 @@ Output: No description provided. - + 説明はありません。 @@ -2942,22 +2938,22 @@ Output: 不正なパス: %1 - + Cannot set timezone. タイムゾーンを設定できません。 - + Link creation failed, target: %1; link name: %2 リンクの作成に失敗しました、ターゲット: %1 ; リンク名: %2 - + Cannot set timezone, タイムゾーンを設定できません, - + Cannot open /etc/timezone for writing /etc/timezone を開くことができません @@ -3160,7 +3156,7 @@ Output: Key - + キー @@ -3242,7 +3238,7 @@ Output: &Donate - + 寄付する(&D) @@ -3256,8 +3252,8 @@ Output: - Open relead notes website - + Open release notes website + リリースノートのウェブサイトを開く diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index e0587c46f..bbb887c3e 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel Ба&с тарту - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 0ed99cd75..405fb5120 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel ರದ್ದುಗೊಳಿಸು - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 301145b84..8cf7eb67d 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -1378,22 +1378,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting 시스템 로케일 설정 - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 시스템 로케일 설정은 일부 명령줄 사용자 인터페이스 요소의 언어 및 문자 집합에 영향을 줍니다.<br/>현재 설정은 <strong>%1</strong>입니다. - + &Cancel 취소 (&C) - + &OK 확인 (&O) @@ -1507,33 +1507,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. 시스템 언어가 %1로 설정됩니다. - + The numbers and dates locale will be set to %1. 숫자와 날짜 로케일이 %1로 설정됩니다. - + Region: 지역 : - + Zone: 표준시간대 : - - + + &Change... 변경 (&C)... - + Set timezone to %1/%2.<br/> 표준시간대를 %1/%2로 설정합니다.<br/> @@ -1541,12 +1541,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - 위치 정보를 불러오는 중입니다... - - - + Location 위치 @@ -1590,27 +1585,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name 이름 - + Description 설명 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 네트워크 설치. (불가: 패키지 목록을 가져올 수 없습니다. 네트워크 연결을 확인해주세요) - + Network Installation. (Disabled: Received invalid groups data) 네트워크 설치. (불가: 유효하지 않은 그룹 데이터를 수신했습니다) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ Output: 잘못된 경로: %1 - + Cannot set timezone. 표준 시간대를 설정할 수 없습니다. - + Link creation failed, target: %1; link name: %2 링크 생성 실패, 대상: %1; 링크 이름: %2 - + Cannot set timezone, 표준시간대를 설정할 수 없습니다, - + Cannot open /etc/timezone for writing /etc/timezone을 쓰기를 위해 열 수 없습니다. @@ -3255,7 +3250,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 9d45aa29f..3ebf1c2ce 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 5f106b7e5..fbe0f4803 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -1379,22 +1379,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. LCLocaleDialog - + System locale setting Sistemos lokalės nustatymas - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Sistemos lokalės nustatymas įtakoja, kai kurių komandų eilutės naudotojo sąsajos elementų, kalbos ir simbolių rinkinį.<br/>Dabar yra nustatyta <strong>%1</strong>. - + &Cancel &Atsisakyti - + &OK &Gerai @@ -1508,33 +1508,33 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. LocalePage - + The system language will be set to %1. Sistemos kalba bus nustatyta į %1. - + The numbers and dates locale will be set to %1. Skaičių ir datų lokalė bus nustatyta į %1. - + Region: Regionas: - + Zone: Zona: - - + + &Change... K&eisti... - + Set timezone to %1/%2.<br/> Nustatyti laiko juostą kaip %1/%2.<br/> @@ -1542,12 +1542,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. LocaleViewStep - - Loading location data... - Įkeliami vietos duomenys... - - - + Location Vieta @@ -1591,27 +1586,27 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. NetInstallPage - + Name Pavadinimas - + Description Aprašas - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Tinklo diegimas. (Išjungta: Nepavyksta gauti paketų sąrašus, patikrinkite savo tinklo ryšį) - + Network Installation. (Disabled: Received invalid groups data) Tinklo diegimas. (Išjungtas: Gauti neteisingi grupių duomenys) - + Network Installation. (Disabled: Incorrect configuration) Tinklo diegimas. (Išjungtas: Neteisinga konfigūracija) @@ -1921,12 +1916,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Ilgas produkto aprašas - + Package Selection Paketų pasirinkimas - + Please pick a product from the list. The selected product will be installed. Pasirinkite iš sąrašo produktą. Pasirinktas produktas bus įdiegtas. @@ -1934,7 +1929,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. PackageChooserViewStep - + Packages Paketai @@ -2942,22 +2937,22 @@ Išvestis: Neteisingas kelias: %1 - + Cannot set timezone. Negalima nustatyti laiko juostas. - + Link creation failed, target: %1; link name: %2 Nuorodos sukūrimas nepavyko, paskirtis: %1; nuorodos pavadinimas: %2 - + Cannot set timezone, Nepavyksta nustatyti laiko juostos, - + Cannot open /etc/timezone for writing Nepavyksta įrašymui atidaryti failo /etc/timezone @@ -3256,8 +3251,8 @@ Išvestis: - Open relead notes website - + Open release notes website + Atverti laidos informacijos internetinę svetainę diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index 73dfd91da..d53d63722 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index c7490623d..cd78a094c 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -4,17 +4,17 @@ The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + ഈ സിസ്റ്റത്തിന്റെ <strong>ബൂട്ട് എൻവയണ്മെന്റ്</strong>.<br><br>പഴയ x86 സിസ്റ്റങ്ങൾ <strong>ബയോസ്</strong> മാത്രമേ പിന്തുണയ്ക്കൂ.<br>നൂതന സിസ്റ്റങ്ങൾ പൊതുവേ <strong>ഇഎഫ്ഐ</strong>ആണ് ഉപയോഗിക്കുന്നത് എന്നിരുന്നാലും യോജിപ്പുള്ള രീതിയിൽ ആരംഭിക്കുകയാണെങ്കിൽ ബയോസ് ആയി പ്രദർശിപ്പിക്കപ്പെട്ടേക്കാം. This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + ഈ സിസ്റ്റം ഒരു <strong>ഇ.എഫ്.ഐ</strong> ബൂട്ട് എൻ‌വയോൺ‌മെന്റ് ഉപയോഗിച്ചാണ് ആരംഭിച്ചത്.<br><br>ഒരു ഇ.എഫ്.ഐ എൻ‌വയോൺ‌മെൻറിൽ‌ നിന്നും സ്റ്റാർ‌ട്ടപ്പ് ക്രമീകരിക്കുന്നതിന് ,ഒരു ഇ.എഫ്.ഐ സിസ്റ്റം പാർട്ടീഷനിൽ ഈ ഇൻസ്റ്റാളർ <strong>ഗ്രബ്</strong> അല്ലെങ്കിൽ <strong>സിസ്റ്റംഡി-ബൂട്ട്</strong> പോലെയുള്ള ഒരു ബൂട്ട് ലോഡർ ആപ്ലിക്കേഷൻ വിന്യസിക്കണം.നിങ്ങൾ മാനുവൽ പാർട്ടീഷനിംഗ് തിരഞ്ഞെടുത്തിട്ടില്ലെങ്കിൽ ഇത് യാന്ത്രികമായി നടക്കേണ്ടതാണ്,അത്തരം സന്ദർഭങ്ങളിൽ നിങ്ങൾ അത് തിരഞ്ഞെടുക്കണം അല്ലെങ്കിൽ സ്വന്തമായി സൃഷ്ടിക്കണം. This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. - + ഈ സിസ്റ്റം ഒരു <strong>ബയോസ്</strong> ബൂട്ട് എൻ‌വയോൺ‌മെന്റ് ഉപയോഗിച്ചാണ് ആരംഭിച്ചത്.<br><br>ഒരു ബയോസ് എൻ‌വയോൺ‌മെൻറിൽ‌ നിന്നും സ്റ്റാർ‌ട്ടപ്പ് ക്രമീകരിക്കുന്നതിന്, പാർട്ടീഷൻന്റെ തുടക്കത്തിൽ അല്ലെങ്കിൽ പാർട്ടീഷൻ ടേബിളിന്റെ തുടക്കത്തിനടുത്തുള്ള മാസ്റ്റർ ബൂട്ട് റെക്കോർഡ് ൽ (മുൻഗണന) ഈ ഇൻസ്റ്റാളർ <strong>ഗ്രബ്</strong> പോലെയുള്ള ഒരു ബൂട്ട് ലോഡർ ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യണം. നിങ്ങൾ മാനുവൽ പാർട്ടീഷനിംഗ് തിരഞ്ഞെടുത്തിട്ടില്ലെങ്കിൽ ഇത് യാന്ത്രികമായി നടക്കേണ്ടതാണ്, അത്തരം സന്ദർഭങ്ങളിൽ നിങ്ങൾ ഇത് സ്വന്തമായി സജ്ജീകരിക്കണം. @@ -22,7 +22,7 @@ Master Boot Record of %1 - + %1 ന്റെ മാസ്റ്റർ ബൂട്ട് റെക്കോർഡ് @@ -32,17 +32,17 @@ System Partition - + സിസ്റ്റം പാർട്ടീഷൻ Do not install a boot loader - + ബൂട്ട് ലോഡർ ഇൻസ്റ്റാൾ ചെയ്യരുത് %1 (%2) - + %1 (%2) @@ -50,7 +50,7 @@ Blank Page - + ശൂന്യമായ പേജ് @@ -58,58 +58,58 @@ Form - + ഫോം GlobalStorage - + ഗ്ലോബൽ സ്റ്റോറേജ് JobQueue - + ജോബ് ക്യൂ Modules - + മൊഡ്യൂളുകൾ Type: - + തരം: none - + ഒന്നുമില്ല Interface: - + സമ്പർക്കമുഖം: Tools - + ഉപകരണങ്ങൾ Reload Stylesheet - + ശൈലീപുസ്തകം പുതുക്കുക Widget Tree - + വിഡ്ജറ്റ് ട്രീ Debug information - + ഡീബഗ് വിവരങ്ങൾ @@ -117,12 +117,12 @@ Set up - + സജ്ജമാക്കുക Install - + ഇൻസ്റ്റാൾ ചെയ്യുക @@ -130,7 +130,7 @@ Job failed (%1) - + ജോലി പരാജയപ്പെട്ടു (%1) @@ -143,7 +143,7 @@ Done - + പൂർത്തിയായി @@ -151,7 +151,7 @@ Example job (%1) - + ഉദാഹരണം ജോലി (%1) @@ -159,17 +159,17 @@ Run command '%1' in target system. - + ടാർഗറ്റ് സിസ്റ്റത്തിൽ '%1' ആജ്ഞ പ്രവർത്തിപ്പിക്കുക. Run command '%1'. - + '%1' എന്ന ആജ്ഞ നടപ്പിലാക്കുക. Running command %1 %2 - + %1 %2 ആജ്ഞ നടപ്പിലാക്കുന്നു @@ -177,32 +177,32 @@ Running %1 operation. - + %1 ക്രിയ നടപ്പിലാക്കുന്നു. Bad working directory path - + പ്രവർത്ഥനരഹിതമായ ഡയറക്ടറി പാത Working directory %1 for python job %2 is not readable. - + പൈതൺ ജോബ് %2 യുടെ പ്രവർത്തന പാതയായ %1 വായിക്കുവാൻ കഴിയുന്നില്ല Bad main script file - + മോശമായ പ്രധാന സ്ക്രിപ്റ്റ് ഫയൽ Main script file %1 for python job %2 is not readable. - + പൈത്തൺ ജോബ് %2 നായുള്ള പ്രധാന സ്ക്രിപ്റ്റ് ഫയൽ %1 വായിക്കാൻ കഴിയുന്നില്ല. Boost.Python error in job "%1". - + "%1" എന്ന പ്രവൃത്തിയില്‍ ബൂസ്റ്റ്.പൈതണ്‍ പിശക് @@ -210,17 +210,17 @@ Waiting for %n module(s). - + %n മൊഡ്യൂളിനായി കാത്തിരിക്കുന്നു.%n മൊഡ്യൂളുകൾക്കായി കാത്തിരിക്കുന്നു. (%n second(s)) - + (%1 സെക്കൻഡ്)(%1 സെക്കൻഡുകൾ) System-requirements checking is complete. - + സിസ്റ്റം-ആവശ്യകതകളുടെ പരിശോധന പൂർത്തിയായി. @@ -228,171 +228,173 @@ &Back - + പുറകോട്ട് (&B) &Next - + അടുത്തത് (&N) &Cancel - + റദ്ദാക്കുക (%C) Cancel setup without changing the system. - + സിസ്റ്റത്തിന് മാറ്റമൊന്നും വരുത്താതെ സജ്ജീകരണപ്രക്രിയ റദ്ദാക്കുക. Cancel installation without changing the system. - + സിസ്റ്റത്തിന് മാറ്റമൊന്നും വരുത്താതെ ഇൻസ്റ്റളേഷൻ റദ്ദാക്കുക. Setup Failed - + സജ്ജീകരണപ്രക്രിയ പരാജയപ്പെട്ടു Would you like to paste the install log to the web? - + ഇൻസ്റ്റാൾ ലോഗ് വെബിലേക്ക് പകർത്തണോ? Install Log Paste URL - + ഇൻസ്റ്റാൾ ലോഗ് പകർപ്പിന്റെ വിലാസം The upload was unsuccessful. No web-paste was done. - + അപ്‌ലോഡ് പരാജയമായിരുന്നു. വെബിലേക്ക് പകർത്തിയില്ല. Calamares Initialization Failed - + കലാമാരേസ് സമാരംഭിക്കൽ പരാജയപ്പെട്ടു %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + %1 ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയില്ല. ക്രമീകരിച്ച എല്ലാ മൊഡ്യൂളുകളും ലോഡുചെയ്യാൻ കാലാമറെസിന് കഴിഞ്ഞില്ല. വിതരണത്തിൽ കാലാമറെസ് ഉപയോഗിക്കുന്ന രീതിയിലുള്ള ഒരു പ്രശ്നമാണിത്. <br/>The following modules could not be loaded: - + <br/>താഴെ പറയുന്ന മൊഡ്യൂളുകൾ ലഭ്യമാക്കാനായില്ല: Continue with installation? - + ഇൻസ്റ്റളേഷൻ തുടരണോ? The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + %2 സജ്ജീകരിക്കുന്നതിന് %1 സജ്ജീകരണ പ്രോഗ്രാം നിങ്ങളുടെ ഡിസ്കിൽ മാറ്റങ്ങൾ വരുത്താൻ പോകുന്നു.<br/><strong>നിങ്ങൾക്ക് ഈ മാറ്റങ്ങൾ പഴയപടിയാക്കാൻ കഴിയില്ല</strong> &Set up now - + ഉടൻ സജ്ജീകരിക്കുക (&S) &Set up - + സജ്ജീകരിക്കുക (&S) &Install - + ഇൻസ്റ്റാൾ (&I) Setup is complete. Close the setup program. - + സജ്ജീകരണം പൂർത്തിയായി. പ്രയോഗം അടയ്ക്കുക. Cancel setup? - + സജ്ജീകരണം റദ്ദാക്കണോ? Cancel installation? - + ഇൻസ്റ്റളേഷൻ റദ്ദാക്കണോ? Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + നിലവിലുള്ള സജ്ജീകരണപ്രക്രിയ റദ്ദാക്കണോ? +സജ്ജീകരണപ്രയോഗം നിൽക്കുകയും എല്ലാ മാറ്റങ്ങളും നഷ്ടപ്പെടുകയും ചെയ്യും. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + നിലവിലുള്ള ഇൻസ്റ്റാൾ പ്രക്രിയ റദ്ദാക്കണോ? +ഇൻസ്റ്റാളർ നിൽക്കുകയും എല്ലാ മാറ്റങ്ങളും നഷ്ടപ്പെടുകയും ചെയ്യും. &Yes - + വേണം (&Y) &No - + വേണ്ട (&N) &Close - + അടയ്ക്കുക (&C) Continue with setup? - + സജ്ജീകരണപ്രക്രിയ തുടരണോ? The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + %2 ഇൻസ്റ്റാളുചെയ്യുന്നതിന് %1 ഇൻസ്റ്റാളർ നിങ്ങളുടെ ഡിസ്കിൽ മാറ്റങ്ങൾ വരുത്താൻ പോകുന്നു.<br/><strong>നിങ്ങൾക്ക് ഈ മാറ്റങ്ങൾ പഴയപടിയാക്കാൻ കഴിയില്ല.</strong> &Install now - + ഉടൻ ഇൻസ്റ്റാൾ ചെയ്യുക (&I) Go &back - + പുറകോട്ടു പോകുക &Done - + ചെയ്‌തു The installation is complete. Close the installer. - + ഇൻസ്റ്റളേഷൻ പൂർത്തിയായി. ഇൻസ്റ്റാളർ അടയ്ക്കുക Error - + പിശക് Installation Failed - + ഇൻസ്റ്റളേഷൻ പരാജയപ്പെട്ടു @@ -405,17 +407,17 @@ The installer will quit and all changes will be lost. unparseable Python error - + മനസ്സിലാക്കാനാവാത്ത പൈത്തൺ പിഴവ് unparseable Python traceback - + മനസ്സിലാക്കാനാവാത്ത പൈത്തൺ ട്രേസ്ബാക്ക് Unfetchable Python error. - + ലഭ്യമാക്കാനാവാത്ത പൈത്തൺ പിഴവ്. @@ -424,7 +426,8 @@ The installer will quit and all changes will be lost. Install log posted to: %1 - + ഇൻസ്റ്റാൾ ലോഗ് ഇങ്ങോട്ട് സ്ഥാപിച്ചിരിക്കുന്നു +%1 @@ -432,17 +435,17 @@ The installer will quit and all changes will be lost. %1 Setup Program - + %1 സജ്ജീകരണപ്രയോഗം %1 Installer - + %1 ഇൻസ്റ്റാളർ Show debug information - + ഡീബഗ് വിവരങ്ങൾ കാണിക്കുക @@ -450,7 +453,7 @@ The installer will quit and all changes will be lost. Gathering system information... - + സിസ്റ്റത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നു... @@ -458,27 +461,27 @@ The installer will quit and all changes will be lost. Form - + ഫോം After: - + ശേഷം: <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. - + <strong>സ്വമേധയാ ഉള്ള പാർട്ടീഷനിങ്</strong><br/>നിങ്ങൾക്ക് സ്വയം പാർട്ടീഷനുകൾ സൃഷ്ടിക്കാനോ വലുപ്പം മാറ്റാനോ കഴിയും. Boot loader location: - + ബൂട്ട് ലോഡറിന്റെ സ്ഥാനം: Select storage de&vice: - + സംഭരണിയ്ക്കുള്ള ഉപകരണം തിരഞ്ഞെടുക്കൂ: @@ -486,47 +489,47 @@ The installer will quit and all changes will be lost. Current: - + നിലവിലുള്ളത്: Reuse %1 as home partition for %2. - + %2 നുള്ള ഹോം പാർട്ടീഷനായി %1 വീണ്ടും ഉപയോഗിക്കൂ. <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>ചുരുക്കുന്നതിന് ഒരു പാർട്ടീഷൻ തിരഞ്ഞെടുക്കുക, എന്നിട്ട് വലുപ്പം മാറ്റാൻ ചുവടെയുള്ള ബാർ വലിക്കുക. %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + %1 %2MiB ആയി ചുരുങ്ങുകയും %4 ന് ഒരു പുതിയ %3MiB പാർട്ടീഷൻ സൃഷ്ടിക്കുകയും ചെയ്യും. <strong>Select a partition to install on</strong> - + <strong>ഇൻസ്റ്റാൾ ചെയ്യാനായി ഒരു പാർട്ടീഷൻ തിരഞ്ഞെടുക്കുക</strong> An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + ഈ സിസ്റ്റത്തിൽ എവിടെയും ഒരു ഇ.എഫ്.ഐ സിസ്റ്റം പാർട്ടീഷൻ കണ്ടെത്താനായില്ല. %1 സജ്ജീകരിക്കുന്നതിന് ദയവായി തിരികെ പോയി മാനുവൽ പാർട്ടീഷനിംഗ് ഉപയോഗിക്കുക. The EFI system partition at %1 will be used for starting %2. - + %1 ലെ ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ %2 ആരംഭിക്കുന്നതിന് ഉപയോഗിക്കും. EFI system partition: - + ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + ഈ ഡറ്റോറേജ്‌ ഉപകരണത്തിൽ ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഉണ്ടെന്ന് തോന്നുന്നില്ല. നിങ്ങൾ എന്താണ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നത്?<br/>സ്റ്റോറേജ് ഉപകരണത്തിൽ എന്തെങ്കിലും മാറ്റം വരുത്തുന്നതിനുമുമ്പ് നിങ്ങൾക്ക് നിങ്ങളുടെ ചോയ്‌സുകൾ അവലോകനം ചെയ്യാനും സ്ഥിരീകരിക്കാനും കഴിയും.  @@ -534,37 +537,37 @@ The installer will quit and all changes will be lost. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + <strong>ഡിസ്ക് മായ്ക്കൂ</strong><br/>ഈ പ്രവൃത്തി തെരെഞ്ഞെടുത്ത സ്റ്റോറേജ് ഉപകരണത്തിലെ എല്ലാ ഡാറ്റയും <font color="red">മായ്‌ച്ച്കളയും</font>. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + ഈ സ്റ്റോറേജ് ഉപകരണത്തിൽ %1 ഉണ്ട്.നിങ്ങൾ എന്താണ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നത്?<br/>സ്റ്റോറേജ് ഉപകരണത്തിൽ എന്തെങ്കിലും മാറ്റം വരുത്തുന്നതിനുമുമ്പ് നിങ്ങളുടെ ചോയ്‌സുകൾ അവലോകനം ചെയ്യാനും സ്ഥിരീകരിക്കാനും നിങ്ങൾക്ക് കഴിയും. No Swap - + സ്വാപ്പ് വേണ്ട Reuse Swap - + സ്വാപ്പ് വീണ്ടും ഉപയോഗിക്കൂ Swap (no Hibernate) - + സ്വാപ്പ് (ഹൈബർനേഷൻ ഇല്ല) Swap (with Hibernate) - + സ്വാപ്പ് (ഹൈബർനേഷനോട് കൂടി) Swap to file - + ഫയലിലേക്ക് സ്വാപ്പ് ചെയ്യുക @@ -572,7 +575,7 @@ The installer will quit and all changes will be lost. <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - + <strong>ഇതിനൊപ്പം ഇൻസ്റ്റാൾ ചെയ്യുക</strong><br/>%1 ന് ഇടം നൽകുന്നതിന് ഇൻസ്റ്റാളർ ഒരു പാർട്ടീഷൻ ചുരുക്കും. @@ -580,17 +583,17 @@ The installer will quit and all changes will be lost. <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + <strong>ഒരു പാർട്ടീഷൻ പുനഃസ്ഥാപിക്കുക</strong><br/>ഒരു പാർട്ടീഷന് %1 ഉപയോഗിച്ച് പുനഃസ്ഥാപിക്കുന്നു. This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + ഈ സ്റ്റോറേജ് ഉപകരണത്തിൽ ഇതിനകം ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഉണ്ട്. നിങ്ങൾ എന്താണ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നത്?<br/>സ്റ്റോറേജ് ഉപകരണത്തിൽ എന്തെങ്കിലും മാറ്റം വരുത്തുന്നതിനുമുമ്പ് നിങ്ങൾക്ക് നിങ്ങളുടെ ചോയ്‌സുകൾ അവലോകനം ചെയ്യാനും സ്ഥിരീകരിക്കാനും കഴിയും.  This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + ഈ സ്റ്റോറേജ് ഉപകരണത്തിൽ ഒന്നിലധികം ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുണ്ട്. നിങ്ങൾ എന്താണ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നത്?<br/>സ്റ്റോറേജ് ഉപകരണത്തിൽ എന്തെങ്കിലും മാറ്റം വരുത്തുന്നതിനുമുമ്പ് നിങ്ങൾക്ക് നിങ്ങളുടെ ചോയ്‌സുകൾ അവലോകനം ചെയ്യാനും സ്ഥിരീകരിക്കാനും കഴിയും.  @@ -598,17 +601,17 @@ The installer will quit and all changes will be lost. Clear mounts for partitioning operations on %1 - + %1 ൽ പാർട്ടീഷനിങ്ങ് പ്രക്രിയകൾക്കായി മൗണ്ടുകൾ നീക്കം ചെയ്യുക Clearing mounts for partitioning operations on %1. - + %1 ൽ പാർട്ടീഷനിങ്ങ് പ്രക്രിയകൾക്കായി മൗണ്ടുകൾ നീക്കം ചെയ്യുന്നു. Cleared all mounts for %1 - + %1 നായുള്ള എല്ലാ മൗണ്ടുകളും നീക്കം ചെയ്തു @@ -616,22 +619,22 @@ The installer will quit and all changes will be lost. Clear all temporary mounts. - + എല്ലാ താൽക്കാലിക മൗണ്ടുകളും നീക്കം ചെയ്യുക Clearing all temporary mounts. - + എല്ലാ താൽക്കാലിക മൗണ്ടുകളും നീക്കം ചെയ്യുന്നു. Cannot get list of temporary mounts. - + താൽക്കാലിക മൗണ്ടുകളുടെ പട്ടിക ലഭ്യമായില്ല. Cleared all temporary mounts. - + എല്ലാ താൽക്കാലിക മൗണ്ടുകളും നീക്കം ചെയ്തു. @@ -640,7 +643,7 @@ The installer will quit and all changes will be lost. Could not run command. - + ആജ്ഞ പ്രവർത്തിപ്പിക്കാനായില്ല. @@ -666,52 +669,52 @@ The installer will quit and all changes will be lost. Create a Partition - + ഒരു പാർട്ടീഷൻ സൃഷ്ടിക്കുക MiB - + MiB Partition &Type: - + പാർട്ടീഷൻ തരം (&T): &Primary - + പ്രാഥമികം (&P) E&xtended - + എക്സ്റ്റൻഡഡ് (&x) Fi&le System: - + ഫയൽ സിസ്റ്റം (&l): LVM LV name - + എൽവി‌എം എൽവി പേര് Flags: - + ഫ്ലാഗുകൾ: &Mount Point: - + മൗണ്ട് പോയിന്റ് (&M): Si&ze: - + വലുപ്പം (&z): @@ -721,22 +724,22 @@ The installer will quit and all changes will be lost. Logical - + ലോജിക്കൽ Primary - + പ്രാഥമികം GPT - + ജിപിറ്റി Mountpoint already in use. Please select another one. - + മൗണ്ട്പോയിന്റ് നിലവിൽ ഉപയോഗിക്കപ്പെട്ടിരിക്കുന്നു. ദയവായി മറ്റൊരെണ്ണം തിരഞ്ഞെടുക്കൂ. @@ -744,22 +747,22 @@ The installer will quit and all changes will be lost. Create new %2MiB partition on %4 (%3) with file system %1. - + ഫയൽ സിസ്റ്റം %1 ഉപയോഗിച്ച് %4 (%3) ൽ പുതിയ %2MiB പാർട്ടീഷൻ സൃഷ്ടിക്കുക. Create new <strong>%2MiB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + ഫയൽ സിസ്റ്റം <strong>%1</strong> ഉപയോഗിച്ച് <strong>%4</strong> (%3) ൽ പുതിയ <strong>%2MiB</strong> പാർട്ടീഷൻ സൃഷ്ടിക്കുക. Creating new %1 partition on %2. - + %2 ൽ പുതിയ %1 പാർട്ടീഷൻ സൃഷ്ടിക്കുന്നു. The installer failed to create partition on disk '%1'. - + '%1' ഡിസ്കിൽ പാർട്ടീഷൻ സൃഷ്ടിക്കുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -767,27 +770,27 @@ The installer will quit and all changes will be lost. Create Partition Table - + പാർട്ടീഷൻ ടേബിൾ നിർമ്മിക്കുക Creating a new partition table will delete all existing data on the disk. - + ഒരു പുതിയ പാർട്ടീഷൻ ടേബിൾ നിർമിക്കുന്നത് ഡിസ്കിൽ നിലവിലുള്ള എല്ലാ ഡാറ്റയും ഇല്ലാതാക്കും. What kind of partition table do you want to create? - + ഏത് തരം പാർട്ടീഷൻ ടേബിളാണ് നിങ്ങൾ സൃഷ്ടിക്കാൻ ആഗ്രഹിക്കുന്നത്? Master Boot Record (MBR) - + മാസ്റ്റർ ബൂട്ട് റെക്കോർഡ് (എംബിആർ) GUID Partition Table (GPT) - + GUID പാർട്ടീഷൻ ടേബിൾ (ജിപിറ്റി) @@ -795,7 +798,7 @@ The installer will quit and all changes will be lost. Create new %1 partition table on %2. - + %2 എന്നതില്‍ %1 എന്ന പുതിയ പാര്‍ട്ടീഷന്‍ ടേബിള്‍ സൃഷ്ടിക്കുക. @@ -805,7 +808,7 @@ The installer will quit and all changes will be lost. Creating new %1 partition table on %2. - + %2 എന്നതില്‍ %1 എന്ന പുതിയ പാര്‍ട്ടീഷന്‍ ടേബിള്‍ സൃഷ്ടിക്കുന്നു. @@ -818,37 +821,37 @@ The installer will quit and all changes will be lost. Create user %1 - + %1 എന്ന ഉപയോക്താവിനെ സൃഷ്ടിക്കുക. Create user <strong>%1</strong>. - + <strong>%1</strong> എന്ന ഉപയോക്താവിനെ സൃഷ്ടിക്കുക. Creating user %1. - + ഉപയോക്താവ് %1-നെ ഉണ്ടാക്കുന്നു. Sudoers dir is not writable. - + സുഡോവേഴ്സ് ഡയറക്ടറിയിലേക്ക് എഴുതാൻ സാധിക്കില്ല. Cannot create sudoers file for writing. - + എഴുതുന്നതിനായി സുഡോവേഴ്സ് ഫയൽ നിർമ്മിക്കാനായില്ല. Cannot chmod sudoers file. - + സുഡോവേഴ്സ് ഫയൽ chmod ചെയ്യാൻ സാധിച്ചില്ല. Cannot open groups file for reading. - + ഗ്രൂപ്സ് ഫയൽ വായിക്കാനായി തുറക്കാൻ സാധിച്ചില്ല. @@ -856,7 +859,7 @@ The installer will quit and all changes will be lost. Create Volume Group - + വോള്യം ഗ്രൂപ്പ് നിർമ്മിക്കുക @@ -864,22 +867,22 @@ The installer will quit and all changes will be lost. Create new volume group named %1. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിർമ്മിക്കുക. Create new volume group named <strong>%1</strong>. - + <strong>%1</strong> എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിർമ്മിക്കുക. Creating new volume group named %1. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിർമ്മിക്കുന്നു. The installer failed to create a volume group named '%1'. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിർമ്മിക്കുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -888,17 +891,17 @@ The installer will quit and all changes will be lost. Deactivate volume group named %1. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിഷ്ക്രിയമാക്കുക. Deactivate volume group named <strong>%1</strong>. - + <strong>%1</strong> എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിഷ്ക്രിയമാക്കുക. The installer failed to deactivate a volume group named %1. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നിഷ്ക്രിയമാക്കുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -906,22 +909,22 @@ The installer will quit and all changes will be lost. Delete partition %1. - + പാർട്ടീഷൻ %1 ഇല്ലാതാക്കുക. Delete partition <strong>%1</strong>. - + <strong>%1</strong> എന്ന പാര്‍ട്ടീഷന്‍ മായ്ക്കുക. Deleting partition %1. - + പാർട്ടീഷൻ %1 ഇല്ലാതാക്കുന്നു. The installer failed to delete partition %1. - + പാർട്ടീഷൻ %1 ഇല്ലാതാക്കുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -934,7 +937,7 @@ The installer will quit and all changes will be lost. This device has a <strong>%1</strong> partition table. - + ഈ ഉപകരണത്തില്‍ ഒരു <strong>%1</strong> പാര്‍ട്ടീഷന്‍ ടേബിളുണ്ട്. @@ -944,17 +947,17 @@ The installer will quit and all changes will be lost. This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page. - + തിരഞ്ഞെടുത്ത സ്റ്റോറേജ് ഉപകരണത്തിൽ ഒരു <strong>പാർട്ടീഷൻ ടേബിൾ</strong> ഈ ഇൻസ്റ്റാളറിന് കണ്ടെത്താൻ കഴിയില്ല.<br><br>ഒന്നെങ്കിൽ ഉപകരണത്തിന് പാർട്ടീഷൻ ടേബിൾ ഇല്ല, അല്ലെങ്കിൽ പാർട്ടീഷൻ ടേബിൾ കേടായി അല്ലെങ്കിൽ അറിയപ്പെടാത്ത തരത്തിലുള്ളതാണ്.<br>ഈ ഇൻസ്റ്റാളറിന് നിങ്ങൾക്കായി യന്ത്രികമായോ അല്ലെങ്കിൽ സ്വമേധയാ പാർട്ടീഷനിംഗ് പേജ് വഴിയോ ഒരു പുതിയ പാർട്ടീഷൻ ടേബിൾ സൃഷ്ടിക്കാൻ കഴിയും. <br><br>This is the recommended partition table type for modern systems which start from an <strong>EFI</strong> boot environment. - + <br><br><strong>ഇ‌എഫ്‌ഐ</strong> ബൂട്ട് എൻ‌വയോൺ‌മെൻറിൽ‌ നിന്നും ആരംഭിക്കുന്ന ആധുനിക സിസ്റ്റങ്ങൾ‌ക്കായുള്ള ശുപാർശചെയ്‌ത പാർട്ടീഷൻ ടേബിൾ തരമാണിത്. <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - + <br><br><strong>ബയോസ്</strong> ബൂട്ട് എൻ‌വയോൺ‌മെൻറിൽ‌ നിന്നും ആരംഭിക്കുന്ന പഴയ സിസ്റ്റങ്ങളിൽ‌ മാത്രമേ ഈ പാർട്ടീഷൻ ടേബിൾ തരം ഉചിതമാകൂ.മറ്റു സാഹചര്യങ്ങളിൽ പൊതുവെ ജിപിടി യാണ് ശുപാർശ ചെയ്യുന്നത്.<br><br><strong>മുന്നറിയിപ്പ്:</strong> കാലഹരണപ്പെട്ട MS-DOS കാലഘട്ട സ്റ്റാൻഡേർഡാണ് MBR പാർട്ടീഷൻ ടേബിൾ.<br>പാർട്ടീഷൻ ടേബിൾ 4 പ്രാഥമിക പാർട്ടീഷനുകൾ മാത്രമേ സൃഷ്ടിക്കാൻ കഴിയൂ, അവയിൽ 4 ൽ ഒന്ന് <em>എക്സ്ടെൻഡഡ്‌</em> പാർട്ടീഷൻ ആകാം, അതിൽ നിരവധി <em>ലോജിക്കൽ</em> പാർട്ടീഷനുകൾ അടങ്ങിയിരിക്കാം. @@ -963,13 +966,13 @@ The installer will quit and all changes will be lost. %1 - %2 (%3) device[name] - size[number] (device-node[name]) - + %1 - %2 (%3) %1 - (%2) device[name] - (device-node[name]) - + %1 - (%2) @@ -977,17 +980,17 @@ The installer will quit and all changes will be lost. Write LUKS configuration for Dracut to %1 - + ഡ്രാക്കട്ടിനായി LUKS കോൺഫിഗറേഷൻ %1 ലേക്ക് എഴുതുക Skip writing LUKS configuration for Dracut: "/" partition is not encrypted - + ഡ്രാക്കട്ടിനായി LUKS കോൺഫിഗറേഷൻ എഴുതുന്നത് ഒഴിവാക്കുക: "/" പാർട്ടീഷൻ എൻ‌ക്രിപ്റ്റ് ചെയ്തിട്ടില്ല Failed to open %1 - + %1 തുറക്കുന്നതിൽ പരാജയപ്പെട്ടു @@ -995,7 +998,7 @@ The installer will quit and all changes will be lost. Dummy C++ Job - + ഡമ്മി C++ ജോലി @@ -1003,57 +1006,57 @@ The installer will quit and all changes will be lost. Edit Existing Partition - + നിലവിലുള്ള പാർട്ടീഷൻ തിരുത്തുക Content: - + ഉള്ളടക്കം: &Keep - + നിലനിർത്തുക (&K) Format - + ഫോർമാറ്റ് Warning: Formatting the partition will erase all existing data. - + മുന്നറിയിപ്പ്: പാർട്ടീഷൻ ഫോർമാറ്റ് ചെയ്യുന്നത് നിലവിലുള്ള എല്ലാ ഡാറ്റയും ഇല്ലാതാക്കും. &Mount Point: - + മൗണ്ട് പോയിന്റ് (&M): Si&ze: - + വലുപ്പം (&z): MiB - + MiB Fi&le System: - + ഫയൽ സിസ്റ്റം (&l): Flags: - + ഫ്ലാഗുകൾ: Mountpoint already in use. Please select another one. - + മൗണ്ട്പോയിന്റ് നിലവിൽ ഉപയോഗിക്കപ്പെട്ടിരിക്കുന്നു. ദയവായി മറ്റൊരെണ്ണം തിരഞ്ഞെടുക്കൂ. @@ -1061,7 +1064,7 @@ The installer will quit and all changes will be lost. Form - + ഫോം @@ -1071,17 +1074,17 @@ The installer will quit and all changes will be lost. Passphrase - + രഹസ്യവാചകം Confirm passphrase - + രഹസ്യവാചകം സ്ഥിരീകരിക്കുക Please enter the same passphrase in both boxes. - + രണ്ട് പെട്ടികളിലും ഒരേ രഹസ്യവാചകം നല്‍കുക, @@ -1089,37 +1092,37 @@ The installer will quit and all changes will be lost. Set partition information - + പാർട്ടീഷൻ വിവരങ്ങൾ ക്രമീകരിക്കുക Install %1 on <strong>new</strong> %2 system partition. - + <strong>പുതിയ</strong> %2 സിസ്റ്റം പാർട്ടീഷനിൽ %1 ഇൻസ്റ്റാൾ ചെയ്യുക. Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + <strong>%1</strong> മൗണ്ട് പോയിന്റോട് കൂടി <strong>പുതിയ</strong> %2 പാർട്ടീഷൻ സജ്ജീകരിക്കുക. Install %2 on %3 system partition <strong>%1</strong>. - + %3 സിസ്റ്റം പാർട്ടീഷൻ <strong>%1-ൽ</strong> %2 ഇൻസ്റ്റാൾ ചെയ്യുക. Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + <strong>%2</strong> മൗണ്ട് പോയിന്റോട് കൂടി %3 പാർട്ടീഷൻ %1 സജ്ജീകരിക്കുക. Install boot loader on <strong>%1</strong>. - + <strong>%1-ൽ</strong> ബൂട്ട് ലോഡർ ഇൻസ്റ്റാൾ ചെയ്യുക. Setting up mount points. - + മൗണ്ട് പോയിന്റുകൾ സജ്ജീകരിക്കുക. @@ -1127,42 +1130,42 @@ The installer will quit and all changes will be lost. Form - + ഫോം <Restart checkbox tooltip> - + <Restart checkbox tooltip> &Restart now - + ഇപ്പോൾ റീസ്റ്റാർട്ട് ചെയ്യുക (&R) <h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system. - + <h1>എല്ലാം പൂർത്തിയായി.</h1><br/>%1 താങ്കളുടെ കമ്പ്യൂട്ടറിൽ സജ്ജമാക്കപ്പെട്ടിരിക്കുന്നു. <br/>താങ്കൾക്ക് താങ്കളുടെ പുതിയ സിസ്റ്റം ഉപയോഗിച്ച് തുടങ്ങാം. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html> - + <html><head/><body><p>ഈ ബോക്സിൽ ശെരിയിട്ടാൽ,നിങ്ങളുടെ സിസ്റ്റം <span style="font-style:italic;">പൂർത്തിയായി </span>അമർത്തുമ്പോഴോ സജ്ജീകരണ പ്രോഗ്രാം അടയ്ക്കുമ്പോഴോ ഉടൻ പുനരാരംഭിക്കും. <h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment. - + <h1>എല്ലാം പൂർത്തിയായി.</h1><br/> %1 നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്തു. <br/>നിങ്ങൾക്ക് ഇപ്പോൾ നിങ്ങളുടെ പുതിയ സിസ്റ്റത്തിലേക്ക് പുനരാരംഭിക്കാം അല്ലെങ്കിൽ %2 ലൈവ് എൻവയോൺമെൻറ് ഉപയോഗിക്കുന്നത് തുടരാം. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>ഈ ബോക്സിൽ ശെരിയിട്ടാൽ,നിങ്ങളുടെ സിസ്റ്റം <span style="font-style:italic;">പൂർത്തിയായി </span>അമർത്തുമ്പോഴോ സജ്ജീകരണ പ്രോഗ്രാം അടയ്ക്കുമ്പോഴോ ഉടൻ പുനരാരംഭിക്കും. <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>സജ്ജീകരണം പരാജയപ്പെട്ടു</h1><br/>നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ %1 സജ്ജമാക്കിയിട്ടില്ല.<br/>പിശക് സന്ദേശം ഇതായിരുന്നു: %2. @@ -1175,27 +1178,27 @@ The installer will quit and all changes will be lost. Finish - + പൂർത്തിയാക്കുക Setup Complete - + സജ്ജീകരണം പൂർത്തിയായി Installation Complete - + ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായി The setup of %1 is complete. - + %1 ന്റെ സജ്ജീകരണം പൂർത്തിയായി. The installation of %1 is complete. - + %1 ന്റെ ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായി. @@ -1203,22 +1206,22 @@ The installer will quit and all changes will be lost. Format partition %1 (file system: %2, size: %3 MiB) on %4. - + %4 -ലുള്ള പാർട്ടീഷൻ %1 (ഫയൽ സിസ്റ്റം: %2, വലുപ്പം:‌%3 MiB) ഫോർമാറ്റ് ചെയ്യുക. Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + ഫയൽ സിസ്റ്റം <strong>%2</strong> ഉപയോഗിച്ച് %3 MiB പാർട്ടീഷൻ <strong>%1</strong> ഫോർമാറ്റ് ചെയ്യുക. Formatting partition %1 with file system %2. - + ഫയൽ സിസ്റ്റം %2 ഉപയോഗിച്ച് പാർട്ടീഷൻ‌%1 ഫോർമാറ്റ് ചെയ്യുന്നു. The installer failed to format partition %1 on disk '%2'. - + ഡിസ്ക് '%2'ൽ ഉള്ള പാർട്ടീഷൻ‌ %1 ഫോർമാറ്റ് ചെയ്യുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -1246,42 +1249,42 @@ The installer will quit and all changes will be lost. is plugged in to a power source - + ഒരു ഊർജ്ജസ്രോതസ്സുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു The system is not plugged in to a power source. - + സിസ്റ്റം ഒരു ഊർജ്ജസ്രോതസ്സിലേക്ക് ബന്ധിപ്പിച്ചിട്ടില്ല. is connected to the Internet - + ഇന്റർനെറ്റിലേക്ക് ബന്ധിപ്പിച്ചിരിക്കുന്നു The system is not connected to the Internet. - + സിസ്റ്റം ഇന്റർനെറ്റുമായി ബന്ധിപ്പിച്ചിട്ടില്ല. The setup program is not running with administrator rights. - + സെറ്റപ്പ് പ്രോഗ്രാം അഡ്മിനിസ്ട്രേറ്റർ അവകാശങ്ങൾ ഇല്ലാതെയാണ് പ്രവർത്തിക്കുന്നത്. The installer is not running with administrator rights. - + ഇൻസ്റ്റാളർ അഡ്മിനിസ്ട്രേറ്റർ അവകാശങ്ങൾ ഇല്ലാതെയാണ് പ്രവർത്തിക്കുന്നത് The screen is too small to display the setup program. - + സജ്ജീകരണ പ്രയോഗം കാണിക്കാൻ തക്ക വലുപ്പം സ്ക്രീനിനില്ല. The screen is too small to display the installer. - + ഇൻസ്റ്റാളർ കാണിക്കാൻ തക്ക വലുപ്പം സ്ക്രീനിനില്ല. @@ -1292,22 +1295,22 @@ The installer will quit and all changes will be lost. OEM Batch Identifier - + ഒഇഎം ബാച്ച് ഐഡന്റിഫയർ Could not create directories <code>%1</code>. - + <code>%1</code> ഫോള്‍ഡർ ശ്രഷ്ടിക്കാനായില്ല. Could not open file <code>%1</code>. - + ഫയൽ <code>%1</code> തുറക്കാനായില്ല. Could not write to file <code>%1</code>. - + ഫയൽ <code>%1 -ലേക്ക്</code>എഴുതാനായില്ല. @@ -1315,7 +1318,7 @@ The installer will quit and all changes will be lost. Creating initramfs with mkinitcpio. - + mkinitcpio ഉപയോഗിച്ച് initramfs നിർമ്മിക്കുന്നു. @@ -1323,7 +1326,7 @@ The installer will quit and all changes will be lost. Creating initramfs. - + initramfs നിർമ്മിക്കുന്നു. @@ -1331,12 +1334,12 @@ The installer will quit and all changes will be lost. Konsole not installed - + കോണ്‍സോള്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്തിട്ടില്ല Please install KDE Konsole and try again! - + കെഡിഇ കൺസോൾ ഇൻസ്റ്റാൾ ചെയ്ത് വീണ്ടും ശ്രമിക്കുക! @@ -1349,7 +1352,7 @@ The installer will quit and all changes will be lost. Script - + സ്ക്രിപ്റ്റ് @@ -1370,30 +1373,30 @@ The installer will quit and all changes will be lost. Keyboard - + കീബോര്‍ഡ്‌ LCLocaleDialog - + System locale setting - + സിസ്റ്റം ഭാഷാ ക്രമീകരണം - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + റദ്ദാക്കുക (%C) - + &OK - + ശരി (&O) @@ -1401,12 +1404,12 @@ The installer will quit and all changes will be lost. Form - + ഫോം I accept the terms and conditions above. - + മുകളിലുള്ള നിബന്ധനകളും വ്യവസ്ഥകളും ഞാൻ അംഗീകരിക്കുന്നു. @@ -1434,7 +1437,7 @@ The installer will quit and all changes will be lost. License - + അനുമതിപത്രം @@ -1474,64 +1477,64 @@ The installer will quit and all changes will be lost. Shows the complete license text - + മുഴുവന്‍ അനുമതി പത്രവും കാണിക്കുക Hide license text - + അനുമതി പത്രം മറച്ച് വെക്കുക Show license agreement - + അധികാരപത്രക്കാരാർ കാണിക്കുക Hide license agreement - + അധികാരപത്രക്കാരാർ ഒളിപ്പിക്കുക Opens the license agreement in a browser window. - + അധികാരപത്രക്കാരാർ ഒരു ബ്രൗസർ ജാലകത്തിൽ തുറക്കുക്കുക. <a href="%1">View license agreement</a> - + <a href="%1">പകർപ്പവകാശപത്രം കാണുക</a> LocalePage - + The system language will be set to %1. - + സിസ്റ്റം ഭാഷ %1 ആയി സജ്ജമാക്കും. - + The numbers and dates locale will be set to %1. - + Region: - + പ്രദേശം: - + Zone: - + മേഖല: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,14 +1542,9 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location - + സ്ഥാനം @@ -1560,14 +1558,14 @@ The installer will quit and all changes will be lost. No partitions are defined. - + പാര്‍ട്ടീഷ്യനുകള്‍ നിര്‍വ്വചിച്ചിട്ടില്ല Encrypted rootfs setup error - + എന്‍ക്രിപ്റ്റുചെയ്ത റൂട്ട് എഫ്എസ് സജ്ജീകരണത്തില്‍ പ്രശ്നമുണ്ടു് @@ -1588,27 +1586,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + പേര് - + Description - + വിവരണം - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1618,7 +1616,7 @@ The installer will quit and all changes will be lost. Package selection - + പാക്കേജു് തിരഞ്ഞെടുക്കല്‍ @@ -1644,7 +1642,7 @@ The installer will quit and all changes will be lost. OEM Configuration - + ഓഇഎം ക്രമീകരണം @@ -1657,17 +1655,17 @@ The installer will quit and all changes will be lost. Password is too short - + രഹസ്യവാക്ക് വളരെ ചെറുതാണ് Password is too long - + രഹസ്യവാക്ക് വളരെ വലുതാണ് Password is too weak - + രഹസ്യവാക്ക് വളരെ ദുർബലമാണ് @@ -1677,17 +1675,17 @@ The installer will quit and all changes will be lost. Memory allocation error - + മെമ്മറി വിന്യസിക്കുന്നതിൽ പിഴവ് The password is the same as the old one - + രഹസ്യവാക്ക് പഴയയതുതന്നെ ആണ് The password is a palindrome - + രഹസ്യവാക്ക് ഒരു അനുലോമവിലോമപദമാണ് @@ -1697,77 +1695,77 @@ The installer will quit and all changes will be lost. The password is too similar to the old one - + രഹസ്യവാക്ക് പഴയതിനോട് വളരെ സമാനമാണ് The password contains the user name in some form - + രഹസ്യവാക്ക് ഏതെങ്കിലും രൂപത്തിൽ ഉപയോക്തൃനാമം അടങ്ങിയിരിക്കുന്നു The password contains words from the real name of the user in some form - + രഹസ്യവാക്കിൽഏതെങ്കിലും രൂപത്തിൽ ഉപയോക്താവിന്റെ യഥാർത്ഥ പേരിൽ നിന്നുള്ള വാക്കുകൾ അടങ്ങിയിരിക്കുന്നു The password contains forbidden words in some form - + രഹസ്യവാക്കിൽ ഏതെങ്കിലും രൂപത്തിൽ വിലക്കപ്പെട്ട വാക്കുകൾ അടങ്ങിയിരിക്കുന്നു The password contains less than %1 digits - + രഹസ്യവാക്ക് %1 അക്കത്തിൽ കുറവാണ് The password contains too few digits - + രഹസ്യവാക്കിൽ വളരെ കുറച്ച് അക്കങ്ങൾ അടങ്ങിയിരിക്കുന്നു The password contains less than %1 uppercase letters - + രഹസ്യവാക്കിൽ %1 വലിയക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്നു The password contains too few uppercase letters - + രഹസ്യവാക്കിൽ വളരെ കുറച്ചു വലിയക്ഷരങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളു The password contains less than %1 lowercase letters - + രഹസ്യവാക്കിൽ %1 -ൽ താഴെ ചെറിയ അക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്നു The password contains too few lowercase letters - + രഹസ്യവാക്കിൽ വളരെ കുറച്ചു ചെറിയക്ഷരങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളു The password contains less than %1 non-alphanumeric characters - + രഹസ്യവാക്കിൽ ആൽഫാന്യൂമെറിക് ഇതര പ്രതീകങ്ങൾ %1 -ൽ കുറവാണ് The password contains too few non-alphanumeric characters - + രഹസ്യവാക്കിൽ ആൽഫാന്യൂമെറിക് ഇതര പ്രതീകങ്ങൾ വളരെ കുറവാണ് The password is shorter than %1 characters - + പാസ്‌വേഡ് %1 പ്രതീകങ്ങളേക്കാൾ ചെറുതാണ് The password is too short - + രഹസ്യവാക്ക് വളരെ ചെറുതാണ് The password is just rotated old one - + രഹസ്യവാക്ക് പഴയതുതന്നെ തിരിച്ചിട്ടതാണ് @@ -1782,12 +1780,12 @@ The installer will quit and all changes will be lost. The password contains more than %1 same characters consecutively - + രഹസ്സ്യവാക്കിൽ അടുത്തടുത്തായി ഒരേ പ്രതീകം %1 കൂടുതൽ തവണ അടങ്ങിയിരിക്കുന്നു The password contains too many same characters consecutively - + രഹസ്സ്യവാക്കിൽ അടുത്തടുത്തായി ഒരേ പ്രതീകം ഒരുപാട് തവണ അടങ്ങിയിരിക്കുന്നു. @@ -1812,7 +1810,7 @@ The installer will quit and all changes will be lost. No password supplied - + രഹസ്യവാക്ക് ഒന്നും നല്‍കിയിട്ടില്ല @@ -1827,22 +1825,22 @@ The installer will quit and all changes will be lost. The password fails the dictionary check - %1 - + രഹസ്യവാക്ക് നിഘണ്ടു പരിശോധനയിൽ പരാജയപ്പെടുന്നു - %1 The password fails the dictionary check - + രഹസ്യവാക്ക് നിഘണ്ടു പരിശോധനയിൽ പരാജയപ്പെടുന്നു Unknown setting - %1 - + അജ്ഞാതമായ ക്രമീകരണം - %1 Unknown setting - + അപരിചിതമായ സജ്ജീകരണം @@ -1892,7 +1890,7 @@ The installer will quit and all changes will be lost. Unknown error - + അപരിചിതമായ പിശക് @@ -1900,30 +1898,30 @@ The installer will quit and all changes will be lost. Form - + ഫോം Product Name - + ഉത്പന്നത്തിന്റെ പേര് TextLabel - + ടെക്സ്റ്റ്ലേബൽ Long Product Description - + ഉത്പന്നത്തിന്റെ ബൃഹത്തായ വിശദീകരണം - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1929,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -1941,17 +1939,17 @@ The installer will quit and all changes will be lost. Form - + ഫോം Keyboard Model: - + കീബോഡ് മാതൃക: Type here to test your keyboard - + നിങ്ങളുടെ കീബോർഡ് പരിശോധിക്കുന്നതിന് ഇവിടെ ടൈപ്പുചെയ്യുക @@ -1959,22 +1957,22 @@ The installer will quit and all changes will be lost. Form - + ഫോം What is your name? - + നിങ്ങളുടെ പേരെന്താണ് ? What name do you want to use to log in? - + ലോഗിൻ ചെയ്യാൻ നിങ്ങൾ ഏത് നാമം ഉപയോഗിക്കാനാണു ആഗ്രഹിക്കുന്നത്? Choose a password to keep your account safe. - + നിങ്ങളുടെ അക്കൗണ്ട് സുരക്ഷിതമായി സൂക്ഷിക്കാൻ ഒരു രഹസ്യവാക്ക് തിരഞ്ഞെടുക്കുക. @@ -1984,7 +1982,7 @@ The installer will quit and all changes will be lost. What is the name of this computer? - + ഈ കമ്പ്യൂട്ടറിന്റെ നാമം എന്താണ് ? @@ -1994,17 +1992,17 @@ The installer will quit and all changes will be lost. Log in automatically without asking for the password. - + രഹസ്യവാക്കില്ലാതെ യാന്ത്രികമായി ലോഗിൻ ചെയ്യുക. Use the same password for the administrator account. - + അഡ്മിനിസ്ട്രേറ്റർ അക്കൗണ്ടിനും ഇതേ രഹസ്യവാക്ക് ഉപയോഗിക്കുക. Choose a password for the administrator account. - + അഡ്മിനിസ്ട്രേറ്റർ അക്കണ്ടിനായി ഒരു രഹസ്യവാക്ക് തിരഞ്ഞെടുക്കുക. @@ -2017,7 +2015,7 @@ The installer will quit and all changes will be lost. Root - + റൂട്ട് @@ -2027,33 +2025,33 @@ The installer will quit and all changes will be lost. Boot - + ബൂട്ട് EFI system - + ഇഎഫ്ഐ സിസ്റ്റം Swap - + സ്വാപ്പ് New partition for %1 - + %1-നുള്ള പുതിയ പാർട്ടീഷൻ New partition - + പുതിയ പാർട്ടീഷൻ %1 %2 size[number] filesystem[name] - + %1 %2 @@ -2068,27 +2066,27 @@ The installer will quit and all changes will be lost. New partition - + പുതിയ പാർട്ടീഷൻ Name - + പേര് File System - + ഫയൽ സിസ്റ്റം Mount Point - + മൗണ്ട് പോയിന്റ് Size - + വലുപ്പം @@ -2096,7 +2094,7 @@ The installer will quit and all changes will be lost. Form - + ഫോം @@ -2106,32 +2104,32 @@ The installer will quit and all changes will be lost. &Revert All Changes - + എല്ലാ മാറ്റങ്ങളും പിൻവലിക്കുക (&R) New Partition &Table - + പുതിയ പാർട്ടീഷൻ ടേബിൾ Cre&ate - + നിർമ്മിക്കുക (&a) &Edit - + തിരുത്തുക (&E) &Delete - + ഇല്ലാതാക്കുക (&D) New Volume Group - + പുതിയ വോള്യം ഗ്രൂപ്പ് @@ -2174,12 +2172,12 @@ The installer will quit and all changes will be lost. Gathering system information... - + സിസ്റ്റത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നു... Partitions - + പാർട്ടീഷനുകൾ @@ -2229,12 +2227,12 @@ The installer will quit and all changes will be lost. Current: - + നിലവിലുള്ളത്: After: - + ശേഷം: @@ -2274,7 +2272,7 @@ The installer will quit and all changes will be lost. There are no partitons to install on. - + ഇൻസ്റ്റാൾ ചെയ്യാനായി പാർട്ടീഷനുകളൊന്നുമില്ല. @@ -2296,7 +2294,7 @@ The installer will quit and all changes will be lost. Form - + ഫോം @@ -2442,7 +2440,7 @@ Output: (no mount point) - + (മൗണ്ട് പോയിന്റ് ഇല്ല) @@ -2453,17 +2451,17 @@ Output: %1 (%2) language[name] (country[name]) - + %1 (%2) No product - + ഉൽപ്പന്നമൊന്നുമില്ല No description provided. - + വിവരണമൊന്നും നൽകിയിട്ടില്ല. @@ -2490,7 +2488,7 @@ Output: Form - + ഫോം @@ -2520,17 +2518,17 @@ Output: Data partition (%1) - + ഡാറ്റ പാർട്ടീഷൻ (%1) Unknown system partition (%1) - + അപരിചിതമായ സിസ്റ്റം പാർട്ടീഷൻ (%1) %1 system partition (%2) - + %1 സിസ്റ്റം പാർട്ടീഷൻ (%2) @@ -2552,12 +2550,12 @@ Output: The EFI system partition at %1 will be used for starting %2. - + %1 ലെ ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ %2 ആരംഭിക്കുന്നതിന് ഉപയോഗിക്കും. EFI system partition: - + ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ @@ -2716,7 +2714,7 @@ Output: System requirements - + സിസ്റ്റം ആവശ്യകതകൾ @@ -2724,12 +2722,12 @@ Output: Scanning storage devices... - + സ്റ്റോറേജ് ഉപകരണങ്ങൾ തിരയുന്നു... Partitioning - + പാർട്ടീഷനിങ്ങ് @@ -2737,23 +2735,23 @@ Output: Set hostname %1 - + %1 ഹോസ്റ്റ്‌നെയിം ക്രമീകരിക്കുക Set hostname <strong>%1</strong>. - + <strong>%1</strong> ഹോസ്റ്റ്‌നെയിം ക്രമീകരിക്കുക. Setting hostname %1. - + %1 ഹോസ്റ്റ്‌നെയിം ക്രമീകരിക്കുന്നു. Internal Error - + ആന്തരികമായ പിഴവ് @@ -2880,12 +2878,12 @@ Output: Set password for user %1 - + %1 ഉപയോക്താവിനുള്ള രഹസ്യവാക്ക് ക്രമീകരിക്കുക Setting password for user %1. - + %1 ഉപയോക്താവിനുള്ള രഹസ്യവാക്ക് ക്രമീകരിക്കുന്നു. @@ -2936,22 +2934,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3051,7 +3049,7 @@ Output: Form - + ഫോം @@ -3112,33 +3110,33 @@ Output: Your username is too long. - + നിങ്ങളുടെ ഉപയോക്തൃനാമം വളരെ വലുതാണ്. Your username contains invalid characters. Only lowercase letters and numbers are allowed. - + നിങ്ങളുടെ ഉപയോക്തൃനാമത്തിൽ അസാധുവായ പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു.ചെറിയ അക്ഷരങ്ങളും അക്കങ്ങളും മാത്രമേ അനുവദിക്കൂ. Your hostname is too short. - + നിങ്ങളുടെ ഹോസ്റ്റ്നാമം വളരെ ചെറുതാണ് Your hostname is too long. - + നിങ്ങളുടെ ഹോസ്റ്റ്നാമം ദൈർഘ്യമേറിയതാണ് Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - + നിങ്ങളുടെ ഹോസ്റ്റ്നാമത്തിൽ അസാധുവായ പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു.അക്ഷരങ്ങൾ, അക്കങ്ങൾ, ഡാഷുകൾ എന്നിവ മാത്രമേ അനുവദിക്കൂ. Your passwords do not match! - + നിങ്ങളുടെ പാസ്‌വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല! @@ -3146,7 +3144,7 @@ Output: Users - + ഉപയോക്താക്കൾ @@ -3167,7 +3165,7 @@ Output: Create Volume Group - + വോള്യം ഗ്രൂപ്പ് നിർമ്മിക്കുക @@ -3192,7 +3190,7 @@ Output: MiB - + MiB @@ -3220,58 +3218,58 @@ Output: Form - + ഫോം Select application and system language - + അപ്ലിക്കേഷനും സിസ്റ്റം ഭാഷയും തിരഞ്ഞെടുക്കുക Open donations website - + സംഭാവനകളുടെ വെബ്സൈറ്റ് തുറക്കുക &Donate - + &സംഭാവന ചെയ്യുക Open help and support website - + സഹായ പിന്തുണ വെബ്സൈറ്റ് തുറക്കുക Open issues and bug-tracking website - + പ്രശനങ്ങൾ,ബഗ്ഗ്‌ ട്രാക്കിംഗ് വെബ്സൈറ്റ് തുറക്കുക - Open relead notes website - + Open release notes website + റിലീസ് കുറിപ്പുകളുടെ വെബ്സൈറ്റ് തുറക്കുക &Release notes - + പ്രകാശന കുറിപ്പുകൾ &Known issues - + &നേരത്തേ അറിയാവുന്ന പ്രശ്നങ്ങൾ &Support - + പിന്തുണ (&S) &About - + &വിവരം (&A) @@ -3296,12 +3294,12 @@ Output: About %1 setup - + %1 സജ്ജീകരണത്തെക്കുറിച്ച് About %1 installer - + %1 ഇൻസ്റ്റാളറിനെ കുറിച്ച് @@ -3311,7 +3309,7 @@ Output: %1 support - + %1 പിന്തുണ @@ -3319,7 +3317,7 @@ Output: Welcome - + സ്വാഗതം \ No newline at end of file diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 629a0c432..ead1ff0aa 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &रद्द करा - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: खराब पाथ : %1 - + Cannot set timezone. वेळक्षेत्र निश्चित करु शकत नाही - + Link creation failed, target: %1; link name: %2 दुवा निर्माण करताना अपयश, टार्गेट %1; दुवा नाव : %2 - + Cannot set timezone, वेळक्षेत्र निश्चित करु शकत नाही, - + Cannot open /etc/timezone for writing /etc/timezone लिहिण्याकरिता उघडू शकत नाही @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 701af4275..3f197cdda 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -1377,22 +1377,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Avbryt - + &OK &OK @@ -1506,33 +1506,33 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... &Endre... - + Set timezone to %1/%2.<br/> @@ -1540,12 +1540,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. LocaleViewStep - - Loading location data... - - - - + Location Plassering @@ -1589,27 +1584,27 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing Klarte ikke åpne /etc/timezone for skriving @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index db82ba6c6..b7550fb3e 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index 59e172c24..f2201a0d1 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -1377,22 +1377,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. LCLocaleDialog - + System locale setting Landinstellingen - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. De landinstellingen bepalen de taal en het tekenset voor sommige opdrachtregelelementen.<br/>De huidige instelling is <strong>%1</strong>. - + &Cancel &Afbreken - + &OK &OK @@ -1506,33 +1506,33 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. LocalePage - + The system language will be set to %1. De taal van het systeem zal worden ingesteld op %1. - + The numbers and dates locale will be set to %1. De getal- en datumnotatie worden ingesteld op %1. - + Region: Regio: - + Zone: Zone: - - + + &Change... &Aanpassen - + Set timezone to %1/%2.<br/> Instellen tijdzone naar %1/%2.<br/> @@ -1540,12 +1540,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. LocaleViewStep - - Loading location data... - Laden van locatiegegevens... - - - + Location Locatie @@ -1589,27 +1584,27 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. NetInstallPage - + Name Naam - + Description Beschrijving - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netwerkinstallatie. (Uitgeschakeld: kon de pakketlijsten niet binnenhalen, controleer de netwerkconnectie) - + Network Installation. (Disabled: Received invalid groups data) Netwerkinstallatie. (Uitgeschakeld: ongeldige gegevens over groepen) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. PackageChooserViewStep - + Packages @@ -2940,22 +2935,22 @@ Uitvoer: Onjuist pad: %1 - + Cannot set timezone. Kan tijdzone niet instellen. - + Link creation failed, target: %1; link name: %2 Link maken mislukt, doel: %1; koppeling naam: %2 - + Cannot set timezone, Kan de tijdzone niet instellen, - + Cannot open /etc/timezone for writing Kan niet schrijven naar /etc/timezone @@ -3254,7 +3249,7 @@ Uitvoer: - Open relead notes website + Open release notes website diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 6f9d806eb..865aa08ee 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -1377,22 +1377,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. LCLocaleDialog - + System locale setting Systemowe ustawienia lokalne - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemowe ustawienia lokalne wpływają na ustawienia języka i znaków w niektórych elementach wiersza poleceń interfejsu użytkownika.<br/>Bieżące ustawienie to <strong>%1</strong>. - + &Cancel &Anuluj - + &OK &OK @@ -1506,33 +1506,33 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. LocalePage - + The system language will be set to %1. Język systemu zostanie ustawiony na %1. - + The numbers and dates locale will be set to %1. Format liczb i daty zostanie ustawiony na %1. - + Region: Region: - + Zone: Strefa: - - + + &Change... &Zmień... - + Set timezone to %1/%2.<br/> Ustaw strefę czasową na %1/%2.<br/> @@ -1540,12 +1540,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. LocaleViewStep - - Loading location data... - Wczytywanie danych położenia - - - + Location Położenie @@ -1589,27 +1584,27 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. NetInstallPage - + Name Nazwa - + Description Opis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalacja sieciowa. (Wyłączona: Nie można pobrać listy pakietów, sprawdź swoje połączenie z siecią) - + Network Installation. (Disabled: Received invalid groups data) Instalacja sieciowa. (Niedostępna: Otrzymano nieprawidłowe dane grupowe) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. PackageChooserViewStep - + Packages @@ -2941,22 +2936,22 @@ i nie uruchomi się Niepoprawna ścieżka: %1 - + Cannot set timezone. Nie można ustawić strefy czasowej. - + Link creation failed, target: %1; link name: %2 Błąd tworzenia dowiązania, cel: %1; nazwa dowiązania: %2 - + Cannot set timezone, Nie można ustawić strefy czasowej, - + Cannot open /etc/timezone for writing Nie można otworzyć /etc/timezone celem zapisu @@ -3255,7 +3250,7 @@ i nie uruchomi się - Open relead notes website + Open release notes website diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index b333f4fa8..58290bbc4 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -1379,22 +1379,22 @@ O instalador será fechado e todas as alterações serão perdidas. LCLocaleDialog - + System locale setting Definição de localidade do sistema - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A configuração de localidade do sistema afeta a linguagem e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário.<br/>A configuração atual é <strong>%1</strong>. - + &Cancel &Cancelar - + &OK &OK @@ -1508,33 +1508,33 @@ O instalador será fechado e todas as alterações serão perdidas. LocalePage - + The system language will be set to %1. O idioma do sistema será definido como %1. - + The numbers and dates locale will be set to %1. O local dos números e datas será definido como %1. - + Region: Região: - + Zone: Área: - - + + &Change... &Mudar... - + Set timezone to %1/%2.<br/> Definir o fuso horário para %1/%2.<br/> @@ -1542,12 +1542,7 @@ O instalador será fechado e todas as alterações serão perdidas. LocaleViewStep - - Loading location data... - Carregando dados de localização... - - - + Location Localização @@ -1591,27 +1586,27 @@ O instalador será fechado e todas as alterações serão perdidas. NetInstallPage - + Name Nome - + Description Descrição - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalação pela Rede. (Desabilitada: Não foi possível adquirir lista de pacotes, verifique sua conexão com a internet) - + Network Installation. (Disabled: Received invalid groups data) Instalação pela Rede. (Desabilitado: Recebidos dados de grupos inválidos) - + Network Installation. (Disabled: Incorrect configuration) Instalação via Rede. (Desabilitada: Configuração incorreta) @@ -1921,12 +1916,12 @@ O instalador será fechado e todas as alterações serão perdidas.Descrição Estendida do Produto - + Package Selection Seleção de Pacote - + Please pick a product from the list. The selected product will be installed. Por favor, escolha um produto da lista. O produto selecionado será instalado. @@ -1934,7 +1929,7 @@ O instalador será fechado e todas as alterações serão perdidas. PackageChooserViewStep - + Packages Pacotes @@ -2942,22 +2937,22 @@ Saída: Caminho ruim: %1 - + Cannot set timezone. Não foi possível definir o fuso horário. - + Link creation failed, target: %1; link name: %2 Não foi possível criar o link, alvo: %1; nome: %2 - + Cannot set timezone, Não foi possível definir o fuso horário. - + Cannot open /etc/timezone for writing Não foi possível abrir /etc/timezone para gravação @@ -3256,8 +3251,8 @@ Saída: - Open relead notes website - Abrir website com notas de lançamento + Open release notes website + Abrir o site com as notas de lançamento diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 0606d6ea2..5fd531a0b 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -1379,22 +1379,22 @@ O instalador será encerrado e todas as alterações serão perdidas. LCLocaleDialog - + System locale setting Definição de localização do Sistema - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A definição local do sistema afeta o idioma e conjunto de carateres para alguns elementos do interface da linha de comandos.<br/>A definição atual é <strong>%1</strong>. - + &Cancel &Cancelar - + &OK &OK @@ -1508,33 +1508,33 @@ O instalador será encerrado e todas as alterações serão perdidas. LocalePage - + The system language will be set to %1. A linguagem do sistema será definida para %1. - + The numbers and dates locale will be set to %1. Os números e datas locais serão definidos para %1. - + Region: Região: - + Zone: Zona: - - + + &Change... &Alterar... - + Set timezone to %1/%2.<br/> Definir fuso horário para %1/%2.<br/> @@ -1542,12 +1542,7 @@ O instalador será encerrado e todas as alterações serão perdidas. LocaleViewStep - - Loading location data... - A carregar dados de localização... - - - + Location Localização @@ -1591,27 +1586,27 @@ O instalador será encerrado e todas as alterações serão perdidas. NetInstallPage - + Name Nome - + Description Descrição - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalaçao de Rede. (Desativada: Incapaz de buscar listas de pacotes, verifique a sua ligação de rede) - + Network Installation. (Disabled: Received invalid groups data) Instalação de Rede. (Desativada: Recebeu dados de grupos inválidos) - + Network Installation. (Disabled: Incorrect configuration) @@ -1921,12 +1916,12 @@ O instalador será encerrado e todas as alterações serão perdidas. - + Package Selection Seleção de pacote - + Please pick a product from the list. The selected product will be installed. @@ -1934,7 +1929,7 @@ O instalador será encerrado e todas as alterações serão perdidas. PackageChooserViewStep - + Packages @@ -2942,22 +2937,22 @@ Saída de Dados: Mau caminho: %1 - + Cannot set timezone. Não é possível definir o fuso horário. - + Link creation failed, target: %1; link name: %2 Falha na criação de ligação, alvo: %1; nome da ligação: %2 - + Cannot set timezone, Não é possível definir o fuso horário, - + Cannot open /etc/timezone for writing Não é possível abrir /etc/timezone para escrita @@ -3256,8 +3251,8 @@ Saída de Dados: - Open relead notes website - Abrir site de notas de leitura + Open release notes website + diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index de625aad3..b184ff13f 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -1377,22 +1377,22 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. LCLocaleDialog - + System locale setting Setările de localizare - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Setările de localizare ale sistemului afectează limba și setul de caractere folosit pentru unele elemente de interfață la linia de comandă.<br/>Setările actuale sunt <strong>%1</strong>. - + &Cancel &Anulează - + &OK %Ok @@ -1506,33 +1506,33 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. LocalePage - + The system language will be set to %1. Limba sistemului va fi %1. - + The numbers and dates locale will be set to %1. Formatul numerelor și datelor calendaristice va fi %1. - + Region: Regiune: - + Zone: Zonă: - - + + &Change... S&chimbă - + Set timezone to %1/%2.<br/> Setează fusul orar la %1/%2.<br/> @@ -1540,12 +1540,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. LocaleViewStep - - Loading location data... - Se încarcă datele locației... - - - + Location Locație @@ -1589,27 +1584,27 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. NetInstallPage - + Name Nume - + Description Despre - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalarea rețelei. (Dezactivat: Nu se pot obține listele de pachete, verificați conexiunea la rețea) - + Network Installation. (Disabled: Received invalid groups data) Instalare prin rețea. (Dezactivată: S-au recepționat grupuri de date invalide) - + Network Installation. (Disabled: Incorrect configuration) @@ -1922,12 +1917,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1935,7 +1930,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. PackageChooserViewStep - + Packages @@ -2943,22 +2938,22 @@ Output Cale proastă: %1 - + Cannot set timezone. Nu se poate seta fusul orar. - + Link creation failed, target: %1; link name: %2 Crearea legăturii eșuată, ținta: %1; numele legăturii: 2 - + Cannot set timezone, Nu se poate seta fusul orar, - + Cannot open /etc/timezone for writing Nu se poate deschide /etc/timezone pentru scriere @@ -3257,7 +3252,7 @@ Output - Open relead notes website + Open release notes website diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index eb6fb7f30..1d0eab265 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting Общие региональные настройки - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Общие региональные настройки влияют на язык и кодировку для отдельных элементов интерфейса командной строки.<br/>Текущий выбор <strong>%1</strong>. - + &Cancel О&тмена - + &OK &ОК @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. Системным языком будет установлен %1. - + The numbers and dates locale will be set to %1. Региональным форматом чисел и дат будет установлен %1. - + Region: Регион: - + Zone: Зона: - - + + &Change... И&зменить... - + Set timezone to %1/%2.<br/> Установить часовой пояс на %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - Загружаю данные о местоположениях... - - - + Location Местоположение @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Имя - + Description Описание - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Установка по сети. (Отключено: не удается получить список пакетов, проверьте сетевое подключение) - + Network Installation. (Disabled: Received invalid groups data) Установка по сети. (Отключено: получены неверные сведения о группах) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2940,22 +2935,22 @@ Output: Неправильный путь: %1 - + Cannot set timezone. Невозможно установить часовой пояс. - + Link creation failed, target: %1; link name: %2 Не удалось создать ссылку, цель: %1; имя ссылки: %2 - + Cannot set timezone, Часовой пояс не установлен, - + Cannot open /etc/timezone for writing Невозможно открыть /etc/timezone для записи @@ -3254,7 +3249,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index c0b09a8db..2f24db583 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -117,7 +117,7 @@ Set up - + Inštalácia @@ -293,7 +293,7 @@ The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + Inštalačný program distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> @@ -1149,7 +1149,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html> - + <html><head/><body><p>Keď je zaškrtnuté toto políčko, váš systém sa okamžite reštartuje po stlačení tlačidla <span style="font-style:italic;">Dokončiť</span> alebo zatvorení inštalačného programu.</p></body></html> @@ -1159,12 +1159,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>Keď je zaškrtnuté toto políčko, váš systém sa okamžite reštartuje po stlačení tlačidla <span style="font-style:italic;">Dokončiť</span> alebo zatvorení inštalátora.</p></body></html> <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Inštalácia zlyhala</h1><br/>Distribúcia %1 nebola nainštalovaná do vášho počítača.<br/>Chybová hláška: %2. @@ -1317,7 +1317,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Creating initramfs with mkinitcpio. - + Vytvára sa initramfs pomocou mkinitcpio. @@ -1325,7 +1325,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Creating initramfs. - + Vytvára sa initramfs. @@ -1378,22 +1378,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. LCLocaleDialog - + System locale setting Miestne nastavenie systému - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Miestne nastavenie systému ovplyvní jazyk a znakovú sadu niektorých prvkov používateľského rozhrania v príkazovom riadku.<br/>Aktuálne nastavenie je <strong>%1</strong>. - + &Cancel &Zrušiť - + &OK &OK @@ -1507,33 +1507,33 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. LocalePage - + The system language will be set to %1. Jazyk systému bude nastavený na %1. - + The numbers and dates locale will be set to %1. Miestne nastavenie čísel a dátumov bude nastavené na %1. - + Region: Oblasť: - + Zone: Zóna: - - + + &Change... Z&meniť... - + Set timezone to %1/%2.<br/> Nastavenie časovej zóny na %1/%2.<br/> @@ -1541,12 +1541,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. LocaleViewStep - - Loading location data... - Načítavajú sa údaje umiestnenia... - - - + Location Umiestnenie @@ -1590,27 +1585,27 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. NetInstallPage - + Name Názov - + Description Popis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Sieťová inštalácia. (Zakázaná: Nie je možné získať zoznamy balíkov. Skontrolujte vaše sieťové pripojenie.) - + Network Installation. (Disabled: Received invalid groups data) Sieťová inštalácia. (Zakázaná: Boli prijaté neplatné údaje o skupinách) - + Network Installation. (Disabled: Incorrect configuration) Sieťová inštalácia. (Zakázaná: Nesprávna konfigurácia) @@ -1920,12 +1915,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Dlhý popis produktu - + Package Selection Výber balíkov - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. PackageChooserViewStep - + Packages Balíky @@ -2463,12 +2458,12 @@ Výstup: No product - + Žiadny produkt No description provided. - + Nie je poskytnutý żiadny popis. @@ -2646,12 +2641,12 @@ Výstup: Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + Zmena veľkosti <strong>%2MiB</strong> oddielu <strong>%1</strong> na <strong>%3MiB</strong>. Resizing %2MiB partition %1 to %3MiB. - + Mení sa veľkosť %2MiB oddielu %1 na %3MiB. @@ -2691,7 +2686,7 @@ Výstup: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + Tento počítač nespĺňa minimálne požiadavky pre inštaláciu distribúcie %1.<br/>Inštalácia nemôže pokračovať. <a href="#details">Podrobnosti...</a> @@ -2701,7 +2696,7 @@ Výstup: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + Tento počítač nespĺňa niektoré z odporúčaných požiadaviek pre inštaláciu distribúcie %1.<br/>Inštalácia môže pokračovať, ale niektoré funkcie môžu byť zakázané. @@ -2807,7 +2802,7 @@ Výstup: Set flags on %1MiB %2 partition. - + Nastavenie značiek na %1MiB oddieli %2. @@ -2822,22 +2817,22 @@ Výstup: Clear flags on %1MiB <strong>%2</strong> partition. - + Vymazanie značiek na %1MiB oddieli <strong>%2</strong>. Flag %1MiB <strong>%2</strong> partition as <strong>%3</strong>. - + Označenie %1MiB oddielu <strong>%2</strong> ako <strong>%3</strong>. Clearing flags on %1MiB <strong>%2</strong> partition. - + Vymazávajú sa značky na %1MiB oddieli <strong>%2</strong>. Setting flags <strong>%3</strong> on %1MiB <strong>%2</strong> partition. - + Nastavujú sa značky <strong>%3</strong> na %1MiB oddieli <strong>%2</strong>. @@ -2941,22 +2936,22 @@ Výstup: Nesprávna cesta: %1 - + Cannot set timezone. Nedá sa nastaviť časová zóna. - + Link creation failed, target: %1; link name: %2 Zlyhalo vytvorenie odakzu, cieľ: %1; názov odkazu: %2 - + Cannot set timezone, Nedá sa nastaviť časová zóna, - + Cannot open /etc/timezone for writing Nedá sa otvoriť cesta /etc/timezone pre zapisovanie @@ -2983,7 +2978,7 @@ Výstup: This is an overview of what will happen once you start the setup procedure. - + Toto je prehľad toho, čo sa stane, keď spustíte inštaláciu. @@ -3107,12 +3102,12 @@ Výstup: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> @@ -3231,7 +3226,7 @@ Výstup: Select application and system language - + Výber jazyka aplikácií a systému @@ -3255,7 +3250,7 @@ Výstup: - Open relead notes website + Open release notes website @@ -3291,12 +3286,12 @@ Výstup: <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Vitajte v inštalačnom programe Calamares pre distribúciu %1.</h1> <h1>Welcome to %1 setup.</h1> - + <h1>Vitajte pri inštalácii distribúcie %1.</h1> diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 624eab5dc..b4c375d41 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -1377,22 +1377,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1506,33 +1506,33 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: Območje: - + Zone: Časovni pas: - - + + &Change... - + Set timezone to %1/%2.<br/> Nastavi časovni pas na %1/%2.<br/> @@ -1540,12 +1540,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. LocaleViewStep - - Loading location data... - Nalaganje podatkov položaja ... - - - + Location Položaj @@ -1589,27 +1584,27 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. NetInstallPage - + Name Ime - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index 2a35ea2c8..b57be3de7 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -1379,22 +1379,22 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. LCLocaleDialog - + System locale setting Rregullim i vendores së sistemit - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Rregullimi i vendores së sistemit ka të bëjë me gjuhën dhe shkronjat për disa elementë të ndërfaqes së përdoruesit për rresht urdhrash.<br/>Vlera e tanishme është <strong>%1</strong>. - + &Cancel &Anuloje - + &OK &OK @@ -1508,33 +1508,33 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. LocalePage - + The system language will be set to %1. Si gjuhë sistemi do të caktohet %1. - + The numbers and dates locale will be set to %1. Si vendore për numra dhe data do të vihet %1. - + Region: Rajon: - + Zone: Zonë: - - + + &Change... &Ndryshojeni… - + Set timezone to %1/%2.<br/> Si zonë kohore do të caktohet %1/%2.<br/> @@ -1542,12 +1542,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. LocaleViewStep - - Loading location data... - Po ngarkohen të dhëna vendndodhjeje… - - - + Location Vendndodhje @@ -1591,27 +1586,27 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. NetInstallPage - + Name Emër - + Description Përshkrim - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalim Nga Rrjeti. (U çaktivizua: S’arrihet të sillen lista paketash, kontrolloni lidhjen tuaj në rrjet) - + Network Installation. (Disabled: Received invalid groups data) Instalim Nga Rrjeti. (U çaktivizua: U morën të dhëna të pavlefshme grupesh) - + Network Installation. (Disabled: Incorrect configuration) Instalim Nga Rrjeti. (E çaktivizuar: Formësim i pasaktë) @@ -1921,12 +1916,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Përshkrim i Gjatë i Produktit - + Package Selection Përzgjedhje Pakete - + Please pick a product from the list. The selected product will be installed. Ju lutemi, zgjidhni prej listës një produkt. Produkti i përzgjedhur do të instalohet. @@ -1934,7 +1929,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. PackageChooserViewStep - + Packages Paketa @@ -2942,22 +2937,22 @@ Përfundim: Shteg i gabuar: %1 - + Cannot set timezone. S’caktohet dot zonë kohore. - + Link creation failed, target: %1; link name: %2 Krijimi i lidhjes dështoi, objektiv: %1; emër lidhjeje: %2 - + Cannot set timezone, S’caktohet dot zonë kohore, - + Cannot open /etc/timezone for writing S’hapet dot /etc/timezone për shkrim @@ -3256,8 +3251,8 @@ Përfundim: - Open relead notes website - Hap sajtin e shënimeve mbi hedhjet në qarkullim + Open release notes website + Hapni sajtin e shënimeve mbi hedhjet në qarkullim diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 2f33a3b3d..386386a96 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Откажи - + &OK @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. Системски језик биће постављен на %1 - + The numbers and dates locale will be set to %1. - + Region: Регион: - + Zone: Зона: - - + + &Change... &Измени... - + Set timezone to %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location Локација @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Назив - + Description Опис - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 69c2ea421..d601263f5 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -1377,22 +1377,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &Prekini - + &OK @@ -1506,33 +1506,33 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: Regija: - + Zone: Zona: - - + + &Change... - + Set timezone to %1/%2.<br/> Postavi vremensku zonu na %1/%2.<br/> @@ -1540,12 +1540,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. LocaleViewStep - - Loading location data... - Očitavam podatke o lokaciji... - - - + Location Lokacija @@ -1589,27 +1584,27 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. NetInstallPage - + Name Naziv - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 5c1cea16f..57892470b 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -1377,22 +1377,22 @@ Alla ändringar kommer att gå förlorade. LCLocaleDialog - + System locale setting Systemspråksinställning - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemspråket påverkar vilket språk och teckenuppsättning somliga kommandoradsprogram använder.<br/>Det nuvarande språket är <strong>%1</strong>. - + &Cancel &Avsluta - + &OK &Okej @@ -1506,33 +1506,33 @@ Alla ändringar kommer att gå förlorade. LocalePage - + The system language will be set to %1. Systemspråket kommer ändras till %1. - + The numbers and dates locale will be set to %1. - + Region: Region: - + Zone: Zon: - - + + &Change... Ändra... - + Set timezone to %1/%2.<br/> Sätt tidszon till %1/%2.<br/> @@ -1540,12 +1540,7 @@ Alla ändringar kommer att gå förlorade. LocaleViewStep - - Loading location data... - Laddar platsdata... - - - + Location Plats @@ -1589,27 +1584,27 @@ Alla ändringar kommer att gå förlorade. NetInstallPage - + Name Namn - + Description Beskrivning - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Nätverksinstallation. (Inaktiverad: Kan inte hämta paketlistor, kontrollera nätverksanslutningen) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ Alla ändringar kommer att gå förlorade. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ Alla ändringar kommer att gå förlorade. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: Ogiltig sökväg: %1 - + Cannot set timezone. Kan inte ställa in tidszon. - + Link creation failed, target: %1; link name: %2 Skapande av länk misslyckades, mål: %1; länknamn: %2 - + Cannot set timezone, Kan inte ställa in tidszon, - + Cannot open /etc/timezone for writing Kunde inte öppna /etc/timezone för skrivning @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index ab0410043..28399aee5 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting การตั้งค่า locale ระบบ - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel &C ยกเลิก - + &OK @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: ภูมิภาค: - + Zone: โซน: - - + + &Change... &C เปลี่ยนแปลง... - + Set timezone to %1/%2.<br/> ตั้งโซนเวลาเป็น %1/%2<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - กำลังโหลดข้อมูลตำแหน่ง... - - - + Location ตำแหน่ง @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name ชื่อ - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1919,12 +1914,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1932,7 +1927,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2937,22 +2932,22 @@ Output: path ไม่ถูกต้อง: %1 - + Cannot set timezone. ไม่สามารถตั้งค่าโซนเวลาได้ - + Link creation failed, target: %1; link name: %2 การสร้างการเชื่อมโยงล้มเหลว เป้าหมาย: %1 ชื่อการเชื่อมโยง: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3251,7 +3246,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 299ecf1a6..371824a34 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -1381,22 +1381,22 @@ Sistem güç kaynağına bağlı değil. LCLocaleDialog - + System locale setting Sistem yerel ayarları - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Sistem yerel ayarı, bazı uçbirim, kullanıcı ayarlamaları ve başkaca dil seçeneklerini belirler ve etkiler. <br/>Varsayılan geçerli ayarlar <strong>%1</strong>. - + &Cancel &Vazgeç - + &OK &TAMAM @@ -1510,33 +1510,33 @@ Sistem güç kaynağına bağlı değil. LocalePage - + The system language will be set to %1. Sistem dili %1 olarak ayarlanacak. - + The numbers and dates locale will be set to %1. Sayılar ve günler için sistem yereli %1 olarak ayarlanacak. - + Region: Bölge: - + Zone: Şehir: - - + + &Change... &Değiştir... - + Set timezone to %1/%2.<br/> Bölge ve zaman dilimi %1/%2 olarak ayarlandı.<br/> @@ -1544,12 +1544,7 @@ Sistem güç kaynağına bağlı değil. LocaleViewStep - - Loading location data... - Yerel verileri yükleniyor... - - - + Location Sistem Yereli @@ -1593,27 +1588,27 @@ Sistem güç kaynağına bağlı değil. NetInstallPage - + Name İsim - + Description Açıklama - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Ağ Üzerinden Kurulum. (Devre Dışı: Paket listeleri alınamıyor, ağ bağlantısını kontrol ediniz) - + Network Installation. (Disabled: Received invalid groups data) Ağ Kurulum. (Devre dışı: Geçersiz grup verileri alındı) - + Network Installation. (Disabled: Incorrect configuration) Ağ Kurulumu. (Devre dışı: Yanlış yapılandırma) @@ -1923,12 +1918,12 @@ Sistem güç kaynağına bağlı değil. Uzun ürün açıklaması - + Package Selection Paket seçimi - + Please pick a product from the list. The selected product will be installed. Lütfen listeden bir ürün seçin. Seçilen ürün yüklenecek. @@ -1936,7 +1931,7 @@ Sistem güç kaynağına bağlı değil. PackageChooserViewStep - + Packages Paketler @@ -2947,22 +2942,22 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Hatalı yol: %1 - + Cannot set timezone. Zaman dilimi ayarlanamadı. - + Link creation failed, target: %1; link name: %2 Link oluşturulamadı, hedef: %1; link adı: %2 - + Cannot set timezone, Bölge ve zaman dilimi ayarlanmadı, - + Cannot open /etc/timezone for writing /etc/timezone açılamadığından düzenlenemedi @@ -3261,8 +3256,8 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. - Open relead notes website - Sürüm Notları web sitesini aç + Open release notes website + diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index d9a38ae65..40f9d6c71 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -1377,22 +1377,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting Налаштування системної локалі - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Налаштування системної локалі впливає на мову та набір символів для деяких елементів інтерфейсу командного рядку.<br/>Наразі встановлено <strong>%1</strong>. - + &Cancel &Скасувати - + &OK &OK @@ -1506,33 +1506,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. Мову %1 буде встановлено як системну. - + The numbers and dates locale will be set to %1. %1 буде встановлено як локаль чисел та дат. - + Region: Регіон: - + Zone: Зона: - - + + &Change... &Змінити... - + Set timezone to %1/%2.<br/> Встановити зону %1/%2.<br/> @@ -1540,12 +1540,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - Завантаження данних про місцезнаходження... - - - + Location Місцезнаходження @@ -1589,27 +1584,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name Ім'я - + Description Опис - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Встановлення через мережу. (Вимкнено: Неможливо отримати список пакетів, перевірте ваше підключення до мережі) - + Network Installation. (Disabled: Received invalid groups data) Встановлення через мережу. (Вимкнено: Отримано неправильні дані про групи) - + Network Installation. (Disabled: Incorrect configuration) @@ -1920,12 +1915,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1933,7 +1928,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2938,22 +2933,22 @@ Output: Поганий шлях: %1 - + Cannot set timezone. Не можу встановити часову зону. - + Link creation failed, target: %1; link name: %2 Невдача під час створення посилання, ціль: %1, назва посилання: %2 - + Cannot set timezone, Не можу встановити часову зону, - + Cannot open /etc/timezone for writing Не можу відкрити /etc/timezone для запису @@ -3252,7 +3247,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index a41d087a3..304227684 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index e35fa76fc..39d5a5f14 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -1376,22 +1376,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + &Cancel - + &OK @@ -1505,33 +1505,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. - + The numbers and dates locale will be set to %1. - + Region: - + Zone: - - + + &Change... - + Set timezone to %1/%2.<br/> @@ -1539,12 +1539,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - - - - + Location @@ -1588,27 +1583,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name - + Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) - + Network Installation. (Disabled: Incorrect configuration) @@ -1918,12 +1913,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1931,7 +1926,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2936,22 +2931,22 @@ Output: - + Cannot set timezone. - + Link creation failed, target: %1; link name: %2 - + Cannot set timezone, - + Cannot open /etc/timezone for writing @@ -3250,7 +3245,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 0160196d4..a1934f03e 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -1379,22 +1379,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting 系统语区设置 - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 系统语言区域设置会影响部份命令行用户界面的语言及字符集。<br/>目前的设置为 <strong>%1</strong>。 - + &Cancel 取消(&C) - + &OK &确定 @@ -1508,33 +1508,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. 系统语言将设置为 %1。 - + The numbers and dates locale will be set to %1. 数字和日期地域将设置为 %1。 - + Region: 地区: - + Zone: 区域: - - + + &Change... 更改 (&C) ... - + Set timezone to %1/%2.<br/> 设置时区为 %1/%2。<br/> @@ -1542,12 +1542,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - 加载位置数据... - - - + Location 位置 @@ -1591,27 +1586,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name 名称 - + Description 描述 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 网络安装。(已禁用:无法获取软件包列表,请检查网络连接) - + Network Installation. (Disabled: Received invalid groups data) 联网安装。(已禁用:收到无效组数据) - + Network Installation. (Disabled: Incorrect configuration) @@ -1921,12 +1916,12 @@ The installer will quit and all changes will be lost. - + Package Selection - + Please pick a product from the list. The selected product will be installed. @@ -1934,7 +1929,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages @@ -2942,22 +2937,22 @@ Output: 非法路径:%1 - + Cannot set timezone. 无法设置时区。 - + Link creation failed, target: %1; link name: %2 链接创建失败,目标:%1,链接名称:%2 - + Cannot set timezone, 无法设置时区, - + Cannot open /etc/timezone for writing 无法打开要写入的 /etc/timezone @@ -3256,7 +3251,7 @@ Output: - Open relead notes website + Open release notes website diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index e7eca7d14..f4c3df441 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -1379,22 +1379,22 @@ The installer will quit and all changes will be lost. LCLocaleDialog - + System locale setting 系統語系設定 - + The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 系統語系設定會影響部份命令列使用者介面的語言及字元集。<br/>目前的設定為 <strong>%1</strong>。 - + &Cancel 取消(&C) - + &OK 確定(&O) @@ -1508,33 +1508,33 @@ The installer will quit and all changes will be lost. LocalePage - + The system language will be set to %1. 系統語言將會設定為 %1。 - + The numbers and dates locale will be set to %1. 數字與日期語系將會被設定為 %1。 - + Region: 地區 - + Zone: 時區 - - + + &Change... 變更...(&C) - + Set timezone to %1/%2.<br/> 設定時區為 %1/%2 。<br/> @@ -1542,12 +1542,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - - Loading location data... - 讀取位置資料 ... - - - + Location 位置 @@ -1591,27 +1586,27 @@ The installer will quit and all changes will be lost. NetInstallPage - + Name 名稱 - + Description 描述 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 網路安裝。(已停用:無法擷取軟體包清單,請檢查您的網路連線) - + Network Installation. (Disabled: Received invalid groups data) 網路安裝。(已停用:收到無效的群組資料) - + Network Installation. (Disabled: Incorrect configuration) 網路安裝。(已停用:設定不正確) @@ -1921,12 +1916,12 @@ The installer will quit and all changes will be lost. 較長的產品描述 - + Package Selection 軟體包選擇 - + Please pick a product from the list. The selected product will be installed. 請從清單中挑選產品。將會安裝選定的產品。 @@ -1934,7 +1929,7 @@ The installer will quit and all changes will be lost. PackageChooserViewStep - + Packages 軟體包 @@ -2942,22 +2937,22 @@ Output: 非法路徑:%1 - + Cannot set timezone. 無法設定時區。 - + Link creation failed, target: %1; link name: %2 連結建立失敗,目標:%1;連結名稱:%2 - + Cannot set timezone, 無法設定時區。 - + Cannot open /etc/timezone for writing 無法開啟要寫入的 /etc/timezone @@ -3256,8 +3251,8 @@ Output: - Open relead notes website - 開啟發行紀錄網頁 + Open release notes website + From 3caab1cf9658e05d97bdba5b12fb85703076cfad Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 23 Sep 2019 12:43:05 +0200 Subject: [PATCH 382/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 2 +- lang/python/ar/LC_MESSAGES/python.po | 2 +- lang/python/ast/LC_MESSAGES/python.po | 2 +- lang/python/be/LC_MESSAGES/python.po | 2 +- lang/python/bg/LC_MESSAGES/python.po | 2 +- lang/python/ca/LC_MESSAGES/python.po | 2 +- lang/python/ca@valencia/LC_MESSAGES/python.po | 2 +- lang/python/cs_CZ/LC_MESSAGES/python.po | 2 +- lang/python/da/LC_MESSAGES/python.po | 2 +- lang/python/de/LC_MESSAGES/python.po | 2 +- lang/python/el/LC_MESSAGES/python.po | 2 +- lang/python/en_GB/LC_MESSAGES/python.po | 2 +- lang/python/eo/LC_MESSAGES/python.po | 2 +- lang/python/es/LC_MESSAGES/python.po | 2 +- lang/python/es_MX/LC_MESSAGES/python.po | 2 +- lang/python/es_PR/LC_MESSAGES/python.po | 2 +- lang/python/et/LC_MESSAGES/python.po | 2 +- lang/python/eu/LC_MESSAGES/python.po | 2 +- lang/python/fa/LC_MESSAGES/python.po | 2 +- lang/python/fi_FI/LC_MESSAGES/python.po | 2 +- lang/python/fr/LC_MESSAGES/python.po | 4 ++-- lang/python/fr_CH/LC_MESSAGES/python.po | 2 +- lang/python/gl/LC_MESSAGES/python.po | 2 +- lang/python/gu/LC_MESSAGES/python.po | 2 +- lang/python/he/LC_MESSAGES/python.po | 2 +- lang/python/hi/LC_MESSAGES/python.po | 2 +- lang/python/hr/LC_MESSAGES/python.po | 2 +- lang/python/hu/LC_MESSAGES/python.po | 2 +- lang/python/id/LC_MESSAGES/python.po | 2 +- lang/python/is/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.po | 2 +- lang/python/kk/LC_MESSAGES/python.po | 2 +- lang/python/kn/LC_MESSAGES/python.po | 2 +- lang/python/ko/LC_MESSAGES/python.po | 2 +- lang/python/lo/LC_MESSAGES/python.po | 2 +- lang/python/lt/LC_MESSAGES/python.po | 2 +- lang/python/mk/LC_MESSAGES/python.po | 2 +- lang/python/ml/LC_MESSAGES/python.mo | Bin 382 -> 577 bytes lang/python/ml/LC_MESSAGES/python.po | 8 ++++++-- lang/python/mr/LC_MESSAGES/python.po | 2 +- lang/python/nb/LC_MESSAGES/python.po | 2 +- lang/python/ne_NP/LC_MESSAGES/python.po | 2 +- lang/python/nl/LC_MESSAGES/python.po | 2 +- lang/python/pl/LC_MESSAGES/python.po | 2 +- lang/python/pt_BR/LC_MESSAGES/python.po | 2 +- lang/python/pt_PT/LC_MESSAGES/python.po | 2 +- lang/python/ro/LC_MESSAGES/python.po | 2 +- lang/python/ru/LC_MESSAGES/python.po | 2 +- lang/python/sk/LC_MESSAGES/python.po | 2 +- lang/python/sl/LC_MESSAGES/python.po | 2 +- lang/python/sq/LC_MESSAGES/python.po | 2 +- lang/python/sr/LC_MESSAGES/python.po | 2 +- lang/python/sr@latin/LC_MESSAGES/python.po | 2 +- lang/python/sv/LC_MESSAGES/python.po | 2 +- lang/python/th/LC_MESSAGES/python.po | 2 +- lang/python/tr_TR/LC_MESSAGES/python.po | 2 +- lang/python/uk/LC_MESSAGES/python.po | 2 +- lang/python/ur/LC_MESSAGES/python.po | 2 +- lang/python/uz/LC_MESSAGES/python.po | 2 +- lang/python/zh_CN/LC_MESSAGES/python.po | 2 +- lang/python/zh_TW/LC_MESSAGES/python.po | 2 +- 62 files changed, 67 insertions(+), 63 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 111926ba2..7d86bd583 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index a4efc853c..59f013aab 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index babe5b810..7c01ff71e 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index 9051efc7c..c03a83be0 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Zmicer Turok , 2019\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index d2694254a..dfe94c36b 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index e60bcef31..33713b0c6 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index b52e75544..bb753106a 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 1237a4857..a70de8855 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index a7ec70169..3d4ec8e3f 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: scootergrisen, 2019\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index 2c4f0a89d..e20f0ff15 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index e1986af7c..adab77eed 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 5ed190480..f52938e76 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index 2c7ba132a..2d05ac417 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 093f57457..49e84f1e5 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adolfo Jayme-Barrientos, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index 3059208d4..cc399fabe 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index b90d79453..e5234de36 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index 48ab2b337..a3da4615d 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Madis Otenurm, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 08d38ea97..abf649af8 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index ccd9ab4d7..d1b3956f5 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index 9c781b7da..e6aafae5f 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kimmo Kujansuu , 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 4f15e0c0a..497bfca1b 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -9,7 +9,7 @@ # Aestan , 2018 # Jeremy Gourmel , 2018 # Aurnytoraink , 2018 -# Doryan R, 2019 +# a270031086f2a0d3514bc0cb507b48f6, 2019 # Seboss666 , 2019 # Florian B , 2019 # Arnaud Ferraris , 2019 @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Arnaud Ferraris , 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index 04bd2e644..f4d6cbd69 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index e860db18e..8229fd575 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 4a05f6d90..bb1fcb597 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 68145ad21..4364afd88 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index e56cd4b22..ac83665e5 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Panwar108 , 2019\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index de66977d5..d8f7a7573 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 7f44c3162..6982c8421 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lajos Pasztor , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index bd8fd1866..79e7a798b 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index fa12a09d3..d0b53f304 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index eaa45ed9e..f6decc759 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index 38d4874e1..e6906d289 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: UTUMI Hirosi , 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index 95e91ae64..de17788d6 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index c08f80c35..de8c2b0d6 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index d92595707..eb1eb9eb6 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 이정희 , 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index c3d74ba77..375880ce8 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index a479665b3..554a4d4b8 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Moo, 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index 24b6614aa..be8b8a0f4 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" diff --git a/lang/python/ml/LC_MESSAGES/python.mo b/lang/python/ml/LC_MESSAGES/python.mo index bf4644fcf640f174f0e04018b6cba225fe3668d7..e3e22c084f916b83f8032daad599d0a6ce3910b7 100644 GIT binary patch delta 261 zcmeyzbdV+Go)F7a1|VPpVi_RT0b*7lwgF-g2moSXAPxlL4n_usR3IG$#P5J?Ac6ys zelYOND=taQ$x%qk&o9ZzPfSTI(wk_J=2%>!8&Z^*SDcerl3!${;Fy$=nUz_Rp%9#r znvt4Xq+pW>6)A=YIHcz$X6EQ6=jYn#C>R+ST27q(IQYSqH4nBnJ=ik;!PZ^~`KY1i z!In)AwswQLdlVjQX@9VF_k%4vz$!LE$u0XHY~2TxoAqF8+k-9Z!J`2C0F8i79E5`4}Gn02TlT AivR!s diff --git a/lang/python/ml/LC_MESSAGES/python.po b/lang/python/ml/LC_MESSAGES/python.po index 94cdabb2e..35597cc7d 100644 --- a/lang/python/ml/LC_MESSAGES/python.po +++ b/lang/python/ml/LC_MESSAGES/python.po @@ -3,13 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# Translators: +# Abhijith Sheheer , 2019 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" +"Last-Translator: Abhijith Sheheer , 2019\n" "Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -286,7 +290,7 @@ msgstr[1] "" #: src/modules/bootloader/main.py:51 msgid "Install bootloader." -msgstr "" +msgstr "ബൂട്ട്‌ലോടർ ഇൻസ്റ്റാൾ ചെയ്യൂ ." #: src/modules/removeuser/main.py:34 msgid "Remove live user from target system" diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index e1da832cd..2ceeaebd6 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index ce7738193..1ba757fdf 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index ce10a0bcd..2b9e8cd6f 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index ff9f5295c..37fc5dbb7 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index 7bc0e9c05..bb566c211 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Piotr Strębski , 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 5b107eb6d..493d4deed 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index 5beaa7b5f..655b15d86 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Hugo Carvalho , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index 1d77f998f..c9e981428 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 8bb58f167..8753ae419 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index e84b1c968..86bbd828a 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Dušan Kazik , 2018\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index c60bfd0aa..14f4e4b04 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index a15435f84..897c282a1 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 829b7d6ed..39ba21629 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 6d0ad52a9..77da46171 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 12c6368ac..995a5d124 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index fb15a4de1..31a07f9c9 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 49a15e985..2728cdb3e 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Demiray Muhterem , 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 94a532593..55ace460b 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index e17e6d6a1..3d4f89d6d 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 3e63bc45f..e2ae26728 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index 7b9ead660..833848b36 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 610c954f5..994c15c8a 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 黃柏諺 , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" From 409c90a5bf83dc1d6c45e441f88fd72052338af5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 12:56:51 +0200 Subject: [PATCH 383/626] i18n: welcome Malayalam translation --- CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 46acedaf9..0f8734df0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,14 +108,14 @@ set( CALAMARES_DESCRIPTION_SUMMARY # copy these four lines to four backup lines, add "p", and then update # the original four lines with the current translations). # -# Total 60 languages -set( _tx_complete ca cs_CZ da de fi_FI fr he hi hr hu ja ko lt - pt_BR sq tr_TR zh_TW ) -set( _tx_good ast en_GB es es_MX et gl id it_IT nl pl pt_PT ru sk - zh_CN ) -set( _tx_ok ar bg el es_PR eu is mr nb ro sl sr sr@latin sv th uk ) -set( _tx_incomplete be ca@valencia eo fa fr_CH gu kk kn lo mk ne_NP - ur uz ) +# Total 61 languages +set( _tx_complete ca cs_CZ da fi_FI he hr ja lt pt_BR sq ) +set( _tx_good ast de es es_MX et fr gl hi hu id it_IT ko nl pl + pt_PT ru sk tr_TR zh_TW ) +set( _tx_ok ar be bg el en_GB es_PR eu is ml mr nb ro sl sr + sr@latin sv th uk zh_CN ) +set( _tx_incomplete ca@valencia eo fa fr_CH gu kk kn lo mk ne_NP ur + uz ) ### Required versions # From 38369634df135b39848ac6d2c5581e4e0fcdef41 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 25 Sep 2019 12:26:26 +0200 Subject: [PATCH 384/626] [displaymanager] Find the .desktop file explicitly --- src/modules/displaymanager/main.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index b46dc3d43..4bf9e5771 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,14 +51,21 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop - def find_de_executable(self, root_mount_point): - return os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) - - def find_de_session(self, root_mount_point): + def find_desktop_file(self, root_mount_point): x11_sessions = "{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file) wayland_sessions = "{!s}/usr/share/wayland-sessions/{!s}.desktop".format(root_mount_point, self.desktop_file) - return os.path.exists(x11_sessions) or os.path.exists(wayland_sessions) - + for candidate in (x11_sessions, wayland_sessions): + if os.path.exists(candidate): + return candidate + return None + + def find_de_executable(self, root_mount_point): + return os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) + + def find_de_session(self, root_mount_point): + desktop_file = self.find_desktop_file(root_mount_point) + return desktop_file is not None + def find_desktop_environment(self, root_mount_point): """ Check if this environment is installed in the From 01cd95512fe8bcf92cd349d9ce6896b000865cf0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 25 Sep 2019 12:41:37 +0200 Subject: [PATCH 385/626] [displaymanager] Check the TryExec key from the .desktop file --- src/modules/displaymanager/main.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 4bf9e5771..2e6d05311 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,6 +51,30 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop + def find_de_tryexec(self, root_mount_point, command): + if command.startswith("/"): + path = [""] + else: + path = ["/bin/", "/usr/bin/", "/sbin/", "/usr/local/bin/"] + + for p in path: + absolute_path = "{!s}{!s}{!s}".format(root_mount_point, p, command) + if os.path.exists(absolute_path): + return absolute_path + return None + + def find_tryexec(self, root_mount_point, absolute_desktop_file): + assert absolute_desktop_file.startswith(root_mount_point) + with open(absolute_desktop_file, "r") as f: + for tryexec_line in [x for x in f.readlines() if x.startswith("TryExec")]: + try: + key, value = tryexec_line.split("=") + if key.strip() == "TryExec": + return self.find_de_tryexec(root_mount_point, value) + except: + pass + return None + def find_desktop_file(self, root_mount_point): x11_sessions = "{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file) wayland_sessions = "{!s}/usr/share/wayland-sessions/{!s}.desktop".format(root_mount_point, self.desktop_file) From f9e36b9c737ca89d61a8a9afc0675f5a93bb898c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 25 Sep 2019 12:41:58 +0200 Subject: [PATCH 386/626] [displaymanager] Missing self --- src/modules/displaymanager/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 2e6d05311..aa9fe94dd 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -95,7 +95,7 @@ class DesktopEnvironment: Check if this environment is installed in the target system at @p root_mount_point. """ - return find_de_executable(root_mount_point) and find_de_session(root_mount_point) + return self.find_de_executable(root_mount_point) and self.find_de_session(root_mount_point) desktop_environments = [ From 0b81d2562bbe2a2f37f1f4280b2166a7f70dcf82 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 25 Sep 2019 12:52:07 +0200 Subject: [PATCH 387/626] [displaymanager] Be more chatty --- src/modules/displaymanager/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index aa9fe94dd..06b9ef02a 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -131,8 +131,10 @@ def find_desktop_environment(root_mount_point): :param root_mount_point: :return: """ + libcalamares.utils.debug("Using root {!r}".format(root_mount_point)) for desktop_environment in desktop_environments: if desktop_environment.find_desktop_environment(root_mount_point): + libcalamares.utils.debug(".. selected DE {!s}".format(desktop_environment.desktop_file)) return desktop_environment return None From 92ab0c1addef21377c58846c4aaa4fd28c304c18 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 25 Sep 2019 13:05:35 +0200 Subject: [PATCH 388/626] [displaymanager] Unify looking for executables - use executable, and the result of looking up TryExec - reduce chattiness again --- src/modules/displaymanager/main.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 06b9ef02a..fdb802fef 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,7 +51,7 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop - def find_de_tryexec(self, root_mount_point, command): + def find_executable(self, root_mount_point, command): if command.startswith("/"): path = [""] else: @@ -70,7 +70,7 @@ class DesktopEnvironment: try: key, value = tryexec_line.split("=") if key.strip() == "TryExec": - return self.find_de_tryexec(root_mount_point, value) + return self.find_executable(root_mount_point, value.strip()) except: pass return None @@ -83,19 +83,17 @@ class DesktopEnvironment: return candidate return None - def find_de_executable(self, root_mount_point): - return os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) - - def find_de_session(self, root_mount_point): - desktop_file = self.find_desktop_file(root_mount_point) - return desktop_file is not None - def find_desktop_environment(self, root_mount_point): """ Check if this environment is installed in the target system at @p root_mount_point. """ - return self.find_de_executable(root_mount_point) and self.find_de_session(root_mount_point) + desktop_file = self.find_desktop_file(root_mount_point) + if desktop_file is None: + return False + + return (self.find_executable(root_mount_point, self.executable) is not None or + self.find_tryexec(root_mount_point, desktop_file) is not None) desktop_environments = [ @@ -131,7 +129,7 @@ def find_desktop_environment(root_mount_point): :param root_mount_point: :return: """ - libcalamares.utils.debug("Using root {!r}".format(root_mount_point)) + libcalamares.utils.debug("Using rootMountPoint {!r}".format(root_mount_point)) for desktop_environment in desktop_environments: if desktop_environment.find_desktop_environment(root_mount_point): libcalamares.utils.debug(".. selected DE {!s}".format(desktop_environment.desktop_file)) From 479ffb3530b27588db7dcee7e13ce819b106f3ca Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 10:32:28 +0200 Subject: [PATCH 389/626] Changes: credits, mention bug numbers --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index bc01163ae..66b8a8bcb 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,7 @@ website will have to do for older versions. # 3.2.14 (unreleased) # This release contains contributions from (alphabetically by first name): + - Andrius Štikonas - Harald Sitter ## Core ## @@ -18,6 +19,8 @@ This release contains contributions from (alphabetically by first name): - *packagechooser* module can now be custom-labeled in the overall progress (left-hand column). #1228 - *displaymanager* module now recognizes KDE Plasma 5.17. + - *displaymanager* module now can handle Wayland sessions and can detect + sessions from their .desktop files. #1247 #1248 # 3.2.13 (2019-08-30) # From aecf776bf71b9985e4ee2960fa73f029c67d2be6 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 30 Sep 2019 10:34:12 +0200 Subject: [PATCH 390/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_is.ts | 50 +++++----- lang/calamares_ml.ts | 204 ++++++++++++++++++++-------------------- lang/calamares_pt_PT.ts | 20 ++-- lang/calamares_zh_TW.ts | 36 +++---- 4 files changed, 155 insertions(+), 155 deletions(-) diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 00ba48462..874e9adcb 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -99,12 +99,12 @@ Reload Stylesheet - + Endurhlaða stílblað Widget Tree - + Greinar viðmótshluta @@ -117,7 +117,7 @@ Set up - + Setja upp @@ -130,7 +130,7 @@ Job failed (%1) - + Verk mistókst (%1) @@ -253,7 +253,7 @@ Setup Failed - + Uppsetning mistókst @@ -288,7 +288,7 @@ Continue with installation? - + Halda áfram með uppsetningu? @@ -298,12 +298,12 @@ &Set up now - + &Setja upp núna &Set up - + &Setja upp @@ -318,7 +318,7 @@ Cancel setup? - + Hætta við uppsetningu? @@ -1181,7 +1181,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Setup Complete - + Uppsetningu lokið @@ -1191,12 +1191,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The setup of %1 is complete. - + Uppsetningu á %1 er lokið. The installation of %1 is complete. - Uppsetningu af %1 er lokið. + Uppsetningu á %1 er lokið. @@ -1916,7 +1916,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Package Selection - + Valdir pakkar @@ -1929,7 +1929,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Packages - + Pakkar @@ -2112,7 +2112,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Cre&ate - + Útbú&a @@ -2310,7 +2310,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Look-and-Feel - + Útlit og hegðun @@ -2438,7 +2438,7 @@ Output: (no mount point) - + (enginn tengipunktur) @@ -3052,7 +3052,7 @@ Output: Placeholder - + Frátökueining @@ -3222,7 +3222,7 @@ Output: Select application and system language - + Veldu tungumál forrits og kerfis @@ -3232,7 +3232,7 @@ Output: &Donate - + Styr&kja @@ -3247,7 +3247,7 @@ Output: Open release notes website - + Opna vefsvæði með upplýsingum um útgáfuna @@ -3282,17 +3282,17 @@ Output: <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Velkomin til Calamares uppsetningarforritið fyrir %1</h1> <h1>Welcome to %1 setup.</h1> - + <h1>Velkomin í %1 uppsetninguna.</h1> About %1 setup - + Um %1 uppsetninguna @@ -3302,7 +3302,7 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>fyrir %3</strong><br/><br/>Höfundarréttur 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Höfundarréttur 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Þakkir til <a href="https://calamares.io/team/">Calamares teymisinsm</a> og <a href="https://www.transifex.com/calamares/calamares/">allra þýðenda Calamares</a>.<br/><br/>Þróun <a href="https://calamares.io/">Calamares</a> er studd af <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index cd78a094c..ca755e70d 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -9,7 +9,7 @@ This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - ഈ സിസ്റ്റം ഒരു <strong>ഇ.എഫ്.ഐ</strong> ബൂട്ട് എൻ‌വയോൺ‌മെന്റ് ഉപയോഗിച്ചാണ് ആരംഭിച്ചത്.<br><br>ഒരു ഇ.എഫ്.ഐ എൻ‌വയോൺ‌മെൻറിൽ‌ നിന്നും സ്റ്റാർ‌ട്ടപ്പ് ക്രമീകരിക്കുന്നതിന് ,ഒരു ഇ.എഫ്.ഐ സിസ്റ്റം പാർട്ടീഷനിൽ ഈ ഇൻസ്റ്റാളർ <strong>ഗ്രബ്</strong> അല്ലെങ്കിൽ <strong>സിസ്റ്റംഡി-ബൂട്ട്</strong> പോലെയുള്ള ഒരു ബൂട്ട് ലോഡർ ആപ്ലിക്കേഷൻ വിന്യസിക്കണം.നിങ്ങൾ മാനുവൽ പാർട്ടീഷനിംഗ് തിരഞ്ഞെടുത്തിട്ടില്ലെങ്കിൽ ഇത് യാന്ത്രികമായി നടക്കേണ്ടതാണ്,അത്തരം സന്ദർഭങ്ങളിൽ നിങ്ങൾ അത് തിരഞ്ഞെടുക്കണം അല്ലെങ്കിൽ സ്വന്തമായി സൃഷ്ടിക്കണം. + ഈ സിസ്റ്റം ഒരു <strong>ഇ.എഫ്.ഐ</strong> ബൂട്ട് എൻ‌വയോൺ‌മെന്റ് ഉപയോഗിച്ചാണ് ആരംഭിച്ചത്.<br>ഒരു ഇ.എഫ്.ഐ എൻ‌വയോൺ‌മെൻറിൽ‌ നിന്നും സ്റ്റാർ‌ട്ടപ്പ് ക്രമീകരിക്കുന്നതിന്, ഒരു ഇ.എഫ്.ഐ സിസ്റ്റം പാർട്ടീഷനിൽ ഈ ഇൻസ്റ്റാളർ <strong>ഗ്രബ്</strong> അല്ലെങ്കിൽ <strong>systemd-boot</strong> പോലെയുള്ള ഒരു ബൂട്ട് ലോഡർ ആപ്ലിക്കേഷൻ വിന്യസിക്കണം.നിങ്ങൾ മാനുവൽ പാർട്ടീഷനിംഗ് തിരഞ്ഞെടുത്തിട്ടില്ലെങ്കിൽ ഇത് യാന്ത്രികമായി നടക്കേണ്ടതാണ്,അത്തരം സന്ദർഭങ്ങളിൽ നിങ്ങൾ അത് തിരഞ്ഞെടുക്കണം അല്ലെങ്കിൽ സ്വന്തമായി സൃഷ്ടിക്കണം.<br> @@ -63,12 +63,12 @@ GlobalStorage - ഗ്ലോബൽ സ്റ്റോറേജ് + GlobalStorage JobQueue - ജോബ് ക്യൂ + JobQueue @@ -238,7 +238,7 @@ &Cancel - റദ്ദാക്കുക (%C) + റദ്ദാക്കുക (&C) @@ -402,7 +402,7 @@ The installer will quit and all changes will be lost. Unknown exception type - + അജ്ഞാതമായ പിശക് @@ -719,7 +719,7 @@ The installer will quit and all changes will be lost. En&crypt - + എൻക്രിപ്റ്റ് (&c) @@ -803,7 +803,7 @@ The installer will quit and all changes will be lost. Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + <strong>%2</strong> (%3) -ൽ പുതിയ <strong>%1</strong> പാർട്ടീഷൻ ടേബിൾ ഉണ്ടാക്കുക. @@ -813,7 +813,7 @@ The installer will quit and all changes will be lost. The installer failed to create a partition table on %1. - + %1 ൽ പാർട്ടീഷൻ പട്ടിക സൃഷ്ടിക്കുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -1069,7 +1069,7 @@ The installer will quit and all changes will be lost. En&crypt system - + സിസ്റ്റം എൻക്രിപ്റ്റ് ചെയ്യുക (&c) @@ -1170,7 +1170,7 @@ The installer will quit and all changes will be lost. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു</h1><br/> നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ %1 സജ്ജമാക്കിയിട്ടില്ല.<br/>പിശക് സന്ദേശം ഇതായിരുന്നു: %2. @@ -1229,22 +1229,22 @@ The installer will quit and all changes will be lost. has at least %1 GiB available drive space - + %1 GiB ഡിസ്ക്സ്പെയ്സ് എങ്കിലും ലഭ്യമായിരിക്കണം. There is not enough drive space. At least %1 GiB is required. - + ആവശ്യത്തിനു ഡിസ്ക്സ്പെയ്സ് ലഭ്യമല്ല. %1 GiB എങ്കിലും വേണം. has at least %1 GiB working memory - + %1 GiB RAM എങ്കിലും ലഭ്യമായിരിക്കണം. The system does not have enough working memory. At least %1 GiB is required. - + സിസ്റ്റത്തിൽ ആവശ്യത്തിനു RAM ലഭ്യമല്ല. %1 GiB എങ്കിലും വേണം. @@ -1391,7 +1391,7 @@ The installer will quit and all changes will be lost. &Cancel - റദ്ദാക്കുക (%C) + റദ്ദാക്കുക (&C) @@ -1515,7 +1515,7 @@ The installer will quit and all changes will be lost. The numbers and dates locale will be set to %1. - + സംഖ്യ & തീയതി രീതി %1 ആയി ക്രമീകരിക്കും. @@ -1531,12 +1531,12 @@ The installer will quit and all changes will be lost. &Change... - + മാറ്റുക (&C)... Set timezone to %1/%2.<br/> - + സമയപദ്ധതി %1/%2 ആയി ക്രമീകരിക്കുക.<br/> @@ -1598,17 +1598,17 @@ The installer will quit and all changes will be lost. Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + നെറ്റ്‌വർക്ക് ഇൻസ്റ്റാളേഷൻ. (അപ്രാപ്‌തമാക്കി: പാക്കേജ് ലിസ്റ്റുകൾ നേടാനായില്ല, നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷൻ പരിശോധിക്കുക) Network Installation. (Disabled: Received invalid groups data) - + നെറ്റ്‌വർക്ക് ഇൻസ്റ്റാളേഷൻ. (അപ്രാപ്‌തമാക്കി: അസാധുവായ ഗ്രൂപ്പുകളുടെ ഡാറ്റ ലഭിച്ചു) Network Installation. (Disabled: Incorrect configuration) - + നെറ്റ്‌വർക്ക് ഇൻസ്റ്റാളേഷൻ. (പ്രവർത്തനരഹിതമാക്കി: തെറ്റായ ക്രമീകരണം) @@ -1629,7 +1629,7 @@ The installer will quit and all changes will be lost. <html><head/><body><p>Enter a batch-identifier here. This will be stored in the target system.</p></body></html> - + <html><head/><body><p>ഒരു ബാച്ച് ഐഡന്റിഫയർ ഇവിടെ നൽകുക. ഇത് ടാർഗെറ്റ് സിസ്റ്റത്തിൽ സംഭരിക്കും</p></body></html> @@ -1690,7 +1690,7 @@ The installer will quit and all changes will be lost. The password differs with case changes only - + പാസ്‌വേഡ് അക്ഷരങ്ങളുടെ കേസ് മാറ്റങ്ങളിൽ മാത്രം വ്യത്യാസപ്പെട്ടിരിക്കുന്നു @@ -1775,7 +1775,7 @@ The installer will quit and all changes will be lost. The password does not contain enough character classes - + രഹസ്യവാക്കിൽ ആവശ്യത്തിനു അക്ഷരങ്ങൾ ഇല്ല @@ -1790,12 +1790,12 @@ The installer will quit and all changes will be lost. The password contains more than %1 characters of the same class consecutively - + രഹസ്യവാക്കിൽ %1 തവണ ഒരേ തരം അക്ഷരം ആവർത്തിക്കുന്നു The password contains too many characters of the same class consecutively - + രഹസ്യവാക്കിൽ ഒരുപാട് തവണ ഒരേ തരം അക്ഷരം ആവർത്തിക്കുന്നു @@ -1815,12 +1815,12 @@ The installer will quit and all changes will be lost. Cannot obtain random numbers from the RNG device - + RNG ഉപകരണത്തിൽ നിന്ന് ആകസ്‌മിക സംഖ്യകൾ എടുക്കാൻ പറ്റുന്നില്ല. Password generation failed - required entropy too low for settings - + രഹസ്യവാക്ക് സൃഷ്ടിക്കുന്നതിൽ പരാജയപ്പെട്ടു - ആവശ്യത്തിനു entropy ഇല്ല. @@ -1850,42 +1850,42 @@ The installer will quit and all changes will be lost. Bad integer value - + തെറ്റായ സംഖ്യ Setting %1 is not of integer type - + %1 സജ്ജീകരണം സംഖ്യയല്ല Setting is not of integer type - + സജ്ജീകരണം സംഖ്യയല്ല Setting %1 is not of string type - + %1 സജ്ജീകരണം ഒരു വാക്കല്ലാ Setting is not of string type - + സജ്ജീകരണം ഒരു വാക്കല്ലാ Opening the configuration file failed - + ക്രമീകരണ ഫയൽ തുറക്കുന്നതിൽ പരാജയപ്പെട്ടു The configuration file is malformed - + ക്രമീകരണ ഫയൽ പാഴാണു Fatal failure - + അപകടകരമായ പിഴവ് @@ -1918,12 +1918,12 @@ The installer will quit and all changes will be lost. Package Selection - + പാക്കേജ് തിരഞ്ഞെടുക്കൽ Please pick a product from the list. The selected product will be installed. - + പട്ടികയിൽ നിന്നും ഒരു ഉത്പന്നം തിരഞ്ഞെടുക്കുക. തിരഞ്ഞെടുത്ത ഉത്പന്നം ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുക. @@ -1931,7 +1931,7 @@ The installer will quit and all changes will be lost. Packages - + പാക്കേജുകൾ @@ -1977,7 +1977,7 @@ The installer will quit and all changes will be lost. <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + <small>ഒരേ പാസ്‌വേഡ് രണ്ടുതവണ നൽകുക, അതുവഴി ടൈപ്പിംഗ് പിശകുകൾ പരിശോധിക്കാൻ കഴിയും.ഒരു നല്ല പാസ്‌വേഡിൽ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, ചിഹ്നനം എന്നിവയുടെ മിശ്രിതം അടങ്ങിയിരിക്കും, കുറഞ്ഞത് എട്ട് പ്രതീകങ്ങളെങ്കിലും നീളമുണ്ടായിരിക്കണം, കൃത്യമായ ഇടവേളകളിൽ അവ മാറ്റണം.</small> @@ -2020,7 +2020,7 @@ The installer will quit and all changes will be lost. Home - + ഹോം @@ -2060,7 +2060,7 @@ The installer will quit and all changes will be lost. Free Space - + ലഭ്യമായ സ്ഥലം @@ -2099,7 +2099,7 @@ The installer will quit and all changes will be lost. Storage de&vice: - + സ്റ്റോറേജ് ഉപകരണം (&v): @@ -2134,32 +2134,32 @@ The installer will quit and all changes will be lost. Resize Volume Group - + വോള്യം ഗ്രൂപ്പിന്റെ വലുപ്പം മാറ്റുക Deactivate Volume Group - + വോള്യം ഗ്രൂപ്പ് നിഷ്ക്രിയമാക്കുക Remove Volume Group - + വോള്യം ഗ്രൂപ്പ് നീക്കം ചെയ്യുക I&nstall boot loader on: - + ബൂട്ട്ലോഡർ ഇവിടെ ഇൻസ്റ്റാൾ ചെയ്യുക (&n): Are you sure you want to create a new partition table on %1? - + %1ൽ ഒരു പുതിയ പാർട്ടീഷൻ ടേബിൾ നിർമ്മിക്കണമെന്ന് താങ്കൾക്കുറപ്പാണോ? Can not create new partition - + പുതിയ പാർട്ടീഷൻ നിർമ്മിക്കാനായില്ല @@ -2187,12 +2187,12 @@ The installer will quit and all changes will be lost. <strong>Erase</strong> disk and install %1. - + ഡിസ്ക് <strong>മായ്ക്കുക</strong>എന്നിട്ട് %1 ഇൻസ്റ്റാൾ ചെയ്യുക. <strong>Replace</strong> a partition with %1. - + ഒരു പാർട്ടീഷൻ %1 ഉപയോഗിച്ച് <strong>പുനഃസ്ഥാപിക്കുക.</strong> @@ -2207,22 +2207,22 @@ The installer will quit and all changes will be lost. <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - + ഡിസ്ക് <strong>%2</strong> (%3) <strong>മായ്‌ച്ച് </strong> %1 ഇൻസ്റ്റാൾ ചെയ്യുക. <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - + <strong>%2</strong> (%3) ഡിസ്കിലെ ഒരു പാർട്ടീഷൻ %1 ഉപയോഗിച്ച് <strong>മാറ്റിസ്ഥാപിക്കുക</strong>. <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - + <strong>%1 </strong>(%2) ഡിസ്കിലെ <strong>സ്വമേധയാ</strong> പാർട്ടീഷനിംഗ്. Disk <strong>%1</strong> (%2) - + ഡിസ്ക് <strong>%1</strong> (%2) @@ -2237,12 +2237,12 @@ The installer will quit and all changes will be lost. No EFI system partition configured - + ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷനൊന്നും ക്രമീകരിച്ചിട്ടില്ല An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - + %1 ആരംഭിക്കാൻ ഒരു ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ ആവശ്യമാണ്.<br/><br/>ഒരു ഇഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ ക്രമീകരിക്കുന്നതിന്,തിരികെ പോയി <strong>ഇ എസ് പി</strong> ഫ്ലാഗും മൗണ്ട് പോയിന്റ് <strong>%2</strong> ഉം ആയിട്ടുള്ള ഒരു FAT32 ഫയൽസിസ്റ്റം തിരഞ്ഞെടുക്കുക അല്ലെങ്കിൽ സൃഷ്ടിക്കുക.<br/><br/>ഒരു ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ സജ്ജീകരിക്കാതെ നിങ്ങൾക്ക് തുടരാം, പക്ഷേ നിങ്ങളുടെ സിസ്റ്റം ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടേക്കാം. @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. Boot partition not encrypted - + ബൂട്ട് പാർട്ടീഷൻ എൻക്രിപ്റ്റ് ചെയ്യപ്പെട്ടിട്ടില്ല @@ -2320,17 +2320,17 @@ The installer will quit and all changes will be lost. Saving files for later ... - + ഫയലുകൾ ഭാവിയിലേക്കായി സംരക്ഷിക്കുന്നു ... No files configured to save for later. - + ഭാവിയിലേക്കായി സംരക്ഷിക്കാനായി ഫയലുകളൊന്നും ക്രമീകരിച്ചിട്ടില്ല. Not all of the configured files could be preserved. - + ക്രമീകരിക്കപ്പെട്ട ഫയലുകളെല്ലാം സംരക്ഷിക്കാനായില്ല. @@ -2404,18 +2404,18 @@ Output: Default Keyboard Model - + സ്വതേയുള്ള കീബോർഡ് തരം Default - + സ്വതേയുള്ളത് unknown - + അജ്ഞാതം @@ -2470,17 +2470,17 @@ Output: Remove Volume Group named %1. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നീക്കം ചെയ്യുക. Remove Volume Group named <strong>%1</strong>. - + <strong>%1</strong> എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നീക്കം ചെയ്യുക. The installer failed to remove a volume group named '%1'. - + '%1' എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പ് നീക്കം ചെയ്യുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -2568,7 +2568,7 @@ Output: Invalid configuration - + അസാധുവായ ക്രമീകരണം @@ -2657,7 +2657,7 @@ Output: Resize Volume Group - + വോള്യം ഗ്രൂപ്പിന്റെ വലുപ്പം മാറ്റുക @@ -2684,27 +2684,27 @@ Output: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + %1 സജ്ജീകരിക്കുന്നതിനുള്ള ഏറ്റവും കുറഞ്ഞ ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>സജ്ജീകരണം തുടരാനാവില്ല. <a href="#details">വിവരങ്ങൾ...</a> This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + %1 ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ഏറ്റവും കുറഞ്ഞ ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>ഇൻസ്റ്റളേഷൻ തുടരാനാവില്ല. <a href="#details">വിവരങ്ങൾ...</a> This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + %1 സജ്ജീകരിക്കുന്നതിനുള്ള ചില ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>സജ്ജീകരണം തുടരാം, പക്ഷേ ചില സവിശേഷതകൾ നിഷ്ക്രിയമായിരിക്കാം. This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + %1 ഇൻസ്റ്റാൾ ചെയ്യാൻ ശുപാർശ ചെയ്യപ്പെട്ടിട്ടുള്ള ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>ഇൻസ്റ്റളേഷൻ തുടരാം, പക്ഷേ ചില സവിശേഷതകൾ നിഷ്ക്രിയമായിരിക്കാം. This program will ask you some questions and set up %2 on your computer. - + ഈ പ്രക്രിയ താങ്കളോട് ചില ചോദ്യങ്ങൾ ചോദിക്കുകയും %2 താങ്കളുടെ കമ്പ്യൂട്ടറിൽ സജ്ജീകരിക്കുകയും ചെയ്യും. @@ -2898,7 +2898,7 @@ Output: Cannot disable root account. - + റൂട്ട് അക്കൗണ്ട് നിഷ്ക്രിയമാക്കാനായില്ല. @@ -2936,7 +2936,7 @@ Output: Cannot set timezone. - + സമയപദ്ധതി സജ്ജമാക്കാനായില്ല. @@ -2946,12 +2946,12 @@ Output: Cannot set timezone, - + സമയപദ്ധതി സജ്ജമാക്കാനായില്ല, Cannot open /etc/timezone for writing - + എഴുതുന്നതിനായി /etc/timezone തുറക്കാനായില്ല @@ -2976,7 +2976,7 @@ Output: This is an overview of what will happen once you start the setup procedure. - + താങ്കൾ സജ്ജീകരണപ്രക്രിയ ആരംഭിച്ചതിനുശേഷം എന്ത് സംഭവിക്കും എന്നതിന്റെ അവലോകനമാണിത്. @@ -2989,7 +2989,7 @@ Output: Summary - + ചുരുക്കം @@ -2997,12 +2997,12 @@ Output: Installation feedback - + ഇൻസ്റ്റളേഷനെ പറ്റിയുള്ള പ്രതികരണം Sending installation feedback. - + ഇൻസ്റ്റളേഷനെ പറ്റിയുള്ള പ്രതികരണം അയയ്ക്കുന്നു. @@ -3074,7 +3074,7 @@ Output: By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + ഇത് തിരഞ്ഞെടുക്കുന്നതിലൂടെ നിങ്ങളുടെ ഇൻസ്റ്റാളേഷനെക്കുറിച്ചും ഹാർഡ്‌വെയറിനെക്കുറിച്ചും വിവരങ്ങൾ അയയ്ക്കും. ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായതിന് ശേഷം <b>ഒരു തവണ മാത്രമേ ഈ വിവരങ്ങൾ അയയ്ക്കൂ</b>. @@ -3084,7 +3084,7 @@ Output: By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + ഇത് തിരഞ്ഞെടുക്കുന്നതിലൂടെ നിങ്ങളുടെ ഇൻസ്റ്റാളേഷൻ, ഹാർഡ്‌വെയർ, ആപ്ലിക്കേഷനുകൾ, ഉപയോഗ രീതികൾ എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾ <b>പതിവായി</b> %1 ലേക്ക് അയയ്ക്കും. @@ -3092,7 +3092,7 @@ Output: Feedback - + പ്രതികരണം @@ -3100,12 +3100,12 @@ Output: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് സജ്ജീകരണത്തിന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് ഇൻസ്റ്റളേഷന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> @@ -3152,12 +3152,12 @@ Output: Key - + സൂചിക Value - + മൂല്യം @@ -3175,12 +3175,12 @@ Output: Volume Group Name: - + വോള്യം ഗ്രൂപ്പിന്റെ പേര്: Volume Group Type: - + വോള്യം ഗ്രൂപ്പ് തരം: @@ -3195,17 +3195,17 @@ Output: Total Size: - + മൊത്തം വലുപ്പം: Used Size: - + ഉപയോഗിച്ച വലുപ്പം: Total Sectors: - + മൊത്തം സെക്ടറുകൾ: @@ -3249,17 +3249,17 @@ Output: Open release notes website - റിലീസ് കുറിപ്പുകളുടെ വെബ്സൈറ്റ് തുറക്കുക + പ്രകാശന കുറിപ്പുകളുടെ വെബ്സൈറ്റ് തുറക്കുക &Release notes - പ്രകാശന കുറിപ്പുകൾ + പ്രകാശന കുറിപ്പുകൾ (&R) &Known issues - &നേരത്തേ അറിയാവുന്ന പ്രശ്നങ്ങൾ + ഇതിനകം അറിയാവുന്ന പ്രശ്നങ്ങൾ (&K) @@ -3269,27 +3269,27 @@ Output: &About - &വിവരം (&A) + വിവരം (&A) <h1>Welcome to the %1 installer.</h1> - + <h1>%1 ഇൻസ്റ്റാളറിലേക്ക് സ്വാഗതം</h1> <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>%1 -നായുള്ള കലാമാരേസ് ഇൻസ്റ്റാളറിലേക്ക് സ്വാഗതം.</h1> <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>%1 -നായുള്ള കലാമാരേസ് സജ്ജീകരണപ്രക്രിയയിലേയ്ക്ക് സ്വാഗതം.</h1> <h1>Welcome to %1 setup.</h1> - + <h1>%1 സജ്ജീകരണത്തിലേക്ക് സ്വാഗതം.</h1> diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 5fd531a0b..9288d409a 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -1903,7 +1903,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Product Name - + Nome do produto @@ -1913,7 +1913,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Long Product Description - + Descrição longa do produto @@ -1931,7 +1931,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Packages - + Pacotes @@ -2459,12 +2459,12 @@ Saída de Dados: No product - + Nenhum produto No description provided. - + Nenhuma descrição fornecida. @@ -3103,12 +3103,12 @@ Saída de Dados: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a configuração.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a instalação.</small> @@ -3155,7 +3155,7 @@ Saída de Dados: Key - + Chave @@ -3227,7 +3227,7 @@ Saída de Dados: Select application and system language - + Selecione o idioma da aplicação e do sistema @@ -3252,7 +3252,7 @@ Saída de Dados: Open release notes website - + Abrir o site com as notas de lançamento diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index f4c3df441..ba4c28d6b 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -4,17 +4,17 @@ The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - 這個系統的<strong>開機環境</strong>。<br><br>較舊的 x86 系統只支援 <strong>BIOS</strong>。<br>現代的系統則通常使用 <strong>EFI</strong>,但若開機環境是以相容模式執行,其也可能顯示為 BIOS。 + 這個系統的<strong>開機環境</strong>。<br><br>較舊的 x86 系統只支援 <strong>BIOS</strong>。<br>現時的系統則通常使用 <strong>EFI</strong>,但若使用相容模式 (CSM),也可能顯示為 BIOS。 This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - 這個系統以 <strong>EFI</strong> 開機環境啟動。<br><br>要設定從 EFI 環境開機,本安裝程式必須部署一個開機載入器應用程式,像是 <strong>GRUB</strong> 或 <strong>systemd-boot</strong> 在 <strong>EFI 系統分割區</strong>上。這是自動的,除非您選擇手動分割,在這種情況下,您必須自行選取或建立它。 + 這個系統以 <strong>EFI</strong> 開機。<br><br>要從 EFI 環境開機,本安裝程式必須安裝開機載入器程式,像是 <strong>GRUB</strong> 或 <strong>systemd-boot</strong> 在 <strong>EFI 系統分割區</strong>。這是自動的,除非選擇手動分割;在這種情況,您必須自行選取或建立它。 This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. - 這個系統以 <strong>BIOS</strong> 開機環境開始。<br><br>要從 BIOS 環境開機開機,本安裝程式必須安裝開機載入器,像是 <strong>GRUB</strong>,且通常不是安裝在分割區的開頭就是在靠進分割表開頭的 <strong>主開機記錄</strong>(推薦)。這是自動的,除非您選擇手動分割,在這種情況下,您必須自行設定它。 + 這個系統以 <strong>BIOS</strong> 開機。<br><br>要從 BIOS 環境開機,本安裝程式必須安裝開機載入器程式,像是 <strong>GRUB</strong>。而且通常安裝在分割區的開首,又或最好安裝在靠近分割表開首的 <strong>主要開機記錄 (MBR)</strong>。這是自動的,除非選擇手動分割;在這種情況,您必須自行設定它。 @@ -258,7 +258,7 @@ Would you like to paste the install log to the web? - 您想要將安裝紀錄檔貼到網路上嗎? + 想要將安裝紀錄檔貼到網路上嗎? @@ -298,7 +298,7 @@ &Set up now - 現在進行設定 (&S) + 馬上進行設定 (&S) @@ -329,7 +329,7 @@ Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - 您真的想要取消目前的設定程序嗎? + 真的想要取消目前的設定程序嗎? 設定程式將會結束,所有變更都將會遺失。 @@ -471,7 +471,7 @@ The installer will quit and all changes will be lost. <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. - <strong>手動分割</strong><br/>您可以自行建立或重新調整分割區大小。 + <strong>手動分割</strong><br/>可以自行建立或重新調整分割區大小。 @@ -537,7 +537,7 @@ The installer will quit and all changes will be lost. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - <strong>抹除磁碟</strong><br/>這將會<font color="red">刪除</font>目前選取的儲存裝置上所有的資料。 + <strong>抹除磁碟</strong><br/>這將會<font color="red">刪除</font>目前選取的儲存裝置所有的資料。 @@ -932,12 +932,12 @@ The installer will quit and all changes will be lost. The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - 選定的儲存裝置上的<strong>分割表</strong>類型。<br><br>變更分割表的唯一方法就是抹除再重新從頭建立分割表,這會破壞在該儲存裝置上所有的資料。<br>除非您特別選擇,否則本安裝程式將會保留目前的分割表。<br>若不確定,在現代的系統上,建議使用 GPT。 + 選定的儲存裝置的<strong>分割表</strong>類型。<br><br>變更分割表的唯一方法,就是抹除再重新從頭建立分割表,這會破壞在該儲存裝置所有的資料。<br>除非特別選擇,否則本安裝程式會保留目前的分割表。<br>若不確定,現時的系統建議使用 GPT。 This device has a <strong>%1</strong> partition table. - 此裝置已有一個 <strong>%1</strong> 分割表了。 + 此裝置已有 <strong>%1</strong> 分割表。 @@ -957,7 +957,7 @@ The installer will quit and all changes will be lost. <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - <br><br>這個分割表類型只被建議在從 <strong>BIOS</strong> 開機環境啟動的較舊系統上使用。其他大多數情況建議使用 GPT。<br><strong>警告:</strong>MBR 分割表是一個被棄用的 MS-DOS 時代的標準。<br>只能有 4 個<em>主要</em>分割區被建立,其中一個可以是<em>延伸</em>分割區,其可以包含許多<em>邏輯</em>分割區。 + <br><br>建議這個分割表類型只在以 <strong>BIOS</strong> 開機的舊系統使用。其他大多數情況建議使用 GPT。<br><strong>警告:</strong>MBR 分割表是已過時、源自 MS-DOS 時代的標準。<br>最多只能建立 4 個<em>主要</em>分割區;其中一個可以是<em>延伸</em>分割區,其可以包含許多<em>邏輯</em>分割區。 @@ -1016,7 +1016,7 @@ The installer will quit and all changes will be lost. &Keep - 保持(&K) + 保留(&K) @@ -1510,12 +1510,12 @@ The installer will quit and all changes will be lost. The system language will be set to %1. - 系統語言將會設定為 %1。 + 系統語言會設定為%1。 The numbers and dates locale will be set to %1. - 數字與日期語系將會被設定為 %1。 + 數字與日期語系會設定為%1。 @@ -2443,7 +2443,7 @@ Output: (no mount point) - (沒有掛載點) + (沒有掛載點) @@ -2707,7 +2707,7 @@ Output: This program will ask you some questions and set up %2 on your computer. - 本程式將會問您一些問題並在您的電腦上安裝及設定 %2 。 + 本程式會問您一些問題,然後在您的電腦安裝及設定 %2。 @@ -2979,7 +2979,7 @@ Output: This is an overview of what will happen once you start the setup procedure. - 這是您開始安裝後所會發生的事的概覽。 + 這是開始安裝後所會發生的事的概覽。 @@ -3252,7 +3252,7 @@ Output: Open release notes website - + 開啟發行手記網站 From ecb1128b61295a96d0d6cd8c87c7ab1bbffc02b8 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 30 Sep 2019 10:34:12 +0200 Subject: [PATCH 391/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- .../lang/pt_BR/LC_MESSAGES/dummypythonqt.mo | Bin 952 -> 966 bytes .../lang/pt_BR/LC_MESSAGES/dummypythonqt.po | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo index dad5673f1796be1ee9ff8989301bbca4df59f8c1..6e11623883432dbc02374151170aee6b3780718b 100644 GIT binary patch delta 83 zcmdnNevExWi0NEL28IM67GPjt_{YS+U<#!9nHd=PfV3-+mIl%xP`Us}TLSq#8#_Z8 Yd3_U$4lhs4Q3%e=DNEdZm+>|u04ov@mjD0& delta 69 zcmX@czJq;2h-p6~149B33otM+d|+Z=Fa^?#%nS^CK-wHgO9N>)D4hhPErI;Hjh&&4 Ko8K_rVgvwTP71&P diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po index 53a05e9ec..4377e6c3e 100644 --- a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po @@ -5,16 +5,16 @@ # # Translators: # Rodrigo de Almeida Sottomaior Macedo , 2017 -# Guilherme , 2018 +# Guilherme Marçal Silva , 2018 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 07:09-0500\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" -"Last-Translator: Guilherme , 2018\n" +"Last-Translator: Guilherme Marçal Silva , 2018\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" From 7a8c44a4a3c7e6cf386f6d342d1b33a05e603e75 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 30 Sep 2019 10:34:12 +0200 Subject: [PATCH 392/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/hr/LC_MESSAGES/python.mo | Bin 8030 -> 8028 bytes lang/python/hr/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/pt_BR/LC_MESSAGES/python.mo | Bin 8342 -> 8356 bytes lang/python/pt_BR/LC_MESSAGES/python.po | 4 ++-- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lang/python/hr/LC_MESSAGES/python.mo b/lang/python/hr/LC_MESSAGES/python.mo index 7bbf2f3f2d8a6a962907404f33e7afb4eef2e1b9..c455dea5d73acf9bc5829777bd05549603e54618 100644 GIT binary patch delta 299 zcmW;GEo*{N7{>8SCkBf{e1Ag_oQi@5H&}RhOtK*&28&=Yt(YcOvtSZGfy&;X3!f^=GXI52K)@U0CwrFPiy`HFQLz0={7phgiZn2Ji>d zc)?fnMx`viqnSUkfh)}674!HMld9N?X>>215u^ydFo`GRt(+F7Wixi!en)?^4^Q1Uj(;T* delta 301 zcmW;Gy$eBM6vy#XS0)4Ua=G40$!jr@;dV_1l0h~GWieB>J6j9}e}X|NWtYLitfa(b z<8R>mSkC7;zn;!Hck^Lx$C|B+$bsU;8wT)=b<{#4d2C<-r&z=l`tgcM{9qM5VUaX8 zQS}pS;TALa#VlqFks5XkvHydY1POv8#_)yw6-Puw9T>+FR, 2018 -# Pietro Francesco Fontana, 2018 +# Pietro F. Fontana, 2018 # Pierfrancesco Passerini , 2019 # #, fuzzy diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index a004f563d372fcb11c7dbb55f77a7853798d7bc7..9341ca4815f112cddd44fb72246b9da4ac27c691 100644 GIT binary patch delta 601 zcmXZZPbh3`7{o*5k#k;qC5X1<60Xy6Fmqx#@?oWT};dmZPHT5^RGXki}fsID?kd&h9W;rqwK5U5ui&6^(j0QR779C$W}zHjE|&KT71Q(C`UhEBNVWg~ delta 587 zcmXZZIY5_(eRE^x5YnB7J_5q=-1RBI{UP zClbYN?8Zx6#U~8wdcBB=FH5H5l&$ar?D&`GKUKRvHyb;f<}U8 ztica#$8T)Gau$Oa#$GhB4fl{o&UjHd&2GUB)cgRo6L+X}eo*)I*!*6Cfrb5e z@A-zh(bwu85XBJl9qhz34&Vdo2fyPi{^Ax+^83_~D~zFo78X&ja)tIraQvFVK7&_G i;XHlT0vXf}SW+0)WsW%kiusQLp}aY0=G diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 493d4deed..a5da0a8fc 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -5,7 +5,7 @@ # # Translators: # André Marcelo Alvarenga , 2019 -# Guilherme , 2019 +# Guilherme Marçal Silva , 2019 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Guilherme , 2019\n" +"Last-Translator: Guilherme Marçal Silva , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" From 05108205946fdbe4213eac1961b2aceda47ef8e7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 12:22:14 +0200 Subject: [PATCH 393/626] [displaymanager] Document what the list of DE's is for --- src/modules/displaymanager/main.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index fdb802fef..8f68803ea 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -96,6 +96,19 @@ class DesktopEnvironment: self.find_tryexec(root_mount_point, desktop_file) is not None) +# This is the list of desktop environments that Calamares looks +# for; if no default environment is **explicitly** configured +# in the `displaymanager.conf` then the first one from this list +# that is found, is used. +# +# Each DE has a sample executable to look for, and a .desktop filename. +# If the executable exists, the DE is assumed to be installed +# and to use the given .desktop filename. +# +# If the .desktop file exists and contains a TryExec line and that +# TryExec executable exists (searched in /bin, /usr/bin, /sbin and +# /usr/local/bin) then the DE is assumed to be installed +# and to use that .desktop filename. desktop_environments = [ DesktopEnvironment('/usr/bin/startplasma-x11', 'plasma'), # KDE Plasma 5.17+ DesktopEnvironment('/usr/bin/startkde', 'plasma'), # KDE Plasma 5 From fb07757aaba47674542b7e7f8741ef3125d477ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 12:33:42 +0200 Subject: [PATCH 394/626] [displaymanager] Document *defaultDesktopEnvironment* - while the keys are mandatory, their meaning is entirely optional. --- src/modules/displaymanager/displaymanager.conf | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/modules/displaymanager/displaymanager.conf b/src/modules/displaymanager/displaymanager.conf index 8f8e9c704..366e074ab 100644 --- a/src/modules/displaymanager/displaymanager.conf +++ b/src/modules/displaymanager/displaymanager.conf @@ -13,7 +13,21 @@ displaymanagers: - lxdm - kdm -#Enable the following settings to force a desktop environment in your displaymanager configuration file: +# Enable the following settings to force a desktop environment +# in your displaymanager configuration file. This will attempt +# to configure the given DE (without checking if it is installed). +# The DM configuration for each potential DM may **or may not** +# support configuring a default DE, so the keys are mandatory +# but their interpretation is up to the DM configuration. +# +# Subkeys of *defaultDesktopEnvironment* are: +# - *executable* a full path to an executable (manda) +# - *desktopFile* a .desktop filename (optional) +# +# If this is **not** set, then Calamares will look for installed +# DE's and pick the first one it finds. +# + #defaultDesktopEnvironment: # executable: "startkde" # desktopFile: "plasma" From a3666cabe0e76e9fdc69ec9101d72fdb91761c89 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 12:41:05 +0200 Subject: [PATCH 395/626] [displaymanager] Fix naming - Having a global and a class-local function with the same name that do very different things is confusing. --- src/modules/displaymanager/displaymanager.conf | 6 +++--- src/modules/displaymanager/main.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/modules/displaymanager/displaymanager.conf b/src/modules/displaymanager/displaymanager.conf index 366e074ab..fe1d2bc14 100644 --- a/src/modules/displaymanager/displaymanager.conf +++ b/src/modules/displaymanager/displaymanager.conf @@ -20,9 +20,9 @@ displaymanagers: # support configuring a default DE, so the keys are mandatory # but their interpretation is up to the DM configuration. # -# Subkeys of *defaultDesktopEnvironment* are: -# - *executable* a full path to an executable (manda) -# - *desktopFile* a .desktop filename (optional) +# Subkeys of *defaultDesktopEnvironment* are (all mandatory): +# - *executable* a full path to an executable +# - *desktopFile* a .desktop filename # # If this is **not** set, then Calamares will look for installed # DE's and pick the first one it finds. diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 8f68803ea..d08b1f049 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -83,7 +83,7 @@ class DesktopEnvironment: return candidate return None - def find_desktop_environment(self, root_mount_point): + def is_installed(self, root_mount_point): """ Check if this environment is installed in the target system at @p root_mount_point. @@ -144,7 +144,7 @@ def find_desktop_environment(root_mount_point): """ libcalamares.utils.debug("Using rootMountPoint {!r}".format(root_mount_point)) for desktop_environment in desktop_environments: - if desktop_environment.find_desktop_environment(root_mount_point): + if desktop_environment.is_installed(root_mount_point): libcalamares.utils.debug(".. selected DE {!s}".format(desktop_environment.desktop_file)) return desktop_environment return None From fe339527336b7067e5c0a107f4350a844b095945 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 12:58:56 +0200 Subject: [PATCH 396/626] [displaymanager] Document the internal functions for DE finding - rename find_* to _search_* to make clear they're internal. --- src/modules/displaymanager/main.py | 43 +++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index d08b1f049..abbd6b7e8 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,31 +51,59 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop - def find_executable(self, root_mount_point, command): - if command.startswith("/"): + def _search_executable(self, root_mount_point, pathname): + """ + Search for @p pathname within @p root_mount_point . + If the pathname is absolute, just check there inside + the target, otherwise earch in a sort-of-sensible $PATH. + + Returns the full (including @p root_mount_point) path + to that executable, or None. + """ + if pathname.startswith("/"): path = [""] else: path = ["/bin/", "/usr/bin/", "/sbin/", "/usr/local/bin/"] for p in path: - absolute_path = "{!s}{!s}{!s}".format(root_mount_point, p, command) + absolute_path = "{!s}{!s}{!s}".format(root_mount_point, p, pathname) if os.path.exists(absolute_path): return absolute_path return None - def find_tryexec(self, root_mount_point, absolute_desktop_file): + def _search_tryexec(self, root_mount_point, absolute_desktop_file): + """ + Check @p absolute_desktop_file for a TryExec line and, if that is + found, search for the command (executable pathname) within + @p root_mount_point. The .desktop file must live within the + target root. + + Returns the full (including @p root_mount_point) for the executable + from TryExec, or None. + """ assert absolute_desktop_file.startswith(root_mount_point) with open(absolute_desktop_file, "r") as f: for tryexec_line in [x for x in f.readlines() if x.startswith("TryExec")]: try: key, value = tryexec_line.split("=") if key.strip() == "TryExec": - return self.find_executable(root_mount_point, value.strip()) + return self._search_executable(root_mount_point, value.strip()) except: pass return None + def find_executable(self, root_mount_point): + """ + Returns the full path of the configured executable within @p root_mount_point, + or None if it isn't found. May search in a semi-sensible $PATH. + """ + return self._search_executable(root_mount_point, self.executable) + def find_desktop_file(self, root_mount_point): + """ + Returns the full path of the .desktop file within @p root_mount_point, + or None if it isn't found. Searches both X11 and Wayland sessions. + """ x11_sessions = "{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file) wayland_sessions = "{!s}/usr/share/wayland-sessions/{!s}.desktop".format(root_mount_point, self.desktop_file) for candidate in (x11_sessions, wayland_sessions): @@ -92,8 +120,9 @@ class DesktopEnvironment: if desktop_file is None: return False - return (self.find_executable(root_mount_point, self.executable) is not None or - self.find_tryexec(root_mount_point, desktop_file) is not None) + return (self.find_executable(root_mount_point) is not None or + self._search_tryexec(root_mount_point, desktop_file) is not None) + # This is the list of desktop environments that Calamares looks From 290a0698d89df6bb5258325ab61a4f1911cfdce4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 14:47:05 +0200 Subject: [PATCH 397/626] [displaymanager] Add DE.find() which believes .desktop files - for a DE entry which has a bad executable setting, update the entry from the .desktop file using TryExec. This assumes that the TryExec command is actually something you might want to run. --- src/modules/displaymanager/main.py | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index abbd6b7e8..313c679fa 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -123,6 +123,41 @@ class DesktopEnvironment: return (self.find_executable(root_mount_point) is not None or self._search_tryexec(root_mount_point, desktop_file) is not None) + def find(self, root_mount_point): + """ + Find thie DE in the target system at @p root_mount_point. + This can update the *executable* configuration value if + the configured executable isn't found but the TryExec line + from the .desktop file is. + + The .desktop file is mandatory for a DE. + + Returns True if the DE is installed. + """ + desktop_file = self.find_desktop_file(root_mount_point) + if desktop_file is None: + return False + + executable_file = self.find_executable(root_mount_point) + if executable_file is not None: + # .desktop found and executable as well. + return True + + executable_file = self._search_tryexec(root_mount_point, desktop_file) + if executable_file is not None: + # Found from the .desktop file, so update own executable config + if root_mount_point and executable_file.startswith(root_mount_point): + executable_file = executable_file[len(root_mount_point):] + if not executable_file: + # Somehow chopped down to nothing + return False + + if executable_file[0] != "/": + executable_file = "/" + executable_file + self.executable = executable_file + return True + # This is to double-check + return self.is_installed(root_mount_point) # This is the list of desktop environments that Calamares looks From 1beadee2a75b20b2719e2e62afc29d51074eb053 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 14:53:05 +0200 Subject: [PATCH 398/626] [displaymanager] Believe the .desktop file - if a default DE is configured but the executable doesn't exist, believe the .desktop file. Then use that, and warn if the whole thing can not be found. --- src/modules/displaymanager/main.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 313c679fa..ca42e6204 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -123,7 +123,7 @@ class DesktopEnvironment: return (self.find_executable(root_mount_point) is not None or self._search_tryexec(root_mount_point, desktop_file) is not None) - def find(self, root_mount_point): + def update_from_desktop_file(self, root_mount_point): """ Find thie DE in the target system at @p root_mount_point. This can update the *executable* configuration value if @@ -924,6 +924,11 @@ def run(): default_desktop_environment = DesktopEnvironment( entry["executable"], entry["desktopFile"] ) + # Adjust if executable is bad, but desktopFile isn't. + if not default_desktop_environment.update_from_desktop_file(root_mount_point): + libcalamares.utils.warning( + "The configured default desktop environment, {!s}, " + "can not be found.".format(default_desktop_environment.desktop_file)) else: default_desktop_environment = find_desktop_environment( root_mount_point From 7ffe25fca0ee4dacf34dba4f720cdb531fddb4aa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 15:40:44 +0200 Subject: [PATCH 399/626] [displaymanager] Document that TryExec can supplant executable --- src/modules/displaymanager/displaymanager.conf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/displaymanager/displaymanager.conf b/src/modules/displaymanager/displaymanager.conf index fe1d2bc14..c3e0e1160 100644 --- a/src/modules/displaymanager/displaymanager.conf +++ b/src/modules/displaymanager/displaymanager.conf @@ -25,7 +25,11 @@ displaymanagers: # - *desktopFile* a .desktop filename # # If this is **not** set, then Calamares will look for installed -# DE's and pick the first one it finds. +# DE's and pick the first one it finds that is actually installed. +# +# If this **is** set, and the *executable* key doesn't point to +# an installed file, then the .desktop file's TryExec key is +# used instead. # #defaultDesktopEnvironment: From 784bc5b86eba62393e085243728da2fabac40adb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 16:23:07 +0200 Subject: [PATCH 400/626] [unpackfs] Expand documentation - comment out the squashfs example, since it's not readily available even on developer systems - add entries for the upcoming "file" type. --- src/modules/unpackfs/unpackfs.conf | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index 9720f19a1..b58b2f1d2 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -9,13 +9,18 @@ # target dir relative to rootMountPoint. --- -unpack: # Each list item is unpacked, in order, to the target system. +# # Each list item has the following attributes: # source: path relative to the live / intstalling system to the image -# sourcefs: ext4 or squashfs (may be others if mount supports it) +# sourcefs: the type of the source files; valid entries are +# - *ext4* (copies the filesystem contents) +# - *squashfs* (unsquashes) +# - *file* (copies a file or directory) +# - (may be others if mount supports it) # destination: path relative to rootMountPoint (so in the target # system) where this filesystem is unpacked. +unpack: # Usually you list a filesystem image to unpack; you can use # squashfs or an ext4 image. @@ -33,6 +38,14 @@ unpack: # You can list filesystem source paths relative to the Calamares run # directory, if you use -d (this is only useful for testing, though). - - source: ./example.sqfs - sourcefs: squashfs - destination: "" +# - source: ./example.sqfs +# sourcefs: squashfs +# destination: "" +# You can list individual files + - source: ../CHANGES + sourcefs: file + destination: "/tmp/derp" +# .. or directories + - source: ../src/modules/dummycpp + sourcefs: file + destination: "/tmp/derp" From 7856c1a6a8a0dd2ccc3618f92d867a7f94cd1ba3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 16:27:57 +0200 Subject: [PATCH 401/626] [unpackfs] Do more checks before doing any work --- src/modules/unpackfs/main.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 90c258cd7..940f9152a 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -330,8 +330,7 @@ def run(): supported_filesystems = get_supported_filesystems() - unpack = list() - + # Bail out before we start when there are obvious problems for entry in job.configuration["unpack"]: source = os.path.abspath(entry["source"]) sourcefs = entry["sourcefs"] @@ -340,14 +339,18 @@ def run(): utils.warning("The filesystem for \"{}\" ({}) is not supported".format(source, sourcefs)) return (_("Bad unsquash configuration"), _("The filesystem for \"{}\" ({}) is not supported").format(source, sourcefs)) - - destination = os.path.abspath(root_mount_point + entry["destination"]) - if not os.path.exists(source): utils.warning("The source filesystem \"{}\" does not exist".format(source)) return (_("Bad unsquash configuration"), _("The source filesystem \"{}\" does not exist").format(source)) + unpack = list() + + for entry in job.configuration["unpack"]: + source = os.path.abspath(entry["source"]) + sourcefs = entry["sourcefs"] + destination = os.path.abspath(root_mount_point + entry["destination"]) + if not os.path.isdir(destination): utils.warning(("The destination \"{}\" in the target system is not a directory").format(destination)) return (_("Bad unsquash configuration"), From 27cdaba8b2b57665b762fac1b1ae5d05c10197ef Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 16:47:39 +0200 Subject: [PATCH 402/626] [unpackfs] Special-case file sources --- src/modules/unpackfs/main.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 940f9152a..12aaa5b10 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -58,6 +58,9 @@ class UnpackEntry: self.copied = 0 self.total = 0 + def is_file(self): + return self.sourcefs == "file" + ON_POSIX = 'posix' in sys.builtin_module_names @@ -247,9 +250,15 @@ class UnpackOperation: """ Mount given image as loop device. + A *file* entry (e.g. one with *sourcefs* set to *file*) + is not mounted and just ignored. + :param entry: :param imgmountdir: """ + if entry.is_file(): + return + if os.path.isdir(entry.source): subprocess.check_call(["mount", "--bind", entry.source, @@ -289,10 +298,11 @@ class UnpackOperation: try: return file_copy(imgmountdir, entry.destination, progress_cb) finally: - subprocess.check_call(["umount", "-l", imgmountdir]) + if not entry.is_file(): + subprocess.check_call(["umount", "-l", imgmountdir]) -def get_supported_filesystems(): +def get_supported_filesystems_kernel(): """ Reads /proc/filesystems (the list of supported filesystems for the current kernel) and returns a list of (names of) @@ -310,6 +320,14 @@ def get_supported_filesystems(): return [] +def get_supported_filesystems(): + """ + Returns a list of all the supported filesystems + (valid values for the *sourcefs* key in an item. + """ + return ["file"] + get_supported_filesystems_kernel() + + def run(): """ Unsquash filesystem. From 6fb2563c754f08d91442823f26c657d2c76ed0bb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 17:12:48 +0200 Subject: [PATCH 403/626] [unpackfs] Copy files when sourcefs = "file" - Just use the existing rsync code, which can do both files and directory trees. - The existing code assumed we were always copying directories. Now double-check beforehand. --- src/modules/unpackfs/main.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 12aaa5b10..fd3f97353 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -103,7 +103,7 @@ def file_copy(source, dest, progress_cb): # `source` *must* end with '/' otherwise a directory named after the source # will be created in `dest`: ie if `source` is "/foo/bar" and `dest` is # "/dest", then files will be copied in "/dest/bar". - if not source.endswith("/"): + if not source.endswith("/") and not os.path.isfile(source): source += "/" num_files_total_local = 0 @@ -228,11 +228,16 @@ class UnpackOperation: ["unsquashfs", "-l", entry.source] ) - if entry.sourcefs == "ext4": + elif entry.sourcefs == "ext4": fslist = subprocess.check_output( ["find", imgmountdir, "-type", "f"] ) + elif entry.is_file(): + # Hasn't been mounted, copy directly; find handles both + # files and directories. + fslist = subprocess.check_output(["find", entry.source, "-type", "f"]) + entry.total = len(fslist.splitlines()) self.report_progress() @@ -296,7 +301,12 @@ class UnpackOperation: self.report_progress() try: - return file_copy(imgmountdir, entry.destination, progress_cb) + if entry.is_file(): + source = entry.source + else: + source = imgmountdir + + return file_copy(source, entry.destination, progress_cb) finally: if not entry.is_file(): subprocess.check_call(["umount", "-l", imgmountdir]) From 95f725831ff898872273ef6f29c5ad25849dfb4a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 17:31:29 +0200 Subject: [PATCH 404/626] [unpackfs] Shuffle the documentation - move all the examples to an EXAMPLES section - leave one single-file example enabled in the configuration --- src/modules/unpackfs/unpackfs.conf | 40 +++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index b58b2f1d2..d994e351a 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -19,33 +19,49 @@ # - *file* (copies a file or directory) # - (may be others if mount supports it) # destination: path relative to rootMountPoint (so in the target -# system) where this filesystem is unpacked. -unpack: - +# system) where this filesystem is unpacked. It may be an +# empty string, which effectively is / (the root) of the target +# system. +# +# EXAMPLES +# # Usually you list a filesystem image to unpack; you can use # squashfs or an ext4 image. # # - source: "/path/to/filesystem.sqfs" # sourcefs: "squashfs" # destination: "" - -# You can list more than one filesystem. +# +# Multiple entries are unpacked in-order # # - source: "/path/to/another/filesystem.img" # sourcefs: "ext4" # destination: "" +# - source: "/path/to/another/filesystem2.img" +# sourcefs: "ext4" +# destination: "/usr/lib/extra" # - # You can list filesystem source paths relative to the Calamares run # directory, if you use -d (this is only useful for testing, though). +# # - source: ./example.sqfs # sourcefs: squashfs # destination: "" -# You can list individual files +# +# You can list individual files (copied one-by-one), or directories +# (the files inside this directory are copied directly to the destination, +# so no "dummycpp/" subdirectory is created in this example). +# Do note that the target directory must exist already (e.g. from +# extracting some other filesystem). +# +# - source: ../CHANGES +# sourcefs: file +# destination: "/tmp/derp" +# - source: ../src/modules/dummycpp +# sourcefs: file +# destination: "/tmp/derp" + +unpack: - source: ../CHANGES sourcefs: file - destination: "/tmp/derp" -# .. or directories - - source: ../src/modules/dummycpp - sourcefs: file - destination: "/tmp/derp" + destination: "/tmp" From d68ff5f694dd2a85c3ffc6dd0b4891fac7bc984c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 10:39:24 +0200 Subject: [PATCH 405/626] CI: add option handling (alongside env) to influence build --- ci/RELEASE.sh | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/ci/RELEASE.sh b/ci/RELEASE.sh index 78fc1f7ce..de9192f28 100755 --- a/ci/RELEASE.sh +++ b/ci/RELEASE.sh @@ -1,5 +1,7 @@ #! /bin/sh # +### USAGE +# # Release script for Calamares # # This attempts to perform the different steps of the RELEASE.md @@ -11,15 +13,21 @@ # # None of the "update stuff" is done by this script; in preparation # for the release, you should have already done: -# - updating the version -# - pulling translations -# - updating the language list -# - switching to the right branch +# * updating the version +# * pulling translations +# * updating the language list +# * switching to the right branch # -# You can influence the script a little with environment variables: -# - BUILD_DEFAULT set to false to avoid first build with gcc -# - BUILD_CLANG set to false to avoid second build with clang -# - BUILD_ONLY set to true to break after building +# You can influence the script a little with these options: +# * `-B` do not build (anything) +# * `-P` do not package (tag, sign, tarball) +# +# The build / package settings can be influenced via environment variables: +# * BUILD_DEFAULT set to `false` to avoid first build with gcc +# * BUILD_CLANG set to `false` to avoid second build with clang +# * BUILD_ONLY set to `true` to break after building +# +### END USAGE test -d .git || { echo "Not at top-level." ; exit 1 ; } test -d src/modules || { echo "No src/modules." ; exit 1 ; } @@ -30,6 +38,23 @@ test -z "$BUILD_DEFAULT" && BUILD_DEFAULT=true test -z "$BUILD_CLANG" && BUILD_CLANG=true test -z "$BUILD_ONLY" && BUILD_ONLY=false +while getopts "hBP" opt ; do + case "$opt" in + h|\?) + sed -e '1,/USAGE/d' -e '/END.USAGE/,$d' < "$0" + return 0 + ;; + B) + BUILD_DEFAULT=false + BUILD_CLANG=false + ;; + P) + BUILD_ONLY=true + ;; + esac +done + + ### Setup # # From 9ad5ba36b0171d7fc12bc46edaf57acd10ab4980 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 17:42:25 +0200 Subject: [PATCH 406/626] Changes: pre-release housekeeping --- CHANGES | 6 +++++- CMakeLists.txt | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 66b8a8bcb..965bb0459 100644 --- a/CHANGES +++ b/CHANGES @@ -4,13 +4,14 @@ changelog -- this log starts with version 3.2.0. The release notes on the website will have to do for older versions. -# 3.2.14 (unreleased) # +# 3.2.14 (2019-09-30) # This release contains contributions from (alphabetically by first name): - Andrius Štikonas - Harald Sitter ## Core ## + - No changes to core functionality ## Modules ## @@ -21,6 +22,9 @@ This release contains contributions from (alphabetically by first name): - *displaymanager* module now recognizes KDE Plasma 5.17. - *displaymanager* module now can handle Wayland sessions and can detect sessions from their .desktop files. #1247 #1248 + - *unpackfs* now has special handling for *sourcefs* setting "file" + (so you can copy single files or directories that are on the source + system, directly to the target). #1188 #1181 # 3.2.13 (2019-08-30) # diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f8734df0..64e149cd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ project( CALAMARES VERSION 3.2.14 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 70fc480c56b203fc59d29e98693a7d08d8f503b8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 17:54:44 +0200 Subject: [PATCH 407/626] [libcalamares] If test is going to fail, be more verbose on failure --- src/libcalamares/modulesystem/Tests.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/modulesystem/Tests.cpp b/src/libcalamares/modulesystem/Tests.cpp index 4ef5840ea..e7301a0be 100644 --- a/src/libcalamares/modulesystem/Tests.cpp +++ b/src/libcalamares/modulesystem/Tests.cpp @@ -52,7 +52,14 @@ assert_is_invalid( const InstanceKey& k ) QVERIFY( !k.isCustom() ); QVERIFY( k.module().isEmpty() ); QVERIFY( k.id().isEmpty() ); - QVERIFY( k.toString().isEmpty() ); + if ( k.toString().isEmpty() ) + { + QVERIFY( k.toString().isEmpty() ); + } + else + { + QCOMPARE( k.toString(), QString() ); + } } void From 4970c328fa2cb1b7f57168879ef0eb38893ea7fe Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 30 Sep 2019 17:55:11 +0200 Subject: [PATCH 408/626] [libcalamares] Fix stringification of broken instance keys --- src/libcalamares/modulesystem/InstanceKey.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/modulesystem/InstanceKey.h b/src/libcalamares/modulesystem/InstanceKey.h index 35ad27c40..ad0fae0e7 100644 --- a/src/libcalamares/modulesystem/InstanceKey.h +++ b/src/libcalamares/modulesystem/InstanceKey.h @@ -90,7 +90,11 @@ public: QString toString() const { - return first + '@' + second; + if ( isValid() ) + { + return first + '@' + second; + } + return QString(); } private: From eb84c0488d21d048afd35820bd83da20e115fbad Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 11:03:12 +0200 Subject: [PATCH 409/626] CI: Polish release script when -B is used to skip build --- ci/RELEASE.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ci/RELEASE.sh b/ci/RELEASE.sh index de9192f28..f79b0ed4a 100755 --- a/ci/RELEASE.sh +++ b/ci/RELEASE.sh @@ -19,7 +19,7 @@ # * switching to the right branch # # You can influence the script a little with these options: -# * `-B` do not build (anything) +# * `-B` do not build (before tagging) # * `-P` do not package (tag, sign, tarball) # # The build / package settings can be influenced via environment variables: @@ -88,11 +88,21 @@ if test "x$BUILD_ONLY" = "xtrue" ; then exit 1 fi +if test -f "$BUILDDIR/CMakeCache.txt" ; then + # Some build has created it, so that's good + : +else + # Presumably -B was given; just do the cmake part + rm -rf "$BUILDDIR" + mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; } + ( cd "$BUILDDIR" && cmake .. ) || { echo "Could not run cmake in $BUILDDIR." ; exit 1 ; } +fi + ### Get version number for this release # # V=$( cd "$BUILDDIR" && make show-version | grep ^CALAMARES_VERSION | sed s/^[A-Z_]*=// ) -test -n "$V" || { echo "Could not obtain version." ; exit 1 ; } +test -n "$V" || { echo "Could not obtain version in $BUILDDIR." ; exit 1 ; } ### Create signed tag # From 160ecd5ddc4e9af10a4a31bd58d1585441eb7a44 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 11:14:21 +0200 Subject: [PATCH 410/626] Changes: post-release housekeeping --- CHANGES | 8 ++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 965bb0459..cddcc9551 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,14 @@ 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.15 (unreleased) # + +This release contains contributions from (alphabetically by first name): + +## Core ## + +## Modules ## + # 3.2.14 (2019-09-30) # diff --git a/CMakeLists.txt b/CMakeLists.txt index 64e149cd8..d13e6a398 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.14 + VERSION 3.2.15 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 4c0719d95da31f7043b1c0f3dbd331dd9ada2bba Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 13:44:06 +0200 Subject: [PATCH 411/626] [machineid] Start porting to C++ --- src/modules/machineid/CMakeLists.txt | 9 +++++ src/modules/machineid/MachineIdJob.cpp | 55 ++++++++++++++++++++++++++ src/modules/machineid/MachineIdJob.h | 48 ++++++++++++++++++++++ src/modules/machineid/module.desc | 5 --- 4 files changed, 112 insertions(+), 5 deletions(-) create mode 100644 src/modules/machineid/CMakeLists.txt create mode 100644 src/modules/machineid/MachineIdJob.cpp create mode 100644 src/modules/machineid/MachineIdJob.h delete mode 100644 src/modules/machineid/module.desc diff --git a/src/modules/machineid/CMakeLists.txt b/src/modules/machineid/CMakeLists.txt new file mode 100644 index 000000000..aa82d672f --- /dev/null +++ b/src/modules/machineid/CMakeLists.txt @@ -0,0 +1,9 @@ +calamares_add_plugin( machineid + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + MachineIdJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp new file mode 100644 index 000000000..b604c645b --- /dev/null +++ b/src/modules/machineid/MachineIdJob.cpp @@ -0,0 +1,55 @@ +/* === This file is part of Calamares - === + * + * Copyright 2014, Kevin Kofler + * Copyright 2016, Philip Müller + * Copyright 2017, Alf Gaida + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "MachineIdJob.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" + +MachineIdJob::MachineIdJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + + +MachineIdJob::~MachineIdJob() {} + + +QString +MachineIdJob::prettyName() const +{ + return tr( "Generate machine-id." ); +} + + +Calamares::JobResult +MachineIdJob::exec() +{ + return Calamares::JobResult::ok(); +} + + +void +MachineIdJob::setConfigurationMap( const QVariantMap& configurationMap ) +{ +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( MachineIdJobFactory, registerPlugin< MachineIdJob >(); ) diff --git a/src/modules/machineid/MachineIdJob.h b/src/modules/machineid/MachineIdJob.h new file mode 100644 index 000000000..7fb705201 --- /dev/null +++ b/src/modules/machineid/MachineIdJob.h @@ -0,0 +1,48 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef MACHINEIDJOB_H +#define MACHINEIDJOB_H + +#include +#include + +#include + +#include + +#include + +class PLUGINDLLEXPORT MachineIdJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit MachineIdJob( QObject* parent = nullptr ); + virtual ~MachineIdJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( MachineIdJobFactory ) + +#endif // DUMMYCPPJOB_H diff --git a/src/modules/machineid/module.desc b/src/modules/machineid/module.desc deleted file mode 100644 index 8d42b64f5..000000000 --- a/src/modules/machineid/module.desc +++ /dev/null @@ -1,5 +0,0 @@ ---- -type: "job" -name: "machineid" -interface: "python" -script: "main.py" From 3ae5a3db76158770522dec835a1e312e8129e40b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 14:13:01 +0200 Subject: [PATCH 412/626] [machineid] Improve documentation on this module - document module's purpose - document existing configurations - deprecate "symlink" and introduce more-accurate "dbus-symlink" - add new configurations for upcoming entropy file --- src/modules/machineid/machineid.conf | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/modules/machineid/machineid.conf b/src/modules/machineid/machineid.conf index 263687263..97bd10a06 100644 --- a/src/modules/machineid/machineid.conf +++ b/src/modules/machineid/machineid.conf @@ -1,8 +1,24 @@ +# Machine-ID and other random data on the target system. +# +# This module can create a number of "random" things on the target: +# - a systemd machine-id file (hence the name of the Calamares module) +# with a random UUID. +# - a dbus machine-id file (or, optionally, link to the one from systemd) +# - an entropy file +# --- # Whether to create /etc/machine-id for systemd. systemd: true + # Whether to create /var/lib/dbus/machine-id for D-Bus. dbus: true # Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id # (ignored if dbus is false, or if there is no /etc/machine-id to point to). +dbus-symlink: true +# this is a deprecated form of *dbus-symlink* symlink: true + +# Whether to create an entropy file +entropy: false +# Whether to copy entropy from the host +entropy-copy: false From be27b448181ad5fe0be1a552cd6583289636941e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 14:36:21 +0200 Subject: [PATCH 413/626] [machineid] Read configuration map into instance vars --- src/modules/machineid/MachineIdJob.cpp | 22 +++++++++++++++++++++- src/modules/machineid/MachineIdJob.h | 9 +++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index b604c645b..3fd539e80 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -23,6 +23,7 @@ #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" +#include "utils/Variant.h" MachineIdJob::MachineIdJob( QObject* parent ) : Calamares::CppJob( parent ) @@ -48,8 +49,27 @@ MachineIdJob::exec() void -MachineIdJob::setConfigurationMap( const QVariantMap& configurationMap ) +MachineIdJob::setConfigurationMap( const QVariantMap& map ) { + m_systemd = CalamaresUtils::getBool( map, "systemd", false ); + + m_dbus = CalamaresUtils::getBool( map, "dbus", false ); + if ( map.contains( "dbus-symlink" ) ) + { + m_dbus_symlink = CalamaresUtils::getBool( map, "dbus-symlink", false ); + } + else if ( map.contains( "symlink" ) ) + { + m_dbus_symlink = CalamaresUtils::getBool( map, "symlink", false ); + cWarning() << "MachineId: configuration setting *symlink* is deprecated, use *dbus-symlink*."; + } + // else it's still false from the constructor + + // ignore it, though, if dbus is false + m_dbus_symlink = m_dbus && m_dbus_symlink; + + m_entropy = CalamaresUtils::getBool( map, "entropy", false ); + m_entropy_copy = CalamaresUtils::getBool( map, "entropy-copy", false ); } CALAMARES_PLUGIN_FACTORY_DEFINITION( MachineIdJobFactory, registerPlugin< MachineIdJob >(); ) diff --git a/src/modules/machineid/MachineIdJob.h b/src/modules/machineid/MachineIdJob.h index 7fb705201..d775d9007 100644 --- a/src/modules/machineid/MachineIdJob.h +++ b/src/modules/machineid/MachineIdJob.h @@ -41,6 +41,15 @@ public: Calamares::JobResult exec() override; void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + bool m_systemd = false; ///< write systemd's files + + bool m_dbus = false; ///< write dbus files + bool m_dbus_symlink = false; ///< .. or just symlink to systemd + + bool m_entropy = false; ///< write an entropy file + bool m_entropy_copy = false; ///< copy from host system }; CALAMARES_PLUGIN_FACTORY_DECLARATION( MachineIdJobFactory ) From 8c3146a1cd7ea3d6918d29c67904a9704073f72e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 15:46:54 +0200 Subject: [PATCH 414/626] [machineid] Start implementing module logic - remove existing files for each kind of random-generation that is enabled. There's a helper function for the case that Cala is no longer setuid and needs help to remove those files from the target (e.g. a setuid helper). --- src/modules/machineid/MachineIdJob.cpp | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index 3fd539e80..b8fc3334a 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -25,6 +25,11 @@ #include "utils/Logger.h" #include "utils/Variant.h" +#include "GlobalStorage.h" +#include "JobQueue.h" + +#include + MachineIdJob::MachineIdJob( QObject* parent ) : Calamares::CppJob( parent ) { @@ -40,10 +45,49 @@ MachineIdJob::prettyName() const return tr( "Generate machine-id." ); } +// might need to use a helper to remove the file +static void +removeFile( const QString& fileName ) +{ + QFile::remove( fileName ); +} Calamares::JobResult MachineIdJob::exec() { + QString root; + + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + if ( gs && gs->contains( "rootMountPoint" ) ) + { + root = gs->value( "rootMountPoint" ).toString(); + } + else + { + cWarning() << "No *rootMountPoint* defined."; + return Calamares::JobResult::internalError( tr( "Configuration Error" ), + tr( "No root mount point is set for MachineId." ), + Calamares::JobResult::InvalidConfiguration ); + } + + QString target_systemd_machineid_file = root + QStringLiteral( "/etc/machine-id" ); + QString target_dbus_machineid_file = root + QStringLiteral( "/var/lib/dbus/machine-id" ); + QString target_entropy_file = root + QStringLiteral( "/var/lib/urandom/random-seed" ); + + // Clear existing files + if ( m_entropy ) + { + removeFile( target_entropy_file ); + } + if ( m_dbus ) + { + removeFile( target_dbus_machineid_file ); + } + if ( m_systemd ) + { + removeFile( target_systemd_machineid_file ); + } + return Calamares::JobResult::ok(); } From 3a8d543c72969c7fda7cdd1cdda2f17948a1e68e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 15:58:02 +0200 Subject: [PATCH 415/626] [libcalamares] Document operator bool() of JobResult - this could be named isValid() instead, but basically the idea is that this code makes sense: JobResult r = do_thing(); if ( !r ) { /* Error happened! */ return r; } /* Carry on .. */ --- src/libcalamares/Job.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libcalamares/Job.h b/src/libcalamares/Job.h index 3eaa251ef..bddd0277c 100644 --- a/src/libcalamares/Job.h +++ b/src/libcalamares/Job.h @@ -46,11 +46,16 @@ public: InvalidConfiguration = 2 }; + // Can't copy, but you can keep a temporary JobResult( const JobResult& rhs ) = delete; JobResult( JobResult&& rhs ); virtual ~JobResult() {} + /** @brief Is this JobResult a success? + * + * Equivalent to errorCode() == 0, might be named isValid(). + */ virtual operator bool() const; virtual QString message() const; From 9cbfd200a1ee08a59610245b8f8b0764bf43427e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 16:01:10 +0200 Subject: [PATCH 416/626] [machineid] Keep the paths unsullied - keep the rootMountPoint and the path-with-random-data separate instead of concatenating them at the beginning. Then we can use the "clean" names also within the host system. --- src/modules/machineid/MachineIdJob.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index b8fc3334a..0edf8a4da 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -47,9 +47,9 @@ MachineIdJob::prettyName() const // might need to use a helper to remove the file static void -removeFile( const QString& fileName ) +removeFile( const QString& rootMountPoint, const QString& fileName ) { - QFile::remove( fileName ); + QFile::remove( rootMountPoint + fileName ); } Calamares::JobResult @@ -70,22 +70,22 @@ MachineIdJob::exec() Calamares::JobResult::InvalidConfiguration ); } - QString target_systemd_machineid_file = root + QStringLiteral( "/etc/machine-id" ); - QString target_dbus_machineid_file = root + QStringLiteral( "/var/lib/dbus/machine-id" ); - QString target_entropy_file = root + QStringLiteral( "/var/lib/urandom/random-seed" ); + QString target_systemd_machineid_file = QStringLiteral( "/etc/machine-id" ); + QString target_dbus_machineid_file = QStringLiteral( "/var/lib/dbus/machine-id" ); + QString target_entropy_file = QStringLiteral( "/var/lib/urandom/random-seed" ); // Clear existing files if ( m_entropy ) { - removeFile( target_entropy_file ); + removeFile( root, target_entropy_file ); } if ( m_dbus ) { - removeFile( target_dbus_machineid_file ); + removeFile( root, target_dbus_machineid_file ); } if ( m_systemd ) { - removeFile( target_systemd_machineid_file ); + removeFile( root, target_systemd_machineid_file ); } return Calamares::JobResult::ok(); From c8229733b0b71844c5c0daff7c4349a2f039e0c7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 16:05:03 +0200 Subject: [PATCH 417/626] [libcalamares] Document the pseudo-constructors for JobResult --- src/libcalamares/Job.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/Job.h b/src/libcalamares/Job.h index bddd0277c..3a68297ca 100644 --- a/src/libcalamares/Job.h +++ b/src/libcalamares/Job.h @@ -68,9 +68,16 @@ public: /// @brief an "ok status" result static JobResult ok(); - /// @brief an "error" result resulting from the execution of the job + /** @brief an "error" result resulting from the execution of the job + * + * The error code is set to GenericError. + */ static JobResult error( const QString& message, const QString& details = QString() ); - /// @brief an "internal error" meaning the job itself has a problem (usually for python) + /** @brief an "internal error" meaning the job itself has a problem (usually for python) + * + * Pass in a suitable error code; using 0 (which would normally mean "ok") instead + * gives you a GenericError code. + */ static JobResult internalError( const QString&, const QString& details, int errorCode ); protected: From 50bb8cde57f2f21fb05d2dff6f5f981844b0620d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 16:26:41 +0200 Subject: [PATCH 418/626] [machineid] Stubs for entropy, systemd, dbus randomness --- src/modules/machineid/MachineIdJob.cpp | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index 0edf8a4da..00149793c 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -52,6 +52,37 @@ removeFile( const QString& rootMountPoint, const QString& fileName ) QFile::remove( rootMountPoint + fileName ); } +/// @brief How to generate entropy (bool-like) +enum class EntropyGeneration +{ + New, + CopyFromHost +}; +/// @brief How to create the DBus machine-id (bool-like) +enum class DBusGeneration +{ + New, + SymlinkFromSystemD +}; + +static Calamares::JobResult +createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ) +{ + return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); +} + +static Calamares::JobResult +createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) +{ + return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); +} + +static Calamares::JobResult +createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const QString& fileName ) +{ + return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); +} + Calamares::JobResult MachineIdJob::exec() { @@ -88,6 +119,35 @@ MachineIdJob::exec() removeFile( root, target_systemd_machineid_file ); } + //Create new files + if ( m_entropy ) + { + auto r = createEntropy( + m_entropy_copy ? EntropyGeneration::CopyFromHost : EntropyGeneration::New, root, target_entropy_file ); + if ( !r ) + { + return r; + } + } + if ( m_systemd ) + { + auto r = createSystemdMachineId( root, target_systemd_machineid_file ); + if ( !r ) + { + return r; + } + } + if ( m_dbus ) + { + auto r = createDBusMachineId( m_dbus_symlink ? DBusGeneration::SymlinkFromSystemD : DBusGeneration::New, + root, + target_dbus_machineid_file ); + if ( !r ) + { + return r; + } + } + return Calamares::JobResult::ok(); } From 8352a793e1664fd36c6903ba5ec07e469390d36a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Oct 2019 17:00:50 +0200 Subject: [PATCH 419/626] [machineid] Implement entropy-file creation - read-urandom or copy-existing-file are implemented - fairly chatty on failure - needs tests (probably the implementation should be moved to a separate file and unit-tested) --- src/modules/machineid/MachineIdJob.cpp | 101 ++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index 00149793c..37df5ef34 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -52,12 +52,29 @@ removeFile( const QString& rootMountPoint, const QString& fileName ) QFile::remove( rootMountPoint + fileName ); } +/// @brief Copy @p fileName from host into target system at @p rootMountPoint +static Calamares::JobResult +copyFile( const QString& rootMountPoint, const QString& fileName ) +{ + QFile f( fileName ); + if ( !f.exists() ) + { + return Calamares::JobResult::error( QObject::tr( "File not found" ), fileName ); + } + if ( !f.copy( rootMountPoint + fileName ) ) + { + return Calamares::JobResult::error( QObject::tr( "File not found" ), rootMountPoint + fileName ); + } + return Calamares::JobResult::ok(); +} + /// @brief How to generate entropy (bool-like) enum class EntropyGeneration { New, CopyFromHost }; + /// @brief How to create the DBus machine-id (bool-like) enum class DBusGeneration { @@ -65,10 +82,92 @@ enum class DBusGeneration SymlinkFromSystemD }; +static int +getUrandomPoolSize() +{ + QFile f( "/proc/sys/kernel/random/poolsize" ); + constexpr const int minimumPoolSize = 512; + int poolSize = minimumPoolSize; + + if ( f.exists() && f.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { + QByteArray v = f.read( 16 ); + if ( v.length() > 2 ) + { + bool ok = false; + poolSize = v.toInt( &ok ); + if ( !ok ) + { + poolSize = minimumPoolSize; + } + } + } + return poolSize >= minimumPoolSize ? poolSize : minimumPoolSize; +} + +static Calamares::JobResult +createNewEntropy( int poolSize, const QString& rootMountPoint, const QString& fileName ) +{ + QFile urandom( "/dev/urandom" ); + if ( urandom.exists() && urandom.open( QIODevice::ReadOnly ) ) + { + QByteArray data = urandom.read( poolSize ); + urandom.close(); + + QFile entropyFile( rootMountPoint + fileName ); + if ( entropyFile.exists() ) + { + cWarning() << "Entropy file" << ( rootMountPoint + fileName ) << "already exists."; + return Calamares::JobResult::ok(); // .. anyway + } + if ( !entropyFile.open( QIODevice::WriteOnly ) ) + { + return Calamares::JobResult::error( + QObject::tr( "File not found" ), + QObject::tr( "Could not create new random file
%1
." ).arg( fileName ) ); + } + entropyFile.write( data ); + entropyFile.close(); + if ( entropyFile.size() < data.length() ) + { + cWarning() << "Entropy file is" << entropyFile.size() << "bytes, random data was" << data.length(); + } + if ( data.length() < poolSize ) + { + cWarning() << "Entropy data is" << data.length() << "bytes, rather than poolSize" << poolSize; + } + } + return Calamares::JobResult::error( + QObject::tr( "File not found" ), + QObject::tr( "Could not read random file
%1
." ).arg( QStringLiteral( "/dev/urandom" ) ) ); +} + + static Calamares::JobResult createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ) { - return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); + if ( kind == EntropyGeneration::CopyFromHost ) + { + if ( QFile::exists( fileName ) ) + { + auto r = copyFile( rootMountPoint, fileName ); + if ( r ) + { + return r; + } + else + { + cWarning() << "Could not copy" << fileName << "for entropy, generating new."; + } + } + else + { + cWarning() << "Host system entropy does not exist at" << fileName; + } + } + + int poolSize = getUrandomPoolSize(); + return createNewEntropy( poolSize, rootMountPoint, fileName ); } static Calamares::JobResult From afe7dfbcf2432a356a2f13d0e7ecf93b02f32e2e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 2 Oct 2019 12:37:31 +0200 Subject: [PATCH 420/626] [machineid] Fix include guard comment --- src/modules/machineid/MachineIdJob.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/machineid/MachineIdJob.h b/src/modules/machineid/MachineIdJob.h index d775d9007..5d44b2017 100644 --- a/src/modules/machineid/MachineIdJob.h +++ b/src/modules/machineid/MachineIdJob.h @@ -54,4 +54,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( MachineIdJobFactory ) -#endif // DUMMYCPPJOB_H +#endif // MACHINEIDJOB_H From 10e5995144f765540f3e1c7cd56c46b4d77f7148 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 3 Oct 2019 12:32:47 +0200 Subject: [PATCH 421/626] [machineid] Split helper functions into own file --- src/modules/machineid/CMakeLists.txt | 1 + src/modules/machineid/MachineIdJob.cpp | 152 ++---------------------- src/modules/machineid/Workers.cpp | 154 +++++++++++++++++++++++++ src/modules/machineid/Workers.h | 83 +++++++++++++ 4 files changed, 246 insertions(+), 144 deletions(-) create mode 100644 src/modules/machineid/Workers.cpp create mode 100644 src/modules/machineid/Workers.h diff --git a/src/modules/machineid/CMakeLists.txt b/src/modules/machineid/CMakeLists.txt index aa82d672f..a6874fa17 100644 --- a/src/modules/machineid/CMakeLists.txt +++ b/src/modules/machineid/CMakeLists.txt @@ -3,6 +3,7 @@ calamares_add_plugin( machineid EXPORT_MACRO PLUGINDLLEXPORT_PRO SOURCES MachineIdJob.cpp + Workers.cpp LINK_PRIVATE_LIBRARIES calamares SHARED_LIB diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index 37df5ef34..2f0416c72 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -20,6 +20,7 @@ */ #include "MachineIdJob.h" +#include "Workers.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" @@ -45,143 +46,6 @@ MachineIdJob::prettyName() const return tr( "Generate machine-id." ); } -// might need to use a helper to remove the file -static void -removeFile( const QString& rootMountPoint, const QString& fileName ) -{ - QFile::remove( rootMountPoint + fileName ); -} - -/// @brief Copy @p fileName from host into target system at @p rootMountPoint -static Calamares::JobResult -copyFile( const QString& rootMountPoint, const QString& fileName ) -{ - QFile f( fileName ); - if ( !f.exists() ) - { - return Calamares::JobResult::error( QObject::tr( "File not found" ), fileName ); - } - if ( !f.copy( rootMountPoint + fileName ) ) - { - return Calamares::JobResult::error( QObject::tr( "File not found" ), rootMountPoint + fileName ); - } - return Calamares::JobResult::ok(); -} - -/// @brief How to generate entropy (bool-like) -enum class EntropyGeneration -{ - New, - CopyFromHost -}; - -/// @brief How to create the DBus machine-id (bool-like) -enum class DBusGeneration -{ - New, - SymlinkFromSystemD -}; - -static int -getUrandomPoolSize() -{ - QFile f( "/proc/sys/kernel/random/poolsize" ); - constexpr const int minimumPoolSize = 512; - int poolSize = minimumPoolSize; - - if ( f.exists() && f.open( QIODevice::ReadOnly | QIODevice::Text ) ) - { - QByteArray v = f.read( 16 ); - if ( v.length() > 2 ) - { - bool ok = false; - poolSize = v.toInt( &ok ); - if ( !ok ) - { - poolSize = minimumPoolSize; - } - } - } - return poolSize >= minimumPoolSize ? poolSize : minimumPoolSize; -} - -static Calamares::JobResult -createNewEntropy( int poolSize, const QString& rootMountPoint, const QString& fileName ) -{ - QFile urandom( "/dev/urandom" ); - if ( urandom.exists() && urandom.open( QIODevice::ReadOnly ) ) - { - QByteArray data = urandom.read( poolSize ); - urandom.close(); - - QFile entropyFile( rootMountPoint + fileName ); - if ( entropyFile.exists() ) - { - cWarning() << "Entropy file" << ( rootMountPoint + fileName ) << "already exists."; - return Calamares::JobResult::ok(); // .. anyway - } - if ( !entropyFile.open( QIODevice::WriteOnly ) ) - { - return Calamares::JobResult::error( - QObject::tr( "File not found" ), - QObject::tr( "Could not create new random file
%1
." ).arg( fileName ) ); - } - entropyFile.write( data ); - entropyFile.close(); - if ( entropyFile.size() < data.length() ) - { - cWarning() << "Entropy file is" << entropyFile.size() << "bytes, random data was" << data.length(); - } - if ( data.length() < poolSize ) - { - cWarning() << "Entropy data is" << data.length() << "bytes, rather than poolSize" << poolSize; - } - } - return Calamares::JobResult::error( - QObject::tr( "File not found" ), - QObject::tr( "Could not read random file
%1
." ).arg( QStringLiteral( "/dev/urandom" ) ) ); -} - - -static Calamares::JobResult -createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ) -{ - if ( kind == EntropyGeneration::CopyFromHost ) - { - if ( QFile::exists( fileName ) ) - { - auto r = copyFile( rootMountPoint, fileName ); - if ( r ) - { - return r; - } - else - { - cWarning() << "Could not copy" << fileName << "for entropy, generating new."; - } - } - else - { - cWarning() << "Host system entropy does not exist at" << fileName; - } - } - - int poolSize = getUrandomPoolSize(); - return createNewEntropy( poolSize, rootMountPoint, fileName ); -} - -static Calamares::JobResult -createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) -{ - return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); -} - -static Calamares::JobResult -createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const QString& fileName ) -{ - return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); -} - Calamares::JobResult MachineIdJob::exec() { @@ -207,22 +71,22 @@ MachineIdJob::exec() // Clear existing files if ( m_entropy ) { - removeFile( root, target_entropy_file ); + MachineId::removeFile( root, target_entropy_file ); } if ( m_dbus ) { - removeFile( root, target_dbus_machineid_file ); + MachineId::removeFile( root, target_dbus_machineid_file ); } if ( m_systemd ) { - removeFile( root, target_systemd_machineid_file ); + MachineId::removeFile( root, target_systemd_machineid_file ); } //Create new files if ( m_entropy ) { - auto r = createEntropy( - m_entropy_copy ? EntropyGeneration::CopyFromHost : EntropyGeneration::New, root, target_entropy_file ); + auto r = MachineId::createEntropy( + m_entropy_copy ? MachineId::EntropyGeneration::CopyFromHost : MachineId::EntropyGeneration::New, root, target_entropy_file ); if ( !r ) { return r; @@ -230,7 +94,7 @@ MachineIdJob::exec() } if ( m_systemd ) { - auto r = createSystemdMachineId( root, target_systemd_machineid_file ); + auto r = MachineId::createSystemdMachineId( root, target_systemd_machineid_file ); if ( !r ) { return r; @@ -238,7 +102,7 @@ MachineIdJob::exec() } if ( m_dbus ) { - auto r = createDBusMachineId( m_dbus_symlink ? DBusGeneration::SymlinkFromSystemD : DBusGeneration::New, + auto r = MachineId::createDBusMachineId( m_dbus_symlink ? MachineId::DBusGeneration::SymlinkFromSystemD : MachineId::DBusGeneration::New, root, target_dbus_machineid_file ); if ( !r ) diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp new file mode 100644 index 000000000..7b70fab9f --- /dev/null +++ b/src/modules/machineid/Workers.cpp @@ -0,0 +1,154 @@ +/* === This file is part of Calamares - === + * + * Copyright 2014, Kevin Kofler + * Copyright 2016, Philip Müller + * Copyright 2017, Alf Gaida + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Workers.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" + +#include + +namespace MachineId +{ + +// might need to use a helper to remove the file +void +removeFile( const QString& rootMountPoint, const QString& fileName ) +{ + QFile::remove( rootMountPoint + fileName ); +} + +Calamares::JobResult +copyFile( const QString& rootMountPoint, const QString& fileName ) +{ + QFile f( fileName ); + if ( !f.exists() ) + { + return Calamares::JobResult::error( QObject::tr( "File not found" ), fileName ); + } + if ( !f.copy( rootMountPoint + fileName ) ) + { + return Calamares::JobResult::error( QObject::tr( "File not found" ), rootMountPoint + fileName ); + } + return Calamares::JobResult::ok(); +} + +int +getUrandomPoolSize() +{ + QFile f( "/proc/sys/kernel/random/poolsize" ); + constexpr const int minimumPoolSize = 512; + int poolSize = minimumPoolSize; + + if ( f.exists() && f.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { + QByteArray v = f.read( 16 ); + if ( v.length() > 2 ) + { + bool ok = false; + poolSize = v.toInt( &ok ); + if ( !ok ) + { + poolSize = minimumPoolSize; + } + } + } + return poolSize >= minimumPoolSize ? poolSize : minimumPoolSize; +} + +Calamares::JobResult +createNewEntropy( int poolSize, const QString& rootMountPoint, const QString& fileName ) +{ + QFile urandom( "/dev/urandom" ); + if ( urandom.exists() && urandom.open( QIODevice::ReadOnly ) ) + { + QByteArray data = urandom.read( poolSize ); + urandom.close(); + + QFile entropyFile( rootMountPoint + fileName ); + if ( entropyFile.exists() ) + { + cWarning() << "Entropy file" << ( rootMountPoint + fileName ) << "already exists."; + return Calamares::JobResult::ok(); // .. anyway + } + if ( !entropyFile.open( QIODevice::WriteOnly ) ) + { + return Calamares::JobResult::error( + QObject::tr( "File not found" ), + QObject::tr( "Could not create new random file
%1
." ).arg( fileName ) ); + } + entropyFile.write( data ); + entropyFile.close(); + if ( entropyFile.size() < data.length() ) + { + cWarning() << "Entropy file is" << entropyFile.size() << "bytes, random data was" << data.length(); + } + if ( data.length() < poolSize ) + { + cWarning() << "Entropy data is" << data.length() << "bytes, rather than poolSize" << poolSize; + } + } + return Calamares::JobResult::error( + QObject::tr( "File not found" ), + QObject::tr( "Could not read random file
%1
." ).arg( QStringLiteral( "/dev/urandom" ) ) ); +} + + +Calamares::JobResult +createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ) +{ + if ( kind == EntropyGeneration::CopyFromHost ) + { + if ( QFile::exists( fileName ) ) + { + auto r = copyFile( rootMountPoint, fileName ); + if ( r ) + { + return r; + } + else + { + cWarning() << "Could not copy" << fileName << "for entropy, generating new."; + } + } + else + { + cWarning() << "Host system entropy does not exist at" << fileName; + } + } + + int poolSize = getUrandomPoolSize(); + return createNewEntropy( poolSize, rootMountPoint, fileName ); +} + +Calamares::JobResult +createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) +{ + return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); +} + +Calamares::JobResult +createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const QString& fileName ) +{ + return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); +} + +} // namespace diff --git a/src/modules/machineid/Workers.h b/src/modules/machineid/Workers.h new file mode 100644 index 000000000..eaa093fd0 --- /dev/null +++ b/src/modules/machineid/Workers.h @@ -0,0 +1,83 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef WORKERS_H +#define WORKERS_H + +#include "Job.h" + +/// @brief Utility functions for doing the random-data stuff for MachineId +namespace MachineId +{ +/** @brief Utility functions + * + * These probably belong in libcalamares, since they're general utilities + * for moving files around in the target system. + */ + +/// @brief Remove @p fileName from the target system at @p rootMountPoint +void removeFile( const QString& rootMountPoint, const QString& fileName ); + +/// @brief Copy @p fileName from host into target system at @p rootMountPoint +Calamares::JobResult copyFile( const QString& rootMountPoint, const QString& fileName ); + + +/** @brief Entropy functions + * + * The target system may want to pre-seed the entropy pool with a suitable + * chunk of entropy data. During installation we have lots of disk access + * so plenty of entropy -- this is used mostly be Debian. + */ + +/// @brief How to generate entropy (bool-like) +enum class EntropyGeneration +{ + New, + CopyFromHost +}; + +/// @brief Returns a recommended size for the entropy pool (in bytes) +int getUrandomPoolSize(); + +/// @brief Creates a new entropy file @p fileName in the target system at @p rootMountPoint +Calamares::JobResult createNewEntropy( int poolSize, const QString& rootMountPoint, const QString& fileName ); + +/// @brief Create an entropy file @p fileName in the target system at @p rootMountPoint +Calamares::JobResult createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ); + + +/** @brief MachineID functions + * + * Creating UUIDs for DBUS and SystemD. + */ + +/// @brief How to create the DBus machine-id (bool-like) +enum class DBusGeneration +{ + New, + SymlinkFromSystemD +}; + +Calamares::JobResult createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const QString& fileName ); + +Calamares::JobResult createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ); + + +} + +#endif // WORKERS_H From 2b9e1d6231ce727017c6ea9d6a53e65a315406ae Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 3 Oct 2019 13:32:48 +0200 Subject: [PATCH 422/626] [machineid] Add tests - Testing some of the functionality that's been added just now: - copyfile fails, buggy implementation - poolsize fails, buggy implementation - removefile not tested --- src/modules/machineid/CMakeLists.txt | 14 ++++ src/modules/machineid/MachineIdJob.cpp | 13 ++-- src/modules/machineid/Tests.cpp | 99 ++++++++++++++++++++++++++ src/modules/machineid/Workers.cpp | 2 +- src/modules/machineid/Workers.h | 5 +- 5 files changed, 125 insertions(+), 8 deletions(-) create mode 100644 src/modules/machineid/Tests.cpp diff --git a/src/modules/machineid/CMakeLists.txt b/src/modules/machineid/CMakeLists.txt index a6874fa17..efb6454e8 100644 --- a/src/modules/machineid/CMakeLists.txt +++ b/src/modules/machineid/CMakeLists.txt @@ -8,3 +8,17 @@ calamares_add_plugin( machineid calamares SHARED_LIB ) + +if ( ECM_FOUND AND BUILD_TESTING ) + ecm_add_test( + Tests.cpp + Workers.cpp + TEST_NAME + machineidtest + LINK_LIBRARIES + calamares + Qt5::Core + Qt5::Test + ) + calamares_automoc( machineidtest ) +endif() diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index 2f0416c72..9ab0ef162 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -85,8 +85,10 @@ MachineIdJob::exec() //Create new files if ( m_entropy ) { - auto r = MachineId::createEntropy( - m_entropy_copy ? MachineId::EntropyGeneration::CopyFromHost : MachineId::EntropyGeneration::New, root, target_entropy_file ); + auto r = MachineId::createEntropy( m_entropy_copy ? MachineId::EntropyGeneration::CopyFromHost + : MachineId::EntropyGeneration::New, + root, + target_entropy_file ); if ( !r ) { return r; @@ -102,9 +104,10 @@ MachineIdJob::exec() } if ( m_dbus ) { - auto r = MachineId::createDBusMachineId( m_dbus_symlink ? MachineId::DBusGeneration::SymlinkFromSystemD : MachineId::DBusGeneration::New, - root, - target_dbus_machineid_file ); + auto r = MachineId::createDBusMachineId( m_dbus_symlink ? MachineId::DBusGeneration::SymlinkFromSystemD + : MachineId::DBusGeneration::New, + root, + target_dbus_machineid_file ); if ( !r ) { return r; diff --git a/src/modules/machineid/Tests.cpp b/src/modules/machineid/Tests.cpp new file mode 100644 index 000000000..a2dcc5927 --- /dev/null +++ b/src/modules/machineid/Tests.cpp @@ -0,0 +1,99 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "Workers.h" + +#include "utils/Logger.h" + + +#include +#include +#include + +class MachineIdTests : public QObject +{ + Q_OBJECT +public: + MachineIdTests() {} + virtual ~MachineIdTests() {} + +private Q_SLOTS: + void initTestCase(); + + void testRemoveFile(); + void testCopyFile(); + + void testPoolSize(); +}; + +void +MachineIdTests::initTestCase() +{ + Logger::setupLogLevel( Logger::LOGDEBUG ); +} + +void +MachineIdTests::testCopyFile() +{ + QTemporaryDir d( QDir::tempPath() + QStringLiteral( "/test-XXXXXX" ) ); + cDebug() << "Temporary files as" << QDir::tempPath(); + cDebug() << "Temp dir file at " << d.path(); + QVERIFY( !d.path().isEmpty() ); + + QFile source( d.filePath( "example" ) ); + QVERIFY( !source.exists() ); + source.open( QIODevice::WriteOnly ); + source.write( "Derp" ); + source.close(); + QCOMPARE( source.size(), 4 ); + QVERIFY( source.exists() ); + + // This should fail since "example" isn't standard in our test directory + auto r0 = MachineId::copyFile( d.path(), "example" ); + QVERIFY( !r0 ); + + if ( QFile::exists( "CMakeCache.txt" ) ) + { + auto r1 = MachineId::copyFile( d.path(), "CMakeCache.txt" ); + QVERIFY( r1 ); + QVERIFY( QFile::exists( d.filePath( "CMakeCache.txt" ) ) ); + } +} + +void +MachineIdTests::testRemoveFile() +{ +} + +void +MachineIdTests::testPoolSize() +{ +#ifdef Q_OS_FREEBSD + // It hardly makes sense, but also the /proc entry is missing + QCOMPARE( MachineId::getUrandomPoolSize(), 512 ); +#else + // Based on a sample size of 1, Netrunner + QCOMPARE( MachineId::getUrandomPoolSize(), 4096 ); +#endif +} + + +QTEST_GUILESS_MAIN( MachineIdTests ) + +#include "Tests.moc" +#include "utils/moc-warnings.h" diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp index 7b70fab9f..284605b0f 100644 --- a/src/modules/machineid/Workers.cpp +++ b/src/modules/machineid/Workers.cpp @@ -151,4 +151,4 @@ createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const Q return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); } -} // namespace +} // namespace MachineId diff --git a/src/modules/machineid/Workers.h b/src/modules/machineid/Workers.h index eaa093fd0..2247af45a 100644 --- a/src/modules/machineid/Workers.h +++ b/src/modules/machineid/Workers.h @@ -58,7 +58,8 @@ int getUrandomPoolSize(); Calamares::JobResult createNewEntropy( int poolSize, const QString& rootMountPoint, const QString& fileName ); /// @brief Create an entropy file @p fileName in the target system at @p rootMountPoint -Calamares::JobResult createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ); +Calamares::JobResult +createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, const QString& fileName ); /** @brief MachineID functions @@ -78,6 +79,6 @@ Calamares::JobResult createDBusMachineId( DBusGeneration kind, const QString& ro Calamares::JobResult createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ); -} +} // namespace MachineId #endif // WORKERS_H From 145855a56faa521989cfebe837dd07c65bf8822b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Oct 2019 13:48:24 +0200 Subject: [PATCH 423/626] [machineid] Implement systemd machine-id creation --- src/modules/machineid/Workers.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp index 284605b0f..3557c5b84 100644 --- a/src/modules/machineid/Workers.cpp +++ b/src/modules/machineid/Workers.cpp @@ -142,7 +142,14 @@ createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, cons Calamares::JobResult createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) { - return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); + auto cmd = QStringList { QStringLiteral( "systemd-machine-id-setup" ) }; + auto r = CalamaresUtils::System::instance()->targetEnvCommand( cmd ); + if ( r.getExitCode() ) + { + return r.explainProcess( cmd, std::chrono::seconds( 0 ) ); + } + + return Calamares::JobResult::ok(); } Calamares::JobResult From c67ac999def3400ca776b380f5b8f1503647373b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Oct 2019 14:57:05 +0200 Subject: [PATCH 424/626] [machineid] Implement DBUS and systemd machine-ids - refactor running the command into a helper function, to deal with the regular if-command-failed-then-complain pattern. - mark parameters as unused. - move distinction about kind of DBus file up into the MachineIdJob and remove the enum that marked it. --- src/modules/machineid/MachineIdJob.cpp | 20 ++++++++++++++------ src/modules/machineid/Workers.cpp | 26 +++++++++++++++++++++----- src/modules/machineid/Workers.h | 12 +++++------- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/src/modules/machineid/MachineIdJob.cpp b/src/modules/machineid/MachineIdJob.cpp index 9ab0ef162..393950ded 100644 --- a/src/modules/machineid/MachineIdJob.cpp +++ b/src/modules/machineid/MachineIdJob.cpp @@ -104,13 +104,21 @@ MachineIdJob::exec() } if ( m_dbus ) { - auto r = MachineId::createDBusMachineId( m_dbus_symlink ? MachineId::DBusGeneration::SymlinkFromSystemD - : MachineId::DBusGeneration::New, - root, - target_dbus_machineid_file ); - if ( !r ) + if ( m_dbus_symlink && QFile::exists( root + target_systemd_machineid_file ) ) { - return r; + auto r = MachineId::createDBusLink( root, target_dbus_machineid_file, target_systemd_machineid_file ); + if ( !r ) + { + return r; + } + } + else + { + auto r = MachineId::createDBusMachineId( root, target_dbus_machineid_file ); + if ( !r ) + { + return r; + } } } diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp index 3557c5b84..e7d5eb03f 100644 --- a/src/modules/machineid/Workers.cpp +++ b/src/modules/machineid/Workers.cpp @@ -139,10 +139,9 @@ createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, cons return createNewEntropy( poolSize, rootMountPoint, fileName ); } -Calamares::JobResult -createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) +static Calamares::JobResult +runCmd( const QStringList& cmd ) { - auto cmd = QStringList { QStringLiteral( "systemd-machine-id-setup" ) }; auto r = CalamaresUtils::System::instance()->targetEnvCommand( cmd ); if ( r.getExitCode() ) { @@ -153,9 +152,26 @@ createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) } Calamares::JobResult -createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const QString& fileName ) +createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ) { - return Calamares::JobResult::internalError( QObject::tr( "Internal Error" ), QObject::tr( "Not implemented" ), 0 ); + Q_UNUSED( rootMountPoint ) + Q_UNUSED( fileName ) + return runCmd( QStringList { QStringLiteral( "systemd-machine-id-setup" ) } ); +} + +Calamares::JobResult +createDBusMachineId( const QString& rootMountPoint, const QString& fileName ) +{ + Q_UNUSED( rootMountPoint ) + Q_UNUSED( fileName ) + return runCmd( QStringList { QStringLiteral( "dbus-uuidgen" ), QStringLiteral( "--ensure" ) } ); +} + +Calamares::JobResult +createDBusLink( const QString& rootMountPoint, const QString& fileName, const QString& systemdFileName ) +{ + Q_UNUSED( rootMountPoint ); + return runCmd( QStringList { QStringLiteral( "ln" ), QStringLiteral( "-s" ), systemdFileName, fileName } ); } } // namespace MachineId diff --git a/src/modules/machineid/Workers.h b/src/modules/machineid/Workers.h index 2247af45a..5cf6270d9 100644 --- a/src/modules/machineid/Workers.h +++ b/src/modules/machineid/Workers.h @@ -67,14 +67,12 @@ createEntropy( const EntropyGeneration kind, const QString& rootMountPoint, cons * Creating UUIDs for DBUS and SystemD. */ -/// @brief How to create the DBus machine-id (bool-like) -enum class DBusGeneration -{ - New, - SymlinkFromSystemD -}; +/// @brief Create a new DBus UUID file +Calamares::JobResult createDBusMachineId( const QString& rootMountPoint, const QString& fileName ); -Calamares::JobResult createDBusMachineId( DBusGeneration kind, const QString& rootMountPoint, const QString& fileName ); +/// @brief Symlink DBus UUID file to the one from systemd (which must exist already) +Calamares::JobResult +createDBusLink( const QString& rootMountPoint, const QString& fileName, const QString& systemdFileName ); Calamares::JobResult createSystemdMachineId( const QString& rootMountPoint, const QString& fileName ); From dd47201f272797971707961537227d7a2f81414a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Oct 2019 15:05:11 +0200 Subject: [PATCH 425/626] [machineid] Fix tests by appending a / - The code in Workers.cpp assumes that rootMountPoint ends in a / so that it can have filenames appended easily; make the tests fit that assumption, but still need to check that it is so in production. --- src/modules/machineid/Tests.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/machineid/Tests.cpp b/src/modules/machineid/Tests.cpp index a2dcc5927..51b136b2d 100644 --- a/src/modules/machineid/Tests.cpp +++ b/src/modules/machineid/Tests.cpp @@ -63,13 +63,15 @@ MachineIdTests::testCopyFile() QCOMPARE( source.size(), 4 ); QVERIFY( source.exists() ); + QString root = d.path() + '/'; + // This should fail since "example" isn't standard in our test directory - auto r0 = MachineId::copyFile( d.path(), "example" ); + auto r0 = MachineId::copyFile( root, "example" ); QVERIFY( !r0 ); if ( QFile::exists( "CMakeCache.txt" ) ) { - auto r1 = MachineId::copyFile( d.path(), "CMakeCache.txt" ); + auto r1 = MachineId::copyFile( root, "CMakeCache.txt" ); QVERIFY( r1 ); QVERIFY( QFile::exists( d.filePath( "CMakeCache.txt" ) ) ); } From 12107b311361320d54b6e84fb4ca28eddeb9b0fa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Oct 2019 17:07:48 +0200 Subject: [PATCH 426/626] [machineid] Turn back the change in tests - the *mount* module inserts a rootMountPoint without trailing / into global storage, so we can't assume that here. On the other hand, the paths passed in to the Worker functions are absolute paths -- adjust the tests to follow that. --- src/modules/machineid/Tests.cpp | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/modules/machineid/Tests.cpp b/src/modules/machineid/Tests.cpp index 51b136b2d..cfd96bbdd 100644 --- a/src/modules/machineid/Tests.cpp +++ b/src/modules/machineid/Tests.cpp @@ -50,12 +50,16 @@ MachineIdTests::initTestCase() void MachineIdTests::testCopyFile() { - QTemporaryDir d( QDir::tempPath() + QStringLiteral( "/test-XXXXXX" ) ); + QTemporaryDir tempRoot( QDir::tempPath() + QStringLiteral( "/test-root-XXXXXX" ) ); cDebug() << "Temporary files as" << QDir::tempPath(); - cDebug() << "Temp dir file at " << d.path(); - QVERIFY( !d.path().isEmpty() ); + cDebug() << "Temp dir file at " << tempRoot.path(); + QVERIFY( !tempRoot.path().isEmpty() ); - QFile source( d.filePath( "example" ) ); + // This will pretend to be the host system + QTemporaryDir tempISOdir( QDir::tempPath() + QStringLiteral( "/test-live-XXXXXX" ) ); + QVERIFY( QDir( tempRoot.path() ).mkpath( tempRoot.path() + tempISOdir.path() ) ); + + QFile source( tempRoot.filePath( "example" ) ); QVERIFY( !source.exists() ); source.open( QIODevice::WriteOnly ); source.write( "Derp" ); @@ -63,17 +67,20 @@ MachineIdTests::testCopyFile() QCOMPARE( source.size(), 4 ); QVERIFY( source.exists() ); - QString root = d.path() + '/'; - // This should fail since "example" isn't standard in our test directory - auto r0 = MachineId::copyFile( root, "example" ); + auto r0 = MachineId::copyFile( tempRoot.path(), "example" ); QVERIFY( !r0 ); - if ( QFile::exists( "CMakeCache.txt" ) ) + const QString sampleFile = QStringLiteral( "CMakeCache.txt" ); + if ( QFile::exists( sampleFile ) ) { - auto r1 = MachineId::copyFile( root, "CMakeCache.txt" ); - QVERIFY( r1 ); - QVERIFY( QFile::exists( d.filePath( "CMakeCache.txt" ) ) ); + auto r1 = MachineId::copyFile( tempRoot.path(), sampleFile ); + // Also fail, because it's not an absolute path + QVERIFY( !r1 ); + + QVERIFY( QFile::copy( sampleFile, tempISOdir.path() + '/' + sampleFile ) ); + auto r2 = MachineId::copyFile( tempRoot.path(), tempISOdir.path() + '/' + sampleFile ); + QVERIFY( r2 ); } } From 9e359c98a9f1ef5620fa9a7e8097b99b5c6c0e17 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Oct 2019 17:43:48 +0200 Subject: [PATCH 427/626] [machineid] Refactor workers, demand absolute paths --- src/modules/machineid/Workers.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp index e7d5eb03f..6b55f2489 100644 --- a/src/modules/machineid/Workers.cpp +++ b/src/modules/machineid/Workers.cpp @@ -29,16 +29,34 @@ namespace MachineId { +static inline bool +isAbsolutePath( const QString& fileName ) +{ + return fileName.startsWith( '/' ); +} + // might need to use a helper to remove the file void removeFile( const QString& rootMountPoint, const QString& fileName ) { - QFile::remove( rootMountPoint + fileName ); + if ( isAbsolutePath( fileName ) ) + { + QFile::remove( rootMountPoint + fileName ); + } + // Otherwise, do nothing } Calamares::JobResult copyFile( const QString& rootMountPoint, const QString& fileName ) { + if ( !isAbsolutePath( fileName ) ) + { + return Calamares::JobResult::internalError( + QObject::tr( "File not found" ), + QObject::tr( "Path
%1
must be an absolute path." ).arg( fileName ), + 0 ); + } + QFile f( fileName ); if ( !f.exists() ) { From 642dbf449caa4b9339ee83c1cfe0e91d856b42bb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Oct 2019 18:05:29 +0200 Subject: [PATCH 428/626] [machineid] Drop trailing \n, toInt() doesn't like it --- src/modules/machineid/Workers.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp index 6b55f2489..e6379f3f1 100644 --- a/src/modules/machineid/Workers.cpp +++ b/src/modules/machineid/Workers.cpp @@ -81,6 +81,10 @@ getUrandomPoolSize() QByteArray v = f.read( 16 ); if ( v.length() > 2 ) { + if ( v.endsWith( '\n' ) ) + { + v.chop(1); + } bool ok = false; poolSize = v.toInt( &ok ); if ( !ok ) @@ -89,7 +93,7 @@ getUrandomPoolSize() } } } - return poolSize >= minimumPoolSize ? poolSize : minimumPoolSize; + return (poolSize >= minimumPoolSize) ? poolSize : minimumPoolSize; } Calamares::JobResult From d592a5bb947ee50b74a39c2d9d979c9653d2d1c8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 7 Oct 2019 15:54:55 +0200 Subject: [PATCH 429/626] [displaymanager] Fix sysconfig-only - Improve documentation of the settings - If sysconfigSetup is true, **only** setup sysconfig and ignore the rest. This seems to be consistent with existing openSUSE- derivative distro's, which set displaymanagers to something nonsensical. --- .../displaymanager/displaymanager.conf | 22 ++++++++++++++----- src/modules/displaymanager/main.py | 7 +++--- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/modules/displaymanager/displaymanager.conf b/src/modules/displaymanager/displaymanager.conf index c3e0e1160..f6b5a397f 100644 --- a/src/modules/displaymanager/displaymanager.conf +++ b/src/modules/displaymanager/displaymanager.conf @@ -1,9 +1,17 @@ # Configure one or more display managers (e.g. SDDM) # with a "best effort" approach. +# +# This module also sets up autologin, if the feature is enabled in +# globalstorage (where it would come from the users page). --- -#The DM module attempts to set up all the DMs found in this list, in that precise order. -#It also sets up autologin, if the feature is enabled in globalstorage. -#The displaymanagers list can also be set in globalstorage, and in that case it overrides anything set up here. +# The DM module attempts to set up all the DMs found in this list, in the +# precise order listed. The displaymanagers list can also be set in +# globalstorage, and in that case it overrides the setting here. +# +# If *sysconfigSetup* is set to *true* (see below, only relevant for +# openSUSE derivatives) then this list is ignored and only sysconfig +# is attempted. You can also list "sysconfig" in this list instead. +# displaymanagers: - slim - sddm @@ -41,6 +49,10 @@ displaymanagers: #packages, and best left to them. Therefore, it is disabled by default. basicSetup: false -#If true, setup autologin for openSUSE. This only makes sense on openSUSE -#derivatives or other systems where /etc/sysconfig/displaymanager exists. +# If true, setup autologin for openSUSE. This only makes sense on openSUSE +# derivatives or other systems where /etc/sysconfig/displaymanager exists. +# +# The preferred way to pick sysconfig is to just list it in the +# *displaymanagers* list (as the only one). +# sysconfigSetup: false diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index ca42e6204..9e4d61d4c 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -879,6 +879,10 @@ def run(): if libcalamares.globalstorage.contains("displayManagers"): displaymanagers = libcalamares.globalstorage.value("displayManagers") + if ("sysconfigSetup" in libcalamares.job.configuration + and libcalamares.job.configuration["sysconfigSetup"]): + displaymanagers = ["sysconfig"] + if not displaymanagers: return ( _("No display managers selected for the displaymanager module."), @@ -890,9 +894,6 @@ def run(): root_mount_point = libcalamares.globalstorage.value("rootMountPoint") dm_impl = [] dm_names = displaymanagers[:] - if ("sysconfigSetup" in libcalamares.job.configuration - and libcalamares.job.configuration["sysconfigSetup"]): - dm_names.append("sysconfig") for dm in dm_names: # Find the implementation class dm_instance = None From b00335f5b3138db97547ba8cdbce38c7b6e3adfc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 7 Oct 2019 17:04:10 +0200 Subject: [PATCH 430/626] [displaymanager] Treat openSUSE sysconfig like anything else --- src/modules/displaymanager/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 9e4d61d4c..c00ae1dac 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -850,6 +850,13 @@ class DMsysconfig(DisplayManager): def greeter_setup(self): pass + # For openSUSE-derivatives, there is only sysconfig to configure, + # and no special DM configuration for it. Instead, check that + # sysconfig is available in the target. + def have_dm(self): + config = "{!s}/etc/sysconfig/displaymanager".format(self.root_mount_point) + return os.path.exists(config) + # Collect all the subclasses of DisplayManager defined above, # and index them based on the name property of each class. From 39299f96508c27d821a60a8aec5c3f682e27eab1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 7 Oct 2019 21:50:36 +0200 Subject: [PATCH 431/626] Changes: document new module features --- CHANGES | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES b/CHANGES index cddcc9551..de07562f3 100644 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,12 @@ This release contains contributions from (alphabetically by first name): ## Modules ## + - *displaymanager* module now treats *sysconfig* as a regular entry in the + *displaymanagers* list, and the *sysconfigSetup* key is used as a + shorthand to force **only** that entry in the list. #1253 + - *machineid* module has been re-written in C++ and extended with + a new configuration key to generate urandom pool data. #1252 + # 3.2.14 (2019-09-30) # From 6a28277aa2f70d4810bded53354a5d8c252d10db Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 7 Oct 2019 21:52:24 +0200 Subject: [PATCH 432/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_lt.ts | 12 +++---- lang/calamares_ml.ts | 79 +++++++++++++++++++++-------------------- lang/calamares_pt_PT.ts | 2 +- 3 files changed, 48 insertions(+), 45 deletions(-) diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index fbe0f4803..433835b91 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -159,12 +159,12 @@ Run command '%1' in target system. - Paleisti paskirties sistemoje komandą "%1". + Paleisti paskirties sistemoje komandą „%1“. Run command '%1'. - Paleisti komandą "%1". + Paleisti komandą „%1“. @@ -882,7 +882,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. The installer failed to create a volume group named '%1'. - Diegimo programai nepavyko sukurti tomų grupės, pavadinimu "%1". + Diegimo programai nepavyko sukurti tomų grupės pavadinimu „%1“.
@@ -1575,7 +1575,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Could not create LUKS key file for root partition %1. - Nepavyko šaknies skaidiniui %1 sukurti LUKS rakto failo. + Nepavyko šakniniam skaidiniui %1 sukurti LUKS rakto failo. @@ -2597,7 +2597,7 @@ Išvestis: Resize Failed - Dydžio keitimas patyrė nesėkmę + Dydžio pakeisti nepavyko @@ -2679,7 +2679,7 @@ Išvestis: The installer failed to resize a volume group named '%1'. - Diegimo programai nepavyko pakeisti tomų grupės, pavadinimu "%1", dydį. + Diegimo programai nepavyko pakeisti tomų grupės, kurios pavadinimas „%1“, dydžio. diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index ca755e70d..c26f8f28d 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -1360,12 +1360,12 @@ The installer will quit and all changes will be lost. Set keyboard model to %1.<br/> - + കീബോർഡ് മോഡൽ %1 എന്നതായി ക്രമീകരിക്കുക.<br/> Set keyboard layout to %1/%2. - + കീബോർഡ് വിന്യാസം %1%2 എന്നതായി ക്രമീകരിക്കുക. @@ -1446,7 +1446,7 @@ The installer will quit and all changes will be lost. <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>%1 ഡ്രൈവർ</strong><br/>%2 വക @@ -1552,7 +1552,7 @@ The installer will quit and all changes will be lost. Configuring LUKS key file. - + LUKS കീ ഫയൽ ക്രമീകരിക്കുന്നു. @@ -1570,17 +1570,17 @@ The installer will quit and all changes will be lost. Root partition %1 is LUKS but no passphrase has been set. - + റൂട്ട് പാർട്ടീഷൻ %1 LUKS ആണ് പക്ഷേ രഹസ്യവാക്കൊന്നും ക്രമീകരിച്ചിട്ടില്ല. Could not create LUKS key file for root partition %1. - + റൂട്ട് പാർട്ടീഷൻ %1ന് വേണ്ടി LUKS കീ ഫയൽ നിർമ്മിക്കാനായില്ല. Could configure LUKS key file on partition %1. - + പാർട്ടീഷൻ %1ൽ LUKS കീ ഫയൽ ക്രമീകരിക്കാം. @@ -1670,7 +1670,7 @@ The installer will quit and all changes will be lost. Memory allocation error when setting '%1' - + '%1' ക്രമീക്കരിക്കുന്നതിൽ മെമ്മറി പങ്കുവയ്ക്കൽ പിഴവ് @@ -2247,12 +2247,12 @@ The installer will quit and all changes will be lost. EFI system partition flag not set - + ഇഎഫ്ഐ സിസ്റ്റം പാർട്ടീഷൻ ഫ്ലാഗ് ക്രമീകരിച്ചിട്ടില്ല An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - + %1 ആരംഭിക്കുന്നതിനായി ഒരു ഇഎഫ്ഐ.<br/><br/>മൗണ്ട് പോയിന്റ് <strong>%2 -ഓട്</strong>കൂടി ഒരു പാർട്ടീഷൻ ക്രമീകരിച്ചിട്ടുണ്ടായിരുന്നു, പക്ഷേ അതിന്റെ <strong>esp</strong> ഫ്ലാഗ് ക്രമീകരിച്ചിട്ടില്ല.<br/> ഫ്ലാഗ് ക്രമീകരിക്കാനായി തിരിച്ച് പോയി പാർട്ടീഷൻ തിരുത്തുക.<br/><br/>ഫ്ലാഗ് ക്രമീകരിക്കാതെ തന്നെ താങ്കൾക്ക് തുടരാവുന്നതാണ്, പക്ഷേ താങ്കളുടെ സിസ്റ്റം ആരംഭിക്കാതിരുന്നേക്കാം. @@ -2267,7 +2267,7 @@ The installer will quit and all changes will be lost. has at least one disk device available. - + ഒരു ഡിസ്ക് ഡിവൈസെങ്കിലും ലഭ്യമാണ്. @@ -2339,14 +2339,17 @@ The installer will quit and all changes will be lost. There was no output from the command. - + +ആജ്ഞയിൽ നിന്നും ഔട്ട്പുട്ടൊന്നുമില്ല. Output: - + +ഔട്ട്പുട്ട് + @@ -2356,7 +2359,7 @@ Output: Command <i>%1</i> crashed. - + ആജ്ഞ <i>%1</i> പ്രവർത്തനരഹിതമായി. @@ -2371,7 +2374,7 @@ Output: Internal error when starting command. - + ആജ്ഞ ആരംഭിക്കുന്നതിൽ ആന്തരികമായ പിഴവ്. @@ -2425,17 +2428,17 @@ Output: unformatted - + ഫോർമാറ്റ് ചെയ്യപ്പെടാത്തത് swap - + സ്വാപ്പ് Unpartitioned space or unknown partition table - + പാർട്ടീഷൻ ചെയ്യപ്പെടാത്ത സ്ഥലം അല്ലെങ്കിൽ അപരിചിതമായ പാർട്ടീഷൻ ടേബിൾ @@ -2445,7 +2448,7 @@ Output: Requirements checking for module <i>%1</i> is complete. - + <i>%1</i>മൊഡ്യൂളിനായുള്ള ആവശ്യകതകൾ പരിശോധിക്കൽ പൂർത്തിയായിരിക്കുന്നു. @@ -2493,27 +2496,27 @@ Output: Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition. - + %1 എവിടെ ഇൻസ്റ്റാൾ ചെയ്യണമെന്ന് തിരഞ്ഞെടുക്കുക.<br/><font color="red">മുന്നറിയിപ്പ്: </font> ഇത് തിരഞ്ഞെടുത്ത പാർട്ടീഷനിലെ എല്ലാ ഫയലുകളും നീക്കം ചെയ്യും. The selected item does not appear to be a valid partition. - + തിരഞ്ഞെടുക്കപ്പെട്ടത് സാധുവായ ഒരു പാർട്ടീഷനായി തോന്നുന്നില്ല. %1 cannot be installed on empty space. Please select an existing partition. - + %1 ഒരു ശൂന്യമായ സ്ഥലത്ത് ഇൻസ്റ്റാൾ ചെയ്യാൻ സാധിക്കില്ല. ദയവായി നിലവിലുള്ള ഒരു പാർട്ടീഷൻ തിരഞ്ഞെടുക്കൂ. %1 cannot be installed on an extended partition. Please select an existing primary or logical partition. - + %1 ഒരു എക്സ്റ്റൻഡഡ് പാർട്ടീഷനിൽ ചെയ്യാൻ സാധിക്കില്ല. ദയവായി നിലവിലുള്ള ഒരു പ്രൈമറി അല്ലെങ്കിൽ ലോജിക്കൽ പാർട്ടീഷൻ തിരഞ്ഞെടുക്കൂ. %1 cannot be installed on this partition. - + %1 ഈ പാർട്ടീഷനിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ സാധിക്കില്ല. @@ -2533,19 +2536,19 @@ Output: <strong>%4</strong><br/><br/>The partition %1 is too small for %2. Please select a partition with capacity at least %3 GiB. - + <strong>%4</strong><br/><br/>പാർട്ടീഷൻ %1 %2ന് തീരെ ചെറുതാണ്. ദയവായി %3ജിബി എങ്കീലും ഇടമുള്ള ഒരു പാർട്ടീഷൻ തിരഞ്ഞെടുക്കൂ. <strong>%2</strong><br/><br/>An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + <strong>%2</strong><br/><br/>ഈ സിസ്റ്റത്തിൽ എവിടേയും ഒരു ഇഎഫ്ഐ സിസ്റ്റം പർട്ടീഷൻ കണ്ടെത്താനായില്ല. %1 സജ്ജീകരിക്കുന്നതിന് ദയവായി തിരിച്ചുപോയി മാനുവൽ പാർട്ടീഷനിങ്ങ് ഉപയോഗിക്കുക. <strong>%3</strong><br/><br/>%1 will be installed on %2.<br/><font color="red">Warning: </font>all data on partition %2 will be lost. - + <strong>%3</strong><br/><br/>%1 %2ൽ ഇൻസ്റ്റാൾ ചെയ്യപ്പെടും.<br/><font color="red">മുന്നറിയിപ്പ്:</font>പാർട്ടീഷൻ %2ൽ ഉള്ള എല്ലാ ഡാറ്റയും നഷ്ടപ്പെടും. @@ -2777,7 +2780,7 @@ Output: Failed to write to %1 - + %1ലേക്ക് എഴുതുന്നതിൽ പരാജയപ്പെട്ടു @@ -2795,27 +2798,27 @@ Output: Set flags on partition %1. - + പാർട്ടീഷൻ %1ൽ ഫ്ലാഗുകൾ ക്രമീകരിക്കുക. Set flags on %1MiB %2 partition. - + %1എംബി പാർട്ടീഷൻ %2ൽ ഫ്ലാഗുകൾ ക്രമീകരിക്കുക. Set flags on new partition. - + പുതിയ പാർട്ടീഷനിൽ ഫ്ലാഗുകൾ ക്രമീകരിക്കുക. Clear flags on partition <strong>%1</strong>. - + <strong>%1</strong> പാർട്ടീഷനിലെ ഫ്ലാഗുകൾ നീക്കം ചെയ്യുക. Clear flags on %1MiB <strong>%2</strong> partition. - + %1എംബി <strong>%2</strong> പാർട്ടീഷനിലെ ഫ്ലാഗുകൾ ക്രമീകരിക്കുക. @@ -2835,7 +2838,7 @@ Output: Clear flags on new partition. - + പുതിയ പാർട്ടീഷനിലെ ഫ്ലാഗുകൾ മായ്ക്കുക. @@ -2850,12 +2853,12 @@ Output: Clearing flags on partition <strong>%1</strong>. - + പാർട്ടീഷൻ <strong>%1</strong>ലെ ഫ്ലാഗുകൾ മായ്ക്കുന്നു. Clearing flags on new partition. - + പുതിയ പാർട്ടീഷനിലെ ഫ്ലാഗുകൾ മായ്ക്കുന്നു. @@ -2870,7 +2873,7 @@ Output: The installer failed to set flags on partition %1. - + പാർട്ടീഷൻ %1ൽ ഫ്ലാഗുകൾ ക്രമീകരിക്കുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -2908,7 +2911,7 @@ Output: Cannot set password for user %1. - + ഉപയോക്താവ് %1നായി രഹസ്യവാക്ക് ക്രമീകരിക്കാനായില്ല. diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 9288d409a..3c1b7bfd4 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -2979,7 +2979,7 @@ Saída de Dados: This is an overview of what will happen once you start the setup procedure. - + Isto é uma visão geral do que acontecerá assim que iniciar o procedimento de configuração. From 9e54b95da21f6fdaa659cd74c80b0abce08a0299 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 7 Oct 2019 21:52:24 +0200 Subject: [PATCH 433/626] i18n: [desktop] Automatic merge of Transifex translations --- calamares.desktop | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/calamares.desktop b/calamares.desktop index 47dd281e5..1297e6798 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -114,6 +114,10 @@ Name[mk]=Инсталирај го системот Icon[mk]=calamares GenericName[mk]=Системен Инсталер Comment[mk]=Calamares - Системен Инсталер +Name[ml]=സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്യുക +Icon[ml]=കലാമാരേസ് +GenericName[ml]=സിസ്റ്റം ഇൻസ്റ്റാളർ +Comment[ml]=കലാമാരേസ് - സിസ്റ്റം ഇൻസ്റ്റാളർ Name[nb]=Installer System Icon[nb]=calamares GenericName[nb]=Systeminstallatør From 10747178e8557b29ac874a70ff417d2646556be1 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 7 Oct 2019 21:52:24 +0200 Subject: [PATCH 434/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- .../lang/ml/LC_MESSAGES/dummypythonqt.mo | Bin 382 -> 605 bytes .../lang/ml/LC_MESSAGES/dummypythonqt.po | 10 +++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ml/LC_MESSAGES/dummypythonqt.mo index 7521088e0dc6daaa29d336d107ee51f962758eeb..258ea94f6a94277dc55c067c1f7338b1ab0541f0 100644 GIT binary patch delta 296 zcmeyzbeE<6o)F7a1|VPtVi_Pd0b*7l_5orLNC0A9AWj5gP9V+);ub~*hDso<2*m$@ zY#Si0z{J1+WP$<6EFc#G92N3X%M}8B5|dJM^cb9TGLy3va#Ix<0*dmpQj;gz$J-W{ z=!O&}<`w58mgE;%DL5tOBo-&;WhWLXI4jsB!FkCJiKQi(#U+`^nR@v}>2^8_Mh1qK z6K6k;f3RiJgDo2#Y;9C{uw@mHdaz~5gDv|XY*`Pt_Q96E2U}J=*xCyw+kon(f;pSO Y>L6?o36z-iU~3ytD_9yxHYqXy0N0mkMgRZ+ delta 68 zcmcc1@{h^lo)F7a1|VPrVi_P-0b*t#)&XJ=umEBgprj>`2C0F8i4|#+, YEAR. # +# Translators: +# Balasankar C , 2019 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-30 13:38+0200\n" +"POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" +"Last-Translator: Balasankar C , 2019\n" "Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,11 +23,11 @@ msgstr "" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "" +msgstr "എന്നെ ക്ലിക്ക് ചെയ്യൂ!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "" +msgstr "ഒരു പുതിയ QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" From 65b81f84a537049010caa65c0a5671d69cff7bc8 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 7 Oct 2019 21:52:25 +0200 Subject: [PATCH 435/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/lt/LC_MESSAGES/python.mo | Bin 8318 -> 8383 bytes lang/python/lt/LC_MESSAGES/python.po | 17 +++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lang/python/lt/LC_MESSAGES/python.mo b/lang/python/lt/LC_MESSAGES/python.mo index 2bd7d661b8b47c71440cf9518c2dd01b409b7523..faee89ab399624cae8b3e4625c7dac6bdb9b4e95 100644 GIT binary patch delta 779 zcmX}pO=uHQ5Ww+CsMdoOYttB86BkUijWH?_tW`_I`hgf)Q3LfNTf4+(lHK6$2El52 zvAmaaN3@rPb_jo%qZ}xZL#s0@9qs^|U zNTyq4QbdM({&^F#tiNCq*TqD}a2FalgQGZ)d+;6Z!$hyh2$paI-oQin1h?T5ZpXp6 zNFFES()_z|jSU`o&WoDz7IooIxE?##ili`&oAChdzzX)^e9NcU&-x7x;8)azdlOs& z52DU@22bEjqA9Y4V1bQI_^WkbBd2Lr3N1^>kfe%SR<2+j159HFUFd>CIEdp&ZMld; zcpdd5o}sQ6q01wJxU!gwtv9(^qnCLV=z+0#r zSjpJ*uT0}9JdQ(oZWd)?!mD;8((T)MnCdprD|a3TZN z%SY47Dtlx&?^Imlm@1$1#)?MWbd}q%R7KgU7S8oOjIRFwVb-u*)Am&Gt-mLjNZxN} n41Oj*v=`y~R3Z}Nn+uNP6&>I9CLCpZ6b_afnf9?@r*ZTTHMWrH delta 702 zcmXZZPbj2e9KiA4OtL3ptuce)@wTkS6k-pEOr)iqXsoS0`ZLChJev3AvT2TT;6ll5 zPqOWSOzpt|$)3nz(_Z8xr!5Y0v8DY!-l@0u^ZUI$&+qqpp7$vB+`ae7pSkggM2bbe zh)7|H=M+ZCPcV%4*oy^kL=+~l3mxpheeA?LY{zJ+NHwOg50|kKFR%%pu>~6gl6m`7P2@^0}@aRJe!}Xa=}KGtdK$U?tZW z$26M3+l~orf?FKJL4KSmxQ~T+jxoH#Rtzie1c~fQUZB9Qb@r@y@Kv7mb;-(FA?>R> z-As?F)7=R>nQ})RHLYhH_0djExxI1aEGF$4d(PF<*`MV*{+C_rli@=zh*sTrb;_!P az9K8FwHwz9bMBC4i?!aPBHp?MHSix3;Au|) diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 554a4d4b8..0f9d64e52 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -5,6 +5,7 @@ # # Translators: # Moo, 2019 +# Mindaugas , 2019 # #, fuzzy msgid "" @@ -13,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Moo, 2019\n" +"Last-Translator: Mindaugas , 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -103,7 +104,7 @@ msgstr "rsync patyrė nesėkmę su klaidos kodu {}." #: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 msgid "Failed to unpack image \"{}\"" -msgstr "Nepavyko išpakuoti atvaizdį \"{}\"" +msgstr "Nepavyko išpakuoti atvaizdį „{}“" #: src/modules/unpackfs/main.py:222 msgid "" @@ -119,7 +120,7 @@ msgstr "Nėra prijungimo taško šaknies skaidiniui" #: src/modules/unpackfs/main.py:322 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -msgstr "globalstorage viduje nėra \"rootMountPoint\" rakto, nieko nedaroma" +msgstr "globalstorage viduje nėra „rootMountPoint“ rakto, nieko nedaroma" #: src/modules/unpackfs/main.py:327 msgid "Bad mount point for root partition" @@ -127,7 +128,7 @@ msgstr "Blogas šaknies skaidinio prijungimo taškas" #: src/modules/unpackfs/main.py:328 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" -msgstr "rootMountPoint yra \"{}\", kurio nėra, nieko nedaroma" +msgstr "rootMountPoint yra „{}“, kurio nėra, nieko nedaroma" #: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 #: src/modules/unpackfs/main.py:353 @@ -136,15 +137,15 @@ msgstr "Bloga unsquash konfigūracija" #: src/modules/unpackfs/main.py:342 msgid "The filesystem for \"{}\" ({}) is not supported" -msgstr "\"{}\" ({}) failų sistema yra nepalaikoma" +msgstr "„{}“ ({}) failų sistema yra nepalaikoma" #: src/modules/unpackfs/main.py:349 msgid "The source filesystem \"{}\" does not exist" -msgstr "Šaltinio failų sistemos \"{}\" nėra" +msgstr "Šaltinio failų sistemos „{}“ nėra" #: src/modules/unpackfs/main.py:354 msgid "The destination \"{}\" in the target system is not a directory" -msgstr "Paskirties vieta \"{}\", esanti paskirties sistemoje, nėra katalogas" +msgstr "Paskirties vieta „{}“, esanti paskirties sistemoje, nėra katalogas" #: src/modules/displaymanager/main.py:401 msgid "Cannot write KDM configuration file" @@ -176,7 +177,7 @@ msgstr "Nepavyksta konfigūruoti LightDM" #: src/modules/displaymanager/main.py:623 msgid "No LightDM greeter installed." -msgstr "Nėra įdiegtas joks LightDM sveikintojas." +msgstr "Neįdiegtas joks LightDM pasisveikinimas." #: src/modules/displaymanager/main.py:654 msgid "Cannot write SLIM configuration file" From d58fdaa2cde86feeeb6865b9ecbdae70c94dff3a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 8 Oct 2019 15:00:25 +0200 Subject: [PATCH 436/626] [unpackfs] Stub of special handling for a single file --- src/modules/unpackfs/main.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index fd3f97353..b6cdd76a0 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -303,6 +303,10 @@ class UnpackOperation: try: if entry.is_file(): source = entry.source + if entry.total <= 1: + # If there is one file, *and* the target does not exist (as a file or dir) + # but the dirname of the target does, we should copy just one file and rename. + pass else: source = imgmountdir From 05c039812689666d3386f39f211a3f5e11308239 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 8 Oct 2019 16:19:39 +0200 Subject: [PATCH 437/626] [unpackfs] Support multiple items better - it's ok if item one creates directories where item two will write, so don't check for existence of all directories on start-up. Reported by ArcoLinux. --- src/modules/unpackfs/main.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index b6cdd76a0..0c511b959 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -378,6 +378,7 @@ def run(): unpack = list() + is_first = True for entry in job.configuration["unpack"]: source = os.path.abspath(entry["source"]) sourcefs = entry["sourcefs"] @@ -385,10 +386,14 @@ def run(): if not os.path.isdir(destination): utils.warning(("The destination \"{}\" in the target system is not a directory").format(destination)) - return (_("Bad unsquash configuration"), - _("The destination \"{}\" in the target system is not a directory").format(destination)) + if is_first: + return (_("Bad unsquash configuration"), + _("The destination \"{}\" in the target system is not a directory").format(destination)) + else: + utils.debug(".. assuming that the previous targets will create that directory.") unpack.append(UnpackEntry(source, sourcefs, destination)) + is_first = False unpackop = UnpackOperation(unpack) From 4acf63fd9adbca56e6431bc1d317db2e110f179a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 8 Oct 2019 17:31:51 +0200 Subject: [PATCH 438/626] [unpackfs] Document fields of the UnpackEntry - Document fields - While here, remove code for special-casing single-file copies. Those already work, based on rsync. --- src/modules/unpackfs/main.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 0c511b959..3a64c6284 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -52,6 +52,17 @@ class UnpackEntry: __slots__ = ['source', 'sourcefs', 'destination', 'copied', 'total'] def __init__(self, source, sourcefs, destination): + """ + @p source is the source file name (might be an image file, or + a directory, too) + @p sourcefs is a type indication; "file" is special, as is + "squashfs". + @p destination is where the files from the source go. This is + **already** prefixed by rootMountPoint, so should be a + valid absolute path within the host system. + + The members copied and total are filled in by the copying process. + """ self.source = source self.sourcefs = sourcefs self.destination = destination @@ -85,7 +96,6 @@ def list_excludes(destination): return lst - def file_copy(source, dest, progress_cb): """ Extract given image using rsync. @@ -303,10 +313,6 @@ class UnpackOperation: try: if entry.is_file(): source = entry.source - if entry.total <= 1: - # If there is one file, *and* the target does not exist (as a file or dir) - # but the dirname of the target does, we should copy just one file and rename. - pass else: source = imgmountdir From 57c0b2088c266d7d9feed7a9a0ebe3a35f0494ef Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 15:36:39 +0200 Subject: [PATCH 439/626] [unpackfs] Allow naming a non-directory for single files - this enables renaming files on copy --- src/modules/unpackfs/main.py | 6 +++--- src/modules/unpackfs/unpackfs.conf | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 3a64c6284..a9e6ea067 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -58,9 +58,9 @@ class UnpackEntry: @p sourcefs is a type indication; "file" is special, as is "squashfs". @p destination is where the files from the source go. This is - **already** prefixed by rootMountPoint, so should be a + **already** prefixed by rootMountPoint, so should be a valid absolute path within the host system. - + The members copied and total are filled in by the copying process. """ self.source = source @@ -390,7 +390,7 @@ def run(): sourcefs = entry["sourcefs"] destination = os.path.abspath(root_mount_point + entry["destination"]) - if not os.path.isdir(destination): + if not os.path.isdir(destination) and sourcefs != "file": utils.warning(("The destination \"{}\" in the target system is not a directory").format(destination)) if is_first: return (_("Bad unsquash configuration"), diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index d994e351a..e81a90b0a 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -60,8 +60,13 @@ # - source: ../src/modules/dummycpp # sourcefs: file # destination: "/tmp/derp" +# +# The *destination* and *source* are handed off to rsync, so the semantics +# of trailing slashes apply. In order to *rename* a file as it is +# copied, specify one single file (e.g. CHANGES) and a full pathname +# for its destination name, as in the example below. unpack: - source: ../CHANGES sourcefs: file - destination: "/tmp" + destination: "/tmp/changes.txt" From 371ae598a0ef1433b17f0100ab1b7cb769e25f80 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 16:18:46 +0200 Subject: [PATCH 440/626] Changes: document unpackfs --- CHANGES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES b/CHANGES index de07562f3..711709922 100644 --- a/CHANGES +++ b/CHANGES @@ -6,8 +6,10 @@ website will have to do for older versions. # 3.2.15 (unreleased) # This release contains contributions from (alphabetically by first name): + - No other contributors this time around. ## Core ## + - No changes to core functionality ## Modules ## @@ -16,6 +18,9 @@ This release contains contributions from (alphabetically by first name): shorthand to force **only** that entry in the list. #1253 - *machineid* module has been re-written in C++ and extended with a new configuration key to generate urandom pool data. #1252 + - *unpackfs* now supports a special *sourcefs* value of `file` + for copying single files (optionally with renaming) or directory + trees to the target system. # 3.2.14 (2019-09-30) # From fe1ddb8ead8b5e974093a3a8d9fbaeaeded54d32 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 16:32:39 +0200 Subject: [PATCH 441/626] [unpackfs] Expand on the documentation --- src/modules/unpackfs/unpackfs.conf | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index e81a90b0a..96f628c11 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -11,14 +11,14 @@ --- # Each list item is unpacked, in order, to the target system. # -# Each list item has the following attributes: -# source: path relative to the live / intstalling system to the image -# sourcefs: the type of the source files; valid entries are -# - *ext4* (copies the filesystem contents) -# - *squashfs* (unsquashes) -# - *file* (copies a file or directory) +# Each list item has the following **mandatory** attributes: +# - *source* path relative to the live / intstalling system to the image +# - *sourcefs* the type of the source files; valid entries are +# - `ext4` (copies the filesystem contents) +# - `squashfs` (unsquashes) +# - `file` (copies a file or directory) # - (may be others if mount supports it) -# destination: path relative to rootMountPoint (so in the target +# - *destination* path relative to rootMountPoint (so in the target # system) where this filesystem is unpacked. It may be an # empty string, which effectively is / (the root) of the target # system. @@ -26,13 +26,18 @@ # EXAMPLES # # Usually you list a filesystem image to unpack; you can use -# squashfs or an ext4 image. +# squashfs or an ext4 image. An empty destination is equivalent to "/", +# the root of the target system. The destination directory must exist +# in the target system. # # - source: "/path/to/filesystem.sqfs" # sourcefs: "squashfs" # destination: "" # -# Multiple entries are unpacked in-order +# Multiple entries are unpacked in-order; if there is more than one +# item then only the first must exist beforehand -- it's ok to +# create directories with one unsquash and then to use those +# directories as a target from a second unsquash. # # - source: "/path/to/another/filesystem.img" # sourcefs: "ext4" From 311c65737fd41a061fe3fe4b8822075e704f636c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 16:46:21 +0200 Subject: [PATCH 442/626] [unpackfs] Remove unused parameter - list_excludes() turns the extra mounts from global storage into --exclude parameters for rsync; it doesn't do anything with the destination parameter. - while here rename to something more descriptive --- src/modules/unpackfs/main.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index a9e6ea067..035912d48 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -76,12 +76,9 @@ class UnpackEntry: ON_POSIX = 'posix' in sys.builtin_module_names -def list_excludes(destination): +def global_excludes(): """ List excludes for rsync. - - :param destination: - :return: """ lst = [] extra_mounts = globalstorage.value("extraMounts") @@ -120,7 +117,7 @@ def file_copy(source, dest, progress_cb): num_files_copied = 0 # Gets updated through rsync output args = ['rsync', '-aHAXr'] - args.extend(list_excludes(dest)) + args.extend(global_excludes()) args.extend(['--progress', source, dest]) process = subprocess.Popen( args, env=at_env, bufsize=1, stdout=subprocess.PIPE, close_fds=ON_POSIX From 4552631086bbd4bfcf6305f8704fa0c9a16378ab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 16:56:04 +0200 Subject: [PATCH 443/626] [unpackfs] Prep for more information in file_copy - Give the whole entry to file_copy, not just the destination. This will allow file_copy to work with local excludes. - Pluck entry.destination out immediately, to keep code changes minimal. - Document the parameters. --- src/modules/unpackfs/main.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 035912d48..8c074738a 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -93,15 +93,18 @@ def global_excludes(): return lst -def file_copy(source, dest, progress_cb): +def file_copy(source, entry, progress_cb): """ Extract given image using rsync. - :param source: - :param dest: - :param progress_cb: - :return: + :param source: Source file. This may be the place the entry's + image is mounted, or if it's a single file, the entry's source value. + :param entry: The UnpackEntry being copied. + :param progress_cb: A callback function for progress reporting. + Takes a number and a total-number. """ + dest = entry.destination + # Environment used for executing rsync properly # Setting locale to C (fix issue with tr_TR locale) at_env = os.environ @@ -313,7 +316,7 @@ class UnpackOperation: else: source = imgmountdir - return file_copy(source, entry.destination, progress_cb) + return file_copy(source, entry, progress_cb) finally: if not entry.is_file(): subprocess.check_call(["umount", "-l", imgmountdir]) From 9d47716e5dc56300d8a882fd322d75b6a9fc703e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 17:19:56 +0200 Subject: [PATCH 444/626] [unpackfs] Add settings per-item for exclude and excludeFile - support excluding specific files / lists when rsyncing, in case the squashfs has more in it than you really want to copy over. --- src/modules/unpackfs/main.py | 10 +++++++++- src/modules/unpackfs/unpackfs.conf | 11 +++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 8c074738a..bfd291e3c 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -49,7 +49,7 @@ class UnpackEntry: :param sourcefs: :param destination: """ - __slots__ = ['source', 'sourcefs', 'destination', 'copied', 'total'] + __slots__ = ['source', 'sourcefs', 'destination', 'copied', 'total', 'exclude', 'excludeFile'] def __init__(self, source, sourcefs, destination): """ @@ -66,6 +66,8 @@ class UnpackEntry: self.source = source self.sourcefs = sourcefs self.destination = destination + self.exclude = None + self.excludeFile = None self.copied = 0 self.total = 0 @@ -399,6 +401,12 @@ def run(): utils.debug(".. assuming that the previous targets will create that directory.") unpack.append(UnpackEntry(source, sourcefs, destination)) + # Optional settings + if entry.get("exclude", None): + unpack[-1].exclude = entry["exclude"] + if entry.get("excludeFile", None): + unpack[-1].excludeFile = entry["excludeFile"] + is_first = False unpackop = UnpackOperation(unpack) diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index 96f628c11..98569b477 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -23,6 +23,13 @@ # empty string, which effectively is / (the root) of the target # system. # +# Each list item **optionally** can include the following attributes: +# - *exclude* is a list of values that is expanded into --exclude +# arguments for rsync (each entry in exclude gets its own --exclude). +# - *excludeFile* is a single file that is passed to rsync as an +# --exclude-file argument. This should be a full pathname +# inside the **host** filesystem. +# # EXAMPLES # # Usually you list a filesystem image to unpack; you can use @@ -75,3 +82,7 @@ unpack: - source: ../CHANGES sourcefs: file destination: "/tmp/changes.txt" + - source: src/qml/calamares/slideshow/ + sourcefs: file + destination: "/tmp/" + exclude: [ "*.qmlc", "qmldir" ] From 4370669fc39a93dc80ea35aa907a3d528996d78c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 17:46:01 +0200 Subject: [PATCH 445/626] [unpackfs] Put exclusion settings into the rsync command line --- src/modules/unpackfs/main.py | 5 +++++ src/modules/unpackfs/unpackfs.conf | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index bfd291e3c..53ffd37df 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -123,6 +123,11 @@ def file_copy(source, entry, progress_cb): args = ['rsync', '-aHAXr'] args.extend(global_excludes()) + if entry.excludeFile: + args.extend(["--exclude-from=" + entry.excludeFile]) + if entry.exclude: + for f in entry.exclude: + args.extend(["--exclude", f]) args.extend(['--progress', source, dest]) process = subprocess.Popen( args, env=at_env, bufsize=1, stdout=subprocess.PIPE, close_fds=ON_POSIX diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index 98569b477..454e82e66 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -82,7 +82,8 @@ unpack: - source: ../CHANGES sourcefs: file destination: "/tmp/changes.txt" - - source: src/qml/calamares/slideshow/ + - source: src/qml/calamares/slideshow sourcefs: file - destination: "/tmp/" + destination: "/tmp/slideshow/" exclude: [ "*.qmlc", "qmldir" ] + # excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt From 3a7d0d4ee7e170ca974266f1a7b5692d43221f5c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 11 Oct 2019 17:53:24 +0200 Subject: [PATCH 446/626] Changes: pre-release housekeeping --- CHANGES | 4 +++- CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 711709922..5ade0ba1b 100644 --- a/CHANGES +++ b/CHANGES @@ -3,7 +3,7 @@ contributors are listed. Note that Calamares does not have a historical changelog -- this log starts with version 3.2.0. The release notes on the website will have to do for older versions. -# 3.2.15 (unreleased) # +# 3.2.15 (2019-10-11) # This release contains contributions from (alphabetically by first name): - No other contributors this time around. @@ -21,6 +21,8 @@ This release contains contributions from (alphabetically by first name): - *unpackfs* now supports a special *sourcefs* value of `file` for copying single files (optionally with renaming) or directory trees to the target system. + - *unpackfs* now support an *exclude* and *excludeFile* setting for + excluding particular files or patters from unpacking. #1229 # 3.2.14 (2019-09-30) # diff --git a/CMakeLists.txt b/CMakeLists.txt index d13e6a398..9d61ebbc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ project( CALAMARES VERSION 3.2.15 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 300ebaaa037495e9e7f75d171d369e89ed685fec Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 13 Oct 2019 21:12:24 +0200 Subject: [PATCH 447/626] Changes: post-release housekeeping --- CHANGES | 12 ++++++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 5ade0ba1b..e5e3c42ba 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,18 @@ 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.16 (unreleased) # + +This release contains contributions from (alphabetically by first name): + - No other contributors this time around. + +## Core ## + - No changes to core functionality + +## Modules ## + - No changes to module functionality + + # 3.2.15 (2019-10-11) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d61ebbc5..ad92c3b62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.15 + VERSION 3.2.16 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From eb90757063fda85ebf7106c9cdf88a75995f493b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 17:21:33 +0200 Subject: [PATCH 448/626] [users] Apply coding style (lots of churn) --- src/modules/users/CheckPWQuality.cpp | 178 +++++++++++++++------------ src/modules/users/CheckPWQuality.h | 27 ++-- src/modules/users/CreateUserJob.cpp | 49 ++++---- src/modules/users/CreateUserJob.h | 5 +- src/modules/users/PasswordTests.cpp | 10 +- src/modules/users/SetHostNameJob.cpp | 28 +++-- src/modules/users/SetHostNameJob.h | 3 +- src/modules/users/SetPasswordJob.cpp | 61 ++++----- src/modules/users/SetPasswordJob.h | 5 +- src/modules/users/UsersPage.cpp | 116 ++++++++--------- src/modules/users/UsersPage.h | 2 +- src/modules/users/UsersViewStep.cpp | 63 +++++----- src/modules/users/UsersViewStep.h | 2 +- 13 files changed, 272 insertions(+), 277 deletions(-) diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 7fa13f124..3728c5a92 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -32,12 +32,12 @@ PasswordCheck::PasswordCheck() : m_message() - , m_accept( []( const QString& ){ return true; } ) + , m_accept( []( const QString& ) { return true; } ) { } PasswordCheck::PasswordCheck( const QString& m, AcceptFunc a ) - : m_message( [m](){ return m; } ) + : m_message( [m]() { return m; } ) , m_accept( a ) { } @@ -52,21 +52,14 @@ DEFINE_CHECK_FUNC( minLength ) { int minLength = -1; if ( value.canConvert( QVariant::Int ) ) + { minLength = value.toInt(); + } if ( minLength > 0 ) { cDebug() << Logger::SubEntry << "minLength set to" << minLength; - checks.push_back( - PasswordCheck( - []() - { - return QCoreApplication::translate( "PWQ", "Password is too short" ); - }, - [minLength]( const QString& s ) - { - return s.length() >= minLength; - } - ) ); + checks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is too short" ); }, + [minLength]( const QString& s ) { return s.length() >= minLength; } ) ); } } @@ -74,21 +67,14 @@ DEFINE_CHECK_FUNC( maxLength ) { int maxLength = -1; if ( value.canConvert( QVariant::Int ) ) + { maxLength = value.toInt(); + } if ( maxLength > 0 ) { cDebug() << Logger::SubEntry << "maxLength set to" << maxLength; - checks.push_back( - PasswordCheck( - []() - { - return QCoreApplication::translate("PWQ", "Password is too long" ); - }, - [maxLength]( const QString& s ) - { - return s.length() <= maxLength; - } - ) ); + checks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is too long" ); }, + [maxLength]( const QString& s ) { return s.length() <= maxLength; } ) ); } } @@ -101,15 +87,17 @@ DEFINE_CHECK_FUNC( maxLength ) */ /// @brief Handle libpwquality using void* to represent a long -static inline long mungeLong( void* p ) +static inline long +mungeLong( void* p ) { - return static_cast( reinterpret_cast( p ) ); + return static_cast< long >( reinterpret_cast< intptr_t >( p ) ); } /// @brief Handle libpwquality using void* to represent a char* -static inline const char* mungeString( void* p ) +static inline const char* +mungeString( void* p ) { - return reinterpret_cast( p ); + return reinterpret_cast< const char* >( p ); } /** @@ -128,16 +116,10 @@ public: { } - ~PWSettingsHolder() - { - pwquality_free_settings( m_settings ); - } + ~PWSettingsHolder() { pwquality_free_settings( m_settings ); } /// Sets an option via the configuration string @p v, = style. - int set( const QString& v ) - { - return pwquality_set_option( m_settings, v.toUtf8().constData() ); - } + int set( const QString& v ) { return pwquality_set_option( m_settings, v.toUtf8().constData() ); } /// Checks the given password @p pwd against the current configuration int check( const QString& pwd ) @@ -148,10 +130,7 @@ public: return r; } - bool hasExplanation() const - { - return m_rv < 0; - } + bool hasExplanation() const { return m_rv < 0; } /* This is roughly the same as the function pwquality_strerror, * only with QStrings instead, and using the Qt translation scheme. @@ -164,16 +143,21 @@ public: m_auxerror = nullptr; if ( m_rv >= arbitrary_minimum_strength ) + { return QString(); + } if ( m_rv >= 0 ) - return QCoreApplication::translate( "PWQ", "Password is too weak" ); + { + return QCoreApplication::translate( "PWQ", "Password is too weak" ); + } switch ( m_rv ) { case PWQ_ERROR_MEM_ALLOC: if ( auxerror ) { - QString s = QCoreApplication::translate( "PWQ", "Memory allocation error when setting '%1'" ).arg( mungeString( auxerror ) ); + QString s = QCoreApplication::translate( "PWQ", "Memory allocation error when setting '%1'" ) + .arg( mungeString( auxerror ) ); free( auxerror ); return s; } @@ -189,58 +173,94 @@ public: case PWQ_ERROR_USER_CHECK: return QCoreApplication::translate( "PWQ", "The password contains the user name in some form" ); case PWQ_ERROR_GECOS_CHECK: - return QCoreApplication::translate( "PWQ", "The password contains words from the real name of the user in some form" ); + return QCoreApplication::translate( + "PWQ", "The password contains words from the real name of the user in some form" ); case PWQ_ERROR_BAD_WORDS: return QCoreApplication::translate( "PWQ", "The password contains forbidden words in some form" ); case PWQ_ERROR_MIN_DIGITS: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains less than %1 digits" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", "The password contains less than %1 digits" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password contains too few digits" ); case PWQ_ERROR_MIN_UPPERS: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains less than %1 uppercase letters" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", "The password contains less than %1 uppercase letters" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password contains too few uppercase letters" ); case PWQ_ERROR_MIN_LOWERS: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains less than %1 lowercase letters" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", "The password contains less than %1 lowercase letters" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password contains too few lowercase letters" ); case PWQ_ERROR_MIN_OTHERS: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains less than %1 non-alphanumeric characters" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", + "The password contains less than %1 non-alphanumeric characters" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password contains too few non-alphanumeric characters" ); case PWQ_ERROR_MIN_LENGTH: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password is shorter than %1 characters" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", "The password is shorter than %1 characters" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password is too short" ); case PWQ_ERROR_ROTATED: return QCoreApplication::translate( "PWQ", "The password is just rotated old one" ); case PWQ_ERROR_MIN_CLASSES: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains less than %1 character classes" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", "The password contains less than %1 character classes" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password does not contain enough character classes" ); case PWQ_ERROR_MAX_CONSECUTIVE: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains more than %1 same characters consecutively" ).arg( mungeLong( auxerror ) ); + { + return QCoreApplication::translate( "PWQ", + "The password contains more than %1 same characters consecutively" ) + .arg( mungeLong( auxerror ) ); + } return QCoreApplication::translate( "PWQ", "The password contains too many same characters consecutively" ); case PWQ_ERROR_MAX_CLASS_REPEAT: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains more than %1 characters of the same class consecutively" ).arg( mungeLong( auxerror ) ); - return QCoreApplication::translate( "PWQ", "The password contains too many characters of the same class consecutively" ); + { + return QCoreApplication::translate( + "PWQ", "The password contains more than %1 characters of the same class consecutively" ) + .arg( mungeLong( auxerror ) ); + } + return QCoreApplication::translate( + "PWQ", "The password contains too many characters of the same class consecutively" ); case PWQ_ERROR_MAX_SEQUENCE: if ( auxerror ) - return QCoreApplication::translate( "PWQ", "The password contains monotonic sequence longer than %1 characters" ).arg( mungeLong( auxerror ) ); - return QCoreApplication::translate( "PWQ", "The password contains too long of a monotonic character sequence" ); + { + return QCoreApplication::translate( + "PWQ", "The password contains monotonic sequence longer than %1 characters" ) + .arg( mungeLong( auxerror ) ); + } + return QCoreApplication::translate( "PWQ", + "The password contains too long of a monotonic character sequence" ); case PWQ_ERROR_EMPTY_PASSWORD: return QCoreApplication::translate( "PWQ", "No password supplied" ); case PWQ_ERROR_RNG: return QCoreApplication::translate( "PWQ", "Cannot obtain random numbers from the RNG device" ); case PWQ_ERROR_GENERATION_FAILED: - return QCoreApplication::translate( "PWQ", "Password generation failed - required entropy too low for settings" ); + return QCoreApplication::translate( "PWQ", + "Password generation failed - required entropy too low for settings" ); case PWQ_ERROR_CRACKLIB_CHECK: if ( auxerror ) { /* Here the string comes from cracklib, don't free? */ - return QCoreApplication::translate( "PWQ", "The password fails the dictionary check - %1" ).arg( mungeString( auxerror ) ); + return QCoreApplication::translate( "PWQ", "The password fails the dictionary check - %1" ) + .arg( mungeString( auxerror ) ); } return QCoreApplication::translate( "PWQ", "The password fails the dictionary check" ); case PWQ_ERROR_UNKNOWN_SETTING: @@ -254,7 +274,8 @@ public: case PWQ_ERROR_INTEGER: if ( auxerror ) { - QString s = QCoreApplication::translate( "PWQ", "Bad integer value of setting - %1" ).arg( mungeString( auxerror ) ); + QString s = QCoreApplication::translate( "PWQ", "Bad integer value of setting - %1" ) + .arg( mungeString( auxerror ) ); free( auxerror ); return s; } @@ -262,7 +283,8 @@ public: case PWQ_ERROR_NON_INT_SETTING: if ( auxerror ) { - QString s = QCoreApplication::translate( "PWQ", "Setting %1 is not of integer type" ).arg( mungeString( auxerror ) ); + QString s = QCoreApplication::translate( "PWQ", "Setting %1 is not of integer type" ) + .arg( mungeString( auxerror ) ); free( auxerror ); return s; } @@ -270,7 +292,8 @@ public: case PWQ_ERROR_NON_STR_SETTING: if ( auxerror ) { - QString s = QCoreApplication::translate( "PWQ", "Setting %1 is not of string type" ).arg( mungeString( auxerror ) ); + QString s = QCoreApplication::translate( "PWQ", "Setting %1 is not of string type" ) + .arg( mungeString( auxerror ) ); free( auxerror ); return s; } @@ -290,7 +313,7 @@ private: pwquality_settings_t* m_settings; int m_rv; void* m_auxerror; -} ; +}; DEFINE_CHECK_FUNC( libpwquality ) { @@ -302,7 +325,7 @@ DEFINE_CHECK_FUNC( libpwquality ) QVariantList l = value.toList(); unsigned int requirement_count = 0; - auto settings = std::make_shared(); + auto settings = std::make_shared< PWSettingsHolder >(); for ( const auto& v : l ) { if ( v.type() == QVariant::String ) @@ -310,7 +333,9 @@ DEFINE_CHECK_FUNC( libpwquality ) QString option = v.toString(); int r = settings->set( option ); if ( r ) + { cWarning() << "unrecognized libpwquality setting" << option; + } else { cDebug() << Logger::SubEntry << "libpwquality setting" << option; @@ -318,28 +343,27 @@ DEFINE_CHECK_FUNC( libpwquality ) } } else + { cWarning() << "unrecognized libpwquality setting" << v; + } } /* Something actually added? */ if ( requirement_count ) { - checks.push_back( - PasswordCheck( - [settings]() - { - return settings->explanation(); - }, - [settings]( const QString& s ) - { - int r = settings->check( s ); - if ( r < 0 ) - cWarning() << "libpwquality error" << r; - else if ( r < settings->arbitrary_minimum_strength ) - cDebug() << "Password strength" << r << "too low"; - return r >= settings->arbitrary_minimum_strength; - } - ) ); + checks.push_back( PasswordCheck( [settings]() { return settings->explanation(); }, + [settings]( const QString& s ) { + int r = settings->check( s ); + if ( r < 0 ) + { + cWarning() << "libpwquality error" << r; + } + else if ( r < settings->arbitrary_minimum_strength ) + { + cDebug() << "Password strength" << r << "too low"; + } + return r >= settings->arbitrary_minimum_strength; + } ) ); } } #endif diff --git a/src/modules/users/CheckPWQuality.h b/src/modules/users/CheckPWQuality.h index 07760c75b..046f31496 100644 --- a/src/modules/users/CheckPWQuality.h +++ b/src/modules/users/CheckPWQuality.h @@ -35,8 +35,8 @@ class PasswordCheck { public: /** Return true if the string is acceptable. */ - using AcceptFunc = std::function; - using MessageFunc = std::function; + using AcceptFunc = std::function< bool( const QString& ) >; + using MessageFunc = std::function< QString() >; /** Generate a @p message if @p filter returns true */ PasswordCheck( MessageFunc message, AcceptFunc filter ); @@ -50,17 +50,14 @@ public: * according to this filter. Returns a message describing * what is wrong if not. */ - QString filter( const QString& s ) const - { - return m_accept( s ) ? QString() : m_message(); - } + QString filter( const QString& s ) const { return m_accept( s ) ? QString() : m_message(); } private: MessageFunc m_message; AcceptFunc m_accept; -} ; +}; -using PasswordCheckList = QVector; +using PasswordCheckList = QVector< PasswordCheck >; /* Each of these functions adds a check (if possible) to the list * of checks; they use the configuration value(s) from the @@ -68,16 +65,14 @@ using PasswordCheckList = QVector; * may skip adding a check, and do nothing (it should log * an error, though). */ -#define _xDEFINE_CHECK_FUNC(x) \ - add_check_##x( PasswordCheckList& checks, const QVariant& value ) -#define DEFINE_CHECK_FUNC(x) void _xDEFINE_CHECK_FUNC(x) -#define DECLARE_CHECK_FUNC(x) void _xDEFINE_CHECK_FUNC(x); +#define _xDEFINE_CHECK_FUNC( x ) add_check_##x( PasswordCheckList& checks, const QVariant& value ) +#define DEFINE_CHECK_FUNC( x ) void _xDEFINE_CHECK_FUNC( x ) +#define DECLARE_CHECK_FUNC( x ) void _xDEFINE_CHECK_FUNC( x ); -DECLARE_CHECK_FUNC(minLength) -DECLARE_CHECK_FUNC(maxLength) +DECLARE_CHECK_FUNC( minLength ) +DECLARE_CHECK_FUNC( maxLength ) #ifdef HAVE_LIBPWQUALITY -DECLARE_CHECK_FUNC(libpwquality) +DECLARE_CHECK_FUNC( libpwquality ) #endif #endif - diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index 788ba0195..b107fb0bb 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -19,10 +19,10 @@ #include -#include "JobQueue.h" #include "GlobalStorage.h" -#include "utils/Logger.h" +#include "JobQueue.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" #include #include @@ -72,17 +72,20 @@ CreateUserJob::exec() Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); QDir destDir( gs->value( "rootMountPoint" ).toString() ); - if ( gs->contains( "sudoersGroup" ) && - !gs->value( "sudoersGroup" ).toString().isEmpty() ) + if ( gs->contains( "sudoersGroup" ) && !gs->value( "sudoersGroup" ).toString().isEmpty() ) { QFileInfo sudoersFi( destDir.absoluteFilePath( "etc/sudoers.d/10-installer" ) ); if ( !sudoersFi.absoluteDir().exists() ) + { return Calamares::JobResult::error( tr( "Sudoers dir is not writable." ) ); + } QFile sudoersFile( sudoersFi.absoluteFilePath() ); - if (!sudoersFile.open( QIODevice::WriteOnly | QIODevice::Text ) ) + if ( !sudoersFile.open( QIODevice::WriteOnly | QIODevice::Text ) ) + { return Calamares::JobResult::error( tr( "Cannot create sudoers file for writing." ) ); + } QString sudoersGroup = gs->value( "sudoersGroup" ).toString(); @@ -96,11 +99,12 @@ CreateUserJob::exec() QFileInfo groupsFi( destDir.absoluteFilePath( "etc/group" ) ); QFile groupsFile( groupsFi.absoluteFilePath() ); if ( !groupsFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { return Calamares::JobResult::error( tr( "Cannot open groups file for reading." ) ); + } QString groupsData = QString::fromLocal8Bit( groupsFile.readAll() ); QStringList groupsLines = groupsData.split( '\n' ); - for ( QStringList::iterator it = groupsLines.begin(); - it != groupsLines.end(); ++it ) + for ( QStringList::iterator it = groupsLines.begin(); it != groupsLines.end(); ++it ) { int indexOfFirstToDrop = it->indexOf( ':' ); it->truncate( indexOfFirstToDrop ); @@ -108,15 +112,13 @@ CreateUserJob::exec() foreach ( const QString& group, m_defaultGroups ) if ( !groupsLines.contains( group ) ) - CalamaresUtils::System::instance()-> - targetEnvCall( { "groupadd", group } ); + CalamaresUtils::System::instance()->targetEnvCall( { "groupadd", group } ); QString defaultGroups = m_defaultGroups.join( ',' ); if ( m_autologin ) { QString autologinGroup; - if ( gs->contains( "autologinGroup" ) && - !gs->value( "autologinGroup" ).toString().isEmpty() ) + if ( gs->contains( "autologinGroup" ) && !gs->value( "autologinGroup" ).toString().isEmpty() ) { autologinGroup = gs->value( "autologinGroup" ).toString(); CalamaresUtils::System::instance()->targetEnvCall( { "groupadd", autologinGroup } ); @@ -131,26 +133,20 @@ CreateUserJob::exec() QDir existingHome( destDir.absolutePath() + shellFriendlyHome ); if ( existingHome.exists() ) { - QString backupDirName = "dotfiles_backup_" + - QDateTime::currentDateTime() - .toString( "yyyy-MM-dd_HH-mm-ss" ); + QString backupDirName = "dotfiles_backup_" + QDateTime::currentDateTime().toString( "yyyy-MM-dd_HH-mm-ss" ); existingHome.mkdir( backupDirName ); - CalamaresUtils::System::instance()-> - targetEnvCall( { "sh", - "-c", - "mv -f " + - shellFriendlyHome + "/.* " + - shellFriendlyHome + "/" + - backupDirName - } ); + CalamaresUtils::System::instance()->targetEnvCall( + { "sh", "-c", "mv -f " + shellFriendlyHome + "/.* " + shellFriendlyHome + "/" + backupDirName } ); } } - QStringList useradd{ "useradd", "-m", "-U" }; + QStringList useradd { "useradd", "-m", "-U" }; QString shell = gs->value( "userShell" ).toString(); if ( !shell.isEmpty() ) + { useradd << "-s" << shell; + } useradd << "-c" << m_fullName; useradd << m_userName; @@ -161,8 +157,8 @@ CreateUserJob::exec() return commandResult.explainProcess( useradd, std::chrono::seconds( 10 ) /* bogus timeout */ ); } - commandResult = CalamaresUtils::System::instance()->targetEnvCommand( - { "usermod", "-aG", defaultGroups, m_userName } ); + commandResult + = CalamaresUtils::System::instance()->targetEnvCommand( { "usermod", "-aG", defaultGroups, m_userName } ); if ( commandResult.getExitCode() ) { cError() << "usermod failed" << commandResult.getExitCode(); @@ -171,8 +167,7 @@ CreateUserJob::exec() QString userGroup = QString( "%1:%2" ).arg( m_userName ).arg( m_userName ); QString homeDir = QString( "/home/%1" ).arg( m_userName ); - commandResult = CalamaresUtils::System::instance()->targetEnvCommand( - { "chown", "-R", userGroup, homeDir } ); + commandResult = CalamaresUtils::System::instance()->targetEnvCommand( { "chown", "-R", userGroup, homeDir } ); if ( commandResult.getExitCode() ) { cError() << "chown failed" << commandResult.getExitCode(); diff --git a/src/modules/users/CreateUserJob.h b/src/modules/users/CreateUserJob.h index d3459fc8a..98d7c001e 100644 --- a/src/modules/users/CreateUserJob.h +++ b/src/modules/users/CreateUserJob.h @@ -27,10 +27,7 @@ class CreateUserJob : public Calamares::Job { Q_OBJECT public: - CreateUserJob( const QString& userName, - const QString& fullName, - bool autologin, - const QStringList& defaultGroups ); + CreateUserJob( const QString& userName, const QString& fullName, bool autologin, const QStringList& defaultGroups ); QString prettyName() const override; QString prettyDescription() const override; QString prettyStatusMessage() const override; diff --git a/src/modules/users/PasswordTests.cpp b/src/modules/users/PasswordTests.cpp index d4526351a..0c1b4bffc 100644 --- a/src/modules/users/PasswordTests.cpp +++ b/src/modules/users/PasswordTests.cpp @@ -24,13 +24,9 @@ QTEST_GUILESS_MAIN( PasswordTests ) -PasswordTests::PasswordTests() -{ -} +PasswordTests::PasswordTests() {} -PasswordTests::~PasswordTests() -{ -} +PasswordTests::~PasswordTests() {} void PasswordTests::initTestCase() @@ -41,7 +37,7 @@ void PasswordTests::testSalt() { QString s = SetPasswordJob::make_salt( 8 ); - QCOMPARE( s.length(), 4 + 8 ); // 8 salt chars, plus $6$, plus trailing $ + QCOMPARE( s.length(), 4 + 8 ); // 8 salt chars, plus $6$, plus trailing $ QVERIFY( s.startsWith( "$6$" ) ); QVERIFY( s.endsWith( '$' ) ); qDebug() << "Obtained salt" << s; diff --git a/src/modules/users/SetHostNameJob.cpp b/src/modules/users/SetHostNameJob.cpp index 62b1c61a7..b03d7a200 100644 --- a/src/modules/users/SetHostNameJob.cpp +++ b/src/modules/users/SetHostNameJob.cpp @@ -21,11 +21,11 @@ #include "SetHostNameJob.h" #include "GlobalStorage.h" -#include "utils/Logger.h" #include "JobQueue.h" +#include "utils/Logger.h" -#include #include +#include SetHostNameJob::SetHostNameJob( const QString& hostname ) : Calamares::Job() @@ -33,7 +33,8 @@ SetHostNameJob::SetHostNameJob( const QString& hostname ) { } -QString SetHostNameJob::prettyName() const +QString +SetHostNameJob::prettyName() const { return tr( "Set hostname %1" ).arg( m_hostname ); } @@ -52,7 +53,8 @@ SetHostNameJob::prettyStatusMessage() const return tr( "Setting hostname %1." ).arg( m_hostname ); } -Calamares::JobResult SetHostNameJob::exec() +Calamares::JobResult +SetHostNameJob::exec() { Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); @@ -90,11 +92,21 @@ Calamares::JobResult SetHostNameJob::exec() // We also need to write the appropriate entries for /etc/hosts QTextStream hostsfileout( &hostsfile ); // ipv4 support - hostsfileout << "127.0.0.1" << "\t" << "localhost" << "\n"; - hostsfileout << "127.0.1.1" << "\t" << m_hostname << "\n"; + hostsfileout << "127.0.0.1" + << "\t" + << "localhost" + << "\n"; + hostsfileout << "127.0.1.1" + << "\t" << m_hostname << "\n"; // ipv6 support - hostsfileout << "::1" << "\t" << "localhost ip6-localhost ip6-loopback" << "\n"; - hostsfileout << "ff02::1 ip6-allnodes" << "\n" << "ff02::2 ip6-allrouters" << "\n"; + hostsfileout << "::1" + << "\t" + << "localhost ip6-localhost ip6-loopback" + << "\n"; + hostsfileout << "ff02::1 ip6-allnodes" + << "\n" + << "ff02::2 ip6-allrouters" + << "\n"; hostsfile.close(); return Calamares::JobResult::ok(); diff --git a/src/modules/users/SetHostNameJob.h b/src/modules/users/SetHostNameJob.h index 11e296fce..ca2481dd4 100644 --- a/src/modules/users/SetHostNameJob.h +++ b/src/modules/users/SetHostNameJob.h @@ -31,9 +31,10 @@ public: QString prettyDescription() const override; QString prettyStatusMessage() const override; Calamares::JobResult exec() override; + private: const QString m_hostname; }; -#endif // SETHOSTNAMEJOB_CPP_H +#endif // SETHOSTNAMEJOB_CPP_H diff --git a/src/modules/users/SetPasswordJob.cpp b/src/modules/users/SetPasswordJob.cpp index 9c560106d..325d24fe3 100644 --- a/src/modules/users/SetPasswordJob.cpp +++ b/src/modules/users/SetPasswordJob.cpp @@ -19,10 +19,10 @@ #include -#include "JobQueue.h" #include "GlobalStorage.h" -#include "utils/Logger.h" +#include "JobQueue.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" #include @@ -58,29 +58,27 @@ SetPasswordJob::prettyStatusMessage() const /// Returns a modular hashing salt for method 6 (SHA512) with a 16 character random salt. QString -SetPasswordJob::make_salt(int length) +SetPasswordJob::make_salt( int length ) { - Q_ASSERT(length >= 8); - Q_ASSERT(length <= 128); + Q_ASSERT( length >= 8 ); + Q_ASSERT( length <= 128 ); - static const char salt_chars[] = { - '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', - 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', - 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', - 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', - 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; + static const char salt_chars[] = { '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', + 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', + 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', + 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; - static_assert( sizeof(salt_chars) == 64, "Missing salt_chars"); + static_assert( sizeof( salt_chars ) == 64, "Missing salt_chars" ); std::random_device r; - std::seed_seq seed{r(), r(), r(), r(), r(), r(), r(), r()}; - std::mt19937_64 twister(seed); + std::seed_seq seed { r(), r(), r(), r(), r(), r(), r(), r() }; + std::mt19937_64 twister( seed ); std::uint64_t next; int current_length = 0; QString salt_string; - salt_string.reserve(length + 10); + salt_string.reserve( length + 10 ); while ( current_length < length ) { @@ -89,11 +87,13 @@ SetPasswordJob::make_salt(int length) // to a single salt character. for ( unsigned int char_count = 0; char_count < 10; ++char_count ) { - char c = salt_chars[next & 0b0111111]; + char c = salt_chars[ next & 0b0111111 ]; next >>= 6; salt_string.append( c ); - if (++current_length >= length) + if ( ++current_length >= length ) + { break; + } } } @@ -112,34 +112,21 @@ SetPasswordJob::exec() return Calamares::JobResult::error( tr( "Bad destination system path." ), tr( "rootMountPoint is %1" ).arg( destDir.absolutePath() ) ); - if ( m_userName == "root" && - m_newPassword.isEmpty() ) //special case for disabling root account + if ( m_userName == "root" && m_newPassword.isEmpty() ) //special case for disabling root account { - int ec = CalamaresUtils::System::instance()-> - targetEnvCall( { "passwd", - "-dl", - m_userName } ); + int ec = CalamaresUtils::System::instance()->targetEnvCall( { "passwd", "-dl", m_userName } ); if ( ec ) return Calamares::JobResult::error( tr( "Cannot disable root account." ), - tr( "passwd terminated with error code %1." ) - .arg( ec ) ); + tr( "passwd terminated with error code %1." ).arg( ec ) ); return Calamares::JobResult::ok(); } - QString encrypted = QString::fromLatin1( - crypt( m_newPassword.toUtf8(), - make_salt( 16 ).toUtf8() ) ); + QString encrypted = QString::fromLatin1( crypt( m_newPassword.toUtf8(), make_salt( 16 ).toUtf8() ) ); - int ec = CalamaresUtils::System::instance()-> - targetEnvCall( { "usermod", - "-p", - encrypted, - m_userName } ); + int ec = CalamaresUtils::System::instance()->targetEnvCall( { "usermod", "-p", encrypted, m_userName } ); if ( ec ) - return Calamares::JobResult::error( tr( "Cannot set password for user %1." ) - .arg( m_userName ), - tr( "usermod terminated with error code %1." ) - .arg( ec ) ); + return Calamares::JobResult::error( tr( "Cannot set password for user %1." ).arg( m_userName ), + tr( "usermod terminated with error code %1." ).arg( ec ) ); return Calamares::JobResult::ok(); } diff --git a/src/modules/users/SetPasswordJob.h b/src/modules/users/SetPasswordJob.h index c4ec59c2a..d2ebf64aa 100644 --- a/src/modules/users/SetPasswordJob.h +++ b/src/modules/users/SetPasswordJob.h @@ -27,13 +27,12 @@ class SetPasswordJob : public Calamares::Job { Q_OBJECT public: - SetPasswordJob( const QString& userName, - const QString& newPassword ); + SetPasswordJob( const QString& userName, const QString& newPassword ); QString prettyName() const override; QString prettyStatusMessage() const override; Calamares::JobResult exec() override; - static QString make_salt(int length); + static QString make_salt( int length ); private: QString m_userName; diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 82568f81a..d7f7d27b3 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -27,8 +27,8 @@ #include "ui_page_usersetup.h" #include "CreateUserJob.h" -#include "SetPasswordJob.h" #include "SetHostNameJob.h" +#include "SetPasswordJob.h" #include "GlobalStorage.h" #include "JobQueue.h" @@ -74,30 +74,19 @@ UsersPage::UsersPage( QWidget* parent ) ui->setupUi( this ); // Connect signals and slots - connect( ui->textBoxFullName, &QLineEdit::textEdited, - this, &UsersPage::onFullNameTextEdited ); - connect( ui->textBoxUsername, &QLineEdit::textEdited, - this, &UsersPage::onUsernameTextEdited ); - connect( ui->textBoxHostname, &QLineEdit::textEdited, - this, &UsersPage::onHostnameTextEdited ); - connect( ui->textBoxUserPassword, &QLineEdit::textChanged, - this, &UsersPage::onPasswordTextChanged ); - connect( ui->textBoxUserVerifiedPassword, &QLineEdit::textChanged, - this, &UsersPage::onPasswordTextChanged ); - connect( ui->textBoxRootPassword, &QLineEdit::textChanged, - this, &UsersPage::onRootPasswordTextChanged ); - connect( ui->textBoxVerifiedRootPassword, &QLineEdit::textChanged, - this, &UsersPage::onRootPasswordTextChanged ); - connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, - this, [this]( int checked ) - { + connect( ui->textBoxFullName, &QLineEdit::textEdited, this, &UsersPage::onFullNameTextEdited ); + connect( ui->textBoxUsername, &QLineEdit::textEdited, this, &UsersPage::onUsernameTextEdited ); + connect( ui->textBoxHostname, &QLineEdit::textEdited, this, &UsersPage::onHostnameTextEdited ); + connect( ui->textBoxUserPassword, &QLineEdit::textChanged, this, &UsersPage::onPasswordTextChanged ); + connect( ui->textBoxUserVerifiedPassword, &QLineEdit::textChanged, this, &UsersPage::onPasswordTextChanged ); + connect( ui->textBoxRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); + connect( ui->textBoxVerifiedRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); + connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, this, [this]( int checked ) { onPasswordTextChanged( ui->textBoxUserPassword->text() ); onRootPasswordTextChanged( ui->textBoxRootPassword->text() ); checkReady( isReady() ); } ); - connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, - this, [this]( int checked ) - { + connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, this, [this]( int checked ) { ui->labelChooseRootPassword->setVisible( !checked ); ui->labelExtraRootPassword->setVisible( !checked ); ui->labelRootPassword->setVisible( !checked ); @@ -117,26 +106,22 @@ UsersPage::UsersPage( QWidget* parent ) // Don't expand the explanations to "stupid wide", but keep them vaguely as-wide-as // the things they are explaining. - int boxWidth = qMax( qMax( ui->textBoxUsername->width(), ui->textBoxHostname->width() ), ui->textBoxUserPassword->width() ); + int boxWidth + = qMax( qMax( ui->textBoxUsername->width(), ui->textBoxHostname->width() ), ui->textBoxUserPassword->width() ); ui->username_extra_label_2->setMaximumWidth( 3 * boxWidth ); ui->hostname_extra_label_2->setMaximumWidth( 3 * boxWidth ); ui->password_extra_label_3->setMaximumWidth( 3 * boxWidth ); CALAMARES_RETRANSLATE( - ui->retranslateUi( this ); - if ( Calamares::Settings::instance()->isSetupMode() ) - { + ui->retranslateUi( this ); if ( Calamares::Settings::instance()->isSetupMode() ) { ui->username_extra_label_2->setText( tr( "If more than one person will " "use this computer, you can create multiple " "accounts after setup." ) ); - } - else - { + } else { ui->username_extra_label_2->setText( tr( "If more than one person will " "use this computer, you can create multiple " "accounts after installation." ) ); - } - ) + } ) } @@ -149,12 +134,11 @@ UsersPage::~UsersPage() bool UsersPage::isReady() { - bool readyFields = m_readyFullName && - m_readyHostname && - m_readyPassword && - m_readyUsername; + bool readyFields = m_readyFullName && m_readyHostname && m_readyPassword && m_readyUsername; if ( !m_writeRootPassword || ui->checkBoxReusePassword->isChecked() ) + { return readyFields; + } return readyFields && m_readyRootPassword; } @@ -165,38 +149,36 @@ UsersPage::createJobs( const QStringList& defaultGroupsList ) { QList< Calamares::job_ptr > list; if ( !isReady() ) + { return list; + } Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); Calamares::Job* j; j = new CreateUserJob( ui->textBoxUsername->text(), - ui->textBoxFullName->text().isEmpty() ? - ui->textBoxUsername->text() : - ui->textBoxFullName->text(), + ui->textBoxFullName->text().isEmpty() ? ui->textBoxUsername->text() + : ui->textBoxFullName->text(), ui->checkBoxAutoLogin->isChecked(), defaultGroupsList ); list.append( Calamares::job_ptr( j ) ); - j = new SetPasswordJob( ui->textBoxUsername->text(), - ui->textBoxUserPassword->text() ); + j = new SetPasswordJob( ui->textBoxUsername->text(), ui->textBoxUserPassword->text() ); list.append( Calamares::job_ptr( j ) ); if ( m_writeRootPassword ) { gs->insert( "reuseRootPassword", ui->checkBoxReusePassword->isChecked() ); if ( ui->checkBoxReusePassword->isChecked() ) - j = new SetPasswordJob( "root", - ui->textBoxUserPassword->text() ); + j = new SetPasswordJob( "root", ui->textBoxUserPassword->text() ); else - j = new SetPasswordJob( "root", - ui->textBoxRootPassword->text() ); + j = new SetPasswordJob( "root", ui->textBoxRootPassword->text() ); list.append( Calamares::job_ptr( j ) ); } else { j = new SetPasswordJob( "root", - "" ); //explicitly disable root password + "" ); //explicitly disable root password list.append( Calamares::job_ptr( j ) ); } @@ -205,7 +187,9 @@ UsersPage::createJobs( const QStringList& defaultGroupsList ) gs->insert( "hostname", ui->textBoxHostname->text() ); if ( ui->checkBoxAutoLogin->isChecked() ) + { gs->insert( "autologinUser", ui->textBoxUsername->text() ); + } gs->insert( "username", ui->textBoxUsername->text() ); gs->insert( "password", CalamaresUtils::obscure( ui->textBoxUserPassword->text() ) ); @@ -237,16 +221,19 @@ UsersPage::onFullNameTextEdited( const QString& textRef ) ui->labelFullNameError->clear(); ui->labelFullName->clear(); if ( !m_customUsername ) + { ui->textBoxUsername->clear(); + } if ( !m_customHostname ) + { ui->textBoxHostname->clear(); + } m_readyFullName = false; } else { - ui->labelFullName->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelFullName->size() ) ); + ui->labelFullName->setPixmap( + CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, CalamaresUtils::Original, ui->labelFullName->size() ) ); m_readyFullName = true; fillSuggestions(); } @@ -259,8 +246,7 @@ UsersPage::fillSuggestions() { QString fullName = ui->textBoxFullName->text(); QRegExp rx( "[^a-zA-Z0-9 ]", Qt::CaseInsensitive ); - QString cleanName = CalamaresUtils::removeDiacritics( fullName ) - .toLower().replace( rx, " " ).simplified(); + QString cleanName = CalamaresUtils::removeDiacritics( fullName ).toLower().replace( rx, " " ).simplified(); QStringList cleanParts = cleanName.split( ' ' ); if ( !m_customUsername ) @@ -271,7 +257,9 @@ UsersPage::fillSuggestions() for ( int i = 1; i < cleanParts.length(); ++i ) { if ( !cleanParts.value( i ).isEmpty() ) + { usernameSuggestion.append( cleanParts.value( i ).at( 0 ) ); + } } if ( USERNAME_RX.indexIn( usernameSuggestion ) != -1 ) { @@ -322,14 +310,15 @@ UsersPage::validateUsernameText( const QString& textRef ) } else if ( text.length() > USERNAME_MAX_LENGTH ) { - labelError( ui->labelUsername, ui->labelUsernameError, - tr( "Your username is too long." ) ); + labelError( ui->labelUsername, ui->labelUsernameError, tr( "Your username is too long." ) ); m_readyUsername = false; } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - labelError( ui->labelUsername, ui->labelUsernameError, - tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); + labelError( + ui->labelUsername, + ui->labelUsernameError, + tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); m_readyUsername = false; } else @@ -362,23 +351,22 @@ UsersPage::validateHostnameText( const QString& textRef ) { ui->labelHostnameError->clear(); ui->labelHostname->clear(); - m_readyHostname= false; + m_readyHostname = false; } else if ( text.length() < HOSTNAME_MIN_LENGTH ) { - labelError( ui->labelHostname, ui->labelHostnameError, - tr( "Your hostname is too short." ) ); + labelError( ui->labelHostname, ui->labelHostnameError, tr( "Your hostname is too short." ) ); m_readyHostname = false; } else if ( text.length() > HOSTNAME_MAX_LENGTH ) { - labelError( ui->labelHostname, ui->labelHostnameError, - tr( "Your hostname is too long." ) ); + labelError( ui->labelHostname, ui->labelHostnameError, tr( "Your hostname is too long." ) ); m_readyHostname = false; } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - labelError( ui->labelHostname, ui->labelHostnameError, + labelError( ui->labelHostname, + ui->labelHostnameError, tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); m_readyHostname = false; } @@ -407,8 +395,7 @@ UsersPage::onPasswordTextChanged( const QString& ) } else if ( pw1 != pw2 ) { - labelError( ui->labelUserPassword, ui->labelUserPasswordError, - tr( "Your passwords do not match!" ) ); + labelError( ui->labelUserPassword, ui->labelUserPasswordError, tr( "Your passwords do not match!" ) ); m_readyPassword = false; } else @@ -453,8 +440,7 @@ UsersPage::onRootPasswordTextChanged( const QString& ) } else if ( pw1 != pw2 ) { - labelError( ui->labelRootPassword, ui->labelRootPasswordError, - tr( "Your passwords do not match!" ) ); + labelError( ui->labelRootPassword, ui->labelRootPasswordError, tr( "Your passwords do not match!" ) ); m_readyRootPassword = false; } else @@ -527,7 +513,9 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { add_check_libpwquality( m_passwordChecks, value ); } -#endif // CHECK_PWQUALITY +#endif // CHECK_PWQUALITY else + { cWarning() << "Unknown password-check key" << key; + } } diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 2dbe7aeda..9deb1d253 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -96,4 +96,4 @@ private: bool m_writeRootPassword; }; -#endif // USERSPAGE_H +#endif // USERSPAGE_H diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index b08223a0b..11f5693e9 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -29,22 +29,23 @@ #include "GlobalStorage.h" #include "JobQueue.h" -CALAMARES_PLUGIN_FACTORY_DEFINITION( UsersViewStepFactory, registerPlugin(); ) +CALAMARES_PLUGIN_FACTORY_DEFINITION( UsersViewStepFactory, registerPlugin< UsersViewStep >(); ) UsersViewStep::UsersViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new UsersPage() ) { emit nextStatusChanged( true ); - connect( m_widget, &UsersPage::checkReady, - this, &UsersViewStep::nextStatusChanged ); + connect( m_widget, &UsersPage::checkReady, this, &UsersViewStep::nextStatusChanged ); } UsersViewStep::~UsersViewStep() { if ( m_widget && m_widget->parent() == nullptr ) + { m_widget->deleteLater(); + } } @@ -116,80 +117,80 @@ UsersViewStep::onLeave() void UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { - if ( configurationMap.contains( "defaultGroups" ) && - configurationMap.value( "defaultGroups" ).type() == QVariant::List ) + if ( configurationMap.contains( "defaultGroups" ) + && configurationMap.value( "defaultGroups" ).type() == QVariant::List ) { m_defaultGroups = configurationMap.value( "defaultGroups" ).toStringList(); } else { cWarning() << "Using fallback groups. Please check defaultGroups in users.conf"; - m_defaultGroups = QStringList{ "lp", "video", "network", "storage", "wheel", "audio" }; + m_defaultGroups = QStringList { "lp", "video", "network", "storage", "wheel", "audio" }; } - if ( configurationMap.contains( "autologinGroup" ) && - configurationMap.value( "autologinGroup" ).type() == QVariant::String ) + if ( configurationMap.contains( "autologinGroup" ) + && configurationMap.value( "autologinGroup" ).type() == QVariant::String ) { - Calamares::JobQueue::instance()->globalStorage()->insert( "autologinGroup", - configurationMap.value( "autologinGroup" ).toString() ); + Calamares::JobQueue::instance()->globalStorage()->insert( + "autologinGroup", configurationMap.value( "autologinGroup" ).toString() ); } - if ( configurationMap.contains( "sudoersGroup" ) && - configurationMap.value( "sudoersGroup" ).type() == QVariant::String ) + if ( configurationMap.contains( "sudoersGroup" ) + && configurationMap.value( "sudoersGroup" ).type() == QVariant::String ) { Calamares::JobQueue::instance()->globalStorage()->insert( "sudoersGroup", - configurationMap.value( "sudoersGroup" ).toString() ); + configurationMap.value( "sudoersGroup" ).toString() ); } - if ( configurationMap.contains( "setRootPassword" ) && - configurationMap.value( "setRootPassword" ).type() == QVariant::Bool ) + if ( configurationMap.contains( "setRootPassword" ) + && configurationMap.value( "setRootPassword" ).type() == QVariant::Bool ) { - Calamares::JobQueue::instance()->globalStorage()->insert( "setRootPassword", - configurationMap.value( "setRootPassword" ).toBool() ); + Calamares::JobQueue::instance()->globalStorage()->insert( + "setRootPassword", configurationMap.value( "setRootPassword" ).toBool() ); m_widget->setWriteRootPassword( configurationMap.value( "setRootPassword" ).toBool() ); } - if ( configurationMap.contains( "doAutologin" ) && - configurationMap.value( "doAutologin" ).type() == QVariant::Bool ) + if ( configurationMap.contains( "doAutologin" ) + && configurationMap.value( "doAutologin" ).type() == QVariant::Bool ) { m_widget->setAutologinDefault( configurationMap.value( "doAutologin" ).toBool() ); } - if ( configurationMap.contains( "doReusePassword" ) && - configurationMap.value( "doReusePassword" ).type() == QVariant::Bool ) + if ( configurationMap.contains( "doReusePassword" ) + && configurationMap.value( "doReusePassword" ).type() == QVariant::Bool ) { m_widget->setReusePasswordDefault( configurationMap.value( "doReusePassword" ).toBool() ); } - if ( configurationMap.contains( "passwordRequirements" ) && - configurationMap.value( "passwordRequirements" ).type() == QVariant::Map ) + if ( configurationMap.contains( "passwordRequirements" ) + && configurationMap.value( "passwordRequirements" ).type() == QVariant::Map ) { auto pr_checks( configurationMap.value( "passwordRequirements" ).toMap() ); - for (decltype(pr_checks)::const_iterator i = pr_checks.constBegin(); - i != pr_checks.constEnd(); ++i) + for ( decltype( pr_checks )::const_iterator i = pr_checks.constBegin(); i != pr_checks.constEnd(); ++i ) { m_widget->addPasswordCheck( i.key(), i.value() ); } } - if ( configurationMap.contains( "allowWeakPasswords" ) && - configurationMap.value( "allowWeakPasswords" ).type() == QVariant::Bool ) + if ( configurationMap.contains( "allowWeakPasswords" ) + && configurationMap.value( "allowWeakPasswords" ).type() == QVariant::Bool ) { m_widget->setPasswordCheckboxVisible( configurationMap.value( "allowWeakPasswords" ).toBool() ); } - if ( configurationMap.contains( "doPasswordChecks" ) && - configurationMap.value( "doPasswordChecks" ).type() == QVariant::Bool ) + if ( configurationMap.contains( "doPasswordChecks" ) + && configurationMap.value( "doPasswordChecks" ).type() == QVariant::Bool ) { m_widget->setValidatePasswordDefault( configurationMap.value( "doPasswordChecks" ).toBool() ); } QString shell( QLatin1String( "/bin/bash" ) ); // as if it's not set at all if ( configurationMap.contains( "userShell" ) ) + { shell = CalamaresUtils::getString( configurationMap, "userShell" ); - // Now it might be explicitly set to empty, which is ok + } + // Now it might be explicitly set to empty, which is ok Calamares::JobQueue::instance()->globalStorage()->insert( "userShell", shell ); } - diff --git a/src/modules/users/UsersViewStep.h b/src/modules/users/UsersViewStep.h index a1995497c..6fced76b9 100644 --- a/src/modules/users/UsersViewStep.h +++ b/src/modules/users/UsersViewStep.h @@ -65,4 +65,4 @@ private: CALAMARES_PLUGIN_FACTORY_DECLARATION( UsersViewStepFactory ) -#endif // USERSPAGEPLUGIN_H +#endif // USERSPAGEPLUGIN_H From 21bcd560b1f829e52ee65a8680bdd00e0ff34104 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 17:26:06 +0200 Subject: [PATCH 449/626] [users] Use API to change weak-checkbox visibility --- src/modules/users/UsersPage.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index d7f7d27b3..7bc0e5dbb 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -102,7 +102,8 @@ UsersPage::UsersPage( QWidget* parent ) setWriteRootPassword( true ); ui->checkBoxReusePassword->setChecked( true ); ui->checkBoxValidatePassword->setChecked( true ); - ui->checkBoxValidatePassword->setVisible( false ); + + setPasswordCheckboxVisible( false ); // Don't expand the explanations to "stupid wide", but keep them vaguely as-wide-as // the things they are explaining. From ede50756a146e31508692dadaaf856ec01a58c64 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 17:29:35 +0200 Subject: [PATCH 450/626] [users] Simplify config-logic for weak-passwords - Use the convenience methods for config-reading. - Always set the value (to the default if nog explicitly set in the config-file). --- src/modules/users/UsersViewStep.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index 11f5693e9..b6072c741 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -173,11 +173,7 @@ UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } } - if ( configurationMap.contains( "allowWeakPasswords" ) - && configurationMap.value( "allowWeakPasswords" ).type() == QVariant::Bool ) - { - m_widget->setPasswordCheckboxVisible( configurationMap.value( "allowWeakPasswords" ).toBool() ); - } + m_widget->setPasswordCheckboxVisible( CalamaresUtils::getBool( configurationMap, "allowWeakPasswords", false ) ); if ( configurationMap.contains( "doPasswordChecks" ) && configurationMap.value( "doPasswordChecks" ).type() == QVariant::Bool ) From c4b0511f8d04c9f28fc729a043007e8d9fb0afab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 18:08:16 +0200 Subject: [PATCH 451/626] [libcalamaresui] Improve debug message for bad dirs - Calamares scans **all** subdirs of the module-directory for a module.desc and complains about those that don't have a module.desc. - For ./calamares -d runs from the build-directory, this leads to a few complaints when some plugins have been ignored (and so no module.desc is generated for them). --- src/libcalamaresui/modulesystem/ModuleManager.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 53cc1fabb..cd8685f44 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -91,17 +91,20 @@ ModuleManager::doInit() bool success = currentDir.cd( subdir ); if ( success ) { + static const char bad_descriptor[] = "ModuleManager potential module descriptor is bad"; QFileInfo descriptorFileInfo( currentDir.absoluteFilePath( QLatin1String( "module.desc" ) ) ); if ( !descriptorFileInfo.exists() ) { - cDebug() << "ModuleManager expected descriptor is missing:" - << descriptorFileInfo.absoluteFilePath(); + cDebug() << bad_descriptor + << descriptorFileInfo.absoluteFilePath() + << "(missing)"; continue; } if ( !descriptorFileInfo.isReadable() ) { - cDebug() << "ModuleManager descriptor file is unreadable:" - << descriptorFileInfo.absoluteFilePath(); + cDebug() << bad_descriptor + << descriptorFileInfo.absoluteFilePath() + << "(unreadable)"; continue; } @@ -109,7 +112,7 @@ ModuleManager::doInit() QVariantMap moduleDescriptorMap = CalamaresUtils::loadYaml( descriptorFileInfo, &ok ); QString moduleName = ok ? moduleDescriptorMap.value( "name" ).toString() : QString(); - if ( ok && ( moduleName == currentDir.dirName() ) + if ( ok && !moduleName.isEmpty() && ( moduleName == currentDir.dirName() ) && !m_availableDescriptorsByModuleName.contains( moduleName ) ) { m_availableDescriptorsByModuleName.insert( moduleName, moduleDescriptorMap ); From a9a12820d8f8ce72d67c2b153cc2b50adf5acddb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 19:16:15 +0200 Subject: [PATCH 452/626] [libcalamaresui] Log the found-modules - fix up comment because it described an old member variable name - log number of modules found (all the *potential* modules) --- src/libcalamaresui/modulesystem/ModuleManager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index cd8685f44..2cfb05d2e 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -131,8 +131,11 @@ ModuleManager::doInit() cDebug() << "ModuleManager module search path does not exist:" << path; } } - // At this point m_availableModules is filled with whatever was found in the - // search paths. + // At this point m_availableDescriptorsByModuleName is filled with + // the modules that were found in the search paths. + cDebug() << "Found" + << m_availableDescriptorsByModuleName.count() << "modules" + << m_moduleDirectoriesByModuleName.count() << "names"; emit initDone(); } From 5ac4f3ec380551e00fcf2513e600a7454a277201 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 19:28:59 +0200 Subject: [PATCH 453/626] [libcalamaresui] Fix up module dependency checking - If a module exists, and has unmet dependencies, then that is only a problem if the module itself is *used*. Merely existing is ok. This triggers on FreeBSD, where partition isn't built, but bootloader depends on partition -- so you can never start Calamares on FreeBSD, because bootloader depends on something non-existent. Relax the check: just warn, and only fail if a non-existent module is used (all those with unmet dependencies are considered non-existent). --- .../modulesystem/ModuleManager.cpp | 23 +++++++++++-------- .../modulesystem/ModuleManager.h | 14 ++++++----- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 2cfb05d2e..33b638e64 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -188,11 +188,15 @@ findCustomInstance( const Settings::InstanceDescriptionList& customInstances, co void ModuleManager::loadModules() { - QStringList failedModules = checkDependencies(); + if (checkDependencies()) + { + cWarning() << "Some installed modules have unmet dependencies."; + } Settings::InstanceDescriptionList customInstances = Settings::instance()->customModuleInstances(); + QStringList failedModules; const auto modulesSequence - = failedModules.isEmpty() ? Settings::instance()->modulesSequence() : Settings::ModuleSequence(); + = Settings::instance()->modulesSequence() ; for ( const auto& modulePhase : modulesSequence ) { ModuleSystem::Action currentAction = modulePhase.first; @@ -270,7 +274,7 @@ ModuleManager::loadModules() continue; } - if ( !checkDependencies( *thisModule ) ) + if ( !checkModuleDependencies( *thisModule ) ) { // Error message is already printed failedModules.append( instanceKey.toString() ); @@ -351,10 +355,10 @@ missingRequiredModules( const QStringList& required, const QMap< QString, QVaria return l; } -QStringList +size_t ModuleManager::checkDependencies() { - QStringList failed; + size_t numberRemoved = 0; bool somethingWasRemovedBecauseOfUnmetDependencies = false; // This goes through the map of available modules, and deletes those whose @@ -373,19 +377,18 @@ ModuleManager::checkDependencies() QString moduleName = it->value( "name" ).toString(); somethingWasRemovedBecauseOfUnmetDependencies = true; m_availableDescriptorsByModuleName.erase( it ); - failed << moduleName; - cWarning() << "Module" << moduleName << "requires modules" << Logger::DebugList( unmet ); - cWarning() << Logger::SubEntry << "but these are not available (listed in settings, or installed)."; + numberRemoved++; + cWarning() << "Module" << moduleName << "requires missing modules" << Logger::DebugList( unmet ); break; } } } while ( somethingWasRemovedBecauseOfUnmetDependencies ); - return failed; + return numberRemoved; } bool -ModuleManager::checkDependencies( const Module& m ) +ModuleManager::checkModuleDependencies( const Module& m ) { bool allRequirementsFound = true; QStringList requiredModules diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index a4f28fab8..7adbb24e2 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -106,15 +106,17 @@ private slots: private: /** * Check in a general sense whether the dependencies between - * modules are valid. Returns a list of module names that - * do **not** have their requirements met. + * modules are valid. Returns the number of modules that + * have missing dependencies -- this is **not** a problem + * unless any of those modules are actually used. * - * Returns an empty list on success. + * Returns 0 on success. * * Also modifies m_availableDescriptorsByModuleName to remove - * all the entries that fail. + * all the entries that (so that later, when we try to look + * them up, they are not found). */ - QStringList checkDependencies(); + size_t checkDependencies(); /** * Check for this specific module if its required modules have @@ -122,7 +124,7 @@ private: * * Returns true if the requirements are met. */ - bool checkDependencies( const Module& ); + bool checkModuleDependencies( const Module& ); QMap< QString, QVariantMap > m_availableDescriptorsByModuleName; QMap< QString, QString > m_moduleDirectoriesByModuleName; From b78eacd7a8ae364ad0a5f2a2a661c47b1a5f71d9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 21 Oct 2019 19:47:58 +0200 Subject: [PATCH 454/626] [libcalamaresui] Set button texts always - if the welcome module wasn't loaded (or loading otherwise failed) then no text was set, leading to confusing screens with buttons with icons but no label. --- src/libcalamaresui/ViewManager.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 6da81e7af..06fd97009 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -86,9 +86,11 @@ setButtonIcon( QPushButton* button, const QString& name ) * to worry about as well as state. */ static inline QPushButton* -makeButton( QWidget* parent, const QString& name ) +makeButton( QWidget* parent, const QString& name, const QString& label ) { QPushButton* button = new QPushButton( parent ); + button->setObjectName( name ); + button->setText( label ); setButtonIcon( button, name ); return button; } @@ -108,9 +110,9 @@ ViewManager::ViewManager( QObject* parent ) mainLayout->addWidget( m_stack ); // Create buttons and sets an initial icon; the icons may change - m_back = makeButton( m_widget, "go-previous" ); - m_next = makeButton( m_widget, "go-next" ); - m_quit = makeButton( m_widget, "dialog-cancel" ); + m_back = makeButton( m_widget, QStringLiteral( "go-previous" ), tr( "&Back" ) ); + m_next = makeButton( m_widget, QStringLiteral( "go-next" ), tr( "&Next" ) ); + m_quit = makeButton( m_widget, QStringLiteral( "dialog-cancel" ), tr( "&Cancel" ) ); CALAMARES_RETRANSLATE_SLOT( &ViewManager::updateButtonLabels ) From c030cc41cde659f4ffece97cae7292ff48979aa9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 22 Oct 2019 15:03:37 +0200 Subject: [PATCH 455/626] [libcalamaresui] Refactor button-creation - The "convenience" method was no longer convenient, since we now place strings on the buttons by default. - While here, **name** the buttons so they can be themed. --- src/libcalamaresui/ViewManager.cpp | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 06fd97009..68d918971 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -75,26 +75,6 @@ setButtonIcon( QPushButton* button, const QString& name ) } } -/** @brief Creates a button with a given icon-name - * - * Creates a new button as child of @p parent. - * Sets the named icon, if it exists, onto the button. - * Returns the new button. - * - * There is a QPushButton constructor that takes an icon, - * but it also needs a text and we've got translations - * to worry about as well as state. - */ -static inline QPushButton* -makeButton( QWidget* parent, const QString& name, const QString& label ) -{ - QPushButton* button = new QPushButton( parent ); - button->setObjectName( name ); - button->setText( label ); - setButtonIcon( button, name ); - return button; -} - ViewManager::ViewManager( QObject* parent ) : QObject( parent ) , m_currentStep( 0 ) @@ -110,9 +90,12 @@ ViewManager::ViewManager( QObject* parent ) mainLayout->addWidget( m_stack ); // Create buttons and sets an initial icon; the icons may change - m_back = makeButton( m_widget, QStringLiteral( "go-previous" ), tr( "&Back" ) ); - m_next = makeButton( m_widget, QStringLiteral( "go-next" ), tr( "&Next" ) ); - m_quit = makeButton( m_widget, QStringLiteral( "dialog-cancel" ), tr( "&Cancel" ) ); + m_back = new QPushButton( getButtonIcon( QStringLiteral( "go-previous" ) ), tr( "&Back" ), m_widget ); + m_back->setObjectName( "view-button-back" ); + m_next = new QPushButton( getButtonIcon( QStringLiteral( "go-next" ) ), tr( "&Next" ), m_widget ); + m_next->setObjectName( "view-button-next" ); + m_quit = new QPushButton( getButtonIcon( QStringLiteral( "dialog-cancel" ) ), tr( "&Cancel" ), m_widget ); + m_quit->setObjectName( "view-button-cancel" ); CALAMARES_RETRANSLATE_SLOT( &ViewManager::updateButtonLabels ) From 3e4e492305bc2d06d750b4384f24b737ecd8b84f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 22 Oct 2019 15:32:42 +0200 Subject: [PATCH 456/626] [users] Polish the documentation for the various checkboxes --- src/modules/users/users.conf | 54 ++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index 0942e6b5d..2e164cf13 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -27,26 +27,34 @@ defaultGroups: # the desktop environment on boot. # Disable when your Distribution does not require such a group. autologinGroup: autologin -# You can control the initial state for the 'autologin checkbox' in UsersViewStep here. -# Possible values are: true to enable or false to disable the checkbox by default. +# You can control the initial state for the 'autologin checkbox' here. +# Possible values are: +# - true to check or +# - false to uncheck +# These set the **initial** state of the checkbox. doAutologin: true -# When set to a non-empty string, Calamares creates a sudoers file for the user. -# /etc/sudoers.d/10-installer -# Remember to add sudoersGroup to defaultGroups. +# When *sudoersGroup* is set to a non-empty string, Calamares creates a +# sudoers file for the user. This file is located at: +# `/etc/sudoers.d/10-installer` +# Remember to add the (value of) *sudoersGroup* to *defaultGroups*. # # If your Distribution already sets up a group of sudoers in its packaging, # remove this setting (delete or comment out the line below). Otherwise, -# the setting will be duplicated in the /etc/sudoers.d/10-installer file, +# the setting will be duplicated in the `/etc/sudoers.d/10-installer` file, # potentially confusing users. sudoersGroup: wheel # Setting this to false , causes the root account to be disabled. setRootPassword: true -# You can control the initial state for the 'root password checkbox' in UsersViewStep here. -# Possible values are: true to enable or false to disable the checkbox by default. -# When enabled the user password is used for the root account too. -# NOTE: doReusePassword requires setRootPassword to be enabled. +# You can control the initial state for the 'reuse password for root' +# checkbox here. Possible values are: +# - true to check or +# - false to uncheck +# +# When checked, the user password is used for the root account too. +# +# NOTE: *doReusePassword* requires *setRootPassword* to be enabled. doReusePassword: true # These are optional password-requirements that a distro can enforce @@ -69,21 +77,31 @@ doReusePassword: true # (additional checks may be implemented in CheckPWQuality.cpp and # wired into UsersPage.cpp) # -# To disable specific password validations, -# comment out the relevant 'passwordRequirements' keys below. -# To disable all password validations, -# set both 'allowWeakPasswords' and 'doPasswordChecks' to false. +# - To disable specific password validations: +# comment out the relevant 'passwordRequirements' keys below. +# - To disable all password validations: +# set both 'allowWeakPasswords' and 'allowWeakPasswordsDefault' to true. +# (This will show the box *Allow weak passwords* in the user- +# interface, and check it by default). passwordRequirements: minLength: -1 # Password at least this many characters maxLength: -1 # Password at most this many characters libpwquality: - minlen=0 - minclass=0 -# You can control the visibility of the 'strong passwords' checkbox in UsersViewStep here. -# Possible values are: true to show or false to hide the checkbox. + +# You can control the visibility of the 'weak passwords' checkbox here. +# Possible values are: +# - true to show or +# - false to hide +# the checkbox. This checkbox allows the user to choose to disable +# password-strength-checks. allowWeakPasswords: true -# You can control the initial state for the 'strong passwords' checkbox in UsersViewStep here. -# Possible values are: true to enable or false to disable the checkbox by default. +# You can control the initial state for the 'weak passwords' checkbox here. +# Possible values are: +# - true to check or +# - false to uncheck +# the checkbox by default. doPasswordChecks: true # Shell to be used for the regular user of the target system. From b3765bc144686d759db49dbcc6d549934cfaf005 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 22 Oct 2019 16:08:21 +0200 Subject: [PATCH 457/626] [users] Massage the weak-passwords settings - since the wording of the checkbox itself (and the functionality) is to enforce strong passwords, need to switch out some logic and fix the wording of the documentation. --- src/modules/users/UsersViewStep.cpp | 7 +------ src/modules/users/users.conf | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index b6072c741..b898f00c8 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -174,12 +174,7 @@ UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } m_widget->setPasswordCheckboxVisible( CalamaresUtils::getBool( configurationMap, "allowWeakPasswords", false ) ); - - if ( configurationMap.contains( "doPasswordChecks" ) - && configurationMap.value( "doPasswordChecks" ).type() == QVariant::Bool ) - { - m_widget->setValidatePasswordDefault( configurationMap.value( "doPasswordChecks" ).toBool() ); - } + m_widget->setValidatePasswordDefault( !CalamaresUtils::getBool( configurationMap, "allowWeakPasswordsDefault", false) ); QString shell( QLatin1String( "/bin/bash" ) ); // as if it's not set at all if ( configurationMap.contains( "userShell" ) ) diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index 2e164cf13..cae9bef0d 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -81,7 +81,7 @@ doReusePassword: true # comment out the relevant 'passwordRequirements' keys below. # - To disable all password validations: # set both 'allowWeakPasswords' and 'allowWeakPasswordsDefault' to true. -# (This will show the box *Allow weak passwords* in the user- +# (That will show the box *Allow weak passwords* in the user- # interface, and check it by default). passwordRequirements: minLength: -1 # Password at least this many characters @@ -90,19 +90,22 @@ passwordRequirements: - minlen=0 - minclass=0 -# You can control the visibility of the 'weak passwords' checkbox here. +# You can control the visibility of the 'strong passwords' checkbox here. # Possible values are: # - true to show or -# - false to hide +# - false to hide (default) # the checkbox. This checkbox allows the user to choose to disable -# password-strength-checks. -allowWeakPasswords: true -# You can control the initial state for the 'weak passwords' checkbox here. +# password-strength-checks. By default the box is **hidden**, so +# that you have to pick a password that satisfies the checks. +allowWeakPasswords: false +# You can control the initial state for the 'strong passwords' checkbox here. # Possible values are: -# - true to check or -# - false to uncheck -# the checkbox by default. -doPasswordChecks: true +# - true to uncheck or +# - false to check (default) +# the checkbox by default. Since the box is labeled to enforce strong +# passwords, in order to **allow** weak ones by default, the box needs +# to be unchecked. +allowWeakPasswordsDefault: false # Shell to be used for the regular user of the target system. # There are three possible kinds of settings: From 9ee0609b7223f32193c49ed92285dde5ae50da1b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 29 Oct 2019 14:37:26 +0100 Subject: [PATCH 458/626] [users] Use tooltips - the explanations under and around the boxes is noisy, hard to size correctly (viz. issue #1202) - use tooltips in almost-all fields instead - add placeholder text to be more suggestive --- src/modules/users/UsersPage.cpp | 24 ++++---- src/modules/users/page_usersetup.ui | 91 +++++++++++++---------------- 2 files changed, 49 insertions(+), 66 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 7bc0e5dbb..1290f0114 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -88,7 +88,6 @@ UsersPage::UsersPage( QWidget* parent ) } ); connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, this, [this]( int checked ) { ui->labelChooseRootPassword->setVisible( !checked ); - ui->labelExtraRootPassword->setVisible( !checked ); ui->labelRootPassword->setVisible( !checked ); ui->labelRootPasswordError->setVisible( !checked ); ui->textBoxRootPassword->setVisible( !checked ); @@ -105,24 +104,21 @@ UsersPage::UsersPage( QWidget* parent ) setPasswordCheckboxVisible( false ); - // Don't expand the explanations to "stupid wide", but keep them vaguely as-wide-as - // the things they are explaining. - int boxWidth - = qMax( qMax( ui->textBoxUsername->width(), ui->textBoxHostname->width() ), ui->textBoxUserPassword->width() ); - ui->username_extra_label_2->setMaximumWidth( 3 * boxWidth ); - ui->hostname_extra_label_2->setMaximumWidth( 3 * boxWidth ); - ui->password_extra_label_3->setMaximumWidth( 3 * boxWidth ); - CALAMARES_RETRANSLATE( - ui->retranslateUi( this ); if ( Calamares::Settings::instance()->isSetupMode() ) { - ui->username_extra_label_2->setText( tr( "If more than one person will " + ui->retranslateUi( this ); + if ( Calamares::Settings::instance()->isSetupMode() ) + { + ui->textBoxUsername->setToolTip( tr( "If more than one person will " "use this computer, you can create multiple " "accounts after setup." ) ); - } else { - ui->username_extra_label_2->setText( tr( "If more than one person will " + } + else + { + ui->textBoxUsername->setToolTip( tr( "If more than one person will " "use this computer, you can create multiple " "accounts after installation." ) ); - } ) + } + ) } diff --git a/src/modules/users/page_usersetup.ui b/src/modules/users/page_usersetup.ui index ae74255c2..b778647d8 100644 --- a/src/modules/users/page_usersetup.ui +++ b/src/modules/users/page_usersetup.ui @@ -47,6 +47,9 @@ 0
+ + Your Full Name +
@@ -137,6 +140,9 @@ 0
+ + login +
@@ -191,19 +197,6 @@ - - - - font-weight: normal - - - <Username extra label 2 text> - - - true - - - @@ -246,6 +239,12 @@ 0 + + <small>This name will be used if you make the computer visible to others on a network.</small> + + + Computer Name + @@ -300,19 +299,6 @@ - - - - font-weight: normal - - - <small>This name will be used if you make the computer visible to others on a network.</small> - - - false - - - @@ -355,9 +341,15 @@ 0 + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> + QLineEdit::Password + + Password + @@ -374,9 +366,15 @@ 0 + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> + QLineEdit::Password + + Repeat Password + @@ -431,19 +429,6 @@ - - - - font-weight: normal - - - <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - - - true - - - @@ -462,6 +447,9 @@ + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Require strong passwords. @@ -523,9 +511,15 @@ 0 + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> + QLineEdit::Password + + Password + @@ -542,9 +536,15 @@ 0 + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> + QLineEdit::Password + + Repeat Password + @@ -599,19 +599,6 @@ - - - - font-weight: normal - - - <small>Enter the same password twice, so that it can be checked for typing errors.</small> - - - true - - - From 9cd1ef93bdf873ee496230385f05584a0c4ab510 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 29 Oct 2019 16:20:52 +0100 Subject: [PATCH 459/626] [users] Apply coding style --- src/modules/users/UsersPage.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 1290f0114..579162675 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -167,9 +167,13 @@ UsersPage::createJobs( const QStringList& defaultGroupsList ) { gs->insert( "reuseRootPassword", ui->checkBoxReusePassword->isChecked() ); if ( ui->checkBoxReusePassword->isChecked() ) + { j = new SetPasswordJob( "root", ui->textBoxUserPassword->text() ); + } else + { j = new SetPasswordJob( "root", ui->textBoxRootPassword->text() ); + } list.append( Calamares::job_ptr( j ) ); } else From 8232ca626c6ea6a6adc15f1329420f93c7c28d4b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 29 Oct 2019 16:21:26 +0100 Subject: [PATCH 460/626] [users] Refactor constants --- src/modules/users/UsersPage.cpp | 12 ++++++++---- src/modules/users/UsersPage.h | 6 ------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 579162675..a60532022 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -45,6 +45,12 @@ #include #include +static const QRegExp USERNAME_RX( "^[a-z_][a-z0-9_-]*[$]?$" ); +static const QRegExp HOSTNAME_RX( "^[a-zA-Z0-9][-a-zA-Z0-9_]*$" ); +static constexpr const int USERNAME_MAX_LENGTH = 31; +static constexpr const int HOSTNAME_MIN_LENGTH = 2; +static constexpr const int HOSTNAME_MAX_LENGTH = 63; + /** Add an error message and pixmap to a label. */ static inline void labelError( QLabel* pix, QLabel* label, const QString& message ) @@ -299,8 +305,7 @@ void UsersPage::validateUsernameText( const QString& textRef ) { QString text( textRef ); - QRegExp rx( USERNAME_RX ); - QRegExpValidator val( rx ); + QRegExpValidator val( USERNAME_RX ); int pos = -1; if ( text.isEmpty() ) @@ -344,8 +349,7 @@ void UsersPage::validateHostnameText( const QString& textRef ) { QString text = textRef; - QRegExp rx( HOSTNAME_RX ); - QRegExpValidator val( rx ); + QRegExpValidator val( HOSTNAME_RX ); int pos = -1; if ( text.isEmpty() ) diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 9deb1d253..d8aed07fc 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -79,12 +79,6 @@ private: PasswordCheckList m_passwordChecks; - const QRegExp USERNAME_RX = QRegExp( "^[a-z_][a-z0-9_-]*[$]?$" ); - const QRegExp HOSTNAME_RX = QRegExp( "^[a-zA-Z0-9][-a-zA-Z0-9_]*$" ); - const int USERNAME_MAX_LENGTH = 31; - const int HOSTNAME_MIN_LENGTH = 2; - const int HOSTNAME_MAX_LENGTH = 63; - bool m_readyFullName; bool m_readyUsername; bool m_customUsername; From 93eb169ea53f93a5a778567e4cc33253aff80094 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 13:05:58 +0100 Subject: [PATCH 461/626] [users] Improve error messages - distinguish beginning of username from the rest - must start with a letter or _ - tighten message for bad username and bad hostname FIXES #1261 --- src/modules/users/UsersPage.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index a60532022..acb4f79b6 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -305,7 +305,8 @@ void UsersPage::validateUsernameText( const QString& textRef ) { QString text( textRef ); - QRegExpValidator val( USERNAME_RX ); + QRegExpValidator val_whole( USERNAME_RX ); + QRegExpValidator val_start( QRegExp( "[a-z_].*" ) ); // anchors are implicit in QRegExpValidator int pos = -1; if ( text.isEmpty() ) @@ -319,12 +320,20 @@ UsersPage::validateUsernameText( const QString& textRef ) labelError( ui->labelUsername, ui->labelUsernameError, tr( "Your username is too long." ) ); m_readyUsername = false; } - else if ( val.validate( text, pos ) == QValidator::Invalid ) + else if ( val_start.validate( text, pos ) == QValidator::Invalid ) { labelError( ui->labelUsername, ui->labelUsernameError, - tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); + tr( "Your username must start with a lowercase letter or underscore." ) ); + m_readyUsername = false; + } + else if ( val_whole.validate( text, pos ) == QValidator::Invalid ) + { + labelError( + ui->labelUsername, + ui->labelUsernameError, + tr( "Only lowercase letters, numbers, underscore and hyphen are allowed." ) ); m_readyUsername = false; } else @@ -372,7 +381,7 @@ UsersPage::validateHostnameText( const QString& textRef ) { labelError( ui->labelHostname, ui->labelHostnameError, - tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); + tr( "Only letters, numbers, underscore and hyphen are allowed." ) ); m_readyHostname = false; } else From 7d25173afbb05719e38db30d4ff93e7d91430a0e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 13:17:31 +0100 Subject: [PATCH 462/626] [users] Remove TODO since it doesn't make sense - the two explicit checks are the ones that handle *two* strings as special cases; all the other checks from the password-requirements system only handle the one string. --- src/modules/users/UsersPage.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index acb4f79b6..287a771ea 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -400,7 +400,6 @@ UsersPage::onPasswordTextChanged( const QString& ) QString pw2 = ui->textBoxUserVerifiedPassword->text(); m_readyPassword = true; - // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) { ui->labelUserPasswordError->clear(); @@ -445,7 +444,6 @@ UsersPage::onRootPasswordTextChanged( const QString& ) QString pw2 = ui->textBoxVerifiedRootPassword->text(); m_readyRootPassword = true; - // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) { ui->labelRootPasswordError->clear(); From 9fa817a244b327636f2e30042e49595dd6a12a48 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 13:38:14 +0100 Subject: [PATCH 463/626] [users] Refactor password-validation - add a method that does the work and sets UI strings for a generic double-field password entry - use that for user and root passwords --- src/modules/users/UsersPage.cpp | 80 ++++++++++----------------------- src/modules/users/UsersPage.h | 10 +++++ 2 files changed, 34 insertions(+), 56 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 287a771ea..9f4f31f9d 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -393,23 +393,19 @@ UsersPage::validateHostnameText( const QString& textRef ) emit checkReady( isReady() ); } -void -UsersPage::onPasswordTextChanged( const QString& ) +bool +UsersPage::checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLabel* badge, QLabel* message ) { - QString pw1 = ui->textBoxUserPassword->text(); - QString pw2 = ui->textBoxUserVerifiedPassword->text(); - m_readyPassword = true; - if ( pw1.isEmpty() && pw2.isEmpty() ) { - ui->labelUserPasswordError->clear(); - ui->labelUserPassword->clear(); - m_readyPassword = false; + badge->clear(); + message->clear(); + return false; } else if ( pw1 != pw2 ) { - labelError( ui->labelUserPassword, ui->labelUserPasswordError, tr( "Your passwords do not match!" ) ); - m_readyPassword = false; + labelError( badge, message, tr( "Your passwords do not match!" ) ); + return false; } else { @@ -421,18 +417,24 @@ UsersPage::onPasswordTextChanged( const QString& ) if ( !s.isEmpty() ) { - labelError( ui->labelUserPassword, ui->labelUserPasswordError, s ); - m_readyPassword = false; - break; + labelError( badge, message, s ); + return false; } } } - if ( m_readyPassword ) - { - labelOk( ui->labelUserPassword, ui->labelUserPasswordError ); - } + labelOk( badge, message ); + return true; } +} + +void +UsersPage::onPasswordTextChanged( const QString& ) +{ + m_readyPassword = checkPasswordAcceptance( ui->textBoxUserPassword->text(), + ui->textBoxUserVerifiedPassword->text(), + ui->labelUserPassword, + ui->labelUserPasswordError ); emit checkReady( isReady() ); } @@ -440,44 +442,10 @@ UsersPage::onPasswordTextChanged( const QString& ) void UsersPage::onRootPasswordTextChanged( const QString& ) { - QString pw1 = ui->textBoxRootPassword->text(); - QString pw2 = ui->textBoxVerifiedRootPassword->text(); - m_readyRootPassword = true; - - if ( pw1.isEmpty() && pw2.isEmpty() ) - { - ui->labelRootPasswordError->clear(); - ui->labelRootPassword->clear(); - m_readyRootPassword = false; - } - else if ( pw1 != pw2 ) - { - labelError( ui->labelRootPassword, ui->labelRootPasswordError, tr( "Your passwords do not match!" ) ); - m_readyRootPassword = false; - } - else - { - if ( ui->checkBoxValidatePassword->isChecked() ) - { - for ( auto pc : m_passwordChecks ) - { - QString s = pc.filter( pw1 ); - - if ( !s.isEmpty() ) - { - labelError( ui->labelRootPassword, ui->labelRootPasswordError, s ); - m_readyRootPassword = false; - break; - } - } - } - - if ( m_readyRootPassword ) - { - labelOk( ui->labelRootPassword, ui->labelRootPasswordError ); - } - } - + m_readyRootPassword = checkPasswordAcceptance( ui->textBoxRootPassword->text(), + ui->textBoxVerifiedRootPassword->text(), + ui->labelRootPassword, + ui->labelRootPasswordError ); emit checkReady( isReady() ); } diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index d8aed07fc..520ce64a8 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -29,6 +29,8 @@ #include +class QLabel; + namespace Ui { class Page_UserSetup; @@ -75,6 +77,14 @@ signals: void checkReady( bool ); private: + /** @brief Is the password acceptable? + * + * Checks the two copies of the password and places error messages in the + * given QLabels. Returns true (and clears the error messages) if the + * password is acceptable. + */ + bool checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLabel* badge, QLabel* message ); + Ui::Page_UserSetup* ui; PasswordCheckList m_passwordChecks; From 28c9da414b3dfcd6c5ae218d5492adc5f470a8fd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 13:39:16 +0100 Subject: [PATCH 464/626] [users] Apply coding style --- src/modules/users/UsersPage.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 9f4f31f9d..cd93b8079 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -322,18 +322,16 @@ UsersPage::validateUsernameText( const QString& textRef ) } else if ( val_start.validate( text, pos ) == QValidator::Invalid ) { - labelError( - ui->labelUsername, - ui->labelUsernameError, - tr( "Your username must start with a lowercase letter or underscore." ) ); + labelError( ui->labelUsername, + ui->labelUsernameError, + tr( "Your username must start with a lowercase letter or underscore." ) ); m_readyUsername = false; } else if ( val_whole.validate( text, pos ) == QValidator::Invalid ) { - labelError( - ui->labelUsername, - ui->labelUsernameError, - tr( "Only lowercase letters, numbers, underscore and hyphen are allowed." ) ); + labelError( ui->labelUsername, + ui->labelUsernameError, + tr( "Only lowercase letters, numbers, underscore and hyphen are allowed." ) ); m_readyUsername = false; } else From a4e3ea2a8677ae56df80424ea411b9412e140ada Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 13:46:07 +0100 Subject: [PATCH 465/626] [users] Refactor retranslation - move retranslation to a method so that code-formatting doesn't get confused by it. --- src/modules/users/UsersPage.cpp | 37 ++++++++++++++++++--------------- src/modules/users/UsersPage.h | 2 ++ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index cd93b8079..5d831b568 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -107,32 +107,35 @@ UsersPage::UsersPage( QWidget* parent ) setWriteRootPassword( true ); ui->checkBoxReusePassword->setChecked( true ); ui->checkBoxValidatePassword->setChecked( true ); - + setPasswordCheckboxVisible( false ); - CALAMARES_RETRANSLATE( - ui->retranslateUi( this ); - if ( Calamares::Settings::instance()->isSetupMode() ) - { - ui->textBoxUsername->setToolTip( tr( "If more than one person will " - "use this computer, you can create multiple " - "accounts after setup." ) ); - } - else - { - ui->textBoxUsername->setToolTip( tr( "If more than one person will " - "use this computer, you can create multiple " - "accounts after installation." ) ); - } - ) + CALAMARES_RETRANSLATE_SLOT( &UsersPage::retranslate ); } - UsersPage::~UsersPage() { delete ui; } +void +UsersPage::retranslate() +{ + ui->retranslateUi( this ); + if ( Calamares::Settings::instance()->isSetupMode() ) + { + ui->textBoxUsername->setToolTip( tr( "If more than one person will " + "use this computer, you can create multiple " + "accounts after setup." ) ); + } + else + { + ui->textBoxUsername->setToolTip( tr( "If more than one person will " + "use this computer, you can create multiple " + "accounts after installation." ) ); + } +} + bool UsersPage::isReady() diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 520ce64a8..a2befbd26 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -85,6 +85,8 @@ private: */ bool checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLabel* badge, QLabel* message ); + void retranslate(); + Ui::Page_UserSetup* ui; PasswordCheckList m_passwordChecks; From 196a358493eb56d320caf88edf26d11137453d87 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 14:48:46 +0100 Subject: [PATCH 466/626] [users] Flag password problems even when weak-passwords are ok - when you allow weak passwords, flag problems as warnings (yellow) - when weak passwords aren't allowed, they are fatal errors (red) --- src/modules/users/UsersPage.cpp | 41 +++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 5d831b568..c0965a7ed 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -51,12 +51,22 @@ static constexpr const int USERNAME_MAX_LENGTH = 31; static constexpr const int HOSTNAME_MIN_LENGTH = 2; static constexpr const int HOSTNAME_MAX_LENGTH = 63; +/** @brief How bad is the error for labelError() ? */ +enum class Badness +{ + Fatal, + Warning +}; + /** Add an error message and pixmap to a label. */ static inline void -labelError( QLabel* pix, QLabel* label, const QString& message ) +labelError( QLabel* pix, QLabel* label, const QString& message, Badness bad = Badness::Fatal ) { label->setText( message ); - pix->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, CalamaresUtils::Original, label->size() ) ); + pix->setPixmap( CalamaresUtils::defaultPixmap( ( bad == Badness::Fatal ) ? CalamaresUtils::StatusError + : CalamaresUtils::StatusWarning, + CalamaresUtils::Original, + label->size() ) ); } /** Clear error, indicate OK on a label. */ @@ -399,6 +409,7 @@ UsersPage::checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLab { if ( pw1.isEmpty() && pw2.isEmpty() ) { + // Not exactly labelOk() because we also don't want a checkmark OK badge->clear(); message->clear(); return false; @@ -410,21 +421,31 @@ UsersPage::checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLab } else { - if ( ui->checkBoxValidatePassword->isChecked() ) - { - for ( auto pc : m_passwordChecks ) - { - QString s = pc.filter( pw1 ); + bool failureIsFatal = ui->checkBoxValidatePassword->isChecked(); + bool failureFound = false; - if ( !s.isEmpty() ) + for ( auto pc : m_passwordChecks ) + { + QString s = pc.filter( pw1 ); + + if ( !s.isEmpty() ) + { + labelError( badge, message, s, failureIsFatal ? Badness::Fatal : Badness::Warning ); + failureFound = true; + if ( failureIsFatal ) { - labelError( badge, message, s ); return false; } } } - labelOk( badge, message ); + if ( !failureFound ) + { + labelOk( badge, message ); + } + + // Here, if failureFound is true then we've found **warnings**, + // which is ok to continue but the user should know. return true; } } From 699df6328f5cc310792918e93152d540e57a2e44 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 15:07:52 +0100 Subject: [PATCH 467/626] Changes: document this branch --- CHANGES | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index e5e3c42ba..aca4d6d5e 100644 --- a/CHANGES +++ b/CHANGES @@ -6,13 +6,22 @@ website will have to do for older versions. # 3.2.16 (unreleased) # This release contains contributions from (alphabetically by first name): - - No other contributors this time around. + - Bill Auger ## Core ## - - No changes to core functionality + - Some obscure build scenarios which would lead to bogus module-is- + misconfigured messages on startup have been resolved. ## Modules ## - - No changes to module functionality + - The explanatory messages on the *users* page have moved to tooltips, + and placeholder text has been added to the fields. #1202 + - The bad-password messages in the *users* page have been improved. #1261 + - Password-checking in the *users* module has been substantially + changed. A new key *allowWeakPasswords* can be used to introduce + an additional checkbox to the page, which can then be used to + switch off strict password checking. (Thanks to Bill Auger) + - The icons used in password warnings on the *users* page have been + changed to the colorful status icons (rather than the thin red X). # 3.2.15 (2019-10-11) # From 9497540b64574f3b0c8694798a8a921b603002e2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 17:19:23 +0100 Subject: [PATCH 468/626] Changes: pre-release housekeeping --- CHANGES | 14 +++++++++++++- CMakeLists.txt | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index aca4d6d5e..374fa320c 100644 --- a/CHANGES +++ b/CHANGES @@ -3,7 +3,19 @@ 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.16 (unreleased) # +# 3.2.17 (unreleased) # + +This release contains contributions from (alphabetically by first name): + - No external contributions. + +## Core ## + - No changes to core functionality + +## Modules ## + - No changes to module functionality + + +# 3.2.16 (2019-11-01) # This release contains contributions from (alphabetically by first name): - Bill Auger diff --git a/CMakeLists.txt b/CMakeLists.txt index ad92c3b62..2c970a5d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ project( CALAMARES VERSION 3.2.16 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 2edb204c9e0fbbc8a5858ddf77f4c171d338c6fd Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 1 Nov 2019 17:24:10 +0100 Subject: [PATCH 469/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_fr.ts | 2 +- lang/calamares_it_IT.ts | 70 +++++++------- lang/calamares_ja.ts | 2 +- lang/calamares_ml.ts | 206 ++++++++++++++++++++-------------------- lang/calamares_sv.ts | 66 ++++++------- lang/calamares_tr_TR.ts | 2 +- 6 files changed, 174 insertions(+), 174 deletions(-) diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index 47fd4fd9f..472e81f8d 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -3253,7 +3253,7 @@ Sortie Open release notes website - + Ouvrir le site des notes de publication diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 1d860c7d0..136d33c3e 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -99,7 +99,7 @@ Reload Stylesheet - + Ricarica il foglio di stile @@ -210,7 +210,7 @@ Waiting for %n module(s). - + In attesa del(i) modulo(i) %n.In attesa del(i) modulo(i) %n. @@ -258,7 +258,7 @@ Would you like to paste the install log to the web? - + Vuoi incollare il log di installazione nel web? @@ -1148,7 +1148,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html> - + <html><head/><body><p>Quando questa casella è selezionata, il tuo computer verrà riavviato immediatamente quando clicchi su <span style="font-style:italic;">Finito</span> oppure chiudi il programma di setup.</p></body></html> @@ -1163,7 +1163,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - + <h1>Installazione fallita</h1><br/>%1 non è stato installato sul tuo computer.<br/>Il messaggio di errore è: %2. @@ -1204,12 +1204,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Format partition %1 (file system: %2, size: %3 MiB) on %4. - + Formatta la partitione %1 (file system: %2, dimensione: %3 MiB) su %4. Format <strong>%3MiB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatta la partizione <strong>%1</strong> di dimensione <strong>%3MiB </strong> con il file system <strong>%2</strong>. @@ -1298,17 +1298,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Could not create directories <code>%1</code>. - + Impossibile creare le cartelle <code>%1</code>. Could not open file <code>%1</code>. - + Impossibile aprire il file <code>%1</code>. Could not write to file <code>%1</code>. - + Impossibile scrivere sul file <code>%1</code>. @@ -1316,7 +1316,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Creating initramfs with mkinitcpio. - + Sto creando initramfs con mkinitcpio. @@ -1324,7 +1324,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Creating initramfs. - + Sto creando initramfs. @@ -1475,32 +1475,32 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Shows the complete license text - + Mostra il testo completo della licenza Hide license text - + Nascondi il testo della licenza Show license agreement - + Mostra l'accordo di licenza Hide license agreement - + Nascondi l'accordo di licenza Opens the license agreement in a browser window. - + Apre l'accordo di licenza in una finestra del browser. <a href="%1">View license agreement</a> - + <a href="%1">Visualizza l'accordo di licenza</a> @@ -1556,7 +1556,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno No partitions are defined. - + Non è stata specificata alcuna partizione. @@ -2462,7 +2462,7 @@ Output: No description provided. - + Non è stata fornita alcuna descrizione. @@ -2564,7 +2564,7 @@ Output: Resize Filesystem Job - + Operazione di ridimensionamento del Filesystem @@ -2574,7 +2574,7 @@ Output: The file-system resize job has an invalid configuration and will not run. - + L'operazione di ridimensionamento del file-system ha una configurazione non valida e non verrà effettuata. @@ -2622,12 +2622,12 @@ Output: The filesystem %1 must be resized, but cannot. - + Il filesystem %1 deve essere ridimensionato, ma non è possibile farlo. The device %1 must be resized, but cannot - + Il dispositivo %1 deve essere ridimensionato, non è possibile farlo @@ -2645,7 +2645,7 @@ Output: Resizing %2MiB partition %1 to %3MiB. - + Sto ridimensionando la partizione %1 di dimensione %2MiB a %3MiB. @@ -2667,12 +2667,12 @@ Output: Resize volume group named %1 from %2 to %3. - + Ridimensiona il gruppo di volumi con nome %1 da %2 a %3. Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>. - + Ridimensiona il gruppo di volumi con nome <strong>%1</strong> da <strong>%2</strong> a <strong>%3</strong>. @@ -2685,7 +2685,7 @@ Output: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + Questo computer non soddisfa i requisiti minimi per l'installazione di %1.<br/>L'installazione non può continuare. <a href="#details">Dettagli...</a> @@ -2695,7 +2695,7 @@ Output: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + Questo computer non soddisfa alcuni requisiti raccomandati per l'installazione di %1.<br/>L'installazione può continuare, ma alcune funzionalità potrebbero essere disabilitate. @@ -3230,17 +3230,17 @@ Output: Open donations website - + Apri il sito web per le donazioni &Donate - + &Donazioni Open help and support website - + Apri il sito web per l'aiuto ed il supporto @@ -3250,7 +3250,7 @@ Output: Open release notes website - + Apri il sito web delle note di rilascio @@ -3285,12 +3285,12 @@ Output: <h1>Welcome to the Calamares setup program for %1.</h1> - + <h1>Benvenuto nel programma di installazione Calamares di %1.</h1> <h1>Welcome to %1 setup.</h1> - + <h1>Benvenuto nell'installazione di %1.</h1> diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 58d127397..29dec7ca4 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -1165,7 +1165,7 @@ The installer will quit and all changes will be lost. <h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2. - <h1>セットアップに失敗しました。</h1><br/>%1 はコンピュータにセットアップされていません。<br/>エラーメッセージは次のとおりです: %2 + <h1>セットアップに失敗しました。</h1><br/>%1 はコンピュータにセットアップされていません。<br/>エラーメッセージ: %2 diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index c26f8f28d..7941eaaa2 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -135,7 +135,7 @@ Programmed job failure was explicitly requested. - + പ്രോഗ്രാം ചെയ്യപ്പെട്ട ജോലിയുടെ പരാജയം പ്രത്യേകമായി ആവശ്യപ്പെട്ടിരുന്നു. @@ -648,12 +648,12 @@ The installer will quit and all changes will be lost. The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined. - + കമാൻഡ് ഹോസ്റ്റ് എൻവയോൺമെന്റിൽ പ്രവർത്തിക്കുന്നു, റൂട്ട് പാത്ത് അറിയേണ്ടതുണ്ട്, പക്ഷേ rootMountPoint നിർവചിച്ചിട്ടില്ല. The command needs to know the user's name, but no username is defined. - + കമാൻഡിന് ഉപയോക്താവിന്റെ പേര് അറിയേണ്ടതുണ്ട്,എന്നാൽ ഉപയോക്തൃനാമമൊന്നും നിർവചിച്ചിട്ടില്ല. @@ -661,7 +661,7 @@ The installer will quit and all changes will be lost. Contextual Processes Job - + സാന്ദർഭിക പ്രക്രിയകൾ ജോലി @@ -932,7 +932,7 @@ The installer will quit and all changes will be lost. The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - + തിരഞ്ഞെടുത്ത സ്റ്റോറേജ് ഉപകരണത്തിലെ <strong>പാർട്ടീഷൻ ടേബിളിന്റെ</strong>തരം.<br><br>പാർട്ടീഷൻ ടേബിൾ തരം മാറ്റാനുള്ള ഒരേയൊരു മാർഗ്ഗം പാർട്ടീഷൻ ടേബിൾ ആദ്യം മുതൽ മായ്ച്ചുകളയുക എന്നതാണ്,ഇത് സംഭരണ ഉപകരണത്തിലെ എല്ലാ ഡാറ്റയും നശിപ്പിക്കുന്നു.<br>നിങ്ങൾ വ്യക്തമായി തിരഞ്ഞെടുത്തിട്ടില്ലെങ്കിൽ ഈ ഇൻസ്റ്റാളർ നിലവിലെ പാർട്ടീഷൻ ടേബിൾ സൂക്ഷിക്കും.<br>ഉറപ്പില്ലെങ്കിൽ, ആധുനിക സിസ്റ്റങ്ങളിൽ ജിപിടിയാണ് ശുപാർശ ചെയ്യുന്നത്. @@ -942,7 +942,7 @@ The installer will quit and all changes will be lost. This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - + ഇതൊരു <strong>ലൂപ്പ്</strong> ഉപകരണമാണ്.<br><br>ഒരു ഫയലിന്റെ ഒരു ബ്ലോക്ക് ഉപകരണമാക്കി ലഭ്യമാക്കുന്ന പാർട്ടീഷൻ ടേബിളില്ലാത്ത ഒരു കൃത്രിമ-ഉപകരണമാണിത്. ഇത്തരത്തിലുള്ള ക്രമീകരണത്തിൽ സാധാരണ ഒരൊറ്റ ഫയൽ സിസ്റ്റം മാത്രമേ കാണൂ. @@ -1344,7 +1344,7 @@ The installer will quit and all changes will be lost. Executing script: &nbsp;<code>%1</code> - + സ്ക്രിപ്റ്റ് നിർവ്വഹിക്കുന്നു:&nbsp;<code>%1</code> @@ -1386,7 +1386,7 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + സിസ്റ്റം ലൊക്കേൽ ഭാഷയും, കമാൻഡ് ലൈൻ സമ്പർക്കമുഖഘടകങ്ങളുടെ അക്ഷരക്കൂട്ടങ്ങളേയും സ്വാധീനിക്കും. <br/>നിലവിലുള്ള ക്രമീകരണം <strong>%1</strong> ആണ്. @@ -1414,22 +1414,22 @@ The installer will quit and all changes will be lost. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + <h1>ലൈസൻസ് ഉടമ്പടി</h1>ഈ സജ്ജീകരണ നടപടിക്രമം ലൈസൻസിംഗ് നിബന്ധനകൾക്ക് വിധേയമായ കുത്തക സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യും. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + മുകളിലുള്ള അന്തിമ ഉപയോക്തൃ ലൈസൻസ് കരാറുകൾ (EULAs) അവലോകനം ചെയ്യുക.<br/>നിങ്ങൾ നിബന്ധനകളോട് യോജിക്കുന്നില്ലെങ്കിൽ, സജ്ജീകരണ നടപടിക്രമം തുടരാനാവില്ല. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + <h1>ലൈസൻസ് ഉടമ്പടി</h1>അധിക സവിശേഷതകൾ നൽകുന്നതിനും ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്തുന്നതിനും ഈ സജ്ജീകരണ നടപടിക്രമത്തിന് ലൈസൻസിംഗ് നിബന്ധനകൾക്ക് വിധേയമായ കുത്തക സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. - + മുകളിലുള്ള അന്തിമ ഉപയോക്തൃ ലൈസൻസ് കരാറുകൾ (EULAs) അവലോകനം ചെയ്യുക.<br/>നിങ്ങൾ നിബന്ധനകളോട് യോജിക്കുന്നില്ലെങ്കിൽ, പ്രൊപ്രൈറ്ററി സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യില്ല, പകരം ഓപ്പൺ സോഴ്‌സ് ഇതരമാർഗങ്ങൾ ഉപയോഗിക്കും. @@ -1452,27 +1452,27 @@ The installer will quit and all changes will be lost. <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - + <strong>%1 ഗ്രാഫിക്സ് ഡ്രൈവർ</strong><br/><font color="Grey">by %2</font> <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - + <strong>%1 ബ്രൌസർ പ്ലഗിൻ</strong><br/><font color="Grey">by %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - + <strong>%1 കോഡെക് </strong><br/><font color="Grey">by %2</font> <strong>%1 package</strong><br/><font color="Grey">by %2</font> - + <strong>%1 പാക്കേജ് </strong><br/><font color="Grey">by %2</font> <strong>%1</strong><br/><font color="Grey">by %2</font> - + <strong>%1</strong><br/><font color="Grey">by %2</font> @@ -1624,7 +1624,7 @@ The installer will quit and all changes will be lost. Ba&tch: - + കൂട്ടം (&t): @@ -1634,7 +1634,7 @@ The installer will quit and all changes will be lost. <html><head/><body><h1>OEM Configuration</h1><p>Calamares will use OEM settings while configuring the target system.</p></body></html> - + <html><head/><body><h1>OEM ക്രമീകരണം</h1><p>കലാമരേസ് ലക്ഷ്യ സിസ്റ്റം ക്രമീകരിക്കുമ്പോൾ OEM ക്രമീകരണങ്ങൾ ഉപയോഗിക്കും.</p></body></html> @@ -1647,7 +1647,7 @@ The installer will quit and all changes will be lost. Set the OEM Batch Identifier to <code>%1</code>. - + OEM ബാച്ച് ഐഡന്റിഫയർ <code>%1</code> ആയി ക്രമീകരിക്കുക. @@ -1770,7 +1770,7 @@ The installer will quit and all changes will be lost. The password contains less than %1 character classes - + പാസ്‌വേഡിൽ പ്രതീക ക്ലാസുകൾ %1 ൽ കുറവാണ് @@ -1800,12 +1800,12 @@ The installer will quit and all changes will be lost. The password contains monotonic sequence longer than %1 characters - + പാസ്‌വേഡിൽ %1 പ്രതീകങ്ങളേക്കാൾ ദൈർഘ്യമുള്ള മോണോടോണിക് ശ്രേണി അടങ്ങിയിരിക്കുന്നു The password contains too long of a monotonic character sequence - + പാസ്‌വേഡിൽ വളരെ ദൈർഘ്യമുള്ള ഒരു മോണോടോണിക് പ്രതീക ശ്രേണിയുണ്ട് @@ -1845,7 +1845,7 @@ The installer will quit and all changes will be lost. Bad integer value of setting - %1 - + ക്രമീകരണത്തിന്റെ ശരിയല്ലാത്ത സംഖ്യാമൂല്യം - %1 @@ -1987,7 +1987,7 @@ The installer will quit and all changes will be lost. <small>This name will be used if you make the computer visible to others on a network.</small> - + <small>നിങ്ങൾ ഒരു നെറ്റ്‌വർക്കിൽ കമ്പ്യൂട്ടർ മറ്റുള്ളവർക്ക് ദൃശ്യമാക്കുകയാണെങ്കിൽ ഈ പേര് ഉപയോഗിക്കും.</small> @@ -2007,7 +2007,7 @@ The installer will quit and all changes will be lost. <small>Enter the same password twice, so that it can be checked for typing errors.</small> - + <small>ഒരേ പാസ്‌വേഡ് രണ്ടുതവണ നൽകുക, അതുവഴി ടൈപ്പിംഗ് പിശകുകൾ പരിശോധിക്കാൻ കഴിയും.</small> @@ -2164,7 +2164,7 @@ The installer will quit and all changes will be lost. The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead. - + %1 ലെ പാർട്ടീഷൻ പട്ടികയിൽ ഇതിനകം %2 പ്രാഥമിക പാർട്ടീഷനുകൾ ഉണ്ട്,ഇനി ഒന്നും ചേർക്കാൻ കഴിയില്ല. പകരം ഒരു പ്രാഥമിക പാർട്ടീഷൻ നീക്കംചെയ്‌ത് എക്സ്ടെൻഡഡ്‌ പാർട്ടീഷൻ ചേർക്കുക. @@ -2182,7 +2182,7 @@ The installer will quit and all changes will be lost. Install %1 <strong>alongside</strong> another operating system. - + മറ്റൊരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനൊപ്പം %1 ഇൻസ്റ്റാൾ ചെയ്യുക. @@ -2197,12 +2197,12 @@ The installer will quit and all changes will be lost. <strong>Manual</strong> partitioning. - + <strong>സ്വമേധയാ</strong> ഉള്ള പാർട്ടീഷനിങ്. Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - + %2 (%3) ഡിസ്കിൽ മറ്റൊരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനൊപ്പം %1 ഇൻസ്റ്റാൾ ചെയ്യുക. @@ -2262,7 +2262,7 @@ The installer will quit and all changes will be lost. A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - + എൻക്രിപ്റ്റ് ചെയ്ത ഒരു റൂട്ട് പാർട്ടീഷനോടൊപ്പം ഒരു വേർപെടുത്തിയ ബൂട്ട് പാർട്ടീഷനും ക്രമീകരിക്കപ്പെട്ടിരുന്നു, എന്നാൽ ബൂട്ട് പാർട്ടീഷൻ എൻക്രിപ്റ്റ് ചെയ്യപ്പെട്ടതല്ല.<br/><br/>ഇത്തരം സജ്ജീകരണത്തിന്റെ സുരക്ഷ ഉത്കണ്ഠാജനകമാണ്, എന്തെന്നാൽ പ്രധാനപ്പെട്ട സിസ്റ്റം ഫയലുകൾ ഒരു എൻക്രിപ്റ്റ് ചെയ്യപ്പെടാത്ത പാർട്ടീഷനിലാണ് സൂക്ഷിച്ചിട്ടുള്ളത്.<br/> താങ്കൾക്ക് വേണമെങ്കിൽ തുടരാം, പക്ഷേ ഫയൽ സിസ്റ്റം തുറക്കൽ സിസ്റ്റം ആരംഭപ്രക്രിയയിൽ വൈകിയേ സംഭവിക്കൂ.<br/>ബൂട്ട് പാർട്ടീഷൻ എൻക്രിപ്റ്റ് ചെയ്യാനായി, തിരിച്ചു പോയി പാർട്ടീഷൻ നിർമ്മാണ ജാലകത്തിൽ <strong>എൻക്രിപ്റ്റ്</strong> തിരഞ്ഞെടുത്തുകൊണ്ട് അത് വീണ്ടും നിർമ്മിക്കുക. @@ -2280,13 +2280,13 @@ The installer will quit and all changes will be lost. Plasma Look-and-Feel Job - + പ്ലാസ്മ കെട്ടും മട്ടും ജോലി Could not select KDE Plasma Look-and-Feel package - + കെഡിഇ പ്ലാസ്മ കെട്ടും മട്ടും പാക്കേജ് തിരഞ്ഞെടുക്കാനായില്ല @@ -2299,12 +2299,12 @@ The installer will quit and all changes will be lost. 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. - + കെ‌ഡി‌ഇ പ്ലാസ്മ ഡെസ്‌ക്‌ടോപ്പിനായി ഒരു കെട്ടും മട്ടും തിരഞ്ഞെടുക്കുക.നിങ്ങൾക്ക് ഈ ഘട്ടം ഇപ്പോൾ ഒഴിവാക്കി സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്തതിനു ശേഷവും കെട്ടും മട്ടും ക്രമീരകരിക്കാൻ കഴിയും.ഒരു കെട്ടും മട്ടും തിരഞ്ഞെടുക്കലിൽ ക്ലിക്കുചെയ്യുന്നത് ആ കെട്ടും മട്ടിന്റെയും തത്സമയ പ്രിവ്യൂ നൽകും. Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel. - + കെ‌ഡി‌ഇ പ്ലാസ്മ ഡെസ്‌ക്‌ടോപ്പിനായി ഒരു കെട്ടും മട്ടും തിരഞ്ഞെടുക്കുക.നിങ്ങൾക്ക് ഈ ഘട്ടം ഇപ്പോൾ ഒഴിവാക്കി സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്തതിനു ശേഷവും കെട്ടും മട്ടും ക്രമീരകരിക്കാൻ കഴിയും @@ -2312,7 +2312,7 @@ The installer will quit and all changes will be lost. Look-and-Feel - + കെട്ടും മട്ടും @@ -2354,7 +2354,7 @@ Output: External command crashed. - + ബാഹ്യമായ ആജ്ഞ തകർന്നു. @@ -2364,12 +2364,12 @@ Output: External command failed to start. - + ബാഹ്യമായ ആജ്ഞ ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു. Command <i>%1</i> failed to start. - + <i>%1</i>ആജ്ഞ ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു. @@ -2379,27 +2379,27 @@ Output: Bad parameters for process job call. - + പ്രക്രിയ ജോലി വിളിയ്ക്ക് ശരിയല്ലാത്ത പരാമീറ്ററുകൾ. External command failed to finish. - + ബാഹ്യമായ ആജ്ഞ പൂർത്തിയാവുന്നതിൽ പരാജയപ്പെട്ടു. Command <i>%1</i> failed to finish in %2 seconds. - + ആജ്ഞ <i>%1</i> %2 സെക്കൻഡുകൾക്കുള്ളിൽ പൂർത്തിയാവുന്നതിൽ പരാജയപ്പെട്ടു. External command finished with errors. - + ബാഹ്യമായ ആജ്ഞ പിഴവുകളോട് കൂടീ പൂർത്തിയായി. Command <i>%1</i> finished with exit code %2. - + ആജ്ഞ <i>%1</i> എക്സിറ്റ് കോഡ് %2ഓട് കൂടി പൂർത്തിയായി. @@ -2423,7 +2423,7 @@ Output: extended - + വിസ്തൃതമായത് @@ -2566,7 +2566,7 @@ Output: Resize Filesystem Job - + ഫയൽ സിസ്റ്റത്തിന്റെ വലുപ്പം മാറ്റുന്ന ജോലി @@ -2576,19 +2576,19 @@ Output: The file-system resize job has an invalid configuration and will not run. - + ഫയൽ സിസ്റ്റം വലുപ്പം മാറ്റുന്ന ജോലിയിൽ അസാധുവായ ക്രമീകരണം ഉണ്ട്, അത് പ്രവർത്തിക്കില്ല. KPMCore not Available - + KPMCore ലഭ്യമല്ല Calamares cannot start KPMCore for the file-system resize job. - + ഫയൽ സിസ്റ്റം വലുപ്പം മാറ്റുന്നതിനുള്ള ജോലിക്കായി കാലാമറസിന് KPMCore ആരംഭിക്കാൻ കഴിയില്ല. @@ -2597,39 +2597,39 @@ Output: Resize Failed - + വലുപ്പം മാറ്റുന്നത് പരാജയപ്പെട്ടു The filesystem %1 could not be found in this system, and cannot be resized. - + ഫയൽ സിസ്റ്റം %1 ഈ സിസ്റ്റത്തിൽ കണ്ടെത്താനായില്ല, അതിനാൽ അതിന്റെ വലുപ്പം മാറ്റാനാവില്ല. The device %1 could not be found in this system, and cannot be resized. - + ഉപകരണം %1 ഈ സിസ്റ്റത്തിൽ കണ്ടെത്താനായില്ല, അതിനാൽ അതിന്റെ വലുപ്പം മാറ്റാനാവില്ല. The filesystem %1 cannot be resized. - + %1 എന്ന ഫയൽസിസ്റ്റത്തിന്റെ വലുപ്പം മാറ്റാൻ കഴിയില്ല. The device %1 cannot be resized. - + %1 ഉപകരണത്തിന്റെ വലുപ്പം മാറ്റാൻ കഴിയില്ല. The filesystem %1 must be resized, but cannot. - + %1 എന്ന ഫയൽസിസ്റ്റത്തിന്റെ വലുപ്പം മാറ്റണം, പക്ഷേ കഴിയില്ല. The device %1 must be resized, but cannot - + %1 ഉപകരണത്തിന്റെ വലുപ്പം മാറ്റണം, പക്ഷേ കഴിയില്ല @@ -2637,22 +2637,22 @@ Output: Resize partition %1. - + %1 പാർട്ടീഷന്റെ വലുപ്പം മാറ്റുക. Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + <strong>%1</strong> എന്ന <strong>%2MiB</strong> പാർട്ടീഷന്റെ വലുപ്പം <strong>%3Mib</strong>യിലേക്ക് മാറ്റുക. Resizing %2MiB partition %1 to %3MiB. - + %1 എന്ന %2MiB പാർട്ടീഷന്റെ വലുപ്പം %3Mibയിലേക്ക് മാറ്റുന്നു. The installer failed to resize partition %1 on disk '%2'. - + '%2' ഡിസ്കിലുള്ള %1 പാർട്ടീഷന്റെ വലുപ്പം മാറ്റുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു @@ -2669,17 +2669,17 @@ Output: Resize volume group named %1 from %2 to %3. - + %1 എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പിന്റെ വലുപ്പം %2ൽ നിന്നും %3ലേക്ക് മാറ്റുക. Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>. - + <strong>%1</strong> എന്ന് പേരുള്ള വോള്യം ഗ്രൂപ്പിന്റെ വലുപ്പം <strong>%2</strong>ൽ നിന്നും <strong>%3</strong>ലേക്ക് മാറ്റുക. The installer failed to resize a volume group named '%1'. - + '%1' എന്ന് പേരുള്ള ഒരു വോള്യം ഗ്രൂപ്പിന്റെ വലുപ്പം മാറ്റുന്നതിൽ ഇൻസ്റ്റാളർ പരാജയപ്പെട്ടു. @@ -2712,7 +2712,7 @@ Output: For best results, please ensure that this computer: - + മികച്ച ഫലങ്ങൾക്കായി ഈ കമ്പ്യൂട്ടർ താഴെപ്പറയുന്നവ നിറവേറ്റുന്നു എന്നുറപ്പുവരുത്തുക: @@ -2760,7 +2760,7 @@ Output: Cannot write hostname to target system - + ടാർഗെറ്റ് സിസ്റ്റത്തിലേക്ക് ഹോസ്റ്റ്നാമം എഴുതാൻ കഴിയില്ല @@ -2768,12 +2768,12 @@ Output: Set keyboard model to %1, layout to %2-%3 - + കീബോർഡ് മാതൃക %1 ആയി ക്രമീകരിക്കുക, രൂപരേഖ %2-%3 Failed to write keyboard configuration for the virtual console. - + വിർച്വൽ കൺസോളിനായുള്ള കീബോർഡ് ക്രമീകരണം എഴുതുന്നതിൽ പരാജയപ്പെട്ടു. @@ -2785,12 +2785,12 @@ Output: Failed to write keyboard configuration for X11. - + X11 നായി കീബോർഡ് കോൺഫിഗറേഷൻ എഴുതുന്നതിൽ പരാജയപ്പെട്ടു. Failed to write keyboard configuration to existing /etc/default directory. - + നിലവിലുള്ള /etc/default ഡയറക്ടറിയിലേക്ക് കീബോർഡ് കോൺഫിഗറേഷൻ എഴുതുന്നതിൽ പരാജയപ്പെട്ടു. @@ -2823,17 +2823,17 @@ Output: Flag %1MiB <strong>%2</strong> partition as <strong>%3</strong>. - + %1MiB <strong>%2</strong> പാർട്ടീഷൻ <strong>%3</strong> ആയി ഫ്ലാഗ് ചെയ്യുക. Clearing flags on %1MiB <strong>%2</strong> partition. - + ഫ്ലാഗുകൾ %1MiB <strong>%2</strong> പാർട്ടീഷനിൽ നിർമ്മിക്കുന്നു. Setting flags <strong>%3</strong> on %1MiB <strong>%2</strong> partition. - + <strong>%3</strong> ഫ്ലാഗുകൾ %1MiB <strong>%2</strong> പാർട്ടീഷനിൽ ക്രമീകരിക്കുന്നു. @@ -2843,12 +2843,12 @@ Output: Flag partition <strong>%1</strong> as <strong>%2</strong>. - + <strong>%1</strong> പാർട്ടീഷനെ <strong>%2</strong> ആയി ഫ്ലാഗ് ചെയ്യുക Flag new partition as <strong>%1</strong>. - + പുതിയ പാർട്ടീഷൻ <strong>%1 </strong>ആയി ഫ്ലാഗുചെയ്യുക. @@ -2863,12 +2863,12 @@ Output: Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + <strong>%2</strong> ഫ്ലാഗുകൾ <strong>%1</strong> പാർട്ടീഷനിൽ ക്രമീകരിക്കുക. Setting flags <strong>%1</strong> on new partition. - + <strong>%1</strong> ഫ്ലാഗുകൾ പുതിയ പാർട്ടീഷനിൽ ക്രമീകരിക്കുക. @@ -2891,12 +2891,12 @@ Output: Bad destination system path. - + ലക്ഷ്യത്തിന്റെ സിസ്റ്റം പാത്ത് തെറ്റാണ്. rootMountPoint is %1 - + rootMountPoint %1 ആണ് @@ -2906,7 +2906,7 @@ Output: passwd terminated with error code %1. - + passwd പിഴവ് കോഡ്‌ %1 ഓട് കൂടീ അവസാനിച്ചു. @@ -2916,7 +2916,7 @@ Output: usermod terminated with error code %1. - + usermod പിഴവ് കോഡ്‌ %1 ഓട് കൂടീ അവസാനിച്ചു. @@ -2924,17 +2924,17 @@ Output: Set timezone to %1/%2 - + %1%2 എന്നതിലേക്ക് സമയപദ്ധതി ക്രമീകരിക്കുക Cannot access selected timezone path. - + തിരഞ്ഞെടുത്ത സമയപദ്ധതി പാത്ത് ലഭ്യമല്ല. Bad path: %1 - + മോശമായ പാത്ത്: %1 @@ -2944,7 +2944,7 @@ Output: Link creation failed, target: %1; link name: %2 - + കണ്ണി ഉണ്ടാക്കൽ പരാജയപ്പെട്ടു, ലക്ഷ്യം: %1, കണ്ണിയുടെ പേര്: %2 @@ -2962,7 +2962,7 @@ Output: Shell Processes Job - + ഷെൽ പ്രക്രിയകൾ ജോലി @@ -2971,7 +2971,7 @@ Output: %L1 / %L2 slide counter, %1 of %2 (numeric) - + %L1 / %L2 @@ -2984,7 +2984,7 @@ Output: This is an overview of what will happen once you start the install procedure. - + നിങ്ങൾ ഇൻസ്റ്റാൾ നടപടിക്രമങ്ങൾ ആരംഭിച്ചുകഴിഞ്ഞാൽ എന്ത് സംഭവിക്കും എന്നതിന്റെ ഒരു അവലോകനമാണിത്. @@ -3010,12 +3010,12 @@ Output: Internal error in install-tracking. - + ഇൻസ്റ്റാൾ-പിന്തുടരുന്നതിൽ ആന്തരികമായ പിഴവ്. HTTP request timed out. - + HTTP അപേക്ഷയുടെ സമയപരിധി കഴിഞ്ഞു. @@ -3023,28 +3023,28 @@ Output: Machine feedback - + ഉപകരണത്തിൽ നിന്നുള്ള പ്രതികരണം Configuring machine feedback. - + ഉപകരണത്തിൽ നിന്നുള്ള പ്രതികരണം ക്രമീകരിക്കുന്നു. Error in machine feedback configuration. - + ഉപകരണത്തിൽ നിന്നുള്ള പ്രതികരണത്തിന്റെ ക്രമീകരണത്തിൽ പിഴവ്. Could not configure machine feedback correctly, script error %1. - + ഉപകരണത്തിൽ നിന്നുള്ള പ്രതികരണം ശരിയായി ക്രമീകരിക്കാനായില്ല. സ്ക്രിപ്റ്റ് പിഴവ് %1. Could not configure machine feedback correctly, Calamares error %1. - + ഉപകരണത്തിൽ നിന്നുള്ള പ്രതികരണം ശരിയായി ക്രമീകരിക്കാനായില്ല. കലാമാരേസ് പിഴവ് %1. @@ -3057,22 +3057,22 @@ Output: Placeholder - + പ്ലേസ്‌ഹോൾഡർ <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> - + <html><head/><body><p>ഇത് തിരഞ്ഞെടുക്കുന്നതിലൂടെ, നിങ്ങളുടെ ഇൻസ്റ്റാളേഷനെക്കുറിച്ച് <span style=" font-weight:600;">ഒരു വിവരവും നിങ്ങൾ അയയ്‌ക്കില്ല.</span></p></body></html> <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> - + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">ഉപയോക്തൃ ഫീഡ്‌ബാക്കിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് ഇവിടെ ക്ലിക്കുചെയ്യുക</span></a></p></body></html> Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + എത്ര ഉപയോക്താക്കളുണ്ട് ,ഏത് ഹാർഡ്‌വെയറിലാണ് %1 ഇൻസ്റ്റാൾ ചെയ്യുന്നത് (ചുവടെയുള്ള അവസാന രണ്ടു ഓപ്ഷനുകൾക്കൊപ്പം) കൂടാതെ നിങ്ങൾ മുന്ഗണന നൽകുന്ന പ്രയോഗങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ നേടുന്നതിന് %1 ഇൻസ്റ്റാൾ ട്രാക്കിംഗ് സഹായിക്കുന്നു.എന്താണ് അയയ്‌ക്കുന്നതെന്ന് കാണാൻ, ഓരോ ഭാഗത്തിനും അടുത്തുള്ള സഹായ ഐക്കണിൽ ക്ലിക്കുചെയ്യുക. @@ -3082,7 +3082,7 @@ Output: By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + ഇത് തിരഞ്ഞെടുക്കുന്നതിലൂടെ താങ്കൾ <b>ഇടയ്ക്കിടെ</b>താങ്കളുടെ ഇൻസ്റ്റളേഷനെയും ഹാർഡ്‌വെയറിനെയും പ്രയോഗങ്ങളേയും പറ്റിയുള്ള വിവരങ്ങൾ %1ന് അയച്ചുകൊടുക്കും. @@ -3173,7 +3173,7 @@ Output: List of Physical Volumes - + ഫിസിക്കൽ വോള്യങ്ങളുടെ പട്ടിക @@ -3188,7 +3188,7 @@ Output: Physical Extent Size: - + ഫിസിക്കൽ എക്സ്റ്റന്റ് വലുപ്പം: @@ -3213,7 +3213,7 @@ Output: Quantity of LVs: - + LVകളുടെ അളവ്: @@ -3307,7 +3307,7 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to <a href="https://calamares.io/team/">the Calamares team</a> and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>%3 ന്</strong><br/><br/>പകർപ്പവകാശം 2015-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>പകർപ്പവകാശം 2018-2019 Adriaan de Groot &lt;groot@kde.org&gt;<br/><a href="https://calamares.io/team/">കലാമരേസ് ടീമിനും</a><a href="https://www.transifex.com/calamares/calamares/">കലാമരേസ് പരിഭാഷാ ടീമിനും</a> നന്ദി.<br/><br/><a href="https://calamares.io/">കലാമരേസ്</a>വികസനം <br/><a href="http://www.blue-systems.com/">Blue Systems</a>- Liberating Software സ്പോൺസർ ചെയ്യുന്നതാണ്. diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 57892470b..f84f4f8d0 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -4,17 +4,17 @@ The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - Systemets <strong>uppstartsmiljö</strong>.<br><br>Äldre x86-system stödjer endast <strong>BIOS</strong>.<br>Moderna system stödjer vanligen <strong>EFI</strong>, men kan också vara i kompabilitetsläge för BIOS. + Systemets <strong>startmiljö</strong>.<br><br>Äldre x86-system stöder endast <strong>BIOS</strong>.<br>Moderna system stöder vanligen <strong>EFI</strong>, men kan också vara i kompatibilitetsläge för BIOS. This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - Detta system startades med en <strong>EFI-miljö</strong>.<br><br>För att ställa in uppstart från en EFI-miljö måste en uppstartsladdare användas, t.ex. <strong>GRUB</strong> eller <strong>systemd-boot</strong> eller en <strong>EFI-systempartition</strong>. Detta sker automatiskt, såvida du inte väljer att partitionera manuellt. Då måste du själv installera en uppstartsladdare. + Detta system startades med en <strong>EFI-miljö</strong>.<br><br>För att ställa in start från en EFI-miljö måste en starthanterare användas, t.ex. <strong>GRUB</strong> eller <strong>systemd-boot</strong> på en <strong>EFI-systempartition</strong>. Detta sker automatiskt, såvida du inte väljer att partitionera manuellt. Då måste du själv installera en starthanterare. This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. - Detta system startades med en <strong>BIOS-miljö</strong>. <br><br>För att ställa in uppstart från en BIOS-miljö måste en uppstartsladdare som t.ex. <strong>GRUB</strong> installeras, antingen i början av en partition eller på <strong>huvudstartsektorn (MBR)</strong> i början av partitionstabellen. Detta sker automatiskt, såvida du inte väljer manuell partitionering. Då måste du själv installera en uppstartsladdare. + Detta system startades med en <strong>BIOS-miljö</strong>. <br><br>För att ställa in start från en BIOS-miljö måste en starthanterare som t.ex. <strong>GRUB</strong> installeras, antingen i början av en partition eller på <strong>huvudstartsektorn (MBR)</strong> i början av partitionstabellen. Detta sker automatiskt, såvida du inte väljer manuell partitionering. Då måste du själv installera en starthanterare. @@ -27,7 +27,7 @@ Boot Partition - Uppstartspartition + Startpartition @@ -37,7 +37,7 @@ Do not install a boot loader - Installera inte en uppstartsladdare + Installera inte någon starthanterare @@ -210,12 +210,12 @@ Waiting for %n module(s). - + Väntar på %n modul(er).Väntar på %n modul(er). (%n second(s)) - + (%n sekund(er))(%n sekund(er)) @@ -273,7 +273,7 @@ Calamares Initialization Failed - + Initieringen av Calamares misslyckades @@ -283,7 +283,7 @@ <br/>The following modules could not be loaded: - + <br/>Följande moduler kunde inte hämtas: @@ -363,7 +363,7 @@ Alla ändringar kommer att gå förlorade. The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar!strong> + %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar.</strong> @@ -474,7 +474,7 @@ Alla ändringar kommer att gå förlorade. Boot loader location: - Sökväg till uppstartshanterare: + Sökväg till starthanterare: @@ -522,7 +522,7 @@ Alla ändringar kommer att gå förlorade. EFI system partition: - EFI system partition: + EFI-partition: @@ -988,7 +988,7 @@ Alla ändringar kommer att gå förlorade. Failed to open %1 - + Kunde inte öppna %1 @@ -2637,12 +2637,12 @@ Output: Resize <strong>%2MiB</strong> partition <strong>%1</strong> to <strong>%3MiB</strong>. - + Ändra <strong>%2MiB</strong>-partitionen <strong>%1</strong> till <strong>%3MB</strong>. Resizing %2MiB partition %1 to %3MiB. - + Ändrar storlek på partitionen %1 från %2MB till %3MB. @@ -2682,7 +2682,7 @@ Output: This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + Datorn uppfyller inte minimikraven för inställning av %1.<br/>Inga inställningar kan inte göras. <a href="#details">Detaljer...</a> @@ -2692,7 +2692,7 @@ Output: This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + Några av kraven för inställning av %1 uppfylls inte av datorn.<br/>Inställningarna kan ändå göras men vissa funktioner kommer kanske inte att kunna användas. @@ -2785,7 +2785,7 @@ Output: Failed to write keyboard configuration to existing /etc/default directory. - + Misslyckades med att skriva tangentbordskonfiguration till den existerande mappen /etc/default. @@ -2901,7 +2901,7 @@ Output: passwd terminated with error code %1. - + passwd stoppades med felkod %1. @@ -3052,7 +3052,7 @@ Output: Placeholder - + Platshållare @@ -3098,12 +3098,12 @@ Output: <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när inställningarna är klara.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när installationen är klar.</small> @@ -3134,7 +3134,7 @@ Output: Your passwords do not match! - Dina lösenord matchar inte! + Lösenorden överensstämmer inte! @@ -3150,7 +3150,7 @@ Output: Key - + Nyckel @@ -3237,22 +3237,22 @@ Output: Open help and support website - + Besök webbplatsen för hjälp och support Open issues and bug-tracking website - + Besök webbplatsen för problem och felsökning Open release notes website - + Besök webbplatsen för versionsinformation &Release notes - Versionsinfomation + Versionsinformation, &R @@ -3262,22 +3262,22 @@ Output: &Support - %Support + &Support &About - Om + Om, &A <h1>Welcome to the %1 installer.</h1> - <h1>V&auml;lkommen till %1-installeraren.</h1> + <h1>Välkommen till %1-installeraren.</h1> <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Välkommen till installationsprogrammet Calamares för %1.</h1> @@ -3292,7 +3292,7 @@ Output: About %1 setup - + Om inställningarna för %1 diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 371824a34..b957d2b3d 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -3257,7 +3257,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. Open release notes website - + Sürüm Notları web sitesini aç From 5a98a1385680debe7cfd79e15d93ae3e2ed9f31e Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 1 Nov 2019 17:24:10 +0100 Subject: [PATCH 470/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- .../lang/pt_BR/LC_MESSAGES/dummypythonqt.mo | Bin 966 -> 952 bytes .../lang/pt_BR/LC_MESSAGES/dummypythonqt.po | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo index 6e11623883432dbc02374151170aee6b3780718b..dad5673f1796be1ee9ff8989301bbca4df59f8c1 100644 GIT binary patch delta 69 zcmX@czJq;2h-p6~149B33otM+d|+Z=Fa^?#%nS^CK-wHgO9N>)D4hhPErI;Hjh&&4 Ko8K_rVgvwTP71&P delta 83 zcmdnNevExWi0NEL28IM67GPjt_{YS+U<#!9nHd=PfV3-+mIl%xP`Us}TLSq#8#_Z8 Yd3_U$4lhs4Q3%e=DNEdZm+>|u04ov@mjD0& diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po index 4377e6c3e..bee7745dc 100644 --- a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po @@ -5,7 +5,7 @@ # # Translators: # Rodrigo de Almeida Sottomaior Macedo , 2017 -# Guilherme Marçal Silva , 2018 +# Guilherme , 2018 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" -"Last-Translator: Guilherme Marçal Silva , 2018\n" +"Last-Translator: Guilherme , 2018\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" From a395ed1113ccd22826e77d6b8bb8ac469e4f265c Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 1 Nov 2019 17:24:10 +0100 Subject: [PATCH 471/626] i18n: [python] Automatic merge of Transifex translations --- lang/python/ja/LC_MESSAGES/python.mo | Bin 8919 -> 9081 bytes lang/python/ja/LC_MESSAGES/python.po | 26 ++++++++++++------------ lang/python/pt_BR/LC_MESSAGES/python.mo | Bin 8356 -> 8342 bytes lang/python/pt_BR/LC_MESSAGES/python.po | 4 ++-- lang/python/sv/LC_MESSAGES/python.mo | Bin 380 -> 897 bytes lang/python/sv/LC_MESSAGES/python.po | 20 ++++++++++-------- 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 462a4d73cbe219ab898db8e8702f0edd2506660c..4722644d851662f7f24454b73118fe8f302957c3 100644 GIT binary patch delta 827 zcmaLUPe>F|9Ki8kwugcU%3$58*)rXVAWb&~B?*lFKm;8Oin@%uNK06u8`P!s&4~XX zke!2Q9T(eJG-D4XY>{6b)R zs!c?m2Su9j6E@=RI+3Fo#R%TO6R7YszQ8@Wiu-T_J**9hG~*PSeQ&WH*U-c@S|Z1> z15KT{B`K+AFwVpo%wY?D!&bESi z7{wx*yx%v!BjHpz@%3=|WC}Y>AezMMNQhiMD8eJ}cwN9XjAPp&5eH|m3xDAw?BrAr za1l>p>tT@wjNwfj#Tb@$GB5!b8}bu@?%KUtO=&f&)v#7Yt)}&m>%R}$smf_d+({${ zoc_K+?WR| z>GIfQWpRHY9LYbdi*B=2Zu!Y;tsbuw3)=OydiLjh{;N>tn48vaMtgbfE^2RVv)PJ! zkW2n&t0kYc+G~PtdTDg_%jC$GqW;FNkY8i>nDz0AuhW^W>yCY`$_?iW_Kv`jAy@ha RlTI%e@UL#o-ze4p_zhPWEY|=4 delta 604 zcmY+=y-QnB7{~EP6UCw+qRp!}NiVg9E}9etrC9lsT8E&ql+%*b9kO}ew^q0?fcQY=XPbEiO7yu zB#dYH7_ZTXwJaVCV+gzO6%Jt&=CK8fXyPHZW85#&hG~3`7OHc{_yW)HDgN_IR-Ukl z1Vmn90;4#OG2F&Z{D~^4DM&bWV*(d&5RY&O8(T#taU50NckIDx?e2aYRqi;d2drt? zyT&O6HJO9ms57n#9!8GHKB^yzvh?Esj$r{u@CM`fE+X;~H}C^$OxJ~9kWZCwIE)UC zV&ai5(!pj+uPnP0&8}YuCF|U)y+%n*r!uo6>4`bp$p79hIpuX#wat=kp4i5&ZSFp3 zq^Hz{(f6sD`(tc0@j&;-Ew@htN)jls@7K*BNr6q48lc73yO|GEA-s+y3+*j3H(*OJi5xAE+ diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index e6906d289..3debe2325 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -92,11 +92,11 @@ msgstr "" #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "ファイルシステムをアンマウントする。" +msgstr "ファイルシステムをアンマウント。" #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "ファイルシステムを埋める。" +msgstr "ファイルシステムに書き込んでいます。" #: src/modules/unpackfs/main.py:160 msgid "rsync failed with error code {}." @@ -201,7 +201,7 @@ msgstr "ディスプレイマネージャの設定が不完全です" #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." -msgstr "mkinitcpioを設定中" +msgstr "mkinitcpioを設定しています。" #: src/modules/initcpiocfg/main.py:192 #: src/modules/luksopenswaphookcfg/main.py:100 @@ -213,7 +213,7 @@ msgstr "
{!s}
を使用するのにルートマウントポイント #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." -msgstr "暗号化したswapを設定中" +msgstr "暗号化したswapを設定しています。" #: src/modules/rawfs/main.py:35 msgid "Installing data." @@ -274,7 +274,7 @@ msgstr "machine-id の生成" #: src/modules/packages/main.py:62 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "パッケージの処理中 (%(count)d / %(total)d)" +msgstr "パッケージを処理しています (%(count)d / %(total)d)" #: src/modules/packages/main.py:64 src/modules/packages/main.py:74 msgid "Install packages." @@ -284,13 +284,13 @@ msgstr "パッケージのインストール" #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] " %(num)d パッケージのインストール中。" +msgstr[0] " %(num)d パッケージをインストールしています。" #: src/modules/packages/main.py:70 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] " %(num)d パッケージの削除中。" +msgstr[0] " %(num)d パッケージを削除しています。" #: src/modules/bootloader/main.py:51 msgid "Install bootloader." @@ -306,7 +306,7 @@ msgstr "ハードウェアクロックの設定" #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." -msgstr "dracutとinitramfsを作成中" +msgstr "dracutとinitramfsを作成しています。" #: src/modules/dracut/main.py:58 msgid "Failed to run dracut on the target" @@ -318,15 +318,15 @@ msgstr "停止コードは {} でした" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." -msgstr "initramfsを設定中" +msgstr "initramfsを設定しています。" #: src/modules/openrcdmcryptcfg/main.py:34 msgid "Configuring OpenRC dmcrypt service." -msgstr "OpenRC dmcryptサービスを設定中" +msgstr "OpenRC dmcryptサービスを設定しています。" #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "fstabを書き込み中" +msgstr "fstabを書き込んでいます。" #: src/modules/dummypython/main.py:44 msgid "Dummy python job." @@ -338,8 +338,8 @@ msgstr "Dummy python step {}" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "ローカルを設定中" +msgstr "ロケールを設定しています。" #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "ネットワーク設定を保存中" +msgstr "ネットワーク設定を保存しています。" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index 9341ca4815f112cddd44fb72246b9da4ac27c691..a004f563d372fcb11c7dbb55f77a7853798d7bc7 100644 GIT binary patch delta 587 zcmXZZIY5_(eRE^x5YnB7J_5q=-1RBI{UP zClbYN?8Zx6#U~8wdcBB=FH5H5l&$ar?D&`GKUKRvHyb;f<}U8 ztica#$8T)Gau$Oa#$GhB4fl{o&UjHd&2GUB)cgRo6L+X}eo*)I*!*6Cfrb5e z@A-zh(bwu85XBJl9qhz34&Vdo2fyPi{^Ax+^83_~D~zFo78X&ja)tIraQvFVK7&_G i;XHlT0vXf}SW+0)WsW%kiusQLp}aY0=G delta 601 zcmXZZPbh3`7{o*5k#k;qC5X1<60Xy6Fmqx#@?oWT};dmZPHT5^RGXki}fsID?kd&h9W;rqwK5U5ui&6^(j0QR779C$W}zHjE|&KT71Q(C`UhEBNVWg~ diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index a5da0a8fc..493d4deed 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -5,7 +5,7 @@ # # Translators: # André Marcelo Alvarenga , 2019 -# Guilherme Marçal Silva , 2019 +# Guilherme , 2019 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Guilherme Marçal Silva , 2019\n" +"Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/sv/LC_MESSAGES/python.mo b/lang/python/sv/LC_MESSAGES/python.mo index 6af85532a909fc040a9f1b105f44590e45013094..f31e39ee55ba61274c3b36b2681fbbb917814863 100644 GIT binary patch literal 897 zcmZuvL2uJA7!5E$3KC*mkPruRKx$Q-q-7disvfq{p#r5<6E=yPm$+?6YFDzMxp*TA(amUS0=0xofHN+(kIWUznueE(^O z9CwC6xBt=}@|jeI_VhT3>A`%gX()YS5BhY-^Q7?5C(Ll4G`#v_>NTmiN9vycXs6~O z>=#TM8Y(7q#*9=xdBz0oXL3Y>oC~d`cvv|1kSNA;TpA5IoBAYJ@Ho*EQkfVt)4uC2 z77ND|`y?ZN=0tMpMl54f98S9i7VS1XZ@2F1+^yQZZm+XGQr+?FLn#awDCO-8wHkhA z+*!sF(IOEpNpsVF6&}&%Iuz7bZ!r_xndbTl4`1bB4*`O zw;L^TF>F@^x!)%BYRg`}1g;nwn{u;iITW?|I7$T_{9od_*X14|yr<|7`6GR${goS- f^AB0Z6`7oWRB_JKJS|=Y6OI+6D#@|(`(6A3(o_Bp delta 69 zcmZo<|HEW)Pl#nI0}wC*u?!Ha05LNV>i{tbSOBpTP|^}egVeyl, YEAR. # +# Translators: +# Jan-Olof Svensson, 2019 +# #, fuzzy msgid "" msgstr "" @@ -10,6 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-15 21:54+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" +"Last-Translator: Jan-Olof Svensson, 2019\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" @@ -208,7 +212,7 @@ msgstr "" #: src/modules/rawfs/main.py:35 msgid "Installing data." -msgstr "" +msgstr "Installerar data." #: src/modules/services-openrc/main.py:38 msgid "Configure OpenRC services" @@ -268,21 +272,21 @@ msgstr "" #: src/modules/packages/main.py:64 src/modules/packages/main.py:74 msgid "Install packages." -msgstr "" +msgstr "Installera paket." #: src/modules/packages/main.py:67 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Installerar ett paket." +msgstr[1] "Installerar %(num)d paket." #: src/modules/packages/main.py:70 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tar bort ett paket." +msgstr[1] "Tar bort %(num)d paket." #: src/modules/bootloader/main.py:51 msgid "Install bootloader." @@ -294,7 +298,7 @@ msgstr "" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." -msgstr "" +msgstr "Ställer hårdvaruklockan." #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." @@ -318,7 +322,7 @@ msgstr "" #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "" +msgstr "Skriver fstab." #: src/modules/dummypython/main.py:44 msgid "Dummy python job." From ffbc1a3e7d04e68ece3e87002f9ad29e5402c3ab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Nov 2019 17:38:19 +0100 Subject: [PATCH 472/626] Changes: post-release housekeeping --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c970a5d7..2d1cb83f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.16 + VERSION 3.2.17 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From cc66903678b797cc352d4fcdf7c6a0e3a7388a1e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Nov 2019 19:23:04 +0100 Subject: [PATCH 473/626] [users] Allow an explicit check for non-emptiness of passwords - move the explicit checking for non-empty into a specific (normal) password check - leave only the-two-fields-are-equal outside of the password- requirements framework - having non-empty is the same as minLength 1, but gives a different error message --- src/modules/users/UsersPage.cpp | 17 +++++++++-------- src/modules/users/users.conf | 11 +++++++++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index c0965a7ed..92070d1da 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -407,14 +407,7 @@ UsersPage::validateHostnameText( const QString& textRef ) bool UsersPage::checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLabel* badge, QLabel* message ) { - if ( pw1.isEmpty() && pw2.isEmpty() ) - { - // Not exactly labelOk() because we also don't want a checkmark OK - badge->clear(); - message->clear(); - return false; - } - else if ( pw1 != pw2 ) + if ( pw1 != pw2 ) { labelError( badge, message, tr( "Your passwords do not match!" ) ); return false; @@ -510,6 +503,14 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { add_check_maxLength( m_passwordChecks, value ); } + else if ( key == "nonempty" ) + { + if ( value.toBool() ) + { + m_passwordChecks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "EMP", "Password is empty" ); }, + []( const QString& s ) { return ((cDebug() << "Checking pwd" << s << "for empty"), !s.isEmpty()); } ) ); + } + } #ifdef CHECK_PWQUALITY else if ( key == "libpwquality" ) { diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index cae9bef0d..00747195c 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -58,8 +58,14 @@ setRootPassword: true doReusePassword: true # These are optional password-requirements that a distro can enforce -# on the user. The values given in this sample file disable each check, -# as if the check was not listed at all. +# on the user. The values given in this sample file set only very weak +# validation settings. +# +# - nonempty rejects empty passwords +# - there are no length validations +# - libpwquality (if it is enabled at all) has no length of class +# restrictions, although it will still reject palindromes and +# dictionary words with these settings. # # Checks may be listed multiple times; each is checked separately, # and no effort is done to ensure that the checks are consistent @@ -84,6 +90,7 @@ doReusePassword: true # (That will show the box *Allow weak passwords* in the user- # interface, and check it by default). passwordRequirements: + nonempty: true minLength: -1 # Password at least this many characters maxLength: -1 # Password at most this many characters libpwquality: From b3e7c3f29490b69524a048ebd4849e6eb9d7f52e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Nov 2019 19:26:40 +0100 Subject: [PATCH 474/626] [users] Run checks more often - check password warnings when the page is entered - re-check (and translate) on language change --- src/modules/users/UsersPage.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 92070d1da..8a7bca74c 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -144,6 +144,11 @@ UsersPage::retranslate() "use this computer, you can create multiple " "accounts after installation.
" ) ); } + // Re-do password checks (with output messages) as well. + // .. the password-checking methods get their values from the text boxes, + // not from their parameters. + onPasswordTextChanged(QString()); + onRootPasswordTextChanged(QString()); } @@ -222,6 +227,8 @@ void UsersPage::onActivate() { ui->textBoxFullName->setFocus(); + onPasswordTextChanged(QString()); + onRootPasswordTextChanged(QString()); } From aae7d7dd0afc0b86c10e1552292f56f550a0974d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Nov 2019 11:05:18 +0100 Subject: [PATCH 475/626] [grubcfg] Update documentation of config file - add some more general description - document new-to-implement *keepDistributor* flag SEE #1201 --- src/modules/grubcfg/grubcfg.conf | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/modules/grubcfg/grubcfg.conf b/src/modules/grubcfg/grubcfg.conf index b354ec35a..ba31d6070 100644 --- a/src/modules/grubcfg/grubcfg.conf +++ b/src/modules/grubcfg/grubcfg.conf @@ -1,9 +1,12 @@ +# Create, overwrite or update /etc/default/grub in the target system. +# # Write lines to /etc/default/grub (in the target system) based # on calculated values and the values set in the *defaults* key # in this configuration file. # # Calculated values are: -# - GRUB_DISTRIBUTOR, branding module, *bootloaderEntryName* +# - GRUB_DISTRIBUTOR, branding module, *bootloaderEntryName* (this +# string is sanitized, and see also setting *keepDistributor*) # - GRUB_ENABLE_CRYPTODISK, based on the presence of filesystems # that use LUKS # - GRUB_CMDLINE_LINUX_DEFAULT, adding LUKS setup and plymouth @@ -14,6 +17,12 @@ # already existed. If set to false, edits the existing file instead. overwrite: false +# If set to true, an **existing** setting for GRUB_DISTRIBUTOR is +# kept, not updated to the *bootloaderEntryName* from the branding file. +# Use this if the GRUB_DISTRIBUTOR setting in the file is "smart" in +# some way (e.g. uses shell-command substitution). +keepDistributor: false + # Default entries to write to /etc/default/grub if it does not exist yet or if # we are overwriting it. # From ac3b50fabba63ca9c29d645aba88790798f66b94 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Nov 2019 16:02:36 +0100 Subject: [PATCH 476/626] [grubcfg] Only replace a GRUB_DISTRIBUTOR line if wanted --- src/modules/grubcfg/main.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 83441a736..d09f15fed 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -45,7 +45,10 @@ def modify_grub_default(partitions, root_mount_point, distributor): :param partitions: :param root_mount_point: - :param distributor: + :param distributor: name of the distributor to fill in for + GRUB_DISTRIBUTOR. Must be a string, but if it is empty ("") + then the existing GRUB_DISTRIBUTOR lines are kept instead + of replaced by a new line. :return: """ default_dir = os.path.join(root_mount_point, "etc/default") @@ -172,7 +175,8 @@ def modify_grub_default(partitions, root_mount_point, distributor): have_kernel_cmd = True elif (lines[i].startswith("#GRUB_DISTRIBUTOR") or lines[i].startswith("GRUB_DISTRIBUTOR")): - lines[i] = distributor_line + if distributor: + lines[i] = distributor_line have_distributor_line = True else: lines = [] @@ -236,6 +240,10 @@ def run(): root_mount_point = libcalamares.globalstorage.value("rootMountPoint") branding = libcalamares.globalstorage.value("branding") - distributor = branding["bootloaderEntryName"] + + if libcalamares.job.configuration.get("keepDistributor", false): + distributor = "" + else: + distributor = branding["bootloaderEntryName"] return modify_grub_default(partitions, root_mount_point, distributor) From c6c861654dfe4ae73e96ae64e7545c274234a38b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Nov 2019 16:06:59 +0100 Subject: [PATCH 477/626] [grubcfg] Update GRUB_DISTRIBUTION as needed - Previous fix would erase the distribution information (using an empty string to flag 'preserve existing GRUB_DISTRIBUTION lines'), but that is fragile. A distro might set that, and yet **not** set a GRUB_DISTRIBUTION line, in which case it would end up with a setup without any GRUB_DISTRIBUTION set. - When a GRUB_DISTRIBUTION line is found, **then** check if it should update the line or not. This way, we have a suitable distribution to write if no GRUB_DISTRIBUTION is found at all. --- src/modules/grubcfg/main.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index d09f15fed..866cd4815 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -46,9 +46,12 @@ def modify_grub_default(partitions, root_mount_point, distributor): :param partitions: :param root_mount_point: :param distributor: name of the distributor to fill in for - GRUB_DISTRIBUTOR. Must be a string, but if it is empty ("") - then the existing GRUB_DISTRIBUTOR lines are kept instead - of replaced by a new line. + GRUB_DISTRIBUTOR. Must be a string. If the job setting + *keepDistributor* is set, then this is only used if no + GRUB_DISTRIBUTOR is found at all (otherwise, when *keepDistributor* + is set, the GRUB_DISTRIBUTOR lines are left unchanged). + If *keepDistributor* is unset or false, then GRUB_DISTRIBUTOR + is always updated to set this value. :return: """ default_dir = os.path.join(root_mount_point, "etc/default") @@ -175,7 +178,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): have_kernel_cmd = True elif (lines[i].startswith("#GRUB_DISTRIBUTOR") or lines[i].startswith("GRUB_DISTRIBUTOR")): - if distributor: + if libcalamares.job.configuration.get("keepDistributor", false): lines[i] = distributor_line have_distributor_line = True else: @@ -240,10 +243,6 @@ def run(): root_mount_point = libcalamares.globalstorage.value("rootMountPoint") branding = libcalamares.globalstorage.value("branding") - - if libcalamares.job.configuration.get("keepDistributor", false): - distributor = "" - else: - distributor = branding["bootloaderEntryName"] + distributor = branding["bootloaderEntryName"] return modify_grub_default(partitions, root_mount_point, distributor) From 4a0a8083f389e0aa8efbfd4b52c5b3ebf6ed3ad0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Nov 2019 16:32:14 +0100 Subject: [PATCH 478/626] [grubcfg] If we only see #GRUB_DISTRIBUTION, it's not been set - If we update the line, then GRUB_DISTRIBUTION has been set - If we don't update the line (e.g. because of *keepDistribution*) then a comment doesn't count as "have seen that line". This means that if we get to the end of the file, with only commented- out GRUB_DISTRIBUTION lines, and *keepDistribution* is set, then we'll still write a distribution line -- because otherwise it's not set at all. --- src/modules/grubcfg/main.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 866cd4815..79679790c 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -180,7 +180,11 @@ def modify_grub_default(partitions, root_mount_point, distributor): or lines[i].startswith("GRUB_DISTRIBUTOR")): if libcalamares.job.configuration.get("keepDistributor", false): lines[i] = distributor_line - have_distributor_line = True + have_distributor_line = True + else: + # We're not updating because of *keepDistributor*, but if + # this was a comment line, then it's still not been set. + have_distributor_line = not lines[i].startsdwith("#") else: lines = [] From f727362a90ca5e5e0f5eeed2481c3b4abffe3e83 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Nov 2019 16:36:57 +0100 Subject: [PATCH 479/626] [grubcfg] Guard against stupid configurations - Scenario: *keepDistribution* is true, and the existing file contains a GRUB_DISTRIBUTION line **followed** by a commented-out GRUB_DISTRIBUTION line. - In that case, the commented-out line would change the flag back to False, and we'd end up writing a second GRUB_DISTRIBUTION line at the end. Prevent that: the flag can only go to "True" and then stays there. Editorial: If your grub configuration would have tripped this up, then you're doing something wrong. Clean up the configuration file first. --- src/modules/grubcfg/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 79679790c..1f2574965 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -184,7 +184,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): else: # We're not updating because of *keepDistributor*, but if # this was a comment line, then it's still not been set. - have_distributor_line = not lines[i].startsdwith("#") + have_distributor_line = have_distributor_line or not lines[i].startsdwith("#") else: lines = [] From 67de4af4a49225dccaa02a64bcfe6d60b9bb3e23 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Nov 2019 16:40:49 +0100 Subject: [PATCH 480/626] [grubcfg] Add some test configurations --- src/modules/grubcfg/tests/1.global | 2 ++ src/modules/grubcfg/tests/2.global | 10 ++++++++++ src/modules/grubcfg/tests/2.job | 9 +++++++++ 3 files changed, 21 insertions(+) create mode 100644 src/modules/grubcfg/tests/1.global create mode 100644 src/modules/grubcfg/tests/2.global create mode 100644 src/modules/grubcfg/tests/2.job diff --git a/src/modules/grubcfg/tests/1.global b/src/modules/grubcfg/tests/1.global new file mode 100644 index 000000000..02ae840cb --- /dev/null +++ b/src/modules/grubcfg/tests/1.global @@ -0,0 +1,2 @@ +--- +bogus: true diff --git a/src/modules/grubcfg/tests/2.global b/src/modules/grubcfg/tests/2.global new file mode 100644 index 000000000..83e79db28 --- /dev/null +++ b/src/modules/grubcfg/tests/2.global @@ -0,0 +1,10 @@ +--- +bogus: true +firmwareType: bios +bootLoader: grub +rootMountPoint: /tmp/calamares + +branding: + bootloaderEntryName: generic +partitions: [] + diff --git a/src/modules/grubcfg/tests/2.job b/src/modules/grubcfg/tests/2.job new file mode 100644 index 000000000..d7b8db9d1 --- /dev/null +++ b/src/modules/grubcfg/tests/2.job @@ -0,0 +1,9 @@ +--- +overwrite: true +keepDistributor: false +defaults: + GRUB_TIMEOUT: 5 + GRUB_DEFAULT: "saved" + GRUB_DISABLE_SUBMENU: true + GRUB_TERMINAL_OUTPUT: "console" + GRUB_DISABLE_RECOVERY: true From 5c7acdeb447b371bcbc7ab0adc6c7ad1e4bad57e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Nov 2019 16:20:39 +0100 Subject: [PATCH 481/626] [hostinfo] New module with information about the host, in GS --- src/modules/hostinfo/CMakeLists.txt | 29 +++++ src/modules/hostinfo/HostInfoJob.cpp | 163 +++++++++++++++++++++++++++ src/modules/hostinfo/HostInfoJob.h | 66 +++++++++++ src/modules/hostinfo/Tests.cpp | 69 ++++++++++++ 4 files changed, 327 insertions(+) create mode 100644 src/modules/hostinfo/CMakeLists.txt create mode 100644 src/modules/hostinfo/HostInfoJob.cpp create mode 100644 src/modules/hostinfo/HostInfoJob.h create mode 100644 src/modules/hostinfo/Tests.cpp diff --git a/src/modules/hostinfo/CMakeLists.txt b/src/modules/hostinfo/CMakeLists.txt new file mode 100644 index 000000000..5236d30ef --- /dev/null +++ b/src/modules/hostinfo/CMakeLists.txt @@ -0,0 +1,29 @@ +calamares_add_plugin( hostinfo + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + HostInfoJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) + +if ( KF5CoreAddons_FOUND AND KF5CoreAddons_VERSION VERSION_GREATER_EQUAL 5.58 ) + target_compile_definitions( calamares_job_hostinfo PRIVATE WITH_KOSRelease ) +endif() + +if( ECM_FOUND AND BUILD_TESTING ) + ecm_add_test( + Tests.cpp + HostInfoJob.cpp # Builds it a second time + TEST_NAME + hostinfotest + LINK_LIBRARIES + ${CALAMARES_LIBRARIES} + calamaresui + ${YAMLCPP_LIBRARY} + Qt5::Core + Qt5::Test + ) + calamares_automoc( hostinfotest ) +endif() diff --git a/src/modules/hostinfo/HostInfoJob.cpp b/src/modules/hostinfo/HostInfoJob.cpp new file mode 100644 index 000000000..1b59985d9 --- /dev/null +++ b/src/modules/hostinfo/HostInfoJob.cpp @@ -0,0 +1,163 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "HostInfoJob.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" + +#include +#include + +#ifdef WITH_KOSRelease +#include +#endif + +#ifdef Q_OS_FREEBSD +#include +#include +#endif + +HostInfoJob::HostInfoJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + +HostInfoJob::~HostInfoJob() {} + + +QString +HostInfoJob::prettyName() const +{ + return tr( "Collecting information about your machine." ); +} + +QString +hostOS() +{ +#if defined( Q_OS_FREEBSD ) + return QStringLiteral( "FreeBSD" ); +#elif defined( Q_OS_LINUX ) + return QStringLiteral( "Linux" ); +#else + return QStringLiteral( "" ); +#endif +} + +QString +hostOSName() +{ +#ifdef WITH_KOSRelease + KOSRelease r; + return r.name(); +#else + return hostOS(); +#endif +} + +static QString +hostCPUmatch( const QString& s ) +{ + const QString line = s.toLower(); + if ( line.contains( "intel" ) ) + { + return QStringLiteral( "Intel" ); + } + else if ( line.contains( "amd" ) ) + { + return QStringLiteral( "AMD" ); + } + return QString(); +} + +#if defined( Q_OS_FREEBSD ) +QString +hostCPU_FreeBSD() +{ + constexpr const size_t sysctl_buffer_size = 128; + char sysctl_buffer[ sysctl_buffer_size ]; + size_t s = sysctl_buffer_size; + + memset( sysctl_buffer, 0, sizeof( sysctl_buffer ) ); + int r = sysctlbyname( "hw.model", &sysctl_buffer, &s, NULL, 0 ); + if ( r ) + { + return QString(); + } + + sysctl_buffer[ sysctl_buffer_size - 1 ] = 0; + QString model( sysctl_buffer ); + return hostCPUmatch( model ); +} +#endif + +#if defined( Q_OS_LINUX ) +QString +hostCPU_Linux() +{ + QFile cpuinfo( "/proc/cpuinfo" ); + if ( cpuinfo.open( QIODevice::ReadOnly ) ) + { + QTextStream in( &cpuinfo ); + QString line; + while ( in.readLineInto( line ) ) + { + if ( line.startsWith( "cpu_type" ) ) + { + return hostCPUmatch( line ); + } + } + } + return QString(); // Not open, or not found +} +#endif + +QString +hostCPU() +{ +#if defined( Q_OS_FREEBSD ) + return hostCPU_FreeBSD(); +#elif defined( Q_OS_LINUX ) + return hostCPU_Linux(); +#else + return QString(); +#endif +} + + +Calamares::JobResult +HostInfoJob::exec() +{ + cDebug() << "Collecting host information..."; + + auto* gs = Calamares::JobQueue::instance()->globalStorage(); + gs->insert( "hostOS", hostOS() ); + gs->insert( "hostOSName", hostOSName() ); + gs->insert( "hostCPU", hostCPU() ); + + return Calamares::JobResult::ok(); +} + +void +HostInfoJob::setConfigurationMap( const QVariantMap& ) +{ +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( HostInfoJobFactory, registerPlugin< HostInfoJob >(); ) diff --git a/src/modules/hostinfo/HostInfoJob.h b/src/modules/hostinfo/HostInfoJob.h new file mode 100644 index 000000000..1274139c3 --- /dev/null +++ b/src/modules/hostinfo/HostInfoJob.h @@ -0,0 +1,66 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef HOSTINFOJOB_H +#define HOSTINFOJOB_H + +#include "CppJob.h" +#include "PluginDllMacro.h" +#include "utils/PluginFactory.h" + +#include +#include + +/** @brief the compile-time host OS + * + * Returns "FreeBSD" or "Linux" or empty. + */ +QString hostOS(); + +/** @brief the run-time host OS + * + * Returns os-release NAME information, or if that is blank or not available, + * the same as hostOS(). + */ +QString hostOSName(); + +/** @brief the run-time CPU architecture + * + * Returns "Intel" or "AMD" or blank, if Calamares can determine what + * CPU is currently in use (based on /proc/cpuinfo or hw.model). + */ +QString hostCPU(); + +class PLUGINDLLEXPORT HostInfoJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit HostInfoJob( QObject* parent = nullptr ); + virtual ~HostInfoJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( HostInfoJobFactory ) + +#endif // HOSTINFOJOB_H diff --git a/src/modules/hostinfo/Tests.cpp b/src/modules/hostinfo/Tests.cpp new file mode 100644 index 000000000..32fce19ed --- /dev/null +++ b/src/modules/hostinfo/Tests.cpp @@ -0,0 +1,69 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ +#include "HostInfoJob.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" +#include "Settings.h" + +#include "utils/Logger.h" +#include "utils/Yaml.h" + +#include + +class HostInfoTests : public QObject +{ + Q_OBJECT +public: + HostInfoTests() {} + virtual ~HostInfoTests() {} + +private Q_SLOTS: + void initTestCase(); + + void testHostOS(); +}; + +void +HostInfoTests::initTestCase() +{ + Logger::setupLogLevel( Logger::LOGDEBUG ); + cDebug() << "HostInfo test started."; +} + +void +HostInfoTests::testHostOS() +{ +#if defined( Q_OS_FREEBSD ) + QString expect( "FreeBSD" ); +#elif defined( Q_OS_LINUX ) + QString expect( "Linux" ); +#else + QString expect( "Plan8" ); // Expect failure +#endif + + QCOMPARE( expect, hostOS() ); + QCOMPARE( expect, hostOSName() ); // Might be the same + QCOMPARE( QStringLiteral( "Intel" ), hostCPU() ); // On all my developer machines +} + + +QTEST_GUILESS_MAIN( HostInfoTests ) + +#include "Tests.moc" +#include "utils/moc-warnings.h" From cec84ee42b2f853571a75b949c269c3a7286990d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 00:13:06 +0100 Subject: [PATCH 482/626] [hostinfo] Fix build on FreeBSD (include order) - while here apply coding style again --- src/modules/hostinfo/HostInfoJob.cpp | 3 ++- src/modules/hostinfo/HostInfoJob.h | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modules/hostinfo/HostInfoJob.cpp b/src/modules/hostinfo/HostInfoJob.cpp index 1b59985d9..9adce8f4b 100644 --- a/src/modules/hostinfo/HostInfoJob.cpp +++ b/src/modules/hostinfo/HostInfoJob.cpp @@ -31,8 +31,9 @@ #endif #ifdef Q_OS_FREEBSD -#include #include + +#include #endif HostInfoJob::HostInfoJob( QObject* parent ) diff --git a/src/modules/hostinfo/HostInfoJob.h b/src/modules/hostinfo/HostInfoJob.h index 1274139c3..62cb0a796 100644 --- a/src/modules/hostinfo/HostInfoJob.h +++ b/src/modules/hostinfo/HostInfoJob.h @@ -27,20 +27,20 @@ #include /** @brief the compile-time host OS - * + * * Returns "FreeBSD" or "Linux" or empty. */ QString hostOS(); /** @brief the run-time host OS - * + * * Returns os-release NAME information, or if that is blank or not available, * the same as hostOS(). */ QString hostOSName(); /** @brief the run-time CPU architecture - * + * * Returns "Intel" or "AMD" or blank, if Calamares can determine what * CPU is currently in use (based on /proc/cpuinfo or hw.model). */ From 6c6dcfe1cde1cb60f4077bf4dda180a43a386080 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Fri, 8 Nov 2019 05:17:40 -0500 Subject: [PATCH 483/626] housekeeping - calamares style --- src/modules/users/UsersPage.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index c0965a7ed..4f0c4a7e2 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -97,12 +97,14 @@ UsersPage::UsersPage( QWidget* parent ) connect( ui->textBoxUserVerifiedPassword, &QLineEdit::textChanged, this, &UsersPage::onPasswordTextChanged ); connect( ui->textBoxRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); connect( ui->textBoxVerifiedRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); - connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, this, [this]( int checked ) { + connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, this, [this]( int checked ) + { onPasswordTextChanged( ui->textBoxUserPassword->text() ); onRootPasswordTextChanged( ui->textBoxRootPassword->text() ); checkReady( isReady() ); } ); - connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, this, [this]( int checked ) { + connect( ui->checkBoxReusePassword, &QCheckBox::stateChanged, this, [this]( int checked ) + { ui->labelChooseRootPassword->setVisible( !checked ); ui->labelRootPassword->setVisible( !checked ); ui->labelRootPasswordError->setVisible( !checked ); From 6528ba30c9300eec086ad2e37954dacf712209c1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 11:57:31 +0100 Subject: [PATCH 484/626] [hostinfo] Fix compile and CPU detection. --- src/modules/hostinfo/HostInfoJob.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/hostinfo/HostInfoJob.cpp b/src/modules/hostinfo/HostInfoJob.cpp index 9adce8f4b..3dcbe3216 100644 --- a/src/modules/hostinfo/HostInfoJob.cpp +++ b/src/modules/hostinfo/HostInfoJob.cpp @@ -118,9 +118,9 @@ hostCPU_Linux() { QTextStream in( &cpuinfo ); QString line; - while ( in.readLineInto( line ) ) + while ( in.readLineInto( &line ) ) { - if ( line.startsWith( "cpu_type" ) ) + if ( line.startsWith( "vendor_id" ) ) { return hostCPUmatch( line ); } From dac47d2c3afec8b44c6b53386ab2795b232bd9f7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 12:11:07 +0100 Subject: [PATCH 485/626] [hostinfo] Use os-release only if non-empty --- src/modules/hostinfo/HostInfoJob.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/hostinfo/HostInfoJob.cpp b/src/modules/hostinfo/HostInfoJob.cpp index 3dcbe3216..5223cb3bf 100644 --- a/src/modules/hostinfo/HostInfoJob.cpp +++ b/src/modules/hostinfo/HostInfoJob.cpp @@ -67,10 +67,12 @@ hostOSName() { #ifdef WITH_KOSRelease KOSRelease r; - return r.name(); -#else - return hostOS(); + if ( !r.name().isEmpty() ) + { + return r.name(); + } #endif + return hostOS(); } static QString From 22a9fb89e83433fe26a7c6b3c15347bff73709cd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 12:21:25 +0100 Subject: [PATCH 486/626] [hostinfo] Document what this module does --- src/modules/hostinfo/hostinfo.conf | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/modules/hostinfo/hostinfo.conf diff --git a/src/modules/hostinfo/hostinfo.conf b/src/modules/hostinfo/hostinfo.conf new file mode 100644 index 000000000..47287b3cd --- /dev/null +++ b/src/modules/hostinfo/hostinfo.conf @@ -0,0 +1,20 @@ +# Configuration for hostinfo +# +# There isn't anything to configure for the hostinfo module. +# +# Hostinfo puts information about the host system into Calamares +# GlobalStorage. This information is generally unchanging. Put +# this module somewhere early in the exec: section to pick up +# the variables. Use a contextualprocess module later to +# react to the values, if needed. +# +# GlobalStorage keys: +# +# - *hostOS* the OS this module was built under; value is "Linux" or +# "FreeBSD" or blank. +# - *hostOSName* the NAME value from /etc/os-release if it exists, +# otherwise the same as *hostOS*. +# - *hostCPU* the make (brand) of the CPU, if it can be determined. +# Values are "Intel" or "AMD" or blank. +--- +# There is no configuration to be done. From 2b8d04ffc1462630f672ba558305dcdc5e8f3869 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 12:46:24 +0100 Subject: [PATCH 487/626] [hostinfo] Add host RAM to GS --- src/modules/hostinfo/HostInfoJob.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/hostinfo/HostInfoJob.cpp b/src/modules/hostinfo/HostInfoJob.cpp index 5223cb3bf..999697a68 100644 --- a/src/modules/hostinfo/HostInfoJob.cpp +++ b/src/modules/hostinfo/HostInfoJob.cpp @@ -22,6 +22,7 @@ #include "JobQueue.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" +#include "utils/Units.h" #include #include @@ -155,6 +156,12 @@ HostInfoJob::exec() gs->insert( "hostOSName", hostOSName() ); gs->insert( "hostCPU", hostCPU() ); + auto ram = CalamaresUtils::BytesToMiB( CalamaresUtils::System::instance()->getTotalMemoryB().first ); + if ( ram ) + { + gs->insert( "hostRAMMiB", ram ); + } + return Calamares::JobResult::ok(); } From d93e2f0feb68396bd27b9df82c7dcd8713be04eb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 12:49:08 +0100 Subject: [PATCH 488/626] Changes: document existence of hostinfo module --- CHANGES | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 374fa320c..b87697d95 100644 --- a/CHANGES +++ b/CHANGES @@ -12,7 +12,9 @@ This release contains contributions from (alphabetically by first name): - No changes to core functionality ## Modules ## - - No changes to module functionality + - A new module, *hostinfo*, places information about the host into + Global Storage. This can support contextualprocess modules that + need that information. # 3.2.16 (2019-11-01) # From dec0cfb7d300158bf5ad0e35467882990ac5b648 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 13:16:19 +0100 Subject: [PATCH 489/626] [users] Give password-checks a weight, to sort them later --- src/modules/users/CheckPWQuality.cpp | 23 +++++++++++------------ src/modules/users/CheckPWQuality.h | 20 +++++++++++++++----- src/modules/users/UsersPage.cpp | 14 ++++++++------ 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 3728c5a92..39c1f79de 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -31,19 +31,15 @@ #include PasswordCheck::PasswordCheck() - : m_message() + : m_weight( 0 ) + , m_message() , m_accept( []( const QString& ) { return true; } ) { } -PasswordCheck::PasswordCheck( const QString& m, AcceptFunc a ) - : m_message( [m]() { return m; } ) - , m_accept( a ) -{ -} - -PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) - : m_message( m ) +PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a, Weight weight ) + : m_weight( weight ) + , m_message( m ) , m_accept( a ) { } @@ -59,7 +55,8 @@ DEFINE_CHECK_FUNC( minLength ) { cDebug() << Logger::SubEntry << "minLength set to" << minLength; checks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is too short" ); }, - [minLength]( const QString& s ) { return s.length() >= minLength; } ) ); + [minLength]( const QString& s ) { return s.length() >= minLength; }, + PasswordCheck::Weight( 10 ) ) ); } } @@ -74,7 +71,8 @@ DEFINE_CHECK_FUNC( maxLength ) { cDebug() << Logger::SubEntry << "maxLength set to" << maxLength; checks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is too long" ); }, - [maxLength]( const QString& s ) { return s.length() <= maxLength; } ) ); + [maxLength]( const QString& s ) { return s.length() <= maxLength; }, + PasswordCheck::Weight( 10 ) ) ); } } @@ -363,7 +361,8 @@ DEFINE_CHECK_FUNC( libpwquality ) cDebug() << "Password strength" << r << "too low"; } return r >= settings->arbitrary_minimum_strength; - } ) ); + }, + PasswordCheck::Weight( 100 ) ) ); } } #endif diff --git a/src/modules/users/CheckPWQuality.h b/src/modules/users/CheckPWQuality.h index 046f31496..5d4b8108a 100644 --- a/src/modules/users/CheckPWQuality.h +++ b/src/modules/users/CheckPWQuality.h @@ -38,11 +38,18 @@ public: using AcceptFunc = std::function< bool( const QString& ) >; using MessageFunc = std::function< QString() >; - /** Generate a @p message if @p filter returns true */ - PasswordCheck( MessageFunc message, AcceptFunc filter ); - /** Yields @p message if @p filter returns true */ - PasswordCheck( const QString& message, AcceptFunc filter ); - /** Null check, always returns empty */ + using Weight = size_t; + + /** @brief Generate a @p message if @p filter returns true + * + * When @p filter returns true on the proposed password, the + * password is accepted (by this check). If false, then the + * @p message will be shown to the user. + * + * @p weight is used to order the checks (low-weight goes first). + */ + PasswordCheck( MessageFunc message, AcceptFunc filter, Weight weight = 1000 ); + /** @brief Null check, always accepts, no message */ PasswordCheck(); /** Applies this check to the given password string @p s @@ -52,7 +59,10 @@ public: */ QString filter( const QString& s ) const { return m_accept( s ) ? QString() : m_message(); } + Weight weight() const { return m_weight; } + private: + Weight m_weight; MessageFunc m_message; AcceptFunc m_accept; }; diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 8a7bca74c..9a3043a34 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -147,8 +147,8 @@ UsersPage::retranslate() // Re-do password checks (with output messages) as well. // .. the password-checking methods get their values from the text boxes, // not from their parameters. - onPasswordTextChanged(QString()); - onRootPasswordTextChanged(QString()); + onPasswordTextChanged( QString() ); + onRootPasswordTextChanged( QString() ); } @@ -227,8 +227,8 @@ void UsersPage::onActivate() { ui->textBoxFullName->setFocus(); - onPasswordTextChanged(QString()); - onRootPasswordTextChanged(QString()); + onPasswordTextChanged( QString() ); + onRootPasswordTextChanged( QString() ); } @@ -514,8 +514,10 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { if ( value.toBool() ) { - m_passwordChecks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "EMP", "Password is empty" ); }, - []( const QString& s ) { return ((cDebug() << "Checking pwd" << s << "for empty"), !s.isEmpty()); } ) ); + m_passwordChecks.push_back( PasswordCheck( + []() { return QCoreApplication::translate( "EMP", "Password is empty" ); }, + []( const QString& s ) { return ( ( cDebug() << "Checking pwd" << s << "for empty" ), !s.isEmpty() ); }, + PasswordCheck::Weight( 1 ) ) ); } } #ifdef CHECK_PWQUALITY From e11c9a049f448024372d47b0bee40d75a08e2294 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 13:21:37 +0100 Subject: [PATCH 490/626] [users] Sort the password checks before applying them --- src/modules/users/CheckPWQuality.h | 1 + src/modules/users/UsersPage.cpp | 8 ++++++++ src/modules/users/UsersPage.h | 1 + 3 files changed, 10 insertions(+) diff --git a/src/modules/users/CheckPWQuality.h b/src/modules/users/CheckPWQuality.h index 5d4b8108a..1aeb34ba8 100644 --- a/src/modules/users/CheckPWQuality.h +++ b/src/modules/users/CheckPWQuality.h @@ -60,6 +60,7 @@ public: QString filter( const QString& s ) const { return m_accept( s ) ? QString() : m_message(); } Weight weight() const { return m_weight; } + bool operator<( const PasswordCheck& other ) const { return weight() < other.weight(); } private: Weight m_weight; diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 9a3043a34..74bf67655 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -424,6 +424,12 @@ UsersPage::checkPasswordAcceptance( const QString& pw1, const QString& pw2, QLab bool failureIsFatal = ui->checkBoxValidatePassword->isChecked(); bool failureFound = false; + if ( m_passwordChecksChanged ) + { + std::sort( m_passwordChecks.begin(), m_passwordChecks.end() ); + m_passwordChecksChanged = false; + } + for ( auto pc : m_passwordChecks ) { QString s = pc.filter( pw1 ); @@ -502,6 +508,8 @@ UsersPage::setReusePasswordDefault( bool checked ) void UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { + m_passwordChecksChanged = true; + if ( key == "minLength" ) { add_check_minLength( m_passwordChecks, value ); diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index a2befbd26..c6bf87ecf 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -90,6 +90,7 @@ private: Ui::Page_UserSetup* ui; PasswordCheckList m_passwordChecks; + bool m_passwordChecksChanged = false; bool m_readyFullName; bool m_readyUsername; From 445d8501a7fe4b19f95759f25047de82f657873c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 13:22:37 +0100 Subject: [PATCH 491/626] [users] Different disambiguation for pwd-empty check - all the other checks use "PWQ" as a tag, so use that here too --- src/modules/users/UsersPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 74bf67655..b8e2d057c 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -523,7 +523,7 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) if ( value.toBool() ) { m_passwordChecks.push_back( PasswordCheck( - []() { return QCoreApplication::translate( "EMP", "Password is empty" ); }, + []() { return QCoreApplication::translate( "PWQ", "Password is empty" ); }, []( const QString& s ) { return ( ( cDebug() << "Checking pwd" << s << "for empty" ), !s.isEmpty() ); }, PasswordCheck::Weight( 1 ) ) ); } From 0d7e19d5e9cc5c6fa5542d39882530c02790de4a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 13:23:24 +0100 Subject: [PATCH 492/626] [users] Do not log the password in plain text --- src/modules/users/UsersPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index b8e2d057c..05095da70 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -524,7 +524,7 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { m_passwordChecks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is empty" ); }, - []( const QString& s ) { return ( ( cDebug() << "Checking pwd" << s << "for empty" ), !s.isEmpty() ); }, + []( const QString& s ) { return !s.isEmpty(); }, PasswordCheck::Weight( 1 ) ) ); } } From b089e05b6075fe17c632ccf6c8c4036b6ed0bd5a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Nov 2019 13:48:27 +0100 Subject: [PATCH 493/626] Changes: document recent merges --- CHANGES | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGES b/CHANGES index b87697d95..970febf63 100644 --- a/CHANGES +++ b/CHANGES @@ -15,6 +15,14 @@ This release contains contributions from (alphabetically by first name): - A new module, *hostinfo*, places information about the host into Global Storage. This can support contextualprocess modules that need that information. + - The password-checks in the *users* module are now ordered consistently. + A new check *nonempty* can be used to explicitly check for a non-empty + password. This was previously hard-coded. If you have no other + password-requirements set (e.g. minimum-length) and rely on + Calamares to filter out empty passwords, add this check. + - The *grubcfg* module has a new configuration setting *keepDistributor* + which prevents replacing the `GRUB_DISTRIBUTION` line when writing + the new configuration. #1201 # 3.2.16 (2019-11-01) # From 810f574cb3c0c7e158bee3e9df96927b6a512c4e Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 8 Nov 2019 13:50:20 +0100 Subject: [PATCH 494/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 332 ++++++++++++++++++----------- lang/calamares_ast.ts | 332 ++++++++++++++++++----------- lang/calamares_be.ts | 330 ++++++++++++++++++----------- lang/calamares_bg.ts | 332 ++++++++++++++++++----------- lang/calamares_ca.ts | 332 ++++++++++++++++++----------- lang/calamares_ca@valencia.ts | 330 ++++++++++++++++++----------- lang/calamares_cs_CZ.ts | 332 ++++++++++++++++++----------- lang/calamares_da.ts | 332 ++++++++++++++++++----------- lang/calamares_de.ts | 332 ++++++++++++++++++----------- lang/calamares_el.ts | 332 ++++++++++++++++++----------- lang/calamares_en.ts | 332 ++++++++++++++++++----------- lang/calamares_en_GB.ts | 332 ++++++++++++++++++----------- lang/calamares_eo.ts | 330 ++++++++++++++++++----------- lang/calamares_es.ts | 332 ++++++++++++++++++----------- lang/calamares_es_MX.ts | 332 ++++++++++++++++++----------- lang/calamares_es_PR.ts | 330 ++++++++++++++++++----------- lang/calamares_et.ts | 332 ++++++++++++++++++----------- lang/calamares_eu.ts | 332 ++++++++++++++++++----------- lang/calamares_fa.ts | 330 ++++++++++++++++++----------- lang/calamares_fi_FI.ts | 332 ++++++++++++++++++----------- lang/calamares_fr.ts | 332 ++++++++++++++++++----------- lang/calamares_fr_CH.ts | 330 ++++++++++++++++++----------- lang/calamares_gl.ts | 332 ++++++++++++++++++----------- lang/calamares_gu.ts | 330 ++++++++++++++++++----------- lang/calamares_he.ts | 332 ++++++++++++++++++----------- lang/calamares_hi.ts | 332 ++++++++++++++++++----------- lang/calamares_hr.ts | 332 ++++++++++++++++++----------- lang/calamares_hu.ts | 332 ++++++++++++++++++----------- lang/calamares_id.ts | 332 ++++++++++++++++++----------- lang/calamares_is.ts | 332 ++++++++++++++++++----------- lang/calamares_it_IT.ts | 332 ++++++++++++++++++----------- lang/calamares_ja.ts | 388 +++++++++++++++++++++------------- lang/calamares_kk.ts | 330 ++++++++++++++++++----------- lang/calamares_kn.ts | 330 ++++++++++++++++++----------- lang/calamares_ko.ts | 332 ++++++++++++++++++----------- lang/calamares_lo.ts | 330 ++++++++++++++++++----------- lang/calamares_lt.ts | 332 ++++++++++++++++++----------- lang/calamares_mk.ts | 330 ++++++++++++++++++----------- lang/calamares_ml.ts | 332 ++++++++++++++++++----------- lang/calamares_mr.ts | 332 ++++++++++++++++++----------- lang/calamares_nb.ts | 330 ++++++++++++++++++----------- lang/calamares_ne_NP.ts | 330 ++++++++++++++++++----------- lang/calamares_nl.ts | 332 ++++++++++++++++++----------- lang/calamares_pl.ts | 332 ++++++++++++++++++----------- lang/calamares_pt_BR.ts | 332 ++++++++++++++++++----------- lang/calamares_pt_PT.ts | 332 ++++++++++++++++++----------- lang/calamares_ro.ts | 332 ++++++++++++++++++----------- lang/calamares_ru.ts | 332 ++++++++++++++++++----------- lang/calamares_sk.ts | 332 ++++++++++++++++++----------- lang/calamares_sl.ts | 330 ++++++++++++++++++----------- lang/calamares_sq.ts | 332 ++++++++++++++++++----------- lang/calamares_sr.ts | 330 ++++++++++++++++++----------- lang/calamares_sr@latin.ts | 330 ++++++++++++++++++----------- lang/calamares_sv.ts | 332 ++++++++++++++++++----------- lang/calamares_th.ts | 332 ++++++++++++++++++----------- lang/calamares_tr_TR.ts | 332 ++++++++++++++++++----------- lang/calamares_uk.ts | 332 ++++++++++++++++++----------- lang/calamares_ur.ts | 330 ++++++++++++++++++----------- lang/calamares_uz.ts | 330 ++++++++++++++++++----------- lang/calamares_zh_CN.ts | 332 ++++++++++++++++++----------- lang/calamares_zh_TW.ts | 332 ++++++++++++++++++----------- 61 files changed, 12820 insertions(+), 7452 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 83da1a296..34fe83d8f 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &رجوع - + + &Next &التالي - + + &Cancel &إلغاء - + Cancel setup without changing the system. - + Cancel installation without changing the system. الغاء الـ تثبيت من دون احداث تغيير في النظام - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &ثبت - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? إلغاء التثبيت؟ - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. أتريد إلغاء عمليّة التّثبيت الحاليّة؟ سيخرج المثبّت وتضيع كلّ التّغييرات. - - + + &Yes &نعم - - + + &No &لا - + &Close &اغلاق - + Continue with setup? الإستمرار في التثبيت؟ - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> مثبّت %1 على وشك بإجراء تعديلات على قرصك لتثبيت %2.<br/><strong>لن تستطيع التّراجع عن هذا.</strong> - + &Install now &ثبت الأن - + Go &back &إرجع - + &Done - + The installation is complete. Close the installer. اكتمل التثبيت , اغلق المثبِت - + Error خطأ - + Installation Failed فشل التثبيت @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. دليل Sudoers لا يمكن الكتابة فيه. - + Cannot create sudoers file for writing. تعذّر إنشاء ملفّ sudoers للكتابة. - + Cannot chmod sudoers file. تعذّر تغيير صلاحيّات ملفّ sudores. - + Cannot open groups file for reading. تعذّر فتح ملفّ groups للقراءة. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + توليد معرف الجهاز + + + + Configuration Error + خطأ في الضبط + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. ما اسمك؟ - + What name do you want to use to log in? ما الاسم الذي تريده لتلج به؟ - + Choose a password to keep your account safe. اختر كلمة مرور لإبقاء حسابك آمنًا. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>أدخل ذات كلمة المرور مرّتين، للتأكّد من عدم وجود أخطاء طباعيّة. تتكوّن كلمة المرور الجيّدة من خليط أحرف وأرقام وعلامات ترقيم، وطول لا يقلّ عن 8 محارف. كذلك يحبّذ تغييرها دوريًّا لزيادة الأمان.</small> - + What is the name of this computer? ما اسم هذا الحاسوب؟ - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>سيُستخدم الاسم لإظهار الحاسوب للآخرين عبر الشّبكة.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. لِج آليًّا بدون طلب كلمة مرور. - + Use the same password for the administrator account. استخدم نفس كلمة المرور لحساب المدير. - + Choose a password for the administrator account. اختر كلمة مرور لحساب المدير. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>أدخل ذات كلمة المرور مرّتين، للتّأكد من عدم وجود أخطاء طباعيّة.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 اضبط اسم المضيف %1 - + Set hostname <strong>%1</strong>. اضبط اسم المضيف <strong>%1</strong> . - + Setting hostname %1. يضبط اسم المضيف 1%. - - + + Internal Error خطأ داخلي - - + + Cannot write hostname to target system تعذّرت كتابة اسم المضيف إلى النّظام الهدف @@ -2894,22 +2978,22 @@ Output: rootMountPoint هو %1 - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. تعذّر ضبط كلمة مرور للمستخدم %1. - + usermod terminated with error code %1. أُنهي usermod برمز الخطأ %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. اسم المستخدم طويل جدًّا. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - يحوي اسم المستخدم محارف غير صالح. المسموح هو الأحرف الصّغيرة والأرقام فقط. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. اسم المضيف قصير جدًّا. - + Your hostname is too long. اسم المضيف طويل جدًّا. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - يحوي اسم المضيف محارف غير صالحة. المسموح فقط الأحرف والأرقام والشُّرط. - - - - + Your passwords do not match! لا يوجد تطابق في كلمات السر! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users المستخدمين diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index 0f9603de9..d44a623fc 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Atrás - + + &Next &Siguiente - + + &Cancel &Encaboxar - + Cancel setup without changing the system. Encaboxa la configuración ensin camudar el sistema. - + Cancel installation without changing the system. Encaboxa la instalación ensin camudar el sistema. - + Setup Failed Falló la configuración - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Falló l'aniciu de Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nun pue instalase. Calamares nun foi a cargar tolos módulos configuraos. Esto ye un problema col mou nel que la distribución usa Calamares. - + <br/>The following modules could not be loaded: <br/>Nun pudieron cargase los módulos de darréu: - + Continue with installation? ¿Siguir cola instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa d'instalación de %1 ta a piques de facer cambeos nel discu pa configurar %2.<br/><strong>Nun vas ser a desfacer estos cambeos.<strong> - + &Set up now &Configurar agora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. Completóse la configuración. Zarra'l programa de configuración. - + Cancel setup? ¿Encaboxar la configuración? - + Cancel installation? ¿Encaboxar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual de configuración? El programa de configuración va colar y van perdese tolos cambeos. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual d'instalación? L'instalador va colar y van perdese tolos cambeos. - - + + &Yes &Sí - - + + &No &Non - + &Close &Zarrar - + Continue with setup? ¿Siguir cola instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instalador de %1 ta a piques de facer cambeos nel discu pa instalar %2.<br/><strong>Nun vas ser a desfacer esos cambeos.</strong> - + &Install now &Instalar agora - + Go &back Dir p'&atrás - + &Done &Fecho - + The installation is complete. Close the installer. Completóse la instalación. Zarra l'instalador. - + Error Fallu - + Installation Failed Falló la instalación @@ -838,17 +841,17 @@ L'instalador va colar y van perdese tolos cambeos. El direutoriu de sudoers nun ye escribible. - + Cannot create sudoers file for writing. Nun pue crease'l ficheru sudoers pa la escritura. - + Cannot chmod sudoers file. Nun pue facese chmod al ficheru sudoers. - + Cannot open groups file for reading. Nun pue abrise pa la llectura'l ficheru de grupos. @@ -1582,6 +1585,24 @@ L'instalador va colar y van perdese tolos cambeos. + + MachineIdJob + + + Generate machine-id. + Xeneración de machine-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ L'instalador va colar y van perdese tolos cambeos. PWQ - + Password is too short La contraseña ye percurtia - + Password is too long La contraseña ye perllarga - + Password is too weak La contraseña ye perfeble - + Memory allocation error when setting '%1' Fallu d'asignación de memoria al afitar «%1» - + Memory allocation error Fallu d'asignación de memoria - + The password is the same as the old one La contraseña ye la mesma que la vieya - + The password is a palindrome La contraseña ye un palíndromu - + The password differs with case changes only La contraseña namái s'estrema polos cambeos de mayúscules y minúscules - + The password is too similar to the old one La contraseña aseméyase muncho a la vieya - + The password contains the user name in some form La contraseña contién de dalgún mou'l nome d'usuariu - + The password contains words from the real name of the user in some form La contraseña contién de dalgún mou pallabres del nome real del usuariu - + The password contains forbidden words in some form La contraseña contién de dalgún mou pallabres prohibíes - + The password contains less than %1 digits La contraseña contién menos de %1 díxitos - + The password contains too few digits La contraseña contién prepocos díxitos - + The password contains less than %1 uppercase letters La contraseña contién menos de %1 lletres mayúscules - + The password contains too few uppercase letters La contraseña contién perpoques lletres mayúscules - + The password contains less than %1 lowercase letters La contraseña contién menos de %1 lletres minúscules - + The password contains too few lowercase letters La contraseña contién perpoques lletres minúscules - + The password contains less than %1 non-alphanumeric characters La contraseña contién menos de %1 caráuteres que nun son alfanumbéricos - + The password contains too few non-alphanumeric characters La contraseña contién perpocos caráuteres que nun son alfanumbéricos - + The password is shorter than %1 characters La contraseña tien menos de %1 caráuteres - + The password is too short La contraseña ye percurtia - + The password is just rotated old one La contraseña ye l'anterior pero al aviesu - + The password contains less than %1 character classes La contraseña contién menos de %1 clases de caráuteres - + The password does not contain enough character classes La contraseña nun contién abondes clases de caráuteres - + The password contains more than %1 same characters consecutively La contraseña contién más de %1 caráuteres iguales consecutivamente - + The password contains too many same characters consecutively La contraseña contién milenta caráuteres iguales consecutivamente - + The password contains more than %1 characters of the same class consecutively La contraseña contién más de %1 caráuteres de la mesma clas consecutivamente - + The password contains too many characters of the same class consecutively La contraseña contién milenta caráuteres de la mesma clas consecutivamente - + The password contains monotonic sequence longer than %1 characters La contraseña tien una secuencia monotónica de más de %1 caráuteres - + The password contains too long of a monotonic character sequence La contraseña contién una secuencia perllarga de caráuteres monotónicos - + No password supplied Nun s'apurrió denguna contraseña - + Cannot obtain random numbers from the RNG device Nun puen consiguise los númberos al debalu del preséu RNG - + Password generation failed - required entropy too low for settings Falló la xeneración de la contraseña - ríquese una entropía perbaxa pa los axustes - + The password fails the dictionary check - %1 La contraseña falla la comprobación del diccionariu - %1 - + The password fails the dictionary check La contraseña falla la comprobación del diccionariu - + Unknown setting - %1 Desconozse l'axuste - %1 - + Unknown setting Desconozse l'axuste - + Bad integer value of setting - %1 El valor enteru del axuste ye incorreutu - %1 - + Bad integer value El valor enteru ye incorreutu - + Setting %1 is not of integer type L'axuste %1 nun ye de la triba enteru - + Setting is not of integer type L'axuste nun ye de la triba enteru - + Setting %1 is not of string type L'axuste %1 nun ye de la triba cadena - + Setting is not of string type L'axuste nun ye de la triba cadena - + Opening the configuration file failed Falló l'apertura del ficheru de configuración - + The configuration file is malformed El ficheru de configuración ta malformáu - + Fatal failure Fallu fatal - + Unknown error Desconozse'l fallu @@ -1964,47 +1985,86 @@ L'instalador va colar y van perdese tolos cambeos. ¿Cómo te llames? - + What name do you want to use to log in? ¿Qué nome quies usar p'aniciar sesión? - + Choose a password to keep your account safe. Escueyi una contraseña pa caltener segura la cuenta. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Introduz la mesma contraseña dos vegaes pa que pueas comprobar los fallos d'escritura. Una contraseña bona contién un mestu de lletres, númberos y signos de puntuación, debería ser de polo menos ocho caráuteres de llargor y debería camudase davezu.</small> - + What is the name of this computer? ¿Cómo va llamase esti ordenador? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Esti nome va usase si quies facer qu'esti ordenador seya visible a otres máquines nuna rede.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Aniciar sesión automáticamente ensin pidir la contraseña. - + Use the same password for the administrator account. Usar la mesma contraseña pa la cuenta d'alministrador. - + Choose a password for the administrator account. Escueyi una contraseña pa la cuenta alministrativa. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Introduz la mesma contraseña dos vegaes pa que pueas comprobar los fallos d'escritura.</small> @@ -2465,6 +2525,30 @@ Salida: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Salida: SetHostNameJob - + Set hostname %1 Afitamientu del nome d'agospiu a %1 - + Set hostname <strong>%1</strong>. Va afitase'l nome d'agospiu <strong>%1</strong>. - + Setting hostname %1. Afitando'l nome d'agospiu %1. - - + + Internal Error Fallu internu - - + + Cannot write hostname to target system Nun pue escribise'l nome d'agospiu nel sistema de destín @@ -2898,22 +2982,22 @@ Salida: rootMountPoint ye %1 - + Cannot disable root account. Nun pue desactivase la cuenta root. - + passwd terminated with error code %1. passwd terminó col códigu de fallu %1. - + Cannot set password for user %1. Nun pue afitase la contraseña del usuariu %1. - + usermod terminated with error code %1. usermod terminó col códigu de fallu %1. @@ -3100,43 +3184,47 @@ Salida: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Si va usar l'ordenador más d'una persona, pues crear más cuentes tres la configuración.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Si va usar l'ordenador más d'una persona, pues crear más cuentes tres la instalación.</small> - + Your username is too long. El nome d'usuariu ye perllargu. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - El nome d'usuariu contién caráuteres non válidos. Namái se permiten les lletres minúscules y los númberos. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. El nome d'agospiu ye percurtiu. - + Your hostname is too long. El nome d'agospiu ye perllargu. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - El nome d'agospiu contién caráuteres non válidos. Namái se permiten lletres, númberos y guiones. - - - - + Your passwords do not match! ¡Les contraseñes nun concasen! @@ -3144,7 +3232,7 @@ Salida: UsersViewStep - + Users Usuarios diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 8cffbd1fa..10af2b7f5 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + Стварыць machine-id. + + + + Configuration Error + Памылка канфігурацыі + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index 339fd962c..af0eb2799 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Назад - + + &Next &Напред - + + &Cancel &Отказ - + Cancel setup without changing the system. - + Cancel installation without changing the system. Отказ от инсталацията без промяна на системата. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Инициализацията на Calamares се провали - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 не може да се инсталира. Calamares не можа да зареди всичките конфигурирани модули. Това е проблем с начина, по който Calamares е използван от дистрибуцията. - + <br/>The following modules could not be loaded: <br/>Следните модули не могат да се заредят: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Инсталирай - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отмяна на инсталацията? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Наистина ли искате да отмените текущият процес на инсталиране? Инсталатора ще прекъсне и всичките промени ще бъдат загубени. - - + + &Yes &Да - - + + &No &Не - + &Close &Затвори - + Continue with setup? Продължаване? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Инсталатора на %1 ще направи промени по вашия диск за да инсталира %2. <br><strong>Промените ще бъдат окончателни.</strong> - + &Install now &Инсталирай сега - + Go &back В&ръщане - + &Done &Готово - + The installation is complete. Close the installer. Инсталацията е завършена. Затворете инсталаторa. - + Error Грешка - + Installation Failed Неуспешна инсталация @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. Директорията sudoers е незаписваема. - + Cannot create sudoers file for writing. Не може да се създаде sudoers файл за записване. - + Cannot chmod sudoers file. Не може да се изпълни chmod върху sudoers файла. - + Cannot open groups file for reading. Не може да се отвори файла на групите за четене. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + Генерирай machine-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Паролата е твърде кратка - + Password is too long Паролата е твърде дълга - + Password is too weak Паролата е твърде слаба - + Memory allocation error when setting '%1' Грешка при разпределяне на паметта по време на настройването на '%1' - + Memory allocation error Грешка при разпределяне на паметта - + The password is the same as the old one Паролата съвпада с предишната - + The password is a palindrome Паролата е палиндром - + The password differs with case changes only Паролата се различава само със смяна на главни и малки букви - + The password is too similar to the old one Паролата е твърде сходна с предишната - + The password contains the user name in some form Паролата съдържа потребителското име под някаква форма - + The password contains words from the real name of the user in some form Паролата съдържа думи от истинското име на потребителя под някаква форма - + The password contains forbidden words in some form Паролата съдържа забранени думи под някаква форма - + The password contains less than %1 digits Паролата съдържа по-малко от %1 цифри - + The password contains too few digits Паролата съдържа твърде малко цифри - + The password contains less than %1 uppercase letters Паролата съдържа по-малко от %1 главни букви - + The password contains too few uppercase letters Паролата съдържа твърде малко главни букви - + The password contains less than %1 lowercase letters Паролата съдържа по-малко от %1 малки букви - + The password contains too few lowercase letters Паролата съдържа твърде малко малки букви - + The password contains less than %1 non-alphanumeric characters Паролата съдържа по-малко от %1 знаци, които не са букви или цифри - + The password contains too few non-alphanumeric characters Паролата съдържа твърде малко знаци, които не са букви или цифри - + The password is shorter than %1 characters Паролата е по-малка от %1 знаци - + The password is too short Паролата е твърде кратка - + The password is just rotated old one Паролата е обърнат вариант на старата - + The password contains less than %1 character classes Паролата съдържа по-малко от %1 видове знаци - + The password does not contain enough character classes Паролата не съдържа достатъчно видове знаци - + The password contains more than %1 same characters consecutively Паролата съдържа повече от %1 еднакви знаци последователно - + The password contains too many same characters consecutively Паролата съдържа твърде много еднакви знаци последователно - + The password contains more than %1 characters of the same class consecutively Паролата съдържа повече от %1 еднакви видове знаци последователно - + The password contains too many characters of the same class consecutively Паролата съдържа твърде много еднакви видове знаци последователно - + The password contains monotonic sequence longer than %1 characters Паролата съдържа монотонна последователност, по-дълга от %1 знаци - + The password contains too long of a monotonic character sequence Паролата съдържа твърде дълга монотонна последователност от знаци - + No password supplied Липсва парола - + Cannot obtain random numbers from the RNG device Получаването на произволни числа от RNG устройството е неуспешно - + Password generation failed - required entropy too low for settings Генерирането на парола е неуспешно - необходимата ентропия е твърде ниска за настройки - + The password fails the dictionary check - %1 Паролата не издържа проверката на речника - %1 - + The password fails the dictionary check Паролата не издържа проверката на речника - + Unknown setting - %1 Неизвестна настройка - %1 - + Unknown setting Неизвестна настройка - + Bad integer value of setting - %1 Невалидна числена стойност на настройката - %1 - + Bad integer value Невалидна числена стойност на настройката - + Setting %1 is not of integer type Настройката %1 не е от числов вид - + Setting is not of integer type Настройката не е от числов вид - + Setting %1 is not of string type Настройката %1 не е от текстов вид - + Setting is not of string type Настройката не е от текстов вид - + Opening the configuration file failed Отварянето на файла с конфигурацията е неуспешно - + The configuration file is malformed Файлът с конфигурацията е деформиран - + Fatal failure Фатална повреда - + Unknown error Неизвестна грешка @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. Какво е вашето име? - + What name do you want to use to log in? Какво име искате да използвате за влизане? - + Choose a password to keep your account safe. Изберете парола за да държите вашият акаунт в безопасност. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Внесете същата парола два пъти, за да може да бъде проверена за правописни грешки. Добра парола ще съдържа смесица от букви, цифри и пунктуационни знаци, трябва да бъде поне с осем знака и да бъде променяна често.</small> - + What is the name of this computer? Какво е името на този компютър? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Това име ще бъде използвано ако направите компютъра видим за други при мрежа.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Влизайте автоматично, без питане за паролата. - + Use the same password for the administrator account. Използвайте същата парола за администраторския акаунт. - + Choose a password for the administrator account. Изберете парола за администраторския акаунт. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Внесете същата парола два пъти, за да може да бъде проверена за правописни грешки.</small> @@ -2463,6 +2523,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2734,29 +2818,29 @@ Output: SetHostNameJob - + Set hostname %1 Поставете име на хоста %1 - + Set hostname <strong>%1</strong>. Поставете име на хост <strong>%1</strong>. - + Setting hostname %1. Задаване името на хоста %1 - - + + Internal Error Вътрешна грешка - - + + Cannot write hostname to target system Не може да се запише името на хоста на целевата система @@ -2897,22 +2981,22 @@ Output: rootMountPoint е %1 - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. Не може да се постави парола за потребител %1. - + usermod terminated with error code %1. usermod е прекратен с грешка %1. @@ -3099,43 +3183,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Вашето потребителско име е твърде дълго. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Потребителското ви име съдържа непозволени символи! Само малки букви и числа са позволени. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Вашето име на хоста е твърде кратко. - + Your hostname is too long. Вашето име на хоста е твърде дълго. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Вашето име на хоста съдържа непозволени символи! Само букви, цифри и тирета са позволени. - - - - + Your passwords do not match! Паролите Ви не съвпадат! @@ -3143,7 +3231,7 @@ Output: UsersViewStep - + Users Потребители diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index ad5eabc66..65b0d40dd 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Enrere - + + &Next &Següent - + + &Cancel &Cancel·la - + Cancel setup without changing the system. Cancel·la la configuració sense canviar el sistema. - + Cancel installation without changing the system. Cancel·leu la instal·lació sense canviar el sistema. - + Setup Failed Ha fallat la configuració. - + Would you like to paste the install log to the web? Voleu enganxar el registre d'instal·lació a la xarxa? - + Install Log Paste URL URL de publicació del registre d'instal·lació - + The upload was unsuccessful. No web-paste was done. La càrrega no s'ha fet correctament. No s'ha enganxat res a la xarxa. - + Calamares Initialization Failed Ha fallat la inicialització de Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. No es pot instal·lar %1. El Calamares no ha pogut carregar tots els mòduls configurats. Aquest és un problema amb la manera com el Calamares és utilitzat per la distribució. - + <br/>The following modules could not be loaded: <br/>No s'han pogut carregar els mòduls següents: - + Continue with installation? Voleu continuar la instal·lació? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El programa de configuració %1 està a punt de fer canvis al disc per tal de configurar %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Set up now Con&figura-ho ara - + &Set up Con&figura-ho - + &Install &Instal·la - + Setup is complete. Close the setup program. La configuració s'ha acabat. Tanqueu el programa de configuració. - + Cancel setup? Voleu cancel·lar la configuració? - + Cancel installation? Cancel·lar la instal·lació? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Realment voleu cancel·lar el procés de configuració actual? El programa de configuració es tancarà i es perdran tots els canvis. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voleu cancel·lar el procés d'instal·lació actual? L'instal·lador es tancarà i tots els canvis es perdran. - - + + &Yes &Sí - - + + &No &No - + &Close Tan&ca - + Continue with setup? Voleu continuar la configuració? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instal·lador de %1 està a punt de fer canvis al disc per tal d'instal·lar-hi %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Install now &Instal·la ara - + Go &back Ves &enrere - + &Done &Fet - + The installation is complete. Close the installer. La instal·lació s'ha acabat. Tanqueu l'instal·lador. - + Error Error - + Installation Failed La instal·lació ha fallat @@ -839,17 +842,17 @@ L'instal·lador es tancarà i tots els canvis es perdran. El directori de sudoers no té permisos d'escriptura. - + Cannot create sudoers file for writing. No es pot crear el fitxer sudoers a escriure. - + Cannot chmod sudoers file. No es pot fer chmod al fitxer sudoers. - + Cannot open groups file for reading. No es pot obrir el fitxer groups per ser llegit. @@ -1583,6 +1586,24 @@ L'instal·lador es tancarà i tots els canvis es perdran. S'ha pogut configurar el fitxer de clau de LUKS a la partició %1. + + MachineIdJob + + + Generate machine-id. + Generació de l'id. de la màquina. + + + + Configuration Error + Error de configuració + + + + No root mount point is set for MachineId. + No hi ha punt de muntatge d'arrel establert per a MachineId. + + NetInstallPage @@ -1653,242 +1674,242 @@ L'instal·lador es tancarà i tots els canvis es perdran. PWQ - + Password is too short La contrasenya és massa curta. - + Password is too long La contrasenya és massa llarga. - + Password is too weak La contrasenya és massa dèbil. - + Memory allocation error when setting '%1' Error d'assignació de memòria en establir "%1" - + Memory allocation error Error d'assignació de memòria - + The password is the same as the old one La contrasenya és la mateixa que l'anterior. - + The password is a palindrome La contrasenya és un palíndrom. - + The password differs with case changes only La contrasenya només és diferent per les majúscules o minúscules. - + The password is too similar to the old one La contrasenya és massa semblant a l'anterior. - + The password contains the user name in some form La contrasenya conté el nom d'usuari d'alguna manera. - + The password contains words from the real name of the user in some form La contrasenya conté paraules del nom real de l'usuari d'alguna manera. - + The password contains forbidden words in some form La contrasenya conté paraules prohibides d'alguna manera. - + The password contains less than %1 digits La contrasenya és inferior a %1 dígits. - + The password contains too few digits La contrasenya conté massa pocs dígits. - + The password contains less than %1 uppercase letters La contrasenya conté menys de %1 lletres majúscules. - + The password contains too few uppercase letters La contrasenya conté massa poques lletres majúscules. - + The password contains less than %1 lowercase letters La contrasenya conté menys de %1 lletres minúscules. - + The password contains too few lowercase letters La contrasenya conté massa poques lletres minúscules. - + The password contains less than %1 non-alphanumeric characters La contrasenya conté menys de %1 caràcters no alfanumèrics. - + The password contains too few non-alphanumeric characters La contrasenya conté massa pocs caràcters no alfanumèrics. - + The password is shorter than %1 characters La contrasenya és més curta de %1 caràcters. - + The password is too short La contrasenya és massa curta. - + The password is just rotated old one La contrasenya és només l'anterior capgirada. - + The password contains less than %1 character classes La contrasenya conté menys de %1 classes de caràcters. - + The password does not contain enough character classes La contrasenya no conté prou classes de caràcters. - + The password contains more than %1 same characters consecutively La contrasenya conté més de %1 caràcters iguals consecutius. - + The password contains too many same characters consecutively La contrasenya conté massa caràcters iguals consecutius. - + The password contains more than %1 characters of the same class consecutively La contrasenya conté més de %1 caràcters consecutius de la mateixa classe. - + The password contains too many characters of the same class consecutively La contrasenya conté massa caràcters consecutius de la mateixa classe. - + The password contains monotonic sequence longer than %1 characters La contrasenya conté una seqüència monòtona més llarga de %1 caràcters. - + The password contains too long of a monotonic character sequence La contrasenya conté una seqüència monòtona de caràcters massa llarga. - + No password supplied No s'ha proporcionat cap contrasenya. - + Cannot obtain random numbers from the RNG device No es poden obtenir nombres aleatoris del dispositiu RNG. - + Password generation failed - required entropy too low for settings Ha fallat la generació de la contrasenya. Entropia necessària massa baixa per als paràmetres. - + The password fails the dictionary check - %1 La contrasenya no aprova la comprovació del diccionari: %1 - + The password fails the dictionary check La contrasenya no aprova la comprovació del diccionari. - + Unknown setting - %1 Paràmetre desconegut: %1 - + Unknown setting Paràmetre desconegut - + Bad integer value of setting - %1 Valor enter del paràmetre incorrecte: %1 - + Bad integer value Valor enter incorrecte - + Setting %1 is not of integer type El paràmetre %1 no és del tipus enter. - + Setting is not of integer type El paràmetre no és del tipus enter. - + Setting %1 is not of string type El paràmetre %1 no és del tipus cadena. - + Setting is not of string type El paràmetre no és del tipus cadena. - + Opening the configuration file failed Ha fallat obrir el fitxer de configuració. - + The configuration file is malformed El fitxer de configuració té una forma incorrecta. - + Fatal failure Fallada fatal - + Unknown error Error desconegut @@ -1965,47 +1986,86 @@ L'instal·lador es tancarà i tots els canvis es perdran. Com us dieu? - + What name do you want to use to log in? Quin nom voleu utilitzar per iniciar la sessió d'usuari? - + Choose a password to keep your account safe. Trieu una contrasenya per tal de mantenir el compte d'usuari segur. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Escriviu la mateixa contrasenya dues vegades, de manera que se'n puguin comprovar els errors de mecanografia. Una bona contrasenya contindrà una barreja de lletres, números i signes de puntuació, hauria de tenir un mínim de 8 caràcters i s'hauria de modificar a intervals regulars de temps.</small> - + What is the name of this computer? Com es diu aquest ordinador? - + + Your Full Name + El nom complet + + + + login + entrada + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Aquest nom s'utilitzarà en cas que feu visible per a altres aquest ordinador en una xarxa.</small> - + + Computer Name + Nom de l'ordinador + + + + + Password + Contrasenya + + + + + Repeat Password + Repetiu la contrasenya. + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Quan aquesta casella està marcada, es comprova la fortalesa de la contrasenya i no en podreu fer una de dèbil. + + + + Require strong passwords. + Requereix contrasenyes fortes. + + + Log in automatically without asking for the password. Entra automàticament sense demanar la contrasenya. - + Use the same password for the administrator account. Usa la mateixa contrasenya per al compte d'administració. - + Choose a password for the administrator account. Trieu una contrasenya per al compte d'administració. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Escriviu la mateixa contrasenya dues vegades, per tal de poder-ne comprovar els errors de mecanografia.</small> @@ -2466,6 +2526,30 @@ Sortida: No description provided. No se n'ha proporcionat cap descripció. + + + + + + + File not found + No s'ha trobat el fitxer. + + + + Path <pre>%1</pre> must be an absolute path. + El camí <pre>%1</pre> ha de ser un camí absolut. + + + + Could not create new random file <pre>%1</pre>. + No s'ha pogut crear el fitxer aleatori nou <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + No s'ha pogut llegir el fitxer aleatori <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Sortida: SetHostNameJob - + Set hostname %1 Estableix el nom d'amfitrió %1 - + Set hostname <strong>%1</strong>. Estableix el nom d'amfitrió <strong>%1</strong>. - + Setting hostname %1. S'estableix el nom d'amfitrió %1. - - + + Internal Error Error intern - - + + Cannot write hostname to target system No es pot escriure el nom d'amfitrió al sistema de destinació @@ -2899,22 +2983,22 @@ Sortida: El punt de muntatge de l'arrel és %1 - + Cannot disable root account. No es pot inhabilitar el compte d'arrel. - + passwd terminated with error code %1. El procés passwd ha acabat amb el codi d'error %1. - + Cannot set password for user %1. No es pot establir la contrasenya per a l'usuari %1. - + usermod terminated with error code %1. usermod ha terminat amb el codi d'error %1. @@ -3101,43 +3185,47 @@ Sortida: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Si més d'una persona usarà aquest ordinador, podeu crear diversos comptes després de la configuració.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Si més d'una persona usarà aquest ordinador, podeu crear diversos comptes després de la instal·lació.</small> - + Your username is too long. El nom d'usuari és massa llarg. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - El nom d'usuari conté caràcters no vàlids. Només s'hi admeten lletres i números. + + Your username must start with a lowercase letter or underscore. + El nom d'usuari ha de començar amb una lletra en minúscula o una ratlla baixa. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Només es permeten lletres en minúscula, números, ratlles baixes i guions. + + + + Only letters, numbers, underscore and hyphen are allowed. + Només es permeten lletres, números, ratlles baixes i guions. + + + Your hostname is too short. El nom d'amfitrió és massa curt. - + Your hostname is too long. El nom d'amfitrió és massa llarg. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - El nom d'amfitrió conté caràcters no vàlids. Només s'hi admeten lletres, números i guions. - - - - + Your passwords do not match! Les contrasenyes no coincideixen! @@ -3145,7 +3233,7 @@ Sortida: UsersViewStep - + Users Usuaris diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index 2dd15d056..360cec8bb 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index ffcefa462..0e4176db9 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Zpět - + + &Next &Další - + + &Cancel &Storno - + Cancel setup without changing the system. Zrušit nastavení bez změny v systému. - + Cancel installation without changing the system. Zrušení instalace bez provedení změn systému. - + Setup Failed Nastavení se nezdařilo - + Would you like to paste the install log to the web? Chcete vyvěsit záznam událostí při instalaci na web? - + Install Log Paste URL URL pro vložení záznamu událostí při instalaci - + The upload was unsuccessful. No web-paste was done. Nahrání se nezdařilo. Na web nebylo nic vloženo. - + Calamares Initialization Failed Inicializace Calamares se nezdařila - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nemůže být nainstalováno. Calamares se nepodařilo načíst všechny nastavené moduly. Toto je problém způsobu použití Calamares ve vámi používané distribuci. - + <br/>The following modules could not be loaded: <br/> Následující moduly se nepodařilo načíst: - + Continue with installation? Pokračovat v instalaci? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Set up now Na&stavit nyní - + &Set up Na&stavit - + &Install Na&instalovat - + Setup is complete. Close the setup program. Nastavení je dokončeno. Ukončete nastavovací program. - + Cancel setup? Zrušit nastavování? - + Cancel installation? Přerušit instalaci? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Opravdu chcete přerušit instalaci? Instalační program bude ukončen a všechny změny ztraceny. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Opravdu chcete instalaci přerušit? Instalační program bude ukončen a všechny změny ztraceny. - - + + &Yes &Ano - - + + &No &Ne - + &Close &Zavřít - + Continue with setup? Pokračovat s instalací? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Install now &Spustit instalaci - + Go &back Jít &zpět - + &Done &Hotovo - + The installation is complete. Close the installer. Instalace je dokončena. Ukončete instalátor. - + Error Chyba - + Installation Failed Instalace se nezdařila @@ -839,17 +842,17 @@ Instalační program bude ukončen a všechny změny ztraceny. Nedaří se zapsat do složky sudoers.d. - + Cannot create sudoers file for writing. Nepodařilo se vytvořit soubor pro sudoers tak, aby do něj šlo zapsat. - + Cannot chmod sudoers file. Nepodařilo se změnit přístupová práva (chmod) na souboru se sudoers. - + Cannot open groups file for reading. Nepodařilo se otevřít soubor groups pro čtení. @@ -1583,6 +1586,24 @@ Instalační program bude ukončen a všechny změny ztraceny. Nedaří se nastavit LUKS klíč pro oddíl %1. + + MachineIdJob + + + Generate machine-id. + Vytvořit identifikátor stroje. + + + + Configuration Error + Chyba nastavení + + + + No root mount point is set for MachineId. + Pro MachineId není nastaven žádný kořenový přípojný bod. + + NetInstallPage @@ -1653,242 +1674,242 @@ Instalační program bude ukončen a všechny změny ztraceny. PWQ - + Password is too short Heslo je příliš krátké - + Password is too long Heslo je příliš dlouhé - + Password is too weak Heslo je příliš slabé - + Memory allocation error when setting '%1' Chyba přidělování paměti při nastavování „%1“ - + Memory allocation error Chyba při přidělování paměti - + The password is the same as the old one Heslo je stejné jako to přechozí - + The password is a palindrome Heslo je palindrom (je stejné i pozpátku) - + The password differs with case changes only Heslo se liší pouze změnou velikosti písmen - + The password is too similar to the old one Heslo je příliš podobné tomu předchozímu - + The password contains the user name in some form Heslo obsahuje nějakou formou uživatelské jméno - + The password contains words from the real name of the user in some form Heslo obsahuje obsahuje nějakou formou slova ze jména uživatele - + The password contains forbidden words in some form Heslo obsahuje nějakou formou slova, která není možné použít - + The password contains less than %1 digits Heslo obsahuje méně než %1 číslic - + The password contains too few digits Heslo obsahuje příliš málo číslic - + The password contains less than %1 uppercase letters Heslo obsahuje méně než %1 velkých písmen - + The password contains too few uppercase letters Heslo obsahuje příliš málo velkých písmen - + The password contains less than %1 lowercase letters Heslo obsahuje méně než %1 malých písmen - + The password contains too few lowercase letters Heslo obsahuje příliš málo malých písmen - + The password contains less than %1 non-alphanumeric characters Heslo obsahuje méně než %1 speciálních znaků - + The password contains too few non-alphanumeric characters Heslo obsahuje příliš málo speciálních znaků - + The password is shorter than %1 characters Heslo je kratší než %1 znaků - + The password is too short Heslo je příliš krátké - + The password is just rotated old one Heslo je jen některé z předchozích - + The password contains less than %1 character classes Heslo obsahuje méně než %1 druhů znaků - + The password does not contain enough character classes Heslo není tvořeno dostatečným počtem druhů znaků - + The password contains more than %1 same characters consecutively Heslo obsahuje více než %1 stejných znaků za sebou - + The password contains too many same characters consecutively Heslo obsahuje příliš mnoho stejných znaků za sebou - + The password contains more than %1 characters of the same class consecutively Heslo obsahuje více než %1 znaků ze stejné třídy za sebou - + The password contains too many characters of the same class consecutively Heslo obsahuje příliš mnoho znaků stejného druhu za sebou - + The password contains monotonic sequence longer than %1 characters Heslo obsahuje monotónní posloupnost delší než %1 znaků - + The password contains too long of a monotonic character sequence Heslo obsahuje příliš dlouhou monotónní posloupnost - + No password supplied Nebylo zadáno žádné heslo - + Cannot obtain random numbers from the RNG device Nedaří se získat náhodná čísla ze zařízení generátoru náhodných čísel (RNG) - + Password generation failed - required entropy too low for settings Vytvoření hesla se nezdařilo – úroveň nahodilosti je příliš nízká - + The password fails the dictionary check - %1 Heslo je slovníkové – %1 - + The password fails the dictionary check Heslo je slovníkové - + Unknown setting - %1 Neznámé nastavení – %1 - + Unknown setting Neznámé nastavení - + Bad integer value of setting - %1 Chybná celočíselná hodnota nastavení – %1 - + Bad integer value Chybná celočíselná hodnota - + Setting %1 is not of integer type Nastavení %1 není typu celé číslo - + Setting is not of integer type Nastavení není typu celé číslo - + Setting %1 is not of string type Nastavení %1 není typu řetězec - + Setting is not of string type Nastavení není typu řetězec - + Opening the configuration file failed Nepodařilo se otevřít soubor s nastaveními - + The configuration file is malformed Soubor s nastaveními nemá správný formát - + Fatal failure Fatální nezdar - + Unknown error Neznámá chyba @@ -1965,47 +1986,86 @@ Instalační program bude ukončen a všechny změny ztraceny. Jak se jmenujete? - + What name do you want to use to log in? Jaké jméno chcete používat pro přihlašování do systému? - + Choose a password to keep your account safe. Zvolte si heslo pro ochranu svého účtu. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Zadání hesla zopakujte i do kontrolní kolonky, abyste měli jistotu, že jste napsali, co zamýšleli (že nedošlo k překlepu). Dobré heslo se bude skládat z písmen, číslic a interpunkce a mělo by být alespoň osm znaků dlouhé. Heslo byste také měli pravidelně měnit (prevence škod z jeho případného prozrazení).</small> - + What is the name of this computer? Jaký je název tohoto počítače? - + + Your Full Name + Vaše celé jméno + + + + login + uživatelské jméno + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Pod tímto názvem se bude počítač případně zobrazovat ostatním počítačům v síti.</small> - + + Computer Name + Název počítače + + + + + Password + Heslo + + + + + Repeat Password + Zopakování zadání hesla + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Když je toto zaškrtnuto, je prověřována odolnost hesla a nebude umožněno použít snadno prolomitelné heslo. + + + + Require strong passwords. + Vyžaduje odolné heslo. + + + Log in automatically without asking for the password. Při spouštění systému se přihlašovat automaticky (bez zadávání hesla). - + Use the same password for the administrator account. Použít stejné heslo i pro účet správce systému. - + Choose a password for the administrator account. Zvolte si heslo pro účet správce systému. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Zadání hesla zopakujte i do kontrolní kolonky, abyste měli jistotu, že jste napsali, co zamýšleli (že nedošlo k překlepu).</small> @@ -2466,6 +2526,30 @@ Výstup: No description provided. Nebyl poskytnut žádný popis. + + + + + + + File not found + Soubor nenalezen + + + + Path <pre>%1</pre> must be an absolute path. + Je třeba, aby <pre>%1</pre>byl úplný popis umístění. + + + + Could not create new random file <pre>%1</pre>. + Nepodařilo se vytvořit nový náhodný soubor <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + Nepodařilo se číst náhodný soubor <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Výstup: SetHostNameJob - + Set hostname %1 Nastavit název počítače %1 - + Set hostname <strong>%1</strong>. Nastavit název počítače <strong>%1</strong>. - + Setting hostname %1. Nastavuje se název počítače %1. - - + + Internal Error Vnitřní chyba - - + + Cannot write hostname to target system Název počítače se nedaří zapsat do cílového systému @@ -2899,22 +2983,22 @@ Výstup: Přípojný bod kořenového souborového systému (root) je %1 - + Cannot disable root account. Nedaří se zakázat účet správce systému (root). - + passwd terminated with error code %1. Příkaz passwd ukončen s chybovým kódem %1. - + Cannot set password for user %1. Nepodařilo se nastavit heslo uživatele %1. - + usermod terminated with error code %1. Příkaz usermod ukončen s chybovým kódem %1. @@ -3101,43 +3185,47 @@ Výstup: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Pokud bude tento počítač používat více lidí, můžete přidat uživatelské účty po dokončení instalace.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Pokud bude tento počítač používat více lidí, můžete přidat uživatelské účty po dokončení instalace.</small> - + Your username is too long. Vaše uživatelské jméno je příliš dlouhé. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Vaše uživatelské jméno obsahuje neplatné znaky. Je možné použít pouze malá písmena a číslice. + + Your username must start with a lowercase letter or underscore. + Je třeba, aby uživatelské jméno začínalo na malé písmeno nebo podtržítko. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Je možné použít pouze malá písmena, číslice, podtržítko a spojovník. + + + + Only letters, numbers, underscore and hyphen are allowed. + Je možné použít pouze písmena, číslice, podtržítko a spojovník. + + + Your hostname is too short. Název stroje je příliš krátký. - + Your hostname is too long. Název stroje je příliš dlouhý. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Název stroje obsahuje neplatné znaky. Je možné použít pouze písmena, číslice a spojovníky. - - - - + Your passwords do not match! Zadání hesla se neshodují! @@ -3145,7 +3233,7 @@ Výstup: UsersViewStep - + Users Uživatelé diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 851048289..73ed6bc9d 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Tilbage - + + &Next &Næste - + + &Cancel &Annullér - + Cancel setup without changing the system. Annullér opsætningen uden at ændre systemet. - + Cancel installation without changing the system. Annullér installation uden at ændre systemet. - + Setup Failed Opsætningen mislykkedes - + Would you like to paste the install log to the web? Vil du indsætte installationsloggen på webbet? - + Install Log Paste URL Indsættelses-URL for installationslog - + The upload was unsuccessful. No web-paste was done. Uploaden lykkedes ikke. Der blev ikke foretaget nogen webindsættelse. - + Calamares Initialization Failed Initiering af Calamares mislykkedes - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kan ikke installeres. Calamares kunne ikke indlæse alle de konfigurerede moduler. Det er et problem med den måde Calamares bruges på af distributionen. - + <br/>The following modules could not be loaded: <br/>Følgende moduler kunne ikke indlæses: - + Continue with installation? Fortsæt installationen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1-opsætningsprogrammet er ved at foretage ændringer til din disk for at opsætte %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Set up now &Sæt op nu - + &Set up &Sæt op - + &Install &Installér - + Setup is complete. Close the setup program. Opsætningen er fuldført. Luk opsætningsprogrammet. - + Cancel setup? Annullér opsætningen? - + Cancel installation? Annullér installationen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Vil du virkelig annullere den igangværende opsætningsproces? Opsætningsprogrammet vil stoppe og alle ændringer vil gå tabt. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig annullere den igangværende installationsproces? Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - - + + &Yes &Ja - - + + &No &Nej - + &Close &Luk - + Continue with setup? Fortsæt med opsætningen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2.<br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> - + &Install now &Installér nu - + Go &back Gå &tilbage - + &Done &Færdig - + The installation is complete. Close the installer. Installationen er fuldført. Luk installationsprogrammet. - + Error Fejl - + Installation Failed Installation mislykkedes @@ -839,17 +842,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Sudoers mappe er skrivebeskyttet. - + Cannot create sudoers file for writing. Kan ikke oprette sudoers fil til skrivning. - + Cannot chmod sudoers file. Kan ikke chmod sudoers fil. - + Cannot open groups file for reading. Kan ikke åbne gruppernes fil til læsning. @@ -1583,6 +1586,24 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Kunne ikke konfigurere LUKS-nøglefil på partitionen %1. + + MachineIdJob + + + Generate machine-id. + Generér maskin-id. + + + + Configuration Error + Fejl ved konfiguration + + + + No root mount point is set for MachineId. + Der er ikke angivet noget rodmonteringspunkt for MachineId. + + NetInstallPage @@ -1653,242 +1674,242 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. PWQ - + Password is too short Adgangskoden er for kort - + Password is too long Adgangskoden er for lang - + Password is too weak Adgangskoden er for svag - + Memory allocation error when setting '%1' Fejl ved allokering af hukommelse da '%1' blev sat - + Memory allocation error Fejl ved allokering af hukommelse - + The password is the same as the old one Adgangskoden er den samme som den gamle - + The password is a palindrome Adgangskoden er et palindrom - + The password differs with case changes only Adgangskoden har kun ændringer i store/små bogstaver - + The password is too similar to the old one Adgangskoden minder for meget om den gamle - + The password contains the user name in some form Adgangskoden indeholder i nogen form brugernavnet - + The password contains words from the real name of the user in some form Adgangskoden indeholder i nogen form ord fra brugerens rigtige navn - + The password contains forbidden words in some form Adgangskoden indeholder i nogen form forbudte ord - + The password contains less than %1 digits Adgangskoden indeholder færre end %1 cifre - + The password contains too few digits Adgangskoden indeholder for få cifre - + The password contains less than %1 uppercase letters Adgangskoden indeholder færre end %1 bogstaver med stort - + The password contains too few uppercase letters Adgangskoden indeholder for få bogstaver med stort - + The password contains less than %1 lowercase letters Adgangskoden indeholder færre end %1 bogstaver med småt - + The password contains too few lowercase letters Adgangskoden indeholder for få bogstaver med småt - + The password contains less than %1 non-alphanumeric characters Adgangskoden indeholder færre end %1 ikke-alfanumeriske tegn - + The password contains too few non-alphanumeric characters Adgangskoden indeholder for få ikke-alfanumeriske tegn - + The password is shorter than %1 characters Adgangskoden er kortere end %1 tegn - + The password is too short Adgangskoden er for kort - + The password is just rotated old one Adgangskoden er blot det gamle hvor der er byttet om på tegnene - + The password contains less than %1 character classes Adgangskoden indeholder færre end %1 tegnklasser - + The password does not contain enough character classes Adgangskoden indeholder ikke nok tegnklasser - + The password contains more than %1 same characters consecutively Adgangskoden indeholder flere end %1 af de samme tegn i træk - + The password contains too many same characters consecutively Adgangskoden indeholder for mange af de samme tegn i træk - + The password contains more than %1 characters of the same class consecutively Adgangskoden indeholder flere end %1 tegn af den samme klasse i træk - + The password contains too many characters of the same class consecutively Adgangskoden indeholder for mange tegn af den samme klasse i træk - + The password contains monotonic sequence longer than %1 characters Adgangskoden indeholder monoton sekvens som er længere end %1 tegn - + The password contains too long of a monotonic character sequence Adgangskoden indeholder en monoton tegnsekvens som er for lang - + No password supplied Der er ikke angivet nogen adgangskode - + Cannot obtain random numbers from the RNG device Kan ikke få tilfældige tal fra RNG-enhed - + Password generation failed - required entropy too low for settings Generering af adgangskode mislykkedes - krævede entropi er for lav til indstillinger - + The password fails the dictionary check - %1 Adgangskoden bestod ikke ordbogstjekket - %1 - + The password fails the dictionary check Adgangskoden bestod ikke ordbogstjekket - + Unknown setting - %1 Ukendt indstilling - %1 - + Unknown setting Ukendt indstilling - + Bad integer value of setting - %1 Ugyldig heltalsværdi til indstilling - %1 - + Bad integer value Ugyldig heltalsværdi - + Setting %1 is not of integer type Indstillingen %1 er ikke en helttalsstype - + Setting is not of integer type Indstillingen er ikke en helttalsstype - + Setting %1 is not of string type Indstillingen %1 er ikke en strengtype - + Setting is not of string type Indstillingen er ikke en strengtype - + Opening the configuration file failed Åbningen af konfigurationsfilen mislykkedes - + The configuration file is malformed Konfigurationsfilen er forkert udformet - + Fatal failure Fatal fejl - + Unknown error Ukendt fejl @@ -1965,47 +1986,86 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Hvad er dit navn? - + What name do you want to use to log in? Hvilket navn skal bruges til at logge ind? - + Choose a password to keep your account safe. Vælg en adgangskode for at beskytte din konto. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Skriv den samme adgangskode to gange, så det kan blive tjekket for skrivefejl. En god adgangskode indeholder en blanding af bogstaver, tal og specialtegn, og bør være mindst 8 tegn langt og bør skiftes jævnligt.</small> - + What is the name of this computer? Hvad er navnet på computeren? - + + Your Full Name + Dit fulde navn + + + + login + login + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Navnet bruges, hvis du gør computeren synlig for andre på et netværk.</small> - + + Computer Name + Computernavn + + + + + Password + Adgangskode + + + + + Repeat Password + Gentag adgangskode + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Når boksen er tilvalgt, så foretages der tjek af adgangskodens styrke og du vil ikke være i stand til at bruge en svag adgangskode. + + + + Require strong passwords. + Kræv stærke adgangskoder. + + + Log in automatically without asking for the password. Log ind automatisk uden at spørge efter adgangskoden. - + Use the same password for the administrator account. Brug den samme adgangskode til administratorkontoen. - + Choose a password for the administrator account. Vælg en adgangskode til administratorkontoen. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Skriv den samme adgangskode to gange, så det kan blive tjekket for skrivefejl.</small> @@ -2466,6 +2526,30 @@ Output: No description provided. Der er ikke angivet nogen beskrivelse. + + + + + + + File not found + Filen blev ikke fundet + + + + Path <pre>%1</pre> must be an absolute path. + Stien <pre>%1</pre> skal være en absolut sti. + + + + Could not create new random file <pre>%1</pre>. + Kunne ikke oprette den tilfældige fil <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + Kunne ikke læse den tilfældige fil <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Output: SetHostNameJob - + Set hostname %1 Sæt værtsnavn %1 - + Set hostname <strong>%1</strong>. Sæt værtsnavn <strong>%1</strong>. - + Setting hostname %1. Sætter værtsnavn %1. - - + + Internal Error Intern fejl - - + + Cannot write hostname to target system Kan ikke skrive værtsnavn til destinationssystem @@ -2899,22 +2983,22 @@ Output: rodMonteringsPunkt er %1 - + Cannot disable root account. Kan ikke deaktivere root-konto. - + passwd terminated with error code %1. passwd stoppet med fejlkode %1. - + Cannot set password for user %1. Kan ikke sætte adgangskode for bruger %1. - + usermod terminated with error code %1. usermod stoppet med fejlkode %1. @@ -3101,43 +3185,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Hvis mere end én person bruger computeren, kan du oprette flere konti efter opsætningen.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Hvis mere end én person bruger computeren, kan du oprette flere konti efter installationen.</small> - + Your username is too long. Dit brugernavn er for langt. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Dit brugernavn indeholder ugyldige tegn. Kun små bogstaver og tal er tilladt. + + Your username must start with a lowercase letter or underscore. + Dit brugernavn skal begynde med et bogstav med småt eller understregning. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Det er kun tilladt at bruge bogstaver med småt, tal, understregning og bindestreg. + + + + Only letters, numbers, underscore and hyphen are allowed. + Det er kun tilladt at bruge bogstaver, tal, understregning og bindestreg. + + + Your hostname is too short. Dit værtsnavn er for kort. - + Your hostname is too long. Dit værtsnavn er for langt. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Dit værtsnavn indeholder ugyldige tegn. Kun bogstaver, tal og tankestreger er tilladt. - - - - + Your passwords do not match! Dine adgangskoder er ikke ens! @@ -3145,7 +3233,7 @@ Output: UsersViewStep - + Users Brugere diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index d7abd3849..05e0a4708 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Zurück - + + &Next &Weiter - + + &Cancel &Abbrechen - + Cancel setup without changing the system. Brechen Sie die Installation ab, ohne das System zu verändern. - + Cancel installation without changing the system. Installation abbrechen, ohne das System zu verändern. - + Setup Failed Setup fehlgeschlagen - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Initialisierung von Calamares fehlgeschlagen - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kann nicht installiert werden. Calamares war nicht in der Lage, alle konfigurierten Module zu laden. Dieses Problem hängt mit der Art und Weise zusammen, wie Calamares von der jeweiligen Distribution eingesetzt wird. - + <br/>The following modules could not be loaded: <br/>Die folgenden Module konnten nicht geladen werden: - + Continue with installation? Installation fortsetzen? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm ist dabei, Änderungen an Ihrer Festplatte vorzunehmen, um %2 einzurichten.<br/><strong> Sie werden diese Änderungen nicht rückgängig machen können.</strong> - + &Set up now &Jetzt einrichten - + &Set up &Einrichten - + &Install &Installieren - + Setup is complete. Close the setup program. Setup ist abgeschlossen. Schließe das Installationsprogramm. - + Cancel setup? Installation abbrechen? - + Cancel installation? Installation abbrechen? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - - + + &Yes &Ja - - + + &No &Nein - + &Close &Schließen - + Continue with setup? Setup fortsetzen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm wird Änderungen an Ihrer Festplatte vornehmen, um %2 zu installieren.<br/><strong>Diese Änderungen können nicht rückgängig gemacht werden.</strong> - + &Install now Jetzt &installieren - + Go &back Gehe &zurück - + &Done &Erledigt - + The installation is complete. Close the installer. Die Installation ist abgeschlossen. Schließe das Installationsprogramm. - + Error Fehler - + Installation Failed Installation gescheitert @@ -838,17 +841,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Sudoers-Verzeichnis ist nicht beschreibbar. - + Cannot create sudoers file for writing. Kann sudoers-Datei nicht zum Schreiben erstellen. - + Cannot chmod sudoers file. Kann chmod nicht auf sudoers-Datei anwenden. - + Cannot open groups file for reading. Kann groups-Datei nicht zum Lesen öffnen. @@ -1582,6 +1585,24 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Konnte die LUKS-Schlüsseldatei auf der Root-Partition %1 konfigurieren. + + MachineIdJob + + + Generate machine-id. + Generiere Computer-ID + + + + Configuration Error + Konfigurationsfehler + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. PWQ - + Password is too short Das Passwort ist zu kurz - + Password is too long Das Passwort ist zu lang - + Password is too weak Das Passwort ist zu schwach - + Memory allocation error when setting '%1' Fehler bei der Speicherzuweisung beim Einrichten von '%1' - + Memory allocation error Fehler bei der Speicherzuweisung - + The password is the same as the old one Das Passwort ist dasselbe wie das alte - + The password is a palindrome Das Passwort ist ein Palindrom - + The password differs with case changes only Das Passwort unterscheidet sich nur durch Groß- und Kleinschreibung - + The password is too similar to the old one Das Passwort ist dem alten zu ähnlich - + The password contains the user name in some form Das Passwort enthält eine Form des Benutzernamens - + The password contains words from the real name of the user in some form Das Passwort enthält Teile des Klarnamens des Benutzers - + The password contains forbidden words in some form Das Passwort enthält verbotene Wörter - + The password contains less than %1 digits Das Passwort hat weniger als %1 Stellen - + The password contains too few digits Das Passwort hat zu wenige Stellen - + The password contains less than %1 uppercase letters Das Passwort enthält weniger als %1 Großbuchstaben - + The password contains too few uppercase letters Das Passwort enthält zu wenige Großbuchstaben - + The password contains less than %1 lowercase letters Das Passwort enthält weniger als %1 Kleinbuchstaben - + The password contains too few lowercase letters Das Passwort enthält zu wenige Kleinbuchstaben - + The password contains less than %1 non-alphanumeric characters Das Passwort enthält weniger als %1 nicht-alphanumerische Zeichen - + The password contains too few non-alphanumeric characters Das Passwort enthält zu wenige nicht-alphanumerische Zeichen - + The password is shorter than %1 characters Das Passwort hat weniger als %1 Stellen - + The password is too short Das Passwort ist zu kurz - + The password is just rotated old one Das Passwort wurde schon einmal verwendet - + The password contains less than %1 character classes Das Passwort enthält weniger als %1 verschiedene Zeichenarten - + The password does not contain enough character classes Das Passwort enthält nicht genügend verschiedene Zeichenarten - + The password contains more than %1 same characters consecutively Das Passwort enthält mehr als %1 gleiche Zeichen am Stück - + The password contains too many same characters consecutively Das Passwort enthält zu viele gleiche Zeichen am Stück - + The password contains more than %1 characters of the same class consecutively Das Passwort enthält mehr als %1 gleiche Zeichenarten am Stück - + The password contains too many characters of the same class consecutively Das Passwort enthält zu viele gleiche Zeichenarten am Stück - + The password contains monotonic sequence longer than %1 characters Das Passwort enthält eine gleichartige Sequenz von mehr als %1 Zeichen - + The password contains too long of a monotonic character sequence Das Passwort enthält eine gleichartige Sequenz von zu großer Länge - + No password supplied Kein Passwort angegeben - + Cannot obtain random numbers from the RNG device Zufallszahlen konnten nicht vom Zufallszahlengenerator abgerufen werden - + Password generation failed - required entropy too low for settings Passwortgeneration fehlgeschlagen - Zufallszahlen zu schwach für die gewählten Einstellungen - + The password fails the dictionary check - %1 Das Passwort besteht den Wörterbuch-Test nicht - %1 - + The password fails the dictionary check Das Passwort besteht den Wörterbuch-Test nicht - + Unknown setting - %1 Unbekannte Einstellung - %1 - + Unknown setting Unbekannte Einstellung - + Bad integer value of setting - %1 Fehlerhafter Integerwert der Einstellung - %1 - + Bad integer value Fehlerhafter Integerwert - + Setting %1 is not of integer type Die Einstellung %1 ist kein Integerwert - + Setting is not of integer type Die Einstellung ist kein Integerwert - + Setting %1 is not of string type Die Einstellung %1 ist keine Zeichenkette - + Setting is not of string type Die Einstellung ist keine Zeichenkette - + Opening the configuration file failed Öffnen der Konfigurationsdatei fehlgeschlagen - + The configuration file is malformed Die Konfigurationsdatei ist falsch strukturiert - + Fatal failure Fataler Fehler - + Unknown error Unbekannter Fehler @@ -1964,47 +1985,86 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Wie ist Ihr Vor- und Nachname? - + What name do you want to use to log in? Welchen Namen möchten Sie zum Anmelden benutzen? - + Choose a password to keep your account safe. Wählen Sie ein Passwort, um Ihr Konto zu sichern. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Bitte geben Sie Ihr Passwort zweimal ein, um Tippfehler auszuschliessen. Ein gutes Passwort enthält Buchstaben, Zahlen und Sonderzeichen. Ferner sollte es mindestens acht Zeichen umfassen und regelmässig geändert werden.</small> - + What is the name of this computer? Wie ist der Name dieses Computers? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Dieser Name wird benutzt, wenn Sie den Computer im Netzwerk sichtbar machen.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Automatisches Einloggen ohne Passwortabfrage. - + Use the same password for the administrator account. Nutze das gleiche Passwort auch für das Administratorkonto. - + Choose a password for the administrator account. Wählen Sie ein Passwort für das Administrationskonto. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Geben Sie das Passwort zweimal ein, um es auf Tippfehler zu prüfen.</small> @@ -2465,6 +2525,30 @@ Ausgabe: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Ausgabe: SetHostNameJob - + Set hostname %1 Setze Computername auf %1 - + Set hostname <strong>%1</strong>. Setze Computernamen <strong>%1</strong>. - + Setting hostname %1. Setze Computernamen %1. - - + + Internal Error Interner Fehler - - + + Cannot write hostname to target system Kann den Computernamen nicht auf das Zielsystem schreiben @@ -2898,22 +2982,22 @@ Ausgabe: root-Einhängepunkt ist %1 - + Cannot disable root account. Das Root-Konto kann nicht deaktiviert werden. - + passwd terminated with error code %1. Passwd beendet mit Fehlercode %1. - + Cannot set password for user %1. Passwort für Benutzer %1 kann nicht gesetzt werden. - + usermod terminated with error code %1. usermod wurde mit Fehlercode %1 beendet. @@ -3100,43 +3184,47 @@ Ausgabe: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Falls dieser Computer von mehr als einer Person benutzt werden soll, können weitere Benutzerkonten nach der Installation eingerichtet werden.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Falls dieser Computer von mehr als einer Person benutzt werden soll, können weitere Benutzerkonten nach der Installation eingerichtet werden.</small> - + Your username is too long. Ihr Nutzername ist zu lang. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Ihr Nutzername enthält ungültige Zeichen. Nur Kleinbuchstaben und Ziffern sind erlaubt. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Ihr Hostname ist zu kurz. - + Your hostname is too long. Ihr Hostname ist zu lang. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Ihr Hostname enthält ungültige Zeichen. Nur Buchstaben, Ziffern und Striche sind erlaubt. - - - - + Your passwords do not match! Ihre Passwörter stimmen nicht überein! @@ -3144,7 +3232,7 @@ Ausgabe: UsersViewStep - + Users Benutzer diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index e39be7328..691282dd6 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Προηγούμενο - + + &Next &Επόμενο - + + &Cancel &Ακύρωση - + Cancel setup without changing the system. - + Cancel installation without changing the system. Ακύρωση της εγκατάστασης χωρίς αλλαγές στο σύστημα. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Η αρχικοποίηση του Calamares απέτυχε - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Εγκατάσταση - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Ακύρωση της εγκατάστασης; - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Θέλετε πραγματικά να ακυρώσετε τη διαδικασία εγκατάστασης; Το πρόγραμμα εγκατάστασης θα τερματιστεί και όλες οι αλλαγές θα χαθούν. - - + + &Yes &Ναι - - + + &No &Όχι - + &Close &Κλείσιμο - + Continue with setup? Συνέχεια με την εγκατάσταση; - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Το πρόγραμμα εγκατάστασης %1 θα κάνει αλλαγές στον δίσκο για να εγκαταστήσετε το %2.<br/><strong>Δεν θα είστε σε θέση να αναιρέσετε τις αλλαγές.</strong> - + &Install now &Εγκατάσταση τώρα - + Go &back Μετάβαση &πίσω - + &Done &Ολοκληρώθηκε - + The installation is complete. Close the installer. Η εγκτάσταση ολοκληρώθηκε. Κλείστε το πρόγραμμα εγκατάστασης. - + Error Σφάλμα - + Installation Failed Η εγκατάσταση απέτυχε @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. Ο κατάλογος sudoers δεν είναι εγγράψιμος. - + Cannot create sudoers file for writing. Δεν είναι δυνατή η δημιουργία του αρχείου sudoers για εγγραφή. - + Cannot chmod sudoers file. Δεν είναι δυνατό το chmod στο αρχείο sudoers. - + Cannot open groups file for reading. Δεν είναι δυνατό το άνοιγμα του αρχείου ομάδων για ανάγνωση. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. Ποιο είναι το όνομά σας; - + What name do you want to use to log in? Ποιο όνομα θα θέλατε να χρησιμοποιείτε για σύνδεση; - + Choose a password to keep your account safe. Επιλέξτε ένα κωδικό για να διατηρήσετε το λογαριασμό σας ασφαλή. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Εισάγετε τον ίδιο κωδικό δύο φορές, ώστε να γίνει έλεγχος για τυπογραφικά σφάλματα. Ένας καλός κωδικός περιέχει γράμματα, αριθμούς και σημεία στίξης, έχει μήκος τουλάχιστον οκτώ χαρακτήρες, και θα πρέπει να τον αλλάζετε σε τακτά χρονικά διαστήματα.</small> - + What is the name of this computer? Ποιο είναι το όνομά του υπολογιστή; - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Αυτό το όνομα θα χρησιμοποιηθεί αν κάνετε τον υπολογιστή ορατό στους άλλους σε ένα δίκτυο.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Σύνδεση αυτόματα χωρίς να ζητείται κωδικός πρόσβασης. - + Use the same password for the administrator account. Χρησιμοποιήστε τον ίδιο κωδικό πρόσβασης για τον λογαριασμό διαχειριστή. - + Choose a password for the administrator account. Επιλέξτε ένα κωδικό για τον λογαριασμό διαχειριστή. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Εισάγετε τον ίδιο κωδικό δύο φορές, ώστε να γίνει έλεγχος για τυπογραφικά σφάλματα.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 Ορισμός ονόματος υπολογιστή %1 - + Set hostname <strong>%1</strong>. Ορισμός ονόματος υπολογιστή <strong>%1</strong>. - + Setting hostname %1. Ορίζεται το όνομα υπολογιστή %1. - - + + Internal Error Εσωτερικό σφάλμα - - + + Cannot write hostname to target system Δεν είναι δυνατή η εγγραφή του ονόματος υπολογιστή στο σύστημα @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Το όνομα χρήστη είναι πολύ μακρύ. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Το όνομα χρήστη περιέχει μη έγκυρους χαρακτήρες. Επιτρέπονται μόνο πεζά γράμματα και αριθμητικά ψηφία. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Το όνομα υπολογιστή είναι πολύ σύντομο. - + Your hostname is too long. Το όνομα υπολογιστή είναι πολύ μακρύ. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Το όνομα υπολογιστή περιέχει μη έγκυρους χαρακτήρες. Επιτρέπονται μόνο γράμματα, αριθμητικά ψηφία και παύλες. - - - - + Your passwords do not match! Οι κωδικοί πρόσβασης δεν ταιριάζουν! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users Χρήστες diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 44bc9ebb6..d5d5afac3 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Back - + + &Next &Next - + + &Cancel &Cancel - + Cancel setup without changing the system. Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. - + Setup Failed Setup Failed - + Would you like to paste the install log to the web? Would you like to paste the install log to the web? - + Install Log Paste URL Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>The following modules could not be loaded: - + Continue with installation? Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Set up now - + &Set up &Set up - + &Install &Install - + Setup is complete. Close the setup program. Setup is complete. Close the setup program. - + Cancel setup? Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes &Yes - - + + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -839,17 +842,17 @@ The installer will quit and all changes will be lost. Sudoers dir is not writable. - + Cannot create sudoers file for writing. Cannot create sudoers file for writing. - + Cannot chmod sudoers file. Cannot chmod sudoers file. - + Cannot open groups file for reading. Cannot open groups file for reading. @@ -1583,6 +1586,24 @@ The installer will quit and all changes will be lost. Could configure LUKS key file on partition %1. + + MachineIdJob + + + Generate machine-id. + Generate machine-id. + + + + Configuration Error + Configuration Error + + + + No root mount point is set for MachineId. + No root mount point is set for MachineId. + + NetInstallPage @@ -1653,242 +1674,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Password is too short - + Password is too long Password is too long - + Password is too weak Password is too weak - + Memory allocation error when setting '%1' Memory allocation error when setting '%1' - + Memory allocation error Memory allocation error - + The password is the same as the old one The password is the same as the old one - + The password is a palindrome The password is a palindrome - + The password differs with case changes only The password differs with case changes only - + The password is too similar to the old one The password is too similar to the old one - + The password contains the user name in some form The password contains the user name in some form - + The password contains words from the real name of the user in some form The password contains words from the real name of the user in some form - + The password contains forbidden words in some form The password contains forbidden words in some form - + The password contains less than %1 digits The password contains less than %1 digits - + The password contains too few digits The password contains too few digits - + The password contains less than %1 uppercase letters The password contains less than %1 uppercase letters - + The password contains too few uppercase letters The password contains too few uppercase letters - + The password contains less than %1 lowercase letters The password contains less than %1 lowercase letters - + The password contains too few lowercase letters The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters The password is shorter than %1 characters - + The password is too short The password is too short - + The password is just rotated old one The password is just rotated old one - + The password contains less than %1 character classes The password contains less than %1 character classes - + The password does not contain enough character classes The password does not contain enough character classes - + The password contains more than %1 same characters consecutively The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence The password contains too long of a monotonic character sequence - + No password supplied No password supplied - + Cannot obtain random numbers from the RNG device Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 The password fails the dictionary check - %1 - + The password fails the dictionary check The password fails the dictionary check - + Unknown setting - %1 Unknown setting - %1 - + Unknown setting Unknown setting - + Bad integer value of setting - %1 Bad integer value of setting - %1 - + Bad integer value Bad integer value - + Setting %1 is not of integer type Setting %1 is not of integer type - + Setting is not of integer type Setting is not of integer type - + Setting %1 is not of string type Setting %1 is not of string type - + Setting is not of string type Setting is not of string type - + Opening the configuration file failed Opening the configuration file failed - + The configuration file is malformed The configuration file is malformed - + Fatal failure Fatal failure - + Unknown error Unknown error @@ -1965,47 +1986,86 @@ The installer will quit and all changes will be lost. What is your name? - + What name do you want to use to log in? What name do you want to use to log in? - + Choose a password to keep your account safe. Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? What is the name of this computer? - + + Your Full Name + Your Full Name + + + + login + login + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + Computer Name + + + + + Password + Password + + + + + Repeat Password + Repeat Password + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + Require strong passwords. + Require strong passwords. + + + Log in automatically without asking for the password. Log in automatically without asking for the password. - + Use the same password for the administrator account. Use the same password for the administrator account. - + Choose a password for the administrator account. Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2466,6 +2526,30 @@ Output: No description provided. No description provided. + + + + + + + File not found + File not found + + + + Path <pre>%1</pre> must be an absolute path. + Path <pre>%1</pre> must be an absolute path. + + + + Could not create new random file <pre>%1</pre>. + Could not create new random file <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + Could not read random file <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Output: SetHostNameJob - + Set hostname %1 Set hostname %1 - + Set hostname <strong>%1</strong>. Set hostname <strong>%1</strong>. - + Setting hostname %1. Setting hostname %1. - - + + Internal Error Internal Error - - + + Cannot write hostname to target system Cannot write hostname to target system @@ -2899,22 +2983,22 @@ Output: rootMountPoint is %1 - + Cannot disable root account. Cannot disable root account. - + passwd terminated with error code %1. passwd terminated with error code %1. - + Cannot set password for user %1. Cannot set password for user %1. - + usermod terminated with error code %1. usermod terminated with error code %1. @@ -3101,43 +3185,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + Only letters, numbers, underscore and hyphen are allowed. + Only letters, numbers, underscore and hyphen are allowed. + + + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - + Your passwords do not match! Your passwords do not match! @@ -3145,7 +3233,7 @@ Output: UsersViewStep - + Users Users diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 8957c19e6..f52bb7d49 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Back - + + &Next &Next - + + &Cancel &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares Initialisation Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes &Yes - - + + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. Sudoers dir is not writable. - + Cannot create sudoers file for writing. Cannot create sudoers file for writing. - + Cannot chmod sudoers file. Cannot chmod sudoers file. - + Cannot open groups file for reading. Cannot open groups file for reading. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + Generate machine-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Password is too short - + Password is too long Password is too long - + Password is too weak Password is too weak - + Memory allocation error when setting '%1' Memory allocation error when setting '%1' - + Memory allocation error Memory allocation error - + The password is the same as the old one The password is the same as the old one - + The password is a palindrome The password is a palindrome - + The password differs with case changes only The password differs with case changes only - + The password is too similar to the old one The password is too similar to the old one - + The password contains the user name in some form The password contains the user name in some form - + The password contains words from the real name of the user in some form The password contains words from the real name of the user in some form - + The password contains forbidden words in some form The password contains forbidden words in some form - + The password contains less than %1 digits The password contains less than %1 digits - + The password contains too few digits The password contains too few digits - + The password contains less than %1 uppercase letters The password contains less than %1 uppercase letters - + The password contains too few uppercase letters The password contains too few uppercase letters - + The password contains less than %1 lowercase letters The password contains less than %1 lowercase letters - + The password contains too few lowercase letters The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters The password is shorter than %1 characters - + The password is too short The password is too short - + The password is just rotated old one The password is just rotated old one - + The password contains less than %1 character classes The password contains less than %1 character classes - + The password does not contain enough character classes The password does not contain enough character classes - + The password contains more than %1 same characters consecutively The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence The password contains too long of a monotonic character sequence - + No password supplied No password supplied - + Cannot obtain random numbers from the RNG device Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 The password fails the dictionary check - %1 - + The password fails the dictionary check The password fails the dictionary check - + Unknown setting - %1 Unknown setting - %1 - + Unknown setting Unknown setting - + Bad integer value of setting - %1 Bad integer value of setting - %1 - + Bad integer value Bad integer value - + Setting %1 is not of integer type Setting %1 is not of integer type - + Setting is not of integer type Setting is not of integer type - + Setting %1 is not of string type Setting %1 is not of string type - + Setting is not of string type Setting is not of string type - + Opening the configuration file failed Opening the configuration file failed - + The configuration file is malformed The configuration file is malformed - + Fatal failure Fatal failure - + Unknown error Unknown error @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. What is your name? - + What name do you want to use to log in? What name do you want to use to log in? - + Choose a password to keep your account safe. Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Log in automatically without asking for the password. - + Use the same password for the administrator account. Use the same password for the administrator account. - + Choose a password for the administrator account. Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2464,6 +2524,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2734,29 +2818,29 @@ Output: SetHostNameJob - + Set hostname %1 Set hostname %1 - + Set hostname <strong>%1</strong>. Set hostname <strong>%1</strong>. - + Setting hostname %1. Setting hostname %1. - - + + Internal Error Internal Error - - + + Cannot write hostname to target system Cannot write hostname to target system @@ -2897,22 +2981,22 @@ Output: rootMountPoint is %1 - + Cannot disable root account. Cannot disable root account. - + passwd terminated with error code %1. passwd terminated with error code %1. - + Cannot set password for user %1. Cannot set password for user %1. - + usermod terminated with error code %1. usermod terminated with error code %1. @@ -3099,43 +3183,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - + Your passwords do not match! Your passwords do not match! @@ -3143,7 +3231,7 @@ Output: UsersViewStep - + Users Users diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index c88aacd93..963c949da 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel &Nuligi - + Cancel setup without changing the system. - + Cancel installation without changing the system. Nuligi instalado sen ŝanĝante la sistemo. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instali - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Nuligi instalado? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ĉu vi vere volas nuligi la instalan procedon? La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - - + + &Yes &Jes - - + + &No &Ne - + &Close &Fermi - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Instali nun - + Go &back - + &Done &Finita - + The installation is complete. Close the installer. - + Error Eraro - + Installation Failed @@ -837,17 +840,17 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1581,6 +1584,24 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. + + MachineIdJob + + + Generate machine-id. + Generi maŝino-legitimilo. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index bc33b8a13..23b023857 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -227,172 +227,175 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Calamares::ViewManager - + + &Back &Atrás - + + &Next &Siguiente - + + &Cancel &Cancelar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed La inicialización de Calamares falló - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 no se pudo instalar. Calamares no fue capaz de cargar todos los módulos configurados. Esto es un problema con la forma en que Calamares es usado por la distribución - + <br/>The following modules could not be loaded: Los siguientes módulos no se pudieron cargar: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente quiere cancelar el proceso de instalación? Saldrá del instalador y se perderán todos los cambios. - - + + &Yes &Sí - - + + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back Regresar - + &Done &Hecho - + The installation is complete. Close the installer. La instalación se ha completado. Cierre el instalador. - + Error Error - + Installation Failed Error en la Instalación @@ -838,17 +841,17 @@ Saldrá del instalador y se perderán todos los cambios. El directorio de sudoers no dispone de permisos de escritura. - + Cannot create sudoers file for writing. No es posible crear el archivo de escritura para sudoers. - + Cannot chmod sudoers file. No es posible modificar los permisos de sudoers. - + Cannot open groups file for reading. No es posible abrir el archivo de grupos del sistema. @@ -1582,6 +1585,24 @@ Saldrá del instalador y se perderán todos los cambios. + + MachineIdJob + + + Generate machine-id. + Generar identificación-de-máquina. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ Saldrá del instalador y se perderán todos los cambios. PWQ - + Password is too short La contraseña es demasiado corta - + Password is too long La contraseña es demasiado larga - + Password is too weak La contraseña es demasiado débil - + Memory allocation error when setting '%1' Error de asignación de memoria al establecer '%1' - + Memory allocation error Error de asignación de memoria - + The password is the same as the old one La contraseña es la misma que la antigua - + The password is a palindrome La contraseña es un palíndromo - + The password differs with case changes only La contraseña difiere sólo en cambios de mayúsculas/minúsculas - + The password is too similar to the old one La contraseña es demasiado similar a la antigua - + The password contains the user name in some form La contraseña contiene el nombre de usuario de alguna forma - + The password contains words from the real name of the user in some form La contraseña contiene palabras procedentes del nombre real del usuario de alguna forma - + The password contains forbidden words in some form La contraseña contiene palabras prohibidas de alguna forma - + The password contains less than %1 digits La contraseña contiene menos de %1 dígitos - + The password contains too few digits La contraseña contiene demasiado pocos dígitos - + The password contains less than %1 uppercase letters La contraseña contiene menos de %1 letras mayúsculas - + The password contains too few uppercase letters La contraseña contiene demasiado pocas letras mayúsculas - + The password contains less than %1 lowercase letters La contraseña contiene menos de %1 letras mayúsculas - + The password contains too few lowercase letters La contraseña contiene demasiado pocas letras minúsculas - + The password contains less than %1 non-alphanumeric characters La contraseña contiene menos de %1 caracteres alfanuméricos - + The password contains too few non-alphanumeric characters La contraseña contiene demasiado pocos caracteres alfanuméricos - + The password is shorter than %1 characters La contraseña tiene menos de %1 caracteres - + The password is too short La contraseña es demasiado corta - + The password is just rotated old one La contraseña sólo es la antigua invertida - + The password contains less than %1 character classes La contraseña contiene menos de %1 clases de caracteres - + The password does not contain enough character classes La contraseña no contiene suficientes clases de caracteres - + The password contains more than %1 same characters consecutively La contraseña contiene más de %1 caracteres iguales consecutivamente - + The password contains too many same characters consecutively La contraseña contiene demasiados caracteres iguales consecutivamente - + The password contains more than %1 characters of the same class consecutively La contraseña contiene más de %1 caracteres de la misma clase consecutivamente - + The password contains too many characters of the same class consecutively La contraseña contiene demasiados caracteres de la misma clase consecutivamente - + The password contains monotonic sequence longer than %1 characters La contraseña contiene una secuencia monótona de más de %1 caracteres - + The password contains too long of a monotonic character sequence La contraseña contiene una secuencia monótona de caracteres demasiado larga - + No password supplied No se proporcionó contraseña - + Cannot obtain random numbers from the RNG device No se puede obtener números aleatorios del dispositivo RNG (generador de números aleatorios) - + Password generation failed - required entropy too low for settings La generación de contraseña falló - la entropía requerida es demasiado baja para la configuración - + The password fails the dictionary check - %1 La contraseña no paso el test de diccionario - %1 - + The password fails the dictionary check La contraseña no pasó el test de diccionario - + Unknown setting - %1 Configuración desconocida - %1 - + Unknown setting Configuración desconocida - + Bad integer value of setting - %1 Valor entero de la configuración erróneo - %1 - + Bad integer value Valor entero erróneo - + Setting %1 is not of integer type La configuración %1 no es de tipo entero - + Setting is not of integer type La configuración no es de tipo entero - + Setting %1 is not of string type La configuración %1 no es de tipo cadena de caracteres - + Setting is not of string type La configuración no es de tipo cadena de caracteres - + Opening the configuration file failed No se pudo abrir el fichero de configuración - + The configuration file is malformed El fichero de configuración está mal formado - + Fatal failure Fallo fatal - + Unknown error Error desconocido @@ -1964,47 +1985,86 @@ Saldrá del instalador y se perderán todos los cambios. Nombre - + What name do you want to use to log in? ¿Qué nombre desea usar para ingresar? - + Choose a password to keep your account safe. Elija una contraseña para mantener su cuenta segura. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Ingrese la misma contraseña dos veces para poder revisar los errores al escribir. Una buena contraseña debe contener una mezcla entre letras, números y puntuación, deberá contener al menos ocho caracteres de longitud, y ser cambiada con regularidad.</small> - + What is the name of this computer? Nombre del equipo - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Este nombre será utilizado si hace este equipo visible para otros en una red.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Conectarse automaticamente sin pedir la contraseña. - + Use the same password for the administrator account. Usar la misma contraseña para la cuenta de administrador. - + Choose a password for the administrator account. Elegir una contraseña para la cuenta de administrador. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Escriba dos veces la contraseña para que se puede verificar en caso de errores al escribir.</small> @@ -2465,6 +2525,30 @@ Salida: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Salida: SetHostNameJob - + Set hostname %1 Hostname: %1 - + Set hostname <strong>%1</strong>. Configurar hostname <strong>%1</strong>. - + Setting hostname %1. Configurando hostname %1. - - + + Internal Error Error interno - - + + Cannot write hostname to target system No es posible escribir el hostname en el sistema de destino @@ -2898,22 +2982,22 @@ Salida: El punto de montaje de la raíz es %1 - + Cannot disable root account. No se puede deshabilitar la cuenta root - + passwd terminated with error code %1. passwd finalizó con el código de error %1. - + Cannot set password for user %1. No se puede definir contraseña para el usuario %1. - + usermod terminated with error code %1. usermod ha terminado con el código de error %1 @@ -3100,43 +3184,47 @@ Salida: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Su nombre de usuario es demasiado largo. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Su nombre de usuario contiene caracteres inválidos. Solo se admiten letras minúsculas y números. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. El nombre del Host es demasiado corto. - + Your hostname is too long. El nombre del Host es demasiado largo. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - El nombre del Host contiene caracteres inválidos. Solo se admiten letras, números y guiones. - - - - + Your passwords do not match! ¡Sus contraseñas no coinciden! @@ -3144,7 +3232,7 @@ Salida: UsersViewStep - + Users Usuarios diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index f97d796af..01a0c0eb1 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Atrás - + + &Next &Siguiente - + + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar la configuración sin cambiar el sistema. - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Setup Failed Fallo en la configuración. - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed La inicialización de Calamares ha fallado - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 no pudo ser instalado. Calamares no pudo cargar todos los módulos configurados. Este es un problema con la forma en que Calamares esta siendo usada por la distribución. - + <br/>The following modules could not be loaded: <br/>Los siguientes módulos no pudieron ser cargados: - + Continue with installation? ¿Continuar con la instalación? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> El %1 programa de instalación esta a punto de realizar cambios a su disco con el fin de establecer %2.<br/><strong>Usted no podrá deshacer estos cambios.</strong> - + &Set up now &Configurar ahora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. Configuración completa. Cierre el programa de instalación. - + Cancel setup? ¿Cancelar la configuración? - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. ¿Realmente desea cancelar el actual proceso de configuración? El programa de instalación se cerrará y todos los cambios se perderán. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente desea cancelar el proceso de instalación actual? El instalador terminará y se perderán todos los cambios. - - + + &Yes &Si - - + + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back &Regresar - + &Done &Hecho - + The installation is complete. Close the installer. Instalación completa. Cierre el instalador. - + Error Error - + Installation Failed Instalación Fallida @@ -839,17 +842,17 @@ El instalador terminará y se perderán todos los cambios. El directorio "Sudoers" no es editable. - + Cannot create sudoers file for writing. No se puede crear el archivo sudoers para editarlo. - + Cannot chmod sudoers file. No se puede aplicar chmod al archivo sudoers. - + Cannot open groups file for reading. No se puede abrir el archivo groups para lectura. @@ -1583,6 +1586,24 @@ El instalador terminará y se perderán todos los cambios. + + MachineIdJob + + + Generate machine-id. + Generar identificación de la maquina. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1653,242 +1674,242 @@ El instalador terminará y se perderán todos los cambios. PWQ - + Password is too short La contraseña es muy corta - + Password is too long La contraseña es muy larga - + Password is too weak La contraseña es muy débil - + Memory allocation error when setting '%1' Error de asignación de memoria al configurar '%1' - + Memory allocation error Error en la asignación de memoria - + The password is the same as the old one La contraseña es la misma que la anterior - + The password is a palindrome La contraseña es un Palíndromo - + The password differs with case changes only La contraseña solo difiere en cambios de mayúsculas y minúsculas - + The password is too similar to the old one La contraseña es muy similar a la anterior. - + The password contains the user name in some form La contraseña contiene el nombre de usuario de alguna forma - + The password contains words from the real name of the user in some form La contraseña contiene palabras del nombre real del usuario de alguna forma - + The password contains forbidden words in some form La contraseña contiene palabras prohibidas de alguna forma - + The password contains less than %1 digits La contraseña contiene menos de %1 dígitos - + The password contains too few digits La contraseña contiene muy pocos dígitos - + The password contains less than %1 uppercase letters La contraseña contiene menos de %1 letras mayúsculas - + The password contains too few uppercase letters La contraseña contiene muy pocas letras mayúsculas - + The password contains less than %1 lowercase letters La contraseña continee menos de %1 letras minúsculas - + The password contains too few lowercase letters La contraseña contiene muy pocas letras minúsculas - + The password contains less than %1 non-alphanumeric characters La contraseña contiene menos de %1 caracteres no alfanuméricos - + The password contains too few non-alphanumeric characters La contraseña contiene muy pocos caracteres alfanuméricos - + The password is shorter than %1 characters La contraseña es mas corta que %1 caracteres - + The password is too short La contraseña es muy corta - + The password is just rotated old one La contraseña solo es la rotación de la anterior - + The password contains less than %1 character classes La contraseña contiene menos de %1 tipos de caracteres - + The password does not contain enough character classes La contraseña no contiene suficientes tipos de caracteres - + The password contains more than %1 same characters consecutively La contraseña contiene más de %1 caracteres iguales consecutivamente - + The password contains too many same characters consecutively La contraseña contiene muchos caracteres iguales repetidos consecutivamente - + The password contains more than %1 characters of the same class consecutively La contraseña contiene mas de %1 caracteres de la misma clase consecutivamente - + The password contains too many characters of the same class consecutively La contraseña contiene muchos caracteres de la misma clase consecutivamente - + The password contains monotonic sequence longer than %1 characters La contraseña contiene secuencias monotónicas mas larga que %1 caracteres - + The password contains too long of a monotonic character sequence La contraseña contiene secuencias monotónicas muy largas - + No password supplied Contraseña no suministrada - + Cannot obtain random numbers from the RNG device No pueden obtenerse números aleatorios del dispositivo RING - + Password generation failed - required entropy too low for settings Generación de contraseña fallida - entropía requerida muy baja para los ajustes - + The password fails the dictionary check - %1 La contraseña falla el chequeo del diccionario %1 - + The password fails the dictionary check La contraseña falla el chequeo del diccionario - + Unknown setting - %1 Configuración desconocida - %1 - + Unknown setting Configuración desconocida - + Bad integer value of setting - %1 Valor entero de configuración incorrecto - %1 - + Bad integer value Valor entero incorrecto - + Setting %1 is not of integer type Ajuste de % 1 no es de tipo entero - + Setting is not of integer type Ajuste no es de tipo entero - + Setting %1 is not of string type El ajuste %1 no es de tipo cadena - + Setting is not of string type El ajuste no es de tipo cadena - + Opening the configuration file failed Apertura del archivo de configuración fallida - + The configuration file is malformed El archivo de configuración está malformado - + Fatal failure Falla fatal - + Unknown error Error desconocido @@ -1965,47 +1986,86 @@ El instalador terminará y se perderán todos los cambios. ¿Cuál es su nombre? - + What name do you want to use to log in? ¿Qué nombre desea usar para acceder al sistema? - + Choose a password to keep your account safe. Seleccione una contraseña para mantener segura su cuenta. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Escribe dos veces la misma contraseña para que se pueda comprobar si tiene errores. Una buena contraseña está formada por letras, números y signos de puntuación, tiene por lo menos ocho caracteres y hay que cambiarla cada cierto tiempo.</small> - + What is the name of this computer? ¿Cuál es el nombre de esta computadora? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Este nombre sera usado si hace esta computadora visible para otros en una red.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Iniciar sesión automáticamente sin preguntar por la contraseña. - + Use the same password for the administrator account. Usar la misma contraseña para la cuenta de administrador. - + Choose a password for the administrator account. Elegir una contraseña para la cuenta de administrador. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Escribe dos veces la contraseña para comprobar si tiene errores</small> @@ -2466,6 +2526,30 @@ Salida No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2737,29 +2821,29 @@ Salida SetHostNameJob - + Set hostname %1 Hostname: %1 - + Set hostname <strong>%1</strong>. Establecer nombre del equipo <strong>%1</strong>. - + Setting hostname %1. Configurando nombre de host %1. - - + + Internal Error Error interno - - + + Cannot write hostname to target system No es posible escribir el hostname en el sistema de destino @@ -2900,22 +2984,22 @@ Salida El punto de montaje de root es %1 - + Cannot disable root account. No se puede deshabilitar la cuenta root. - + passwd terminated with error code %1. Contraseña terminada con un error de código %1. - + Cannot set password for user %1. No se puede definir contraseña para el usuario %1. - + usermod terminated with error code %1. usermod ha terminado con el código de error %1 @@ -3102,43 +3186,47 @@ Salida UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Si más de una persona usará esta computadora, puede crear múltiples cuentas después de la configuración</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Si más de una persona usará esta computadora, puede crear varias cuentas después de la instalación.</small> - + Your username is too long. Tu nombre de usuario es demasiado largo. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Tu nombre de usuario contiene caracteres no válidos. Solo se pueden usar letras minúsculas y números. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. El nombre de tu equipo es demasiado corto. - + Your hostname is too long. El nombre de tu equipo es demasiado largo. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Tu nombre de equipo contiene caracteres no válidos Sólo se pueden usar letras, números y guiones. - - - - + Your passwords do not match! Las contraseñas no coinciden! @@ -3146,7 +3234,7 @@ Salida UsersViewStep - + Users Usuarios diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 74d09aa87..6bdef0a1a 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back &Atrás - + + &Next &Próximo - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed Falló la instalación @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index 3e178c1b6..9094260df 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Tagasi - + + &Next &Edasi - + + &Cancel &Tühista - + Cancel setup without changing the system. - + Cancel installation without changing the system. Tühista paigaldamine ilma süsteemi muutmata. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamarese alglaadimine ebaõnnestus - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ei saa paigaldada. Calamares ei saanud laadida kõiki konfigureeritud mooduleid. See on distributsiooni põhjustatud Calamarese kasutamise viga. - + <br/>The following modules could not be loaded: <br/>Järgnevaid mooduleid ei saanud laadida: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Seadista kohe - + &Set up &Seadista - + &Install &Paigalda - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Tühista paigaldamine? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Kas sa tõesti soovid tühistada praeguse paigaldusprotsessi? Paigaldaja sulgub ning kõik muutused kaovad. - - + + &Yes &Jah - - + + &No &Ei - + &Close &Sulge - + Continue with setup? Jätka seadistusega? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 paigaldaja on tegemas muudatusi sinu kettale, et paigaldada %2.<br/><strong>Sa ei saa neid muudatusi tagasi võtta.</strong> - + &Install now &Paigalda kohe - + Go &back Mine &tagasi - + &Done &Valmis - + The installation is complete. Close the installer. Paigaldamine on lõpetatud. Sulge paigaldaja. - + Error Viga - + Installation Failed Paigaldamine ebaõnnestus @@ -837,17 +840,17 @@ Paigaldaja sulgub ning kõik muutused kaovad. Sudoja tee ei ole kirjutatav. - + Cannot create sudoers file for writing. Sudoja faili ei saa kirjutamiseks luua. - + Cannot chmod sudoers file. Sudoja faili ei saa chmod-ida. - + Cannot open groups file for reading. Grupifaili ei saa lugemiseks avada. @@ -1581,6 +1584,24 @@ Paigaldaja sulgub ning kõik muutused kaovad. + + MachineIdJob + + + Generate machine-id. + Genereeri masina-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Paigaldaja sulgub ning kõik muutused kaovad. PWQ - + Password is too short Parool on liiga lühike - + Password is too long Parool on liiga pikk - + Password is too weak Parool on liiga nõrk - + Memory allocation error when setting '%1' Mälu eraldamise viga valikut "%1" määrates - + Memory allocation error Mälu eraldamise viga - + The password is the same as the old one Parool on sama mis enne - + The password is a palindrome Parool on palindroom - + The password differs with case changes only Parool erineb ainult suurtähtede poolest - + The password is too similar to the old one Parool on eelmisega liiga sarnane - + The password contains the user name in some form Parool sisaldab mingil kujul kasutajanime - + The password contains words from the real name of the user in some form Parool sisaldab mingil kujul sõnu kasutaja pärisnimest - + The password contains forbidden words in some form Parool sisaldab mingil kujul sobimatuid sõnu - + The password contains less than %1 digits Parool sisaldab vähem kui %1 numbrit - + The password contains too few digits Parool sisaldab liiga vähe numbreid - + The password contains less than %1 uppercase letters Parool sisaldab vähem kui %1 suurtähte - + The password contains too few uppercase letters Parool sisaldab liiga vähe suurtähti - + The password contains less than %1 lowercase letters Parool sisaldab vähem kui %1 väiketähte - + The password contains too few lowercase letters Parool sisaldab liiga vähe väiketähti - + The password contains less than %1 non-alphanumeric characters Parool sisaldab vähem kui %1 mitte-tähestikulist märki - + The password contains too few non-alphanumeric characters Parool sisaldab liiga vähe mitte-tähestikulisi märke - + The password is shorter than %1 characters Parool on lühem kui %1 tähemärki - + The password is too short Parool on liiga lühike - + The password is just rotated old one Parool on lihtsalt pööratud eelmine parool - + The password contains less than %1 character classes Parool sisaldab vähem kui %1 tähemärgiklassi - + The password does not contain enough character classes Parool ei sisalda piisavalt tähemärgiklasse - + The password contains more than %1 same characters consecutively Parool sisaldab järjest rohkem kui %1 sama tähemärki - + The password contains too many same characters consecutively Parool sisaldab järjest liiga palju sama tähemärki - + The password contains more than %1 characters of the same class consecutively Parool sisaldab järjest samast klassist rohkem kui %1 tähemärki - + The password contains too many characters of the same class consecutively Parool sisaldab järjest liiga palju samast klassist tähemärke - + The password contains monotonic sequence longer than %1 characters Parool sisaldab monotoonset jada, mis on pikem kui %1 tähemärki - + The password contains too long of a monotonic character sequence Parool sisaldab liiga pikka monotoonsete tähemärkide jada - + No password supplied Parooli ei sisestatud - + Cannot obtain random numbers from the RNG device RNG seadmest ei saanud hankida juhuslikke numbreid - + Password generation failed - required entropy too low for settings Parooligenereerimine ebaõnnestus - nõutud entroopia on seadete jaoks liiga vähe - + The password fails the dictionary check - %1 Parool põrub sõnastikukontrolli - %1 - + The password fails the dictionary check Parool põrub sõnastikukontrolli - + Unknown setting - %1 Tundmatu valik - %1 - + Unknown setting Tundmatu valik - + Bad integer value of setting - %1 Halb täisarvuline väärtus valikul - %1 - + Bad integer value Halb täisarvuväärtus - + Setting %1 is not of integer type Valik %1 pole täisarvu tüüpi - + Setting is not of integer type Valik ei ole täisarvu tüüpi - + Setting %1 is not of string type Valik %1 ei ole string-tüüpi - + Setting is not of string type Valik ei ole string-tüüpi - + Opening the configuration file failed Konfiguratsioonifaili avamine ebaõnnestus - + The configuration file is malformed Konfiguratsioonifail on rikutud - + Fatal failure Saatuslik viga - + Unknown error Tundmatu viga @@ -1963,47 +1984,86 @@ Paigaldaja sulgub ning kõik muutused kaovad. Mis on su nimi? - + What name do you want to use to log in? Mis nime soovid sisselogimiseks kasutada? - + Choose a password to keep your account safe. Vali parool, et hoida oma konto turvalisena. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Sisesta sama parool kaks korda, et kontrollida kirjavigade puudumist. Hea parool sisaldab segu tähtedest, numbritest ja kirjavahemärkidest, peaks olema vähemalt kaheksa märki pikk ja seda peaks muutma regulaarselt.</small> - + What is the name of this computer? Mis on selle arvuti nimi? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Seda nime kasutatakse, kui teed arvuti võrgus teistele nähtavaks.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Logi automaatselt sisse ilma parooli küsimata. - + Use the same password for the administrator account. Kasuta sama parooli administraatorikontole. - + Choose a password for the administrator account. Vali administraatori kontole parool. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Sisesta sama parooli kaks korda, et kontrollida kirjavigade puudumist.</small> @@ -2464,6 +2524,30 @@ Väljund: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2734,29 +2818,29 @@ Väljund: SetHostNameJob - + Set hostname %1 Määra hostinimi %1 - + Set hostname <strong>%1</strong>. Määra hostinimi <strong>%1</strong>. - + Setting hostname %1. Määran hostinime %1. - - + + Internal Error Sisemine viga - - + + Cannot write hostname to target system Hostinime ei saa sihtsüsteemile kirjutada @@ -2897,22 +2981,22 @@ Väljund: rootMountPoint on %1 - + Cannot disable root account. Juurkasutajat ei saa keelata. - + passwd terminated with error code %1. passwd peatatud veakoodiga %1. - + Cannot set password for user %1. Kasutajale %1 ei saa parooli määrata. - + usermod terminated with error code %1. usermod peatatud veateatega %1. @@ -3099,43 +3183,47 @@ Väljund: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Sinu kasutajanimi on liiga pikk. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Sinu kasutajanimi sisaldab sobimatuid tähemärke. Lubatud on ainult väiketähed ja numbrid. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Sinu hostinimi on liiga lühike. - + Your hostname is too long. Sinu hostinimi on liiga pikk. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Sinu hostinimi sisaldab sobimatuid tähemärke. Ainult tähed, numbrid ja sidekriipsud on lubatud. - - - - + Your passwords do not match! Sinu paroolid ei ühti! @@ -3143,7 +3231,7 @@ Väljund: UsersViewStep - + Users Kasutajad diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 8fd97620c..b093a4713 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Atzera - + + &Next &Hurrengoa - + + &Cancel &Utzi - + Cancel setup without changing the system. - + Cancel installation without changing the system. Instalazioa bertan behera utsi da sisteman aldaketarik gabe. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares instalazioak huts egin du - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ezin da instalatu. Calamares ez da gai konfiguratutako modulu guztiak kargatzeko. Arazao hau banaketak Calamares erabiltzen duen eragatik da. - + <br/>The following modules could not be loaded: <br/> Ondorengo moduluak ezin izan dira kargatu: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalatu - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Bertan behera utzi instalazioa? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ziur uneko instalazio prozesua bertan behera utzi nahi duzula? Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. - - + + &Yes &Bai - - + + &No &Ez - + &Close &Itxi - + Continue with setup? Ezarpenarekin jarraitu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalatzailea zure diskoan aldaketak egitera doa %2 instalatzeko.<br/><strong>Ezingo dituzu desegin aldaketa hauek.</strong> - + &Install now &Instalatu orain - + Go &back &Atzera - + &Done E&ginda - + The installation is complete. Close the installer. Instalazioa burutu da. Itxi instalatzailea. - + Error Akatsa - + Installation Failed Instalazioak huts egin du @@ -837,17 +840,17 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Ezin da sudoers direktorioan idatzi. - + Cannot create sudoers file for writing. Ezin da sudoers fitxategia sortu bertan idazteko. - + Cannot chmod sudoers file. Ezin zaio chmod egin sudoers fitxategiari. - + Cannot open groups file for reading. Ezin da groups fitxategia ireki berau irakurtzeko. @@ -1581,6 +1584,24 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. + + MachineIdJob + + + Generate machine-id. + Sortu makina-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. PWQ - + Password is too short Pasahitza laburregia da - + Password is too long Pasahitza luzeegia da - + Password is too weak Pasahitza ahulegia da - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one Pasahitza aurreko zahar baten berdina da - + The password is a palindrome Pasahitza palindromoa da - + The password differs with case changes only - + The password is too similar to the old one Pasahitza aurreko zahar baten oso antzerakoa da - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits Pasahitzak %1 baino zenbaki gutxiago ditu - + The password contains too few digits Pasahitzak zenbaki gutxiegi ditu - + The password contains less than %1 uppercase letters Pasahitzak %1 baino maiuskula gutxiago ditu - + The password contains too few uppercase letters Pasahitzak maiuskula gutxiegi ditu - + The password contains less than %1 lowercase letters Pasahitzak %1 baino minuskula gutxiago ditu - + The password contains too few lowercase letters Pasahitzak minuskula gutxiegi ditu - + The password contains less than %1 non-alphanumeric characters Pasahitzak alfabetokoak ez diren %1 baino karaktere gutxiago ditu - + The password contains too few non-alphanumeric characters Pasahitzak alfabetokoak ez diren karaktere gutxiegi ditu - + The password is shorter than %1 characters Pasahitza %1 karaktere baino motzagoa da. - + The password is too short Pasahitza motzegia da - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed Ezin izan da konfigurazio fitxategia zabaldu. - + The configuration file is malformed Konfigurazio fitxategia ez dago ondo eginda. - + Fatal failure Hutsegite larria - + Unknown error Hutsegite ezezaguna @@ -1963,47 +1984,86 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Zein da zure izena? - + What name do you want to use to log in? Zein izen erabili nahi duzu saioa hastean? - + Choose a password to keep your account safe. Aukeratu pasahitza zure kontua babesteko. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Pasahitza berbera birritan sartu, idazketa akatsak ez dauden egiaztatzeko. Pasahitza on batek letrak, zenbakiak eta puntuazio sinboloak izan behar ditu, zortzi karaktere gutxienez izan behar ditu eta tarteka-marteka aldatu behar izango litzateke.</small> - + What is the name of this computer? Zein da ordenagailu honen izena? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Izen hau erakutsiko da sarean zure ordenagailua besteei erakustean.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Hasi saioa automatikoki pasahitza eskatu gabe. - + Use the same password for the administrator account. Erabili pasahitz bera administratzaile kontuan. - + Choose a password for the administrator account. Aukeratu pasahitz bat administratzaile kontuarentzat. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Sartu pasahitza birritan, honela tekleatze erroreak egiaztatzeko.</small> @@ -2463,6 +2523,30 @@ Irteera: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2733,29 +2817,29 @@ Irteera: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error Barne errorea - - + + Cannot write hostname to target system @@ -2896,22 +2980,22 @@ Irteera: root Muntatze Puntua %1 da - + Cannot disable root account. Ezin da desgaitu root kontua. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3098,43 +3182,47 @@ Irteera: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Zure erabiltzaile-izena luzeegia da. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Zure erabiltzaile-izena baliodun ez diren karaktereak ditu. Letra xeheak eta zenbakiak bakarrik onartzen dira. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Zure ostalari-izena laburregia da. - + Your hostname is too long. Zure ostalari-izena luzeegia da. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Zure ostalariak baliodun ez diren karaktereak ditu. Letrak, zenbakiak eta marratxoak bakarrik onartzen dira. - - - - + Your passwords do not match! Pasahitzak ez datoz bat! @@ -3142,7 +3230,7 @@ Irteera: UsersViewStep - + Users Erabiltzaileak diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 25afddb92..871712846 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 5a51c1297..7bb831557 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Takaisin - + + &Next &Seuraava - + + &Cancel &Peruuta - + Cancel setup without changing the system. Peruuta asennus muuttamatta järjestelmää. - + Cancel installation without changing the system. Peruuta asennus tekemättä muutoksia järjestelmään. - + Setup Failed Asennus epäonnistui - + Would you like to paste the install log to the web? Haluatko liittää asennuslokin verkkoon? - + Install Log Paste URL Asenna lokitiedon URL-osoite - + The upload was unsuccessful. No web-paste was done. Lähettäminen epäonnistui. Web-liittämistä ei tehty. - + Calamares Initialization Failed Calamares-alustustaminen epäonnistui - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ei voida asentaa. Calamares ei voinut ladata kaikkia määritettyjä moduuleja. Ongelma on siinä, miten jakelu käyttää Calamaresia. - + <br/>The following modules could not be loaded: <br/>Seuraavia moduuleja ei voitu ladata: - + Continue with installation? Jatka asennusta? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 asennusohjelma on aikeissa tehdä muutoksia levylle, jotta voit määrittää kohteen %2.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Set up now &Määritä nyt - + &Set up &Määritä - + &Install &Asenna - + Setup is complete. Close the setup program. Asennus on valmis. Sulje asennusohjelma. - + Cancel setup? Peruuta asennus? - + Cancel installation? Peruuta asennus? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Haluatko todella peruuttaa nykyisen asennuksen? Asennusohjelma lopetetaan ja kaikki muutokset menetetään. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Oletko varma että haluat peruuttaa käynnissä olevan asennusprosessin? Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - - + + &Yes &Kyllä - - + + &No &Ei - + &Close &Sulje - + Continue with setup? Jatka asennusta? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong> - + &Install now &Asenna nyt - + Go &back Mene &takaisin - + &Done &Valmis - + The installation is complete. Close the installer. Asennus on valmis. Sulje asennusohjelma. - + Error Virhe - + Installation Failed Asennus Epäonnistui @@ -839,17 +842,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Ei voitu kirjoittaa Sudoers -hakemistoon. - + Cannot create sudoers file for writing. Ei voida luoda sudoers -tiedostoa kirjoitettavaksi. - + Cannot chmod sudoers file. Ei voida tehdä käyttöoikeuden muutosta sudoers -tiedostolle. - + Cannot open groups file for reading. Ei voida avata ryhmätiedostoa luettavaksi. @@ -1583,6 +1586,24 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Voit määrittää LUKS-avaimen osioon %1. + + MachineIdJob + + + Generate machine-id. + Luo koneen-id. + + + + Configuration Error + Määritysvirhe + + + + No root mount point is set for MachineId. + Koneen tunnukselle ei ole asetettu root kiinnityskohtaa. + + NetInstallPage @@ -1653,242 +1674,242 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. PWQ - + Password is too short Salasana on liian lyhyt - + Password is too long Salasana on liian pitkä - + Password is too weak Salasana on liian heikko - + Memory allocation error when setting '%1' Muistin varausvirhe asetettaessa '%1' - + Memory allocation error Muistin varausvirhe - + The password is the same as the old one Salasana on sama kuin vanha - + The password is a palindrome Salasana on palindromi - + The password differs with case changes only Salasana eroaa vain vähäisin muutoksin - + The password is too similar to the old one Salasana on liian samanlainen kuin vanha - + The password contains the user name in some form Salasana sisältää jonkin käyttäjänimen - + The password contains words from the real name of the user in some form Salasana sisältää sanoja käyttäjän todellisesta nimestä jossain muodossa - + The password contains forbidden words in some form Salasana sisältää kiellettyjä sanoja - + The password contains less than %1 digits Salasana sisältää vähemmän kuin %1 numeroa - + The password contains too few digits Salasana sisältää liian vähän numeroita - + The password contains less than %1 uppercase letters Salasana sisältää vähemmän kuin %1 isoja kirjaimia - + The password contains too few uppercase letters Salasana sisältää liian vähän isoja kirjaimia - + The password contains less than %1 lowercase letters Salasana sisältää vähemmän kuin %1 pieniä kirjaimia - + The password contains too few lowercase letters Salasana sisältää liian vähän pieniä kirjaimia - + The password contains less than %1 non-alphanumeric characters Salasanassa on vähemmän kuin %1 erikoismerkkiä - + The password contains too few non-alphanumeric characters Salasana sisältää liian vähän erikoismerkkejä - + The password is shorter than %1 characters Salasana on lyhyempi kuin %1 merkkiä - + The password is too short Salasana on liian lyhyt - + The password is just rotated old one Salasana on vain vanhan pyöritystä - + The password contains less than %1 character classes Salasana sisältää vähemmän kuin %1 merkkiluokkaa - + The password does not contain enough character classes Salasana ei sisällä tarpeeksi merkkiluokkia - + The password contains more than %1 same characters consecutively Salasana sisältää enemmän kuin %1 samaa merkkiä peräkkäin - + The password contains too many same characters consecutively Salasana sisältää liian monta samaa merkkiä peräkkäin - + The password contains more than %1 characters of the same class consecutively Salasana sisältää enemmän kuin %1 merkkiä samasta luokasta peräkkäin - + The password contains too many characters of the same class consecutively Salasana sisältää liian monta saman luokan merkkiä peräkkäin - + The password contains monotonic sequence longer than %1 characters Salasana sisältää monotonisen merkkijonon, joka on pidempi kuin %1 merkkiä - + The password contains too long of a monotonic character sequence Salasanassa on liian pitkä monotoninen merkkijono - + No password supplied Salasanaa ei annettu - + Cannot obtain random numbers from the RNG device Satunnaislukuja ei voi saada RNG-laitteesta - + Password generation failed - required entropy too low for settings Salasanojen luonti epäonnistui - pakollinen vähimmäistaso liian alhainen asetuksia varten - + The password fails the dictionary check - %1 Salasana epäonnistui sanaston tarkistuksessa -%1 - + The password fails the dictionary check Salasana epäonnistui sanaston tarkistuksessa - + Unknown setting - %1 Tuntematon asetus - %1 - + Unknown setting Tuntematon asetus - + Bad integer value of setting - %1 Asetuksen virheellinen kokonaisluku - %1 - + Bad integer value Virheellinen kokonaisluku - + Setting %1 is not of integer type Asetus %1 ei ole kokonaisluku - + Setting is not of integer type Asetus ei ole kokonaisluku - + Setting %1 is not of string type Asetus %1 ei ole merkkijono - + Setting is not of string type Asetus ei ole merkkijono - + Opening the configuration file failed Määritystiedoston avaaminen epäonnistui - + The configuration file is malformed Määritystiedosto on väärin muotoiltu - + Fatal failure Vakava virhe - + Unknown error Tuntematon virhe @@ -1965,47 +1986,86 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Mikä on nimesi? - + What name do you want to use to log in? Mitä nimeä haluat käyttää sisäänkirjautumisessa? - + Choose a password to keep your account safe. Valitse salasana pitääksesi tilisi turvallisena. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Syötä salasana kahdesti välttääksesi kirjoitusvirheitä. Hyvän salasanan tulee sisältää sekoitetusti kirjaimia, numeroita ja erikoismerkkejä. Salasanan täytyy olla vähintään kahdeksan merkin mittainen ja tulee vaihtaa säännöllisin väliajoin.</small> - + What is the name of this computer? Mikä on tämän tietokoneen nimi? - + + Your Full Name + Koko nimesi + + + + login + Kirjaudu + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Tätä nimeä tullaan käyttämään mikäli asetat tietokoneen näkyviin muille verkossa.</small> - + + Computer Name + Tietokoneen nimi + + + + + Password + Salasana + + + + + Repeat Password + Toista salasana + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Kun tämä valintaruutu on valittu, salasanan vahvuus tarkistetaan, etkä voi käyttää heikkoa salasanaa. + + + + Require strong passwords. + Vaaditaan vahvat salasanat. + + + Log in automatically without asking for the password. Kirjaudu automaattisesti ilman salasanaa. - + Use the same password for the administrator account. Käytä pääkäyttäjän tilillä samaa salasanaa. - + Choose a password for the administrator account. Valitse salasana pääkäyttäjän tilille. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Syötä salasana kahdesti välttääksesi kirjoitusvirheitä.</small> @@ -2466,6 +2526,30 @@ Ulostulo: No description provided. Kuvausta ei ole. + + + + + + + File not found + Tiedostoa ei löytynyt + + + + Path <pre>%1</pre> must be an absolute path. + Polku <pre>%1</pre> täytyy olla ehdoton polku. + + + + Could not create new random file <pre>%1</pre>. + Uutta satunnaista tiedostoa ei voitu luoda <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + Satunnaista tiedostoa ei voitu lukea <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2737,29 +2821,29 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. SetHostNameJob - + Set hostname %1 Aseta isäntänimi %1 - + Set hostname <strong>%1</strong>. Aseta koneellenimi <strong>%1</strong>. - + Setting hostname %1. Asetetaan koneellenimi %1. - - + + Internal Error Sisäinen Virhe - - + + Cannot write hostname to target system Ei voida kirjoittaa isäntänimeä kohdejärjestelmään. @@ -2900,22 +2984,22 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.rootMountPoint on %1 - + Cannot disable root account. Root-tiliä ei voi poistaa. - + passwd terminated with error code %1. passwd päättyi virhekoodiin %1. - + Cannot set password for user %1. Salasanaa ei voi asettaa käyttäjälle %1. - + usermod terminated with error code %1. usermod päättyi virhekoodilla %1. @@ -3102,43 +3186,47 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Jos useampi kuin yksi henkilö käyttää tätä tietokonetta, voit luoda useita tilejä asennuksen jälkeen.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Jos useampi kuin yksi henkilö käyttää tätä tietokonetta, voit luoda useita tilejä asennuksen jälkeen.</small> - + Your username is too long. Käyttäjänimesi on liian pitkä. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Käyttäjätunnuksesi sisältää virheellisiä merkkejä. Vain pienet kirjaimet ja numerot ovat sallittuja. + + Your username must start with a lowercase letter or underscore. + Käyttäjätunnuksesi täytyy alkaa pienillä kirjaimilla tai alaviivoilla. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Vain pienet kirjaimet, numerot, alaviivat ja tavuviivat ovat sallittuja. + + + + Only letters, numbers, underscore and hyphen are allowed. + Vain kirjaimet, numerot, alaviivat ja tavuviivat ovat sallittuja. + + + Your hostname is too short. Isäntänimesi on liian lyhyt. - + Your hostname is too long. Isäntänimesi on liian pitkä. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Isäntänimesi sisältää epäkelpoja merkkejä. Vain kirjaimet, numerot ja väliviivat ovat sallittuja. - - - - + Your passwords do not match! Salasanasi eivät täsmää! @@ -3146,7 +3234,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. UsersViewStep - + Users Käyttäjät diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index 472e81f8d..958253f61 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Précédent - + + &Next &Suivant - + + &Cancel &Annuler - + Cancel setup without changing the system. Annuler la configuration sans toucher au système. - + Cancel installation without changing the system. Annuler l'installation sans modifier votre système. - + Setup Failed Échec de la configuration - + Would you like to paste the install log to the web? Voulez-vous copier le journal d'installation sur le Web ? - + Install Log Paste URL URL de copie du journal d'installation - + The upload was unsuccessful. No web-paste was done. L'envoi a échoué. La copie sur le web n'a pas été effectuée. - + Calamares Initialization Failed L'initialisation de Calamares a échoué - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 n'a pas pu être installé. Calamares n'a pas pu charger tous les modules configurés. C'est un problème avec la façon dont Calamares est utilisé par la distribution. - + <br/>The following modules could not be loaded: Les modules suivants n'ont pas pu être chargés : - + Continue with installation? Continuer avec l'installation ? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Le programme de configuration de %1 est sur le point de procéder aux changements sur le disque afin de configurer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.</strong> - + &Set up now &Configurer maintenant - + &Set up &Configurer - + &Install &Installer - + Setup is complete. Close the setup program. La configuration est terminée. Fermer le programme de configuration. - + Cancel setup? Annuler la configuration ? - + Cancel installation? Abandonner l'installation ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Voulez-vous réellement abandonner le processus de configuration ? Le programme de configuration se fermera et les changements seront perdus. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voulez-vous réellement abandonner le processus d'installation ? L'installateur se fermera et les changements seront perdus. - - + + &Yes &Oui - - + + &No &Non - + &Close &Fermer - + Continue with setup? Poursuivre la configuration ? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'installateur %1 est sur le point de procéder aux changements sur le disque afin d'installer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.<strong> - + &Install now &Installer maintenant - + Go &back &Retour - + &Done &Terminé - + The installation is complete. Close the installer. L'installation est terminée. Fermer l'installateur. - + Error Erreur - + Installation Failed L'installation a échoué @@ -839,17 +842,17 @@ L'installateur se fermera et les changements seront perdus. Le répertoire Superutilisateur n'est pas inscriptible. - + Cannot create sudoers file for writing. Impossible de créer le fichier sudoers en écriture. - + Cannot chmod sudoers file. Impossible d'exécuter chmod sur le fichier sudoers. - + Cannot open groups file for reading. Impossible d'ouvrir le fichier groups en lecture. @@ -1583,6 +1586,24 @@ L'installateur se fermera et les changements seront perdus. Succès de la création du fichier de clé LUKS pour la partition racine %1. + + MachineIdJob + + + Generate machine-id. + Générer un identifiant machine. + + + + Configuration Error + Erreur de configuration + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1653,242 +1674,242 @@ L'installateur se fermera et les changements seront perdus. PWQ - + Password is too short Le mot de passe est trop court - + Password is too long Le mot de passe est trop long - + Password is too weak Le mot de passe est trop faible - + Memory allocation error when setting '%1' Erreur d'allocation mémoire lors du paramétrage de '%1' - + Memory allocation error Erreur d'allocation mémoire - + The password is the same as the old one Le mot de passe est identique au précédent - + The password is a palindrome Le mot de passe est un palindrome - + The password differs with case changes only Le mot de passe ne diffère que sur la casse - + The password is too similar to the old one Le mot de passe est trop similaire à l'ancien - + The password contains the user name in some form Le mot de passe contient le nom d'utilisateur sous une certaine forme - + The password contains words from the real name of the user in some form Le mot de passe contient des mots provenant du nom d'utilisateur sous une certaine forme - + The password contains forbidden words in some form Le mot de passe contient des mots interdits sous une certaine forme - + The password contains less than %1 digits Le mot de passe contient moins de %1 chiffres - + The password contains too few digits Le mot de passe ne contient pas assez de chiffres - + The password contains less than %1 uppercase letters Le mot de passe contient moins de %1 lettres majuscules - + The password contains too few uppercase letters Le mot de passe ne contient pas assez de lettres majuscules - + The password contains less than %1 lowercase letters Le mot de passe contient moins de %1 lettres minuscules - + The password contains too few lowercase letters Le mot de passe ne contient pas assez de lettres minuscules - + The password contains less than %1 non-alphanumeric characters Le mot de passe contient moins de %1 caractères spéciaux - + The password contains too few non-alphanumeric characters Le mot de passe ne contient pas assez de caractères spéciaux - + The password is shorter than %1 characters Le mot de passe fait moins de %1 caractères - + The password is too short Le mot de passe est trop court - + The password is just rotated old one Le mot de passe saisit correspond avec un de vos anciens mot de passe - + The password contains less than %1 character classes Le mot de passe contient moins de %1 classes de caractères - + The password does not contain enough character classes Le mot de passe ne contient pas assez de classes de caractères - + The password contains more than %1 same characters consecutively Le mot de passe contient plus de %1 fois le même caractère à la suite - + The password contains too many same characters consecutively Le mot de passe contient trop de fois le même caractère à la suite - + The password contains more than %1 characters of the same class consecutively Le mot de passe contient plus de %1 caractères de la même classe consécutivement - + The password contains too many characters of the same class consecutively Le mot de passe contient trop de caractères de la même classe consécutivement - + The password contains monotonic sequence longer than %1 characters Le mot de passe contient une séquence de caractères monotones de %1 caractères - + The password contains too long of a monotonic character sequence Le mot de passe contient une trop longue séquence de caractères monotones - + No password supplied Aucun mot de passe saisi - + Cannot obtain random numbers from the RNG device Impossible d'obtenir des nombres aléatoires depuis le générateur de nombres aléatoires - + Password generation failed - required entropy too low for settings La génération du mot de passe a échoué - L'entropie minimum nécessaire n'est pas satisfaite par les paramètres - + The password fails the dictionary check - %1 Le mot de passe a échoué le contrôle de qualité par dictionnaire - %1 - + The password fails the dictionary check Le mot de passe a échoué le contrôle de qualité par dictionnaire - + Unknown setting - %1 Paramètre inconnu - %1 - + Unknown setting Paramètre inconnu - + Bad integer value of setting - %1 Valeur incorrect du paramètre - %1 - + Bad integer value Mauvaise valeur d'entier - + Setting %1 is not of integer type Le paramètre %1 n'est pas de type entier - + Setting is not of integer type Le paramètre n'est pas de type entier - + Setting %1 is not of string type Le paramètre %1 n'est pas une chaîne de caractères - + Setting is not of string type Le paramètre n'est pas une chaîne de caractères - + Opening the configuration file failed L'ouverture du fichier de configuration a échouée - + The configuration file is malformed Le fichier de configuration est mal formé - + Fatal failure Erreur fatale - + Unknown error Erreur inconnue @@ -1965,47 +1986,86 @@ L'installateur se fermera et les changements seront perdus. Quel est votre nom ? - + What name do you want to use to log in? Quel nom souhaitez-vous utiliser pour la connexion ? - + Choose a password to keep your account safe. Veuillez saisir le mot de passe pour sécuriser votre compte. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Veuillez entrer le même mot de passe deux fois afin de vérifier qu'il n'y ait pas d'erreur de frappe. Un bon mot de passe doit contenir un mélange de lettres, de nombres et de caractères de ponctuation, contenir au moins huit caractères et être changé à des intervalles réguliers.</small> - + What is the name of this computer? Quel est le nom de votre ordinateur ? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Ce nom sera utilisé pour rendre l'ordinateur visible des autres sur le réseau.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Démarrer la session sans demander de mot de passe. - + Use the same password for the administrator account. Utiliser le même mot de passe pour le compte administrateur. - + Choose a password for the administrator account. Choisir un mot de passe pour le compte administrateur. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Veuillez entrer le même mot de passe deux fois, afin de vérifier qu'ils n'y ait pas d'erreur de frappe.</small> @@ -2467,6 +2527,30 @@ Sortie No description provided. Aucune description fournie. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2737,29 +2821,29 @@ Sortie SetHostNameJob - + Set hostname %1 Définir le nom d'hôte %1 - + Set hostname <strong>%1</strong>. Configurer le nom d'hôte <strong>%1</strong>. - + Setting hostname %1. Configuration du nom d'hôte %1. - - + + Internal Error Erreur interne - - + + Cannot write hostname to target system Impossible d'écrire le nom d'hôte sur le système cible. @@ -2900,22 +2984,22 @@ Sortie Le point de montage racine est %1 - + Cannot disable root account. Impossible de désactiver le compte root. - + passwd terminated with error code %1. passwd c'est arrêté avec le code d'erreur %1. - + Cannot set password for user %1. Impossible de créer le mot de passe pour l'utilisateur %1. - + usermod terminated with error code %1. usermod s'est terminé avec le code erreur %1. @@ -3102,43 +3186,47 @@ Sortie UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>si plusieurs personnes utilisent cet ordinateur, vous pourrez créer plusieurs comptes après la configuration.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>si plusieurs personnes utilisent cet ordinateur, vous pourrez créer plusieurs comptes après l'installation.</small> - + Your username is too long. Votre nom d'utilisateur est trop long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Votre nom d'utilisateur contient des caractères invalides. Seuls les lettres minuscules et les chiffres sont autorisés. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Le nom d'hôte est trop petit. - + Your hostname is too long. Le nom d'hôte est trop long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Le nom d'hôte contient des caractères invalides. Seules les lettres, nombres et tirets sont autorisés. - - - - + Your passwords do not match! Vos mots de passe ne correspondent pas ! @@ -3146,7 +3234,7 @@ Sortie UsersViewStep - + Users Utilisateurs diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 3c59a785f..7a6e89dd4 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index 0ceb33757..f1daf325b 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -227,172 +227,175 @@ Calamares::ViewManager - + + &Back &Atrás - + + &Next &Seguinte - + + &Cancel &Cancelar - + Cancel setup without changing the system. - + Cancel installation without changing the system. Cancelar a instalación sen cambiar o sistema - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Fallou a inicialización do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Non é posíbel instalar %1. O calamares non foi quen de cargar todos os módulos configurados. Este é un problema relacionado con como esta distribución utiliza o Calamares. - + <br/>The following modules could not be loaded: <br/> Non foi posíbel cargar os módulos seguintes: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instalar - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Cancelar a instalación? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Desexa realmente cancelar o proceso actual de instalación? O instalador pecharase e perderanse todos os cambios. - - + + &Yes &Si - - + + &No &Non - + &Close &Pechar - + Continue with setup? Continuar coa posta en marcha? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está a piques de realizar cambios no seu disco para instalar %2.<br/><strong>Estes cambios non poderán desfacerse.</strong> - + &Install now &Instalar agora - + Go &back Ir &atrás - + &Done &Feito - + The installation is complete. Close the installer. Completouse a instalacion. Peche o instalador - + Error Erro - + Installation Failed Erro na instalación @@ -838,17 +841,17 @@ O instalador pecharase e perderanse todos os cambios. O directorio sudoers non ten permisos de escritura. - + Cannot create sudoers file for writing. Non foi posible crear o arquivo de sudoers. - + Cannot chmod sudoers file. Non se puideron cambiar os permisos do arquivo sudoers. - + Cannot open groups file for reading. Non foi posible ler o arquivo grupos. @@ -1582,6 +1585,24 @@ O instalador pecharase e perderanse todos os cambios. + + MachineIdJob + + + Generate machine-id. + Xerar o identificador da máquina. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ O instalador pecharase e perderanse todos os cambios. PWQ - + Password is too short O contrasinal é demasiado curto - + Password is too long O contrasinal é demasiado longo - + Password is too weak O contrasinal é moi feble - + Memory allocation error when setting '%1' Erro de asignación de memoria ao configurar «%1» - + Memory allocation error Erro de asignación de memoria - + The password is the same as the old one O contrasinal é o mesmo que o anterior - + The password is a palindrome O contrasinal é un palíndromo - + The password differs with case changes only O contrasinal difire só no uso de maiúsculas - + The password is too similar to the old one O contrasinal é demasiado semellante ao anterior - + The password contains the user name in some form O contrasinal contén o nome do usuario ou unha variante - + The password contains words from the real name of the user in some form O contrasinal contén palabras do nome real do usuario ou unha variante - + The password contains forbidden words in some form O contrasinal contén palabras prohibidas ou unha variante - + The password contains less than %1 digits O contrasinal contén menos de %1 díxitos - + The password contains too few digits O contrasinal contén moi poucos díxitos - + The password contains less than %1 uppercase letters O contrasinal contén menos de %1 maiúsculas - + The password contains too few uppercase letters O contrasinal contén moi poucas maiúsculas - + The password contains less than %1 lowercase letters O contrasinal contén menos de %1 minúsculas - + The password contains too few lowercase letters O contrasinal contén moi poucas minúsculas - + The password contains less than %1 non-alphanumeric characters O contrasinal contén menos de %1 caracteres alfanuméricos - + The password contains too few non-alphanumeric characters O contrasinal contén moi poucos caracteres non alfanuméricos - + The password is shorter than %1 characters O contrasinal ten menos de %1 caracteres - + The password is too short O contrasinal é moi curto - + The password is just rotated old one O contrasinal é un anterior reutilizado - + The password contains less than %1 character classes O contrasinal contén menos de %1 clases de caracteres - + The password does not contain enough character classes O contrasinal non contén suficientes clases de caracteres - + The password contains more than %1 same characters consecutively O contrasinal contén máis de %1 caracteres iguais consecutivos - + The password contains too many same characters consecutively O contrasinal contén demasiados caracteres iguais consecutivos - + The password contains more than %1 characters of the same class consecutively O contrasinal contén máis de %1 caracteres consecutivos da mesma clase - + The password contains too many characters of the same class consecutively O contrasinal contén demasiados caracteres da mesma clase consecutivos - + The password contains monotonic sequence longer than %1 characters O contrasinal contén unha secuencia monotónica de máis de %1 caracteres - + The password contains too long of a monotonic character sequence O contrasinal contén unha secuencia de caracteres monotónica demasiado longa - + No password supplied Non se indicou o contrasinal - + Cannot obtain random numbers from the RNG device Non é posíbel obter números aleatorios do servizo de RNG - + Password generation failed - required entropy too low for settings Fallou a xeración do contrasinal - a entropía requirida é demasiado baixa para a configuración - + The password fails the dictionary check - %1 O contrasinal falla a comprobación do dicionario - %1 - + The password fails the dictionary check O contrasinal falla a comprobación do dicionario - + Unknown setting - %1 Configuración descoñecida - %1 - + Unknown setting Configuración descoñecida - + Bad integer value of setting - %1 Valor enteiro incorrecto de opción - %1 - + Bad integer value Valor enteiro incorrecto - + Setting %1 is not of integer type A opción %1 non é de tipo enteiro - + Setting is not of integer type A opción non é de tipo enteiro - + Setting %1 is not of string type A opción %1 non é de tipo cadea - + Setting is not of string type A opción non é de tipo cadea - + Opening the configuration file failed Non foi posíbel abrir o ficheiro de configuración - + The configuration file is malformed O ficheiro de configuración está mal escrito - + Fatal failure Fallo fatal - + Unknown error Erro descoñecido @@ -1964,47 +1985,86 @@ O instalador pecharase e perderanse todos os cambios. Cal é o seu nome? - + What name do you want to use to log in? Cal é o nome que quere usar para entrar? - + Choose a password to keep your account safe. Escolla un contrasinal para mante-la sua conta segura. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Entre o mesmo contrasinal dúas veces, deste xeito podese comprobar errores ó teclear. Un bo contrasinal debe conter un conxunto de letras, números e signos de puntuación, deberá ter como mínimo oito carácteres, e debe cambiarse a intervalos de tempo regulares.</small> - + What is the name of this computer? Cal é o nome deste computador? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Este nome usarase se fai o computador visible para outros nunha rede.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Entrar automáticamente sen preguntar polo contrasinal. - + Use the same password for the administrator account. Empregar o mesmo contrasinal para a conta de administrador. - + Choose a password for the administrator account. Escoller un contrasinal para a conta de administrador. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Introduza o mesmo contrasinal dúas veces para comprobar que non houbo erros ao escribilo.</small> @@ -2465,6 +2525,30 @@ Saída: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Saída: SetHostNameJob - + Set hostname %1 Hostname: %1 - + Set hostname <strong>%1</strong>. Configurar hostname <strong>%1</strong>. - + Setting hostname %1. Configurando hostname %1. - - + + Internal Error Erro interno - - + + Cannot write hostname to target system Non foi posíbel escreber o nome do servidor do sistema obxectivo @@ -2898,22 +2982,22 @@ Saída: rootMountPoint é %1 - + Cannot disable root account. Non é posíbel desactivar a conta do superusuario. - + passwd terminated with error code %1. passwd terminou co código de erro %1. - + Cannot set password for user %1. Non é posíbel configurar o contrasinal do usuario %1. - + usermod terminated with error code %1. usermod terminou co código de erro %1. @@ -3100,43 +3184,47 @@ Saída: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. O nome de usuario é demasiado longo. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - O nome de usuario contén caracteres non válidos. Só se permiten letras en minúscula e números. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. O nome do computador é demasiado curto. - + Your hostname is too long. O nome do computador é demasiado longo. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - O nome do computador contén caracteres non válidos. Só se permiten letras, números e guións. - - - - + Your passwords do not match! Os contrasinais non coinciden! @@ -3144,7 +3232,7 @@ Saída: UsersViewStep - + Users Usuarios diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index c1d0d3d2c..06cac47a0 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index d90e0becb..209ffe0c4 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back ה&קודם - + + &Next הב&א - + + &Cancel &ביטול - + Cancel setup without changing the system. ביטול ההתקנה ללא שינוי המערכת. - + Cancel installation without changing the system. ביטול התקנה ללא ביצוע שינוי במערכת. - + Setup Failed ההתקנה נכשלה - + Would you like to paste the install log to the web? להדביק את יומן ההתקנה לאינטרנט? - + Install Log Paste URL כתובת הדבקת יומן התקנה - + The upload was unsuccessful. No web-paste was done. ההעלאה לא הצליחה. לא בוצעה הדבקה לאינטרנט. - + Calamares Initialization Failed הפעלת Calamares נכשלה - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. אין אפשרות להתקין את %1. ל־Calamares אין אפשרות לטעון את המודולים המוגדרים. מדובר בתקלה באופן בו ההפצה משתמשת ב־Calamares. - + <br/>The following modules could not be loaded: <br/>לא ניתן לטעון את המודולים הבאים: - + Continue with installation? להמשיך בהתקנה? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> תכנית ההתקנה של %1 עומדת לבצע שינויים בכונן הקשיח שלך לטובת התקנת %2.<br/><strong>לא תהיה לך אפשרות לבטל את השינויים האלה.</strong> - + &Set up now להת&קין כעת - + &Set up להת&קין - + &Install הת&קנה - + Setup is complete. Close the setup program. ההתקנה הושלמה. נא לסגור את תכנית ההתקנה. - + Cancel setup? לבטל את ההתקנה? - + Cancel installation? לבטל את ההתקנה? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. לבטל את תהליך ההתקנה הנוכחי? תכנית ההתקנה תצא וכל השינויים יאבדו. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. לבטל את תהליך ההתקנה? אשף ההתקנה ייסגר וכל השינויים יאבדו. - - + + &Yes &כן - - + + &No &לא - + &Close &סגירה - + Continue with setup? להמשיך בהתקנה? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> אשף ההתקנה של %1 הולך לבצע שינויים בכונן שלך לטובת התקנת %2.<br/><strong>לא תוכל לבטל את השינויים הללו.</strong> - + &Install now להת&קין כעת - + Go &back ח&זרה - + &Done &סיום - + The installation is complete. Close the installer. תהליך ההתקנה הושלם. נא לסגור את אשף ההתקנה. - + Error שגיאה - + Installation Failed ההתקנה נכשלה @@ -839,17 +842,17 @@ The installer will quit and all changes will be lost. תיקיית מנהלי המערכת לא ניתנת לכתיבה. - + Cannot create sudoers file for writing. לא ניתן ליצור את קובץ מנהלי המערכת לכתיבה. - + Cannot chmod sudoers file. לא ניתן לשנות את מאפייני קובץ מנהלי המערכת. - + Cannot open groups file for reading. לא ניתן לפתוח את קובץ הקבוצות לקריאה. @@ -1583,6 +1586,24 @@ The installer will quit and all changes will be lost. לא ניתן להגדיר קובץ מפתח LUKS למחיצה %1. + + MachineIdJob + + + Generate machine-id. + לייצר מספר סידורי של המכונה. + + + + Configuration Error + שגיאת הגדרות + + + + No root mount point is set for MachineId. + לא הוגדרה נקודת עגינת שורש עבור מזהה מכונה (MachineId). + + NetInstallPage @@ -1653,242 +1674,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short הססמה קצרה מדי - + Password is too long הססמה ארוכה מדי - + Password is too weak הססמה חלשה מדי - + Memory allocation error when setting '%1' שגיאת הקצאת זיכרון בעת הגדרת ‚%1’ - + Memory allocation error שגיאת הקצאת זיכרון - + The password is the same as the old one הססמה זהה לישנה - + The password is a palindrome הססמה היא פלינדרום - + The password differs with case changes only מורכבות הססמה טמונה בשינויי סוגי אותיות בלבד - + The password is too similar to the old one הססמה דומה מדי לישנה - + The password contains the user name in some form הססמה מכילה את שם המשתמש בצורה כלשהי - + The password contains words from the real name of the user in some form הססמה מכילה מילים מהשם האמתי של המשתמש בצורה זו או אחרת - + The password contains forbidden words in some form הססמה מכילה מילים אסורות בצורה כלשהי - + The password contains less than %1 digits הססמה מכילה פחות מ־%1 ספרות - + The password contains too few digits הססמה לא מכילה מספיק ספרות - + The password contains less than %1 uppercase letters הססמה מכילה פחות מ־%1 אותיות גדולות - + The password contains too few uppercase letters הססמה מכילה מעט מדי אותיות גדולות - + The password contains less than %1 lowercase letters הססמה מכילה פחות מ־%1 אותיות קטנות - + The password contains too few lowercase letters הססמה אינה מכילה מספיק אותיות קטנות - + The password contains less than %1 non-alphanumeric characters הססמה מכילה פחות מ־%1 תווים שאינם אלפאנומריים - + The password contains too few non-alphanumeric characters הססמה מכילה מעט מדי תווים שאינם אלפאנומריים - + The password is shorter than %1 characters אורך הססמה קצר מ־%1 תווים - + The password is too short הססמה קצרה מדי - + The password is just rotated old one הססמה היא פשוט סיכול של ססמה קודמת - + The password contains less than %1 character classes הססמה מכילה פחות מ־%1 סוגי תווים - + The password does not contain enough character classes הססמה לא מכילה מספיק סוגי תווים - + The password contains more than %1 same characters consecutively הססמה מכילה יותר מ־%1 תווים זהים ברצף - + The password contains too many same characters consecutively הססמה מכילה יותר מדי תווים זהים ברצף - + The password contains more than %1 characters of the same class consecutively הססמה מכילה יותר מ־%1 תווים מאותו הסוג ברצף - + The password contains too many characters of the same class consecutively הססמה מכילה יותר מדי תווים מאותו הסוג ברצף - + The password contains monotonic sequence longer than %1 characters הססמה מכילה רצף תווים מונוטוני של יותר מ־%1 תווים - + The password contains too long of a monotonic character sequence הססמה מכילה רצף תווים מונוטוני ארוך מדי - + No password supplied לא צוינה ססמה - + Cannot obtain random numbers from the RNG device לא ניתן לקבל מספרים אקראיים מהתקן ה־RNG - + Password generation failed - required entropy too low for settings יצירת הססמה נכשלה - רמת האקראיות הנדרשת נמוכה ביחס להגדרות - + The password fails the dictionary check - %1 הססמה נכשלה במבחן המילון - %1 - + The password fails the dictionary check הססמה נכשלה במבחן המילון - + Unknown setting - %1 הגדרה לא מוכרת - %1 - + Unknown setting הגדרה לא מוכרת - + Bad integer value of setting - %1 ערך מספרי שגוי להגדרה - %1 - + Bad integer value ערך מספרי שגוי - + Setting %1 is not of integer type ההגדרה %1 אינה מסוג מספר שלם - + Setting is not of integer type ההגדרה אינה מסוג מספר שלם - + Setting %1 is not of string type ההגדרה %1 אינה מסוג מחרוזת - + Setting is not of string type ההגדרה אינה מסוג מחרוזת - + Opening the configuration file failed פתיחת קובץ התצורה נכשלה - + The configuration file is malformed קובץ התצורה פגום - + Fatal failure כשל מכריע - + Unknown error שגיאה לא ידועה @@ -1965,47 +1986,86 @@ The installer will quit and all changes will be lost. מה שמך? - + What name do you want to use to log in? איזה שם ברצונך שישמש אותך לכניסה? - + Choose a password to keep your account safe. נא לבחור ססמה להגנה על חשבונך. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>יש להקליד את אותה הססמה פעמיים כדי שניתן יהיה לבדוק שגיאות הקלדה. ססמה טובה אמורה להכיל שילוב של אותיות, מספרים וסימני פיסוק, להיות באורך של שמונה תווים לפחות ויש להחליף אותה במרווחי זמן קבועים.</small> - + What is the name of this computer? מהו השם של המחשב הזה? - + + Your Full Name + שם המלא + + + + login + כניסה + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>בשם זה ייעשה שימוש לטובת זיהוי מול מחשבים אחרים ברשת במידת הצורך.</small> - + + Computer Name + שם המחשב + + + + + Password + ססמה + + + + + Repeat Password + חזרה על הססמה + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + כשתיבה זו מסומנת, בדיקת אורך ססמה מתבצעת ולא תהיה לך אפשרות להשתמש בססמה חלשה. + + + + Require strong passwords. + לדרוש ססמאות חזקות. + + + Log in automatically without asking for the password. כניסה אוטומטית מבלי לבקש ססמה. - + Use the same password for the administrator account. להשתמש באותה הססמה עבור חשבון המנהל. - + Choose a password for the administrator account. בחירת ססמה עבור חשבון המנהל. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>עליך להקליד את אותה הססמה פעמיים כדי לאפשר זיהוי של שגיאות הקלדה.</small> @@ -2466,6 +2526,30 @@ Output: No description provided. לא סופק תיאור. + + + + + + + File not found + הקובץ לא נמצא + + + + Path <pre>%1</pre> must be an absolute path. + הנתיב <pre>%1</pre> חייב להיות נתיב מלא. + + + + Could not create new random file <pre>%1</pre>. + לא ניתן ליצור קובץ אקראי חדש <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + לא ניתן לקרוא קובץ אקראי <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Output: SetHostNameJob - + Set hostname %1 הגדרת שם מארח %1 - + Set hostname <strong>%1</strong>. הגדרת שם מארח <strong>%1</strong>. - + Setting hostname %1. שם העמדה %1 מוגדר. - - + + Internal Error שגיאה פנימית - - + + Cannot write hostname to target system כתיבת שם העמדה למערכת היעד נכשלה @@ -2899,22 +2983,22 @@ Output: עיגון מחיצת מערכת ההפעלה, rootMountPoint, היא %1 - + Cannot disable root account. לא ניתן לנטרל את חשבון המנהל root. - + passwd terminated with error code %1. passwd הסתיימה עם שגיאת קוד %1. - + Cannot set password for user %1. לא ניתן להגדיר סיסמה עבור משתמש %1. - + usermod terminated with error code %1. פקודת שינוי מאפייני המשתמש, usermod, נכשלה עם קוד יציאה %1. @@ -3101,43 +3185,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>אם מחשב זה מיועד לשימוש לטובת למעלה ממשתמש אחד, ניתן ליצור מגוון חשבונות לאחר ההתקנה.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>אם מחשב זה מיועד לשימוש לטובת למעלה ממשתמש אחד, ניתן ליצור מגוון חשבונות לאחר ההתקנה.</small> - + Your username is too long. שם המשתמש ארוך מדי. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - שם המחשב מכיל תווים בלתי תקינים. מותר להשתמש אך ורק באותיות ובמספרים. + + Your username must start with a lowercase letter or underscore. + שם המשתמש שלך חייב להתחיל באות קטנה או בקו תחתי. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + מותר להשתמש רק באותיות קטנות, ספרות, קווים תחתיים ומינוסים. + + + + Only letters, numbers, underscore and hyphen are allowed. + מותר להשתמש רק באותיות, ספרות, קווים תחתיים ומינוסים. + + + Your hostname is too short. שם המחשב קצר מדי. - + Your hostname is too long. שם המחשב ארוך מדי. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - שם המחשב מכיל תווים בלתי תקינים. מותר להשתמש אך ורק באותיות, במספרים ובמקפים. - - - - + Your passwords do not match! הססמאות לא תואמות! @@ -3145,7 +3233,7 @@ Output: UsersViewStep - + Users משתמשים diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index e4ed62440..df0b96eb8 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back वापस (&B) - + + &Next आगे (&N) - + + &Cancel रद्द करें (&C) - + Cancel setup without changing the system. सिस्टम में बदलाव किये बिना सेटअप रद्द करें। - + Cancel installation without changing the system. सिस्टम में बदलाव किये बिना इंस्टॉल रद्द करें। - + Setup Failed सेटअप विफल रहा - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares का आरंभीकरण विफल रहा - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 को इनस्टॉल नहीं किया जा सका। Calamares सभी विन्यस्त मापांकों को लोड करने में विफल रहा। यह आपके लिनक्स वितरण द्वारा Calamares के उपयोग से संबंधित एक समस्या है। - + <br/>The following modules could not be loaded: <br/>निम्नलिखित मापांक लोड नहीं हो सकें : - + Continue with installation? इंस्टॉल प्रक्रिया जारी रखें? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %2 सेटअप करने हेतु %1 सेटअप प्रोग्राम आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Set up now अभी सेटअप करें (&S) - + &Set up सेटअप करें (&S) - + &Install इंस्टॉल करें (&I) - + Setup is complete. Close the setup program. सेटअप पूर्ण हुआ। सेटअप प्रोग्राम बंद कर दें। - + Cancel setup? सेटअप रद्द करें? - + Cancel installation? इंस्टॉल रद्द करें? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. क्या आप वाकई वर्तमान सेटअप प्रक्रिया रद्द करना चाहते हैं? सेटअप प्रोग्राम बंद हो जाएगा व सभी बदलाव नष्ट। - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. क्या आप वाकई वर्तमान इंस्टॉल प्रक्रिया रद्द करना चाहते हैं? इंस्टॉलर बंद हो जाएगा व सभी बदलाव नष्ट। - - + + &Yes हाँ (&Y) - - + + &No नहीं (&N) - + &Close बंद करें (&C) - + Continue with setup? सेटअप करना जारी रखें? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %2 इंस्टॉल करने हेतु %1 इंस्टॉलर आपकी डिस्क में बदलाव करने वाला है।<br/><strong>आप इन बदलावों को पूर्ववत नहीं कर पाएंगे।</strong> - + &Install now अभी इंस्टॉल करें (&I) - + Go &back वापस जाएँ (&b) - + &Done हो गया (&D) - + The installation is complete. Close the installer. इंस्टॉल पूर्ण हुआ।अब इंस्टॉलर को बंद करें। - + Error त्रुटि - + Installation Failed इंस्टॉल विफल रहा @@ -838,17 +841,17 @@ The installer will quit and all changes will be lost. Sudoers डायरेक्टरी राइट करने योग्य नहीं है। - + Cannot create sudoers file for writing. राइट हेतु sudoers फ़ाइल नहीं बन सकती। - + Cannot chmod sudoers file. sudoers फ़ाइल chmod नहीं की जा सकती। - + Cannot open groups file for reading. रीड हेतु groups फ़ाइल खोली नहीं जा सकती। @@ -1582,6 +1585,24 @@ The installer will quit and all changes will be lost. विभाजन %1 पर LUKS कुंजी फ़ाइल को विन्यस्त कर सकता है। + + MachineIdJob + + + Generate machine-id. + मशीन-आईडी उत्पन्न करना। + + + + Configuration Error + विन्यास त्रुटि + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short कूटशब्द काफ़ी छोटा है - + Password is too long कूटशब्द काफ़ी लंबा है - + Password is too weak कूटशब्द काफ़ी कमज़ोर है - + Memory allocation error when setting '%1' '%1' सेट करते समय मेमोरी आवंटन त्रुटि - + Memory allocation error मेमोरी आवंटन त्रुटि - + The password is the same as the old one यह कूटशब्द पुराने वाला ही है - + The password is a palindrome कूटशब्द एक विलोमपद है - + The password differs with case changes only इसमें और पिछले कूटशब्द में केवल lower/upper case का फर्क है - + The password is too similar to the old one यह कूटशब्द पुराने वाले जैसा ही है - + The password contains the user name in some form इस कूटशब्द में किसी रूप में उपयोक्ता नाम है - + The password contains words from the real name of the user in some form इस कूटशब्द में किसी रूप में उपयोक्ता के असली नाम के शब्द शामिल है - + The password contains forbidden words in some form इस कूटशब्द में किसी रूप में वर्जित शब्द है - + The password contains less than %1 digits इस कूटशब्द में %1 से कम अंक हैं - + The password contains too few digits इस कूटशब्द में काफ़ी कम अंक हैं - + The password contains less than %1 uppercase letters इस कूटशब्द में %1 से कम uppercase अक्षर हैं - + The password contains too few uppercase letters इस कूटशब्द में काफ़ी कम uppercase अक्षर हैं - + The password contains less than %1 lowercase letters इस कूटशब्द में %1 से कम lowercase अक्षर हैं - + The password contains too few lowercase letters इस कूटशब्द में काफ़ी कम lowercase अक्षर हैं - + The password contains less than %1 non-alphanumeric characters इस कूटशब्द में %1 से कम ऐसे अक्षर हैं जो अक्षरांक नहीं हैं - + The password contains too few non-alphanumeric characters इस कूटशब्द में काफ़ी कम अक्षरांक हैं - + The password is shorter than %1 characters कूटशब्द %1 अक्षरों से छोटा है - + The password is too short कूटशब्द काफ़ी छोटा है - + The password is just rotated old one यह कूटशब्द पुराने वाला ही है, बस घुमा रखा है - + The password contains less than %1 character classes इस कूटशब्द में %1 से कम अक्षर classes हैं - + The password does not contain enough character classes इस कूटशब्द में नाकाफ़ी अक्षर classes हैं - + The password contains more than %1 same characters consecutively कूटशब्द में %1 से अधिक समान अक्षर लगातार हैं - + The password contains too many same characters consecutively कूटशब्द में काफ़ी ज्यादा समान अक्षर लगातार हैं - + The password contains more than %1 characters of the same class consecutively कूटशब्द में %1 से अधिक समान अक्षर classes लगातार हैं - + The password contains too many characters of the same class consecutively कूटशब्द में काफ़ी ज्यादा एक ही class के अक्षर लगातार हैं - + The password contains monotonic sequence longer than %1 characters कूटशब्द में %1 अक्षरों से लंबा monotonic अनुक्रम है - + The password contains too long of a monotonic character sequence कूटशब्द में काफ़ी बड़ा monotonic अनुक्रम है - + No password supplied कोई कूटशब्द नहीं दिया गया - + Cannot obtain random numbers from the RNG device RNG डिवाइस से यादृच्छिक अंक नहीं मिल सके - + Password generation failed - required entropy too low for settings कूटशब्द बनाना विफल रहा - सेटिंग्स के लिए आवश्यक एन्ट्रापी काफ़ी कम है - + The password fails the dictionary check - %1 कूटशब्द शब्दकोश की जाँच में विफल रहा - %1 - + The password fails the dictionary check कूटशब्द शब्दकोश की जाँच में विफल रहा - + Unknown setting - %1 अज्ञात सेटिंग- %1 - + Unknown setting अज्ञात सेटिंग - + Bad integer value of setting - %1 सेटिंग का गलत पूर्णांक मान - %1 - + Bad integer value गलत पूर्णांक मान - + Setting %1 is not of integer type सेटिंग %1 पूर्णांक नहीं है - + Setting is not of integer type सेटिंग पूर्णांक नहीं है - + Setting %1 is not of string type सेटिंग %1 स्ट्रिंग नहीं है - + Setting is not of string type सेटिंग स्ट्रिंग नहीं है - + Opening the configuration file failed विन्यास फ़ाइल खोलने में विफल - + The configuration file is malformed विन्यास फाइल ख़राब है - + Fatal failure गंभीर विफलता - + Unknown error अज्ञात त्रुटि @@ -1964,47 +1985,86 @@ The installer will quit and all changes will be lost. आपका नाम क्या है? - + What name do you want to use to log in? लॉग इन के लिए आप किस नाम का उपयोग करना चाहते हैं? - + Choose a password to keep your account safe. अपना अकाउंट सुरक्षित रखने हेतु कूटशब्द चुनें। - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>एक ही कूटशब्द दो बार दर्ज़ करें, ताकि उसे टाइप त्रुटि के लिए जांचा जा सके। एक उचित कूटशब्द में अक्षर, अंक व विराम चिन्हों का मेल होता है, उसमें कम-से-कम आठ अक्षर होने चाहिए, और उसे नियमित अंतराल पर बदलते रहना चाहिए।</small> - + What is the name of this computer? इस कंप्यूटर का नाम ? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>यदि आपका कंप्यूटर किसी नेटवर्क पर दृश्यमान होता है, तो यह नाम उपयोग किया जाएगा।</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. कूटशब्द पूछे बिना स्वतः लॉग इन करें। - + Use the same password for the administrator account. प्रबंधक अकाउंट के लिए भी यही कूटशब्द उपयोग करें। - + Choose a password for the administrator account. प्रबंधक अकाउंट हेतु कूटशब्द चुनें। - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>समान कूटशब्द दो बार दर्ज करें, ताकि जाँच की जा सके कि कहीं टाइपिंग त्रुटि तो नहीं है।</small> @@ -2465,6 +2525,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Output: SetHostNameJob - + Set hostname %1 होस्ट नाम %1 सेट करें। - + Set hostname <strong>%1</strong>. होस्ट नाम <strong>%1</strong> सेट करें। - + Setting hostname %1. होस्ट नाम %1 सेट हो रहा है। - - + + Internal Error आंतरिक त्रुटि - - + + Cannot write hostname to target system लक्षित सिस्टम पर होस्ट नाम लिखा नहीं जा सकता। @@ -2898,22 +2982,22 @@ Output: रूट माउंट पॉइंट %1 है - + Cannot disable root account. रुट अकाउंट निष्क्रिय नहीं किया जा सकता । - + passwd terminated with error code %1. passwd त्रुटि कोड %1 के साथ समाप्त। - + Cannot set password for user %1. उपयोक्ता %1 हेतु पासवर्ड सेट नहीं किया जा सकता। - + usermod terminated with error code %1. usermod त्रुटि कोड %1 के साथ समाप्त। @@ -3100,43 +3184,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप सेटअप के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप इंस्टॉल के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> - + Your username is too long. आपका उपयोक्ता नाम काफ़ी लंबा है। - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - आपके होस्ट नाम में अमान्य अक्षर हैं । केवल lowercase अक्षरों व संख्याओं की अनुमति है । + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. आपका होस्ट नाम काफ़ी छोटा है। - + Your hostname is too long. आपका होस्ट नाम काफ़ी लंबा है। - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - आपके होस्ट नाम में अमान्य अक्षर हैं । केवल अक्षरों, संख्याओं व dash की अनुमति है । - - - - + Your passwords do not match! आपके कूटशब्द मेल नहीं खाते! @@ -3144,7 +3232,7 @@ Output: UsersViewStep - + Users उपयोक्ता diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index f79ac5427..a0604ca08 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Natrag - + + &Next &Sljedeće - + + &Cancel &Odustani - + Cancel setup without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Cancel installation without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Setup Failed Instalacija nije uspjela - + Would you like to paste the install log to the web? Želite li objaviti dnevnik instaliranja na web? - + Install Log Paste URL URL za objavu dnevnika instaliranja - + The upload was unsuccessful. No web-paste was done. Objava dnevnika instaliranja na web nije uspjela. - + Calamares Initialization Failed Inicijalizacija Calamares-a nije uspjela - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 se ne može se instalirati. Calamares nije mogao učitati sve konfigurirane module. Ovo je problem s načinom na koji se Calamares koristi u distribuciji. - + <br/>The following modules could not be loaded: <br/>Sljedeći moduli se nisu mogli učitati: - + Continue with installation? Nastaviti sa instalacijom? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Instalacijski program %1 će izvršiti promjene na vašem disku kako bi postavio %2. <br/><strong>Ne možete poništiti te promjene.</strong> - + &Set up now &Postaviti odmah - + &Set up &Postaviti - + &Install &Instaliraj - + Setup is complete. Close the setup program. Instalacija je završena. Zatvorite instalacijski program. - + Cancel setup? Prekinuti instalaciju? - + Cancel installation? Prekinuti instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - - + + &Yes &Da - - + + &No &Ne - + &Close &Zatvori - + Continue with setup? Nastaviti s postavljanjem? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalacijski program će napraviti promjene na disku kako bi instalirao %2.<br/><strong>Nećete moći vratiti te promjene.</strong> - + &Install now &Instaliraj sada - + Go &back Idi &natrag - + &Done &Gotovo - + The installation is complete. Close the installer. Instalacija je završena. Zatvorite instalacijski program. - + Error Greška - + Installation Failed Instalacija nije uspjela @@ -839,17 +842,17 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Po sudoers direktoriju nije moguće spremati. - + Cannot create sudoers file for writing. Ne mogu stvoriti sudoers datoteku za pisanje. - + Cannot chmod sudoers file. Ne mogu chmod sudoers datoteku. - + Cannot open groups file for reading. Ne mogu otvoriti groups datoteku za čitanje. @@ -1583,6 +1586,24 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Moguće je konfigurirati LUKS ključnu datoteku na particiji %1. + + MachineIdJob + + + Generate machine-id. + Generiraj ID računala. + + + + Configuration Error + Greška konfiguracije + + + + No root mount point is set for MachineId. + Nijedna točka montiranja nije postavljena za MachineId. + + NetInstallPage @@ -1653,242 +1674,242 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. PWQ - + Password is too short Lozinka je prekratka - + Password is too long Lozinka je preduga - + Password is too weak Lozinka je preslaba - + Memory allocation error when setting '%1' Pogreška u dodjeli memorije prilikom postavljanja '%1' - + Memory allocation error Pogreška u dodjeli memorije - + The password is the same as the old one Lozinka je ista prethodnoj - + The password is a palindrome Lozinka je palindrom - + The password differs with case changes only Lozinka se razlikuje samo u promjenama velikog i malog slova - + The password is too similar to the old one Lozinka je slična prethodnoj - + The password contains the user name in some form Lozinka u nekoj formi sadrži korisničko ime - + The password contains words from the real name of the user in some form Lozinka u nekoj formi sadrži stvarno ime korisnika - + The password contains forbidden words in some form Lozinka u nekoj formi sadrži zabranjene rijeći - + The password contains less than %1 digits Lozinka sadrži manje od %1 brojeva - + The password contains too few digits Lozinka sadrži premalo brojeva - + The password contains less than %1 uppercase letters Lozinka sadrži manje od %1 velikih slova - + The password contains too few uppercase letters Lozinka sadrži premalo velikih slova - + The password contains less than %1 lowercase letters Lozinka sadrži manje od %1 malih slova - + The password contains too few lowercase letters Lozinka sadrži premalo malih slova - + The password contains less than %1 non-alphanumeric characters Lozinka sadrži manje od %1 ne-alfanumeričkih znakova. - + The password contains too few non-alphanumeric characters Lozinka sadrži premalo ne-alfanumeričkih znakova - + The password is shorter than %1 characters Lozinka je kraća od %1 znakova - + The password is too short Lozinka je prekratka - + The password is just rotated old one Lozinka je jednaka rotiranoj prethodnoj - + The password contains less than %1 character classes Lozinka sadrži manje od %1 razreda znakova - + The password does not contain enough character classes Lozinka ne sadrži dovoljno razreda znakova - + The password contains more than %1 same characters consecutively Lozinka sadrži više od %1 uzastopnih znakova - + The password contains too many same characters consecutively Lozinka sadrži previše uzastopnih znakova - + The password contains more than %1 characters of the same class consecutively Lozinka sadrži više od %1 uzastopnih znakova iz istog razreda - + The password contains too many characters of the same class consecutively Lozinka sadrži previše uzastopnih znakova iz istog razreda - + The password contains monotonic sequence longer than %1 characters Lozinka sadrži monotonu sekvencu dužu od %1 znakova - + The password contains too long of a monotonic character sequence Lozinka sadrži previše monotonu sekvencu znakova - + No password supplied Nema isporučene lozinke - + Cannot obtain random numbers from the RNG device Ne mogu dobiti slučajne brojeve od RNG uređaja - + Password generation failed - required entropy too low for settings Generiranje lozinke nije uspjelo - potrebna entropija je premala za postavke - + The password fails the dictionary check - %1 Nije uspjela provjera rječnika za lozinku - %1 - + The password fails the dictionary check Nije uspjela provjera rječnika za lozinku - + Unknown setting - %1 Nepoznate postavke - %1 - + Unknown setting Nepoznate postavke - + Bad integer value of setting - %1 Loša cjelobrojna vrijednost postavke - %1 - + Bad integer value Loša cjelobrojna vrijednost - + Setting %1 is not of integer type Postavka %1 nije cjelobrojnog tipa - + Setting is not of integer type Postavka nije cjelobrojnog tipa - + Setting %1 is not of string type Postavka %1 nije tipa znakovnog niza - + Setting is not of string type Postavka nije tipa znakovnog niza - + Opening the configuration file failed Nije uspjelo otvaranje konfiguracijske datoteke - + The configuration file is malformed Konfiguracijska datoteka je oštećena - + Fatal failure Fatalna pogreška - + Unknown error Nepoznata greška @@ -1965,47 +1986,86 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Koje je tvoje ime? - + What name do you want to use to log in? Koje ime želite koristiti za prijavu? - + Choose a password to keep your account safe. Odaberite lozinku da bi račun bio siguran. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Unesite istu lozinku dvaput, tako da bi se provjerile eventualne pogreške prilikom upisa. Dobra lozinka sadrži kombinaciju slova, brojki i interpunkcija, trebala bi biti dugačka najmanje osam znakova i trebala bi se mijenjati u redovitim intervalima.</small> - + What is the name of this computer? Koje je ime ovog računala? - + + Your Full Name + Vaše puno ime + + + + login + prijava + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Ovo ime će se koristiti ako odaberete da je računalo vidljivo ostalim korisnicima na mreži.</small> - + + Computer Name + Ime računala + + + + + Password + Lozinka + + + + + Repeat Password + Ponovite lozinku + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Kad je ovaj okvir potvrđen, bit će napravljena provjera jakosti lozinke te nećete moći koristiti slabu lozinku. + + + + Require strong passwords. + Zahtijeva snažne lozinke. + + + Log in automatically without asking for the password. Automatska prijava bez traženja lozinke. - + Use the same password for the administrator account. Koristi istu lozinku za administratorski račun. - + Choose a password for the administrator account. Odaberi lozinku za administratorski račun. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Unesite istu lozinku dvaput, tako da bi se provjerile eventualne pogreške prilikom upisa.</small> @@ -2466,6 +2526,30 @@ Izlaz: No description provided. Nije naveden opis. + + + + + + + File not found + Datoteka nije pronađena + + + + Path <pre>%1</pre> must be an absolute path. + Putanja <pre>%1</pre> mora biti apsolutna putanja. + + + + Could not create new random file <pre>%1</pre>. + Ne mogu stvoriti slučajnu datoteku <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + Ne mogu pročitati slučajnu datoteku <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Izlaz: SetHostNameJob - + Set hostname %1 Postavi ime računala %1 - + Set hostname <strong>%1</strong>. Postavi ime računala <strong>%1</strong>. - + Setting hostname %1. Postavljam ime računala %1. - - + + Internal Error Unutarnja pogreška - - + + Cannot write hostname to target system Ne mogu zapisati ime računala na ciljni sustav. @@ -2899,22 +2983,22 @@ Izlaz: Root točka montiranja je %1 - + Cannot disable root account. Ne mogu onemogućiti root račun. - + passwd terminated with error code %1. passwd je prekinut s greškom %1. - + Cannot set password for user %1. Ne mogu postaviti lozinku za korisnika %1. - + usermod terminated with error code %1. usermod je prekinut s greškom %1. @@ -3101,43 +3185,47 @@ Izlaz: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Ako će više osoba koristiti ovo računalo, možete postaviti više korisničkih računa poslije instalacije.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Ako će više osoba koristiti ovo računalo, možete postaviti više korisničkih računa poslije instalacije.</small> - + Your username is too long. Vaše korisničko ime je predugačko. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Korisničko ime sadržava nedozvoljene znakove. Dozvoljena su samo mala slova i brojevi. + + Your username must start with a lowercase letter or underscore. + Vaše korisničko ime mora započeti malim slovom ili podvlakom. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Dopuštena su samo mala slova, brojevi, podvlake i crtice. + + + + Only letters, numbers, underscore and hyphen are allowed. + Dopuštena su samo slova, brojevi, podvlake i crtice. + + + Your hostname is too short. Ime računala je kratko. - + Your hostname is too long. Ime računala je predugačko. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Ime računala sadrži nedozvoljene znakove. Samo slova, brojevi i crtice su dozvoljene. - - - - + Your passwords do not match! Lozinke se ne podudaraju! @@ -3145,7 +3233,7 @@ Izlaz: UsersViewStep - + Users Korisnici diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 7bc628a70..b3afa208b 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Vissza - + + &Next &Következő - + + &Cancel &Mégse - + Cancel setup without changing the system. Telepítés megszakítása a rendszer módosítása nélkül. - + Cancel installation without changing the system. Kilépés a telepítőből a rendszer megváltoztatása nélkül. - + Setup Failed Telepítési hiba - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed A Calamares előkészítése meghiúsult - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. A(z) %1 nem telepíthető. A Calamares nem tudta betölteni a konfigurált modulokat. Ez a probléma abból fakad, ahogy a disztribúció a Calamarest használja. - + <br/>The following modules could not be loaded: <br/>A következő modulok nem tölthetőek be: - + Continue with installation? Folytatja a telepítést? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog végrehajtani a lemezen a %2 telepítéséhez. <br/><strong>Ezután már nem tudja visszavonni a változtatásokat.</strong> - + &Set up now &Telepítés most - + &Set up &Telepítés - + &Install &Telepítés - + Setup is complete. Close the setup program. Telepítés sikerült. Zárja be a telepítőt. - + Cancel setup? Megszakítja a telepítést? - + Cancel installation? Abbahagyod a telepítést? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Valóban megszakítod a telepítési eljárást? A telepítő ki fog lépni és minden változtatás elveszik. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Biztos abba szeretnéd hagyni a telepítést? Minden változtatás elveszik, ha kilépsz a telepítőből. - - + + &Yes &Igen - - + + &No &Nem - + &Close &Bezár - + Continue with setup? Folytatod a telepítéssel? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog elvégezni, hogy telepítse a következőt: %2.<br/><strong>A változtatások visszavonhatatlanok lesznek.</strong> - + &Install now &Telepítés most - + Go &back Menj &vissza - + &Done &Befejez - + The installation is complete. Close the installer. A telepítés befejeződött, Bezárhatod a telepítőt. - + Error Hiba - + Installation Failed Telepítés nem sikerült @@ -838,17 +841,17 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Sudoers mappa nem írható. - + Cannot create sudoers file for writing. Nem lehet sudoers fájlt létrehozni írásra. - + Cannot chmod sudoers file. Nem lehet a sudoers fájlt "chmod" -olni. - + Cannot open groups file for reading. Nem lehet a groups fájlt megnyitni olvasásra. @@ -1582,6 +1585,24 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Nem sikerült beállítani a LUKS kulcs fájlt a %1 root partíción. + + MachineIdJob + + + Generate machine-id. + Gépazonosító előállítása. + + + + Configuration Error + Konfigurációs hiba + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. PWQ - + Password is too short Túl rövid jelszó - + Password is too long Túl hosszú jelszó - + Password is too weak A jelszó túl gyenge - + Memory allocation error when setting '%1' Memóriafoglalási hiba a(z) „%1” beállításakor - + Memory allocation error Memóriafoglalási hiba - + The password is the same as the old one A jelszó ugyanaz, mint a régi - + The password is a palindrome A jelszó egy palindrom - + The password differs with case changes only A jelszó csak kis- és nagybetűben tér el - + The password is too similar to the old one A jelszó túlságosan hasonlít a régire - + The password contains the user name in some form A jelszó tartalmazza felhasználónevet valamilyen formában - + The password contains words from the real name of the user in some form A jelszó tartalmazza a felhasználó valódi nevét valamilyen formában - + The password contains forbidden words in some form A jelszó tiltott szavakat tartalmaz valamilyen formában - + The password contains less than %1 digits A jelszó kevesebb mint %1 számjegyet tartalmaz - + The password contains too few digits A jelszó túl kevés számjegyet tartalmaz - + The password contains less than %1 uppercase letters A jelszó kevesebb mint %1 nagybetűt tartalmaz - + The password contains too few uppercase letters A jelszó túl kevés nagybetűt tartalmaz - + The password contains less than %1 lowercase letters A jelszó kevesebb mint %1 kisbetűt tartalmaz - + The password contains too few lowercase letters A jelszó túl kevés kisbetűt tartalmaz - + The password contains less than %1 non-alphanumeric characters A jelszó kevesebb mint %1 nem alfanumerikus karaktert tartalmaz - + The password contains too few non-alphanumeric characters A jelszó túl kevés nem alfanumerikus karaktert tartalmaz - + The password is shorter than %1 characters A jelszó rövidebb mint %1 karakter - + The password is too short A jelszó túl rövid - + The password is just rotated old one A jelszó egy újra felhasznált régi jelszó - + The password contains less than %1 character classes A jelszó kevesebb mint %1 karaktert tartalmaz - + The password does not contain enough character classes A jelszó nem tartalmaz elég karakterosztályt - + The password contains more than %1 same characters consecutively A jelszó több mint %1 egyező karaktert tartalmaz egymás után - + The password contains too many same characters consecutively A jelszó túl sok egyező karaktert tartalmaz egymás után - + The password contains more than %1 characters of the same class consecutively A jelszó több mint %1 karaktert tartalmaz ugyanabból a karakterosztályból egymás után - + The password contains too many characters of the same class consecutively A jelszó túl sok karaktert tartalmaz ugyanabból a karakterosztályból egymás után - + The password contains monotonic sequence longer than %1 characters A jelszó %1 karakternél hosszabb monoton sorozatot tartalmaz - + The password contains too long of a monotonic character sequence A jelszó túl hosszú monoton karaktersorozatot tartalmaz - + No password supplied Nincs jelszó megadva - + Cannot obtain random numbers from the RNG device Nem nyerhetőek ki véletlenszámok az RNG eszközből - + Password generation failed - required entropy too low for settings A jelszó előállítás meghiúsult – a szükséges entrópia túl alacsony a beállításokhoz - + The password fails the dictionary check - %1 A jelszó megbukott a szótárellenőrzésen – %1 - + The password fails the dictionary check A jelszó megbukott a szótárellenőrzésen - + Unknown setting - %1 Ismeretlen beállítás – %1 - + Unknown setting Ismeretlen beállítás - + Bad integer value of setting - %1 Hibás egész érték a beállításnál – %1 - + Bad integer value Hibás egész érték - + Setting %1 is not of integer type A(z) %1 beállítás nem egész típusú - + Setting is not of integer type A beállítás nem egész típusú - + Setting %1 is not of string type A(z) %1 beállítás nem karakterlánc típusú - + Setting is not of string type A beállítás nem karakterlánc típusú - + Opening the configuration file failed A konfigurációs fájl megnyitása meghiúsult - + The configuration file is malformed A konfigurációs fájl rosszul formázott - + Fatal failure Végzetes hiba - + Unknown error Ismeretlen hiba @@ -1964,47 +1985,86 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Mi a neved? - + What name do you want to use to log in? Milyen felhasználónévvel szeretnél bejelentkezni? - + Choose a password to keep your account safe. Adj meg jelszót a felhasználói fiókod védelmére. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Írd be a jelszót kétszer így ellenőrizve lesznek a gépelési hibák. A jó jelszó tartalmazzon kis és nagy betűket, számokat és legalább 8 karakter hosszúságú. Ajánlott megváltoztatni rendszeres időközönként.</small> - + What is the name of this computer? Mi legyen a számítógép neve? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Ez a név lesz használva ha a számítógép látható a hálózaton.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Jelszó megkérdezése nélküli automatikus bejelentkezés. - + Use the same password for the administrator account. Ugyanaz a jelszó használata az adminisztrátor felhasználóhoz. - + Choose a password for the administrator account. Adj meg jelszót az adminisztrátor felhasználói fiókhoz. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Írd be a jelszót kétszer így ellenőrizve lesznek a gépelési hibák.</small> @@ -2465,6 +2525,30 @@ Kimenet: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l SetHostNameJob - + Set hostname %1 Hálózati név beállítása a %1 -en - + Set hostname <strong>%1</strong>. Hálózati név beállítása a következőhöz: <strong>%1</strong>. - + Setting hostname %1. Hálózati név beállítása a %1 -hez - - + + Internal Error Belső hiba - - + + Cannot write hostname to target system Nem lehet a hálózati nevet írni a célrendszeren @@ -2899,22 +2983,22 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l rootMountPoint is %1 - + Cannot disable root account. A root account- ot nem lehet inaktiválni. - + passwd terminated with error code %1. passwd megszakítva %1 hibakóddal. - + Cannot set password for user %1. Nem lehet a %1 felhasználó jelszavát beállítani. - + usermod terminated with error code %1. usermod megszakítva %1 hibakóddal. @@ -3102,43 +3186,47 @@ Calamares hiba %1. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Ha egynél több személy használja a számítógépet akkor létrehozhat több felhasználói fiókot telepítés után.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Ha egynél több személy használja a számítógépet akkor létrehozhat több felhasználói fiókot telepítés után.</small> - + Your username is too long. A felhasználónév túl hosszú. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - A felhasználónév érvénytelen karaktereket tartalmaz. Csak kis kezdőbetűk és számok érvényesek. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. A hálózati név túl rövid. - + Your hostname is too long. A hálózati név túl hosszú. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - A hálózati név érvénytelen karaktereket tartalmaz. Csak betűk, számok és kötőjel érvényes. - - - - + Your passwords do not match! A két jelszó nem egyezik! @@ -3146,7 +3234,7 @@ Calamares hiba %1. UsersViewStep - + Users Felhasználók diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index 88a225a89..fa8dbb84c 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Kembali - + + &Next &Berikutnya - + + &Cancel &Batal - + Cancel setup without changing the system. - + Cancel installation without changing the system. Batalkan instalasi tanpa mengubah sistem yang ada. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Inisialisasi Calamares Gagal - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 tidak dapat terinstal. Calamares tidak dapat memuat seluruh modul konfigurasi. Terdapat masalah dengan Calamares karena sedang digunakan oleh distribusi. - + <br/>The following modules could not be loaded: <br/>Modul berikut tidak dapat dimuat. - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Instal - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Batalkan instalasi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Apakah Anda benar-benar ingin membatalkan proses instalasi ini? Instalasi akan ditutup dan semua perubahan akan hilang. - - + + &Yes &Ya - - + + &No &Tidak - + &Close &Tutup - + Continue with setup? Lanjutkan dengan setelan ini? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Installer %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong> - + &Install now &Instal sekarang - + Go &back &Kembali - + &Done &Kelar - + The installation is complete. Close the installer. Instalasi sudah lengkap. Tutup installer. - + Error Kesalahan - + Installation Failed Instalasi Gagal @@ -837,17 +840,17 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Direktori sudoers tidak dapat ditulis. - + Cannot create sudoers file for writing. Tidak dapat membuat berkas sudoers untuk ditulis. - + Cannot chmod sudoers file. Tidak dapat chmod berkas sudoers. - + Cannot open groups file for reading. Tidak dapat membuka berkas groups untuk dibaca. @@ -1581,6 +1584,24 @@ Instalasi akan ditutup dan semua perubahan akan hilang. + + MachineIdJob + + + Generate machine-id. + Menghasilkan machine-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Instalasi akan ditutup dan semua perubahan akan hilang. PWQ - + Password is too short Kata sandi terlalu pendek - + Password is too long Kata sandi terlalu panjang - + Password is too weak kata sandi terlalu lemah - + Memory allocation error when setting '%1' Kesalahan alokasi memori saat menyetel '%1' - + Memory allocation error Kesalahan alokasi memori - + The password is the same as the old one Kata sandi sama dengan yang lama - + The password is a palindrome Kata sandi palindrom - + The password differs with case changes only Kata sandi berbeda hanya dengan perubahan huruf saja - + The password is too similar to the old one Kata sandi terlalu mirip dengan yang lama - + The password contains the user name in some form Kata sandi berisi nama pengguna dalam beberapa form - + The password contains words from the real name of the user in some form Kata sandi berisi kata-kata dari nama asli pengguna dalam beberapa form - + The password contains forbidden words in some form Password mengandung kata yang dilarang pada beberapa bagian form - + The password contains less than %1 digits Password setidaknya berisi 1 digit karakter - + The password contains too few digits Kata sandi terkandung terlalu sedikit digit - + The password contains less than %1 uppercase letters Kata sandi terkandung kurang dari %1 huruf besar - + The password contains too few uppercase letters Kata sandi terkandung terlalu sedikit huruf besar - + The password contains less than %1 lowercase letters Kata sandi terkandung kurang dari %1 huruf kecil - + The password contains too few lowercase letters Kata sandi terkandung terlalu sedikit huruf kecil - + The password contains less than %1 non-alphanumeric characters Kata sandi terkandung kurang dari %1 karakter non-alfanumerik - + The password contains too few non-alphanumeric characters Kata sandi terkandung terlalu sedikit non-alfanumerik - + The password is shorter than %1 characters Kata sandi terlalu pendek dari %1 karakter - + The password is too short Password terlalu pendek - + The password is just rotated old one Kata sandi hanya terotasi satu kali - + The password contains less than %1 character classes Kata sandi terkandung kurang dari %1 kelas karakter - + The password does not contain enough character classes Kata sandi tidak terkandung kelas karakter yang cukup - + The password contains more than %1 same characters consecutively Kata sandi terkandung lebih dari %1 karakter berurutan yang sama - + The password contains too many same characters consecutively Kata sandi terkandung terlalu banyak karakter berurutan yang sama - + The password contains more than %1 characters of the same class consecutively Kata sandi terkandung lebih dari %1 karakter dari kelas berurutan yang sama - + The password contains too many characters of the same class consecutively Kata sandi terkandung terlalu banyak karakter dari kelas berurutan yang sama - + The password contains monotonic sequence longer than %1 characters Kata sandi terkandung rangkaian monoton yang lebih panjang dari %1 karakter - + The password contains too long of a monotonic character sequence Kata sandi terkandung rangkaian karakter monoton yang panjang - + No password supplied Tidak ada kata sandi yang dipasok - + Cannot obtain random numbers from the RNG device Tidak dapat memperoleh angka acak dari piranti RNG - + Password generation failed - required entropy too low for settings Penghasilan kata sandi gagal - entropi yang diperlukan terlalu rendah untuk pengaturan - + The password fails the dictionary check - %1 Kata sandi gagal memeriksa kamus - %1 - + The password fails the dictionary check Kata sandi gagal memeriksa kamus - + Unknown setting - %1 Pengaturan tidak diketahui - %1 - + Unknown setting pengaturan tidak diketahui - + Bad integer value of setting - %1 Nilai bilangan bulat buruk dari pengaturan - %1 - + Bad integer value Nilai integer jelek - + Setting %1 is not of integer type Pengaturan %1 tidak termasuk tipe integer - + Setting is not of integer type Pengaturan tidak termasuk tipe integer - + Setting %1 is not of string type Pengaturan %1 tidak termasuk tipe string - + Setting is not of string type Pengaturan tidak termasuk tipe string - + Opening the configuration file failed Ada kesalahan saat membuka berkas konfigurasi - + The configuration file is malformed Kesalahan format pada berkas konfigurasi - + Fatal failure Kegagalan fatal - + Unknown error Ada kesalahan yang tidak diketahui @@ -1963,47 +1984,86 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Siapa nama Anda? - + What name do you want to use to log in? Nama apa yang ingin Anda gunakan untuk log in? - + Choose a password to keep your account safe. Pilih sebuah kata sandi untuk menjaga keamanan akun Anda. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Ketik kata sandi yang sama dua kali, supaya kesalahan pengetikan dapat diketahui. Sebuah kata sandi yang bagus berisi campuran dari kata, nomor dan tanda bada, sebaiknya memiliki panjang paling sedikit delapan karakter, dan sebaiknya diganti dalam interval yang teratur.</small> - + What is the name of this computer? Apakah nama dari komputer ini? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Nama ini akan digunakan jika anda membuat komputer ini terlihat oleh orang lain dalam sebuah jaringan.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Log in otomatis tanpa menanyakan sandi. - + Use the same password for the administrator account. Gunakan sandi yang sama untuk akun administrator. - + Choose a password for the administrator account. Pilih sebuah kata sandi untuk akun administrator. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Ketik kata sandi yang sama dua kali, supaya kesalahan pengetikan dapat diketahui.</small> @@ -2464,6 +2524,30 @@ Keluaran: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. SetHostNameJob - + Set hostname %1 Pengaturan hostname %1 - + Set hostname <strong>%1</strong>. Atur hostname <strong>%1</strong>. - + Setting hostname %1. Mengatur hostname %1. - - + + Internal Error Kesalahan Internal - - + + Cannot write hostname to target system Tidak dapat menulis nama host untuk sistem target @@ -2899,22 +2983,22 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.rootMountPoint adalah %1 - + Cannot disable root account. Tak bisa menonfungsikan akun root. - + passwd terminated with error code %1. passwd terhenti dengan kode galat %1. - + Cannot set password for user %1. Tidak dapat menyetel sandi untuk pengguna %1. - + usermod terminated with error code %1. usermod dihentikan dengan kode kesalahan %1. @@ -3101,43 +3185,47 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Nama pengguna Anda terlalu panjang. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Nama pengguna Anda berisi karakter yang tidak sah. Hanya huruf kecil dan angka yang diperbolehkan. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Hostname Anda terlalu pendek. - + Your hostname is too long. Hostname Anda terlalu panjang. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Hostname Anda berisi karakter yang tidak sah. Hanya huruf kecil, angka, dan strip yang diperbolehkan. - - - - + Your passwords do not match! Sandi Anda tidak sama! @@ -3145,7 +3233,7 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. UsersViewStep - + Users Pengguna diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 874e9adcb..2b2437a14 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Til baka - + + &Next &Næst - + + &Cancel &Hætta við - + Cancel setup without changing the system. - + Cancel installation without changing the system. Hætta við uppsetningu ánþess að breyta kerfinu. - + Setup Failed Uppsetning mistókst - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares uppsetning mistókst - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? Halda áfram með uppsetningu? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now &Setja upp núna - + &Set up &Setja upp - + &Install &Setja upp - + Setup is complete. Close the setup program. - + Cancel setup? Hætta við uppsetningu? - + Cancel installation? Hætta við uppsetningu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Viltu virkilega að hætta við núverandi uppsetningarferli? Uppsetningarforritið mun hætta og allar breytingar tapast. - - + + &Yes &Já - - + + &No &Nei - + &Close &Loka - + Continue with setup? Halda áfram með uppsetningu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 uppsetningarforritið er um það bil að gera breytingar á diskinum til að setja upp %2.<br/><strong>Þú munt ekki geta afturkallað þessar breytingar.</strong> - + &Install now Setja &inn núna - + Go &back Fara til &baka - + &Done &Búið - + The installation is complete. Close the installer. Uppsetning er lokið. Lokaðu uppsetningarforritinu. - + Error Villa - + Installation Failed Uppsetning mistókst @@ -837,17 +840,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Sudoers dir er ekki skrifanleg. - + Cannot create sudoers file for writing. Get ekki búið til sudoers skrá til að lesa. - + Cannot chmod sudoers file. Get ekki chmod sudoers skrá. - + Cannot open groups file for reading. Get ekki opnað hópa skrá til að lesa. @@ -1581,6 +1584,24 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. PWQ - + Password is too short Lykilorðið þitt er of stutt - + Password is too long Lykilorðið þitt er of langt - + Password is too weak Lykilorðið þitt er of veikt - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short Lykilorðið er of stutt - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error Óþekkt villa @@ -1963,47 +1984,86 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Hvað heitir þú? - + What name do you want to use to log in? Hvaða nafn vilt þú vilt nota til að skrá þig inn? - + Choose a password to keep your account safe. Veldu lykilorð til að halda reikningnum þínum öruggum. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Sláðu inn sama lykilorðið tvisvar, þannig að það geta verið athugað fyrir innsláttarvillur. Góð lykilorð mun innihalda blöndu af stöfum, númerum og greinarmerki, ætti að vera að minnsta kosti átta stafir að lengd, og ætti að vera breytt með reglulegu millibili.</small> - + What is the name of this computer? Hvað er nafnið á þessari tölvu? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Þetta nafn verður notað ef þú gerir tölvuna sýnilega öðrum á neti.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Skrá inn sjálfkrafa án þess að biðja um lykilorð. - + Use the same password for the administrator account. Nota sama lykilorð fyrir kerfisstjóra reikning. - + Choose a password for the administrator account. Veldu lykilorð fyrir kerfisstjóra reikning. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Sláðu sama lykilorð tvisvar, þannig að það er hægt að yfirfara innsláttarvillur.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 Setja vélarheiti %1 - + Set hostname <strong>%1</strong>. Setja vélarheiti <strong>%1</strong>. - + Setting hostname %1. Stilla vélarheiti %1. - - + + Internal Error Innri Villa - - + + Cannot write hostname to target system @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. Ekki er hægt að aftengja kerfisstjóra reikning. - + passwd terminated with error code %1. - + Cannot set password for user %1. Get ekki sett lykilorð fyrir notanda %1. - + usermod terminated with error code %1. usermod endaði með villu kóðann %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Notandanafnið þitt er of langt. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Notandanafnið þitt inniheldur ógilda stafi. Aðeins lágstöfum og númer eru leyfð. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Notandanafnið þitt er of stutt. - + Your hostname is too long. Notandanafnið þitt er of langt. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! Lykilorð passa ekki! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users Notendur diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 136d33c3e..adb4db93f 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Indietro - + + &Next &Avanti - + + &Cancel &Annulla - + Cancel setup without changing the system. Annulla l'installazione senza modificare il computer - + Cancel installation without changing the system. Annullare l'installazione senza modificare il sistema. - + Setup Failed Installazione fallita - + Would you like to paste the install log to the web? Vuoi incollare il log di installazione nel web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Inizializzazione di Calamares Fallita - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 non può essere installato. Calamares non è stato in grado di caricare tutti i moduli configurati. Questo è un problema del modo in cui Calamares viene utilizzato dalla distribuzione. - + <br/>The following modules could not be loaded: <br/>Non è stato possibile caricare il seguente modulo: - + Continue with installation? Continuare l'installazione? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Il %1 programma di installazione sta per fare dei cambiamenti sul tuo disco per installare %2. Non sarà possibile annullare questi cambiamenti. - + &Set up now &Installa adesso - + &Set up &Installazione - + &Install &Installa - + Setup is complete. Close the setup program. Installazione completata. Chiudere il programma di installazione. - + Cancel setup? Annullare l'installazione? - + Cancel installation? Annullare l'installazione? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Vuoi davvero annullare il processo di installazione? Il programma di installazione verrrà terminato e tutti i cambiamenti verranno persi. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Si vuole davvero annullare l'installazione in corso? Il programma d'installazione sarà terminato e tutte le modifiche andranno perse. - - + + &Yes &Si - - + + &No &No - + &Close &Chiudi - + Continue with setup? Procedere con la configurazione? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Il programma d'nstallazione %1 sta per eseguire delle modifiche al tuo disco per poter installare %2.<br/><strong> Non sarà possibile annullare tali modifiche.</strong> - + &Install now &Installa adesso - + Go &back &Indietro - + &Done &Fatto - + The installation is complete. Close the installer. L'installazione è terminata. Chiudere il programma d'installazione. - + Error Errore - + Installation Failed Installazione non riuscita @@ -837,17 +840,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno La cartella sudoers non è scrivibile. - + Cannot create sudoers file for writing. Impossibile creare il file sudoers in scrittura. - + Cannot chmod sudoers file. Impossibile eseguire chmod sul file sudoers. - + Cannot open groups file for reading. Impossibile aprire il file groups in lettura. @@ -1581,6 +1584,24 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno + + MachineIdJob + + + Generate machine-id. + Genera machine-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno PWQ - + Password is too short Password troppo corta - + Password is too long Password troppo lunga - + Password is too weak Password troppo debole - + Memory allocation error when setting '%1' Errore di allocazione della memoria quando si imposta '%1' - + Memory allocation error Errore di allocazione di memoria - + The password is the same as the old one La password coincide con la precedente - + The password is a palindrome La password è un palindromo - + The password differs with case changes only La password differisce solo per lettere minuscole e maiuscole - + The password is too similar to the old one La password è troppo simile a quella precedente - + The password contains the user name in some form La password contiene il nome utente in qualche campo - + The password contains words from the real name of the user in some form La password contiene parti del nome utente reale in qualche campo - + The password contains forbidden words in some form La password contiene parole vietate in alcuni campi - + The password contains less than %1 digits La password contiene meno di %1 cifre - + The password contains too few digits La password contiene poche cifre - + The password contains less than %1 uppercase letters La password contiene meno di %1 lettere maiuscole - + The password contains too few uppercase letters La password contiene poche lettere maiuscole - + The password contains less than %1 lowercase letters La password contiene meno di %1 lettere minuscole - + The password contains too few lowercase letters La password contiene poche lettere minuscole - + The password contains less than %1 non-alphanumeric characters La password contiene meno di %1 caratteri non alfanumerici - + The password contains too few non-alphanumeric characters La password contiene pochi caratteri non alfanumerici - + The password is shorter than %1 characters La password ha meno di %1 caratteri - + The password is too short La password è troppo corta - + The password is just rotated old one La password è solo una rotazione della precedente - + The password contains less than %1 character classes La password contiene meno di %1 classi di caratteri - + The password does not contain enough character classes La password non contiene classi di caratteri sufficienti - + The password contains more than %1 same characters consecutively La password contiene più di %1 caratteri uguali consecutivi - + The password contains too many same characters consecutively La password contiene troppi caratteri uguali consecutivi - + The password contains more than %1 characters of the same class consecutively La password contiene più di %1 caratteri consecutivi della stessa classe - + The password contains too many characters of the same class consecutively La password contiene molti caratteri consecutivi della stessa classe - + The password contains monotonic sequence longer than %1 characters La password contiene una sequenza monotona più lunga di %1 caratteri - + The password contains too long of a monotonic character sequence La password contiene una sequenza di caratteri monotona troppo lunga - + No password supplied Nessuna password fornita - + Cannot obtain random numbers from the RNG device Impossibile ottenere numeri casuali dal dispositivo RNG - + Password generation failed - required entropy too low for settings Generazione della password fallita - entropia richiesta troppo bassa per le impostazioni - + The password fails the dictionary check - %1 La password non supera il controllo del dizionario - %1 - + The password fails the dictionary check La password non supera il controllo del dizionario - + Unknown setting - %1 Impostazioni sconosciute - %1 - + Unknown setting Impostazione sconosciuta - + Bad integer value of setting - %1 Valore intero non valido per l'impostazione - %1 - + Bad integer value Valore intero non valido - + Setting %1 is not of integer type Impostazione %1 non è di tipo intero - + Setting is not of integer type Impostazione non è di tipo intero - + Setting %1 is not of string type Impostazione %1 non è di tipo stringa - + Setting is not of string type Impostazione non è di tipo stringa - + Opening the configuration file failed Apertura del file di configurazione fallita - + The configuration file is malformed Il file di configurazione non è corretto - + Fatal failure Errore fatale - + Unknown error Errore sconosciuto @@ -1963,47 +1984,86 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Qual è il tuo nome? - + What name do you want to use to log in? Quale nome usare per l'autenticazione? - + Choose a password to keep your account safe. Scegliere una password per rendere sicuro il tuo account. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Inserire la password due volte per controllare eventuali errori di battitura. Una buona password contiene lettere, numeri e segni di punteggiatura. Deve essere lunga almeno otto caratteri e dovrebbe essere cambiata a intervalli regolari.</small> - + What is the name of this computer? Qual è il nome di questo computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Questo nome sarà usato se rendi visibile il computer ad altre persone in una rete.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Accedere automaticamente senza chiedere la password. - + Use the same password for the administrator account. Usare la stessa password per l'account amministratore. - + Choose a password for the administrator account. Scegliere una password per l'account dell'amministratore. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Inserire la password due volte per controllare eventuali errori di battitura.</small> @@ -2464,6 +2524,30 @@ Output: No description provided. Non è stata fornita alcuna descrizione. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2734,29 +2818,29 @@ Output: SetHostNameJob - + Set hostname %1 Impostare hostname %1 - + Set hostname <strong>%1</strong>. Impostare hostname <strong>%1</strong>. - + Setting hostname %1. Impostare hostname %1. - - + + Internal Error Errore interno - - + + Cannot write hostname to target system Impossibile scrivere l'hostname nel sistema di destinazione @@ -2897,22 +2981,22 @@ Output: punto di mount per root è %1 - + Cannot disable root account. Impossibile disabilitare l'account di root. - + passwd terminated with error code %1. passwd è terminato con codice di errore %1. - + Cannot set password for user %1. Impossibile impostare la password per l'utente %1. - + usermod terminated with error code %1. usermod si è chiuso con codice di errore %1. @@ -3099,43 +3183,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Il nome utente è troppo lungo. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Il nome utente contiene caratteri non validi. Sono ammessi solo lettere minuscole e numeri. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Hostname è troppo corto. - + Your hostname is too long. Hostname è troppo lungo. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Hostname contiene caratteri non validi. Sono ammessi solo lettere, numeri e trattini. - - - - + Your passwords do not match! Le password non corrispondono! @@ -3143,7 +3231,7 @@ Output: UsersViewStep - + Users Utenti diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 29dec7ca4..0cc1a84be 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -169,7 +169,7 @@ Running command %1 %2 - コマンド %1 %2 を実行中 + コマンド %1 %2 を実行しています @@ -177,7 +177,7 @@ Running %1 operation. - %1 操作を実行中。 + %1 操作を実行しています。 @@ -210,7 +210,7 @@ Waiting for %n module(s). - %n モジュールを待機中。 + %n 個のモジュールを待機しています。 @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back 戻る (&B) - + + &Next 次へ (&N) - + + &Cancel 中止 (&C) - + Cancel setup without changing the system. システムを変更することなくセットアップを中断します。 - + Cancel installation without changing the system. システムを変更しないでインストールを中止します。 - + Setup Failed セットアップに失敗しました。 - + Would you like to paste the install log to the web? インストールログをWebに貼り付けますか? - + Install Log Paste URL インストールログを貼り付けるURL - + The upload was unsuccessful. No web-paste was done. アップロードは失敗しました。 ウェブへの貼り付けは行われませんでした。 - + Calamares Initialization Failed Calamares によるインストールに失敗しました。 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 をインストールできません。Calamares はすべてのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。 - + <br/>The following modules could not be loaded: <br/>以下のモジュールがロードできませんでした。: - + Continue with installation? - インストールを続行しますか? + インストールを続行しますか? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 のセットアッププログラムは %2 のセットアップのためディスクの内容を変更します。<br/><strong>これらの変更は取り消しできません。</strong> - + &Set up now - セットアップ中(&S) + セットアップしています (&S) - + &Set up セットアップ (&S) - + &Install インストール (&I) - + Setup is complete. Close the setup program. セットアップが完了しました。プログラムを閉じます。 - + Cancel setup? セットアップを中止しますか? - + Cancel installation? - インストールを中止しますか? + インストールを中止しますか? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 本当に現在のセットアップのプロセスを中止しますか? すべての変更が取り消されます。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 本当に現在の作業を中止しますか? すべての変更が取り消されます。 - - + + &Yes はい (&Y) - - + + &No いいえ (&N) - + &Close 閉じる (&C) - + Continue with setup? - セットアップを続行しますか? + セットアップを続行しますか? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 インストーラーは %2 をインストールするためディスクの内容を変更しようとしています。<br/><strong>これらの変更は取り消せません。</strong> - + &Install now 今すぐインストール (&I) - + Go &back 戻る (&B) - + &Done 実行 (&D) - + The installation is complete. Close the installer. インストールが完了しました。インストーラーを閉じます。 - + Error エラー - + Installation Failed インストールに失敗 @@ -453,7 +456,7 @@ The installer will quit and all changes will be lost. Gathering system information... - システム情報を取得中... + システム情報を取得しています... @@ -606,7 +609,7 @@ The installer will quit and all changes will be lost. Clearing mounts for partitioning operations on %1. - %1 のパーティション操作のため、マウントを解除中 + %1 のパーティション操作のため、マウントを解除しています。 @@ -757,7 +760,7 @@ The installer will quit and all changes will be lost. Creating new %1 partition on %2. - %2 に新しく %1 パーティションを作成中 + %2 に新しく %1 パーティションを作成しています。 @@ -780,7 +783,7 @@ The installer will quit and all changes will be lost. What kind of partition table do you want to create? - どの種類のパーティションテーブルを作成しますか? + どの種類のパーティションテーブルを作成しますか? @@ -808,7 +811,7 @@ The installer will quit and all changes will be lost. Creating new %1 partition table on %2. - %2 に新しく %1 パーティションテーブルを作成中 + %2 に新しく %1 パーティションテーブルを作成しています。 @@ -831,7 +834,7 @@ The installer will quit and all changes will be lost. Creating user %1. - ユーザー %1 を作成中。 + ユーザー %1 を作成しています。 @@ -839,17 +842,17 @@ The installer will quit and all changes will be lost. sudoers ディレクトリは書き込み可能ではありません。 - + Cannot create sudoers file for writing. sudoersファイルを作成できません。 - + Cannot chmod sudoers file. sudoersファイルの権限を変更できません。 - + Cannot open groups file for reading. groups ファイルを読み込めません。 @@ -919,7 +922,7 @@ The installer will quit and all changes will be lost. Deleting partition %1. - パーティション %1 の削除中。 + パーティション %1 を削除しています。 @@ -1217,7 +1220,7 @@ The installer will quit and all changes will be lost. Formatting partition %1 with file system %2. - ファイルシステム %2 でパーティション %1 をフォーマット中。 + ファイルシステム %2 でパーティション %1 をフォーマットしています。 @@ -1319,7 +1322,7 @@ The installer will quit and all changes will be lost. Creating initramfs with mkinitcpio. - mkinitcpioとinitramfsを作成中 + mkinitcpioとinitramfsを作成しています。 @@ -1327,7 +1330,7 @@ The installer will quit and all changes will be lost. Creating initramfs. - initramfsを作成中 + initramfsを作成しています。 @@ -1340,7 +1343,7 @@ The installer will quit and all changes will be lost. Please install KDE Konsole and try again! - KDE Konsole をインストールして再度試してください! + KDE Konsole をインストールして再度試してください! @@ -1553,7 +1556,7 @@ The installer will quit and all changes will be lost. Configuring LUKS key file. - LUKSキーファイルを設定中 + LUKSキーファイルを設定しています。 @@ -1584,6 +1587,24 @@ The installer will quit and all changes will be lost. パーティション %1 にLUKSキーファイルを設定できました。 + + MachineIdJob + + + Generate machine-id. + machine-id の生成 + + + + Configuration Error + コンフィグレーションエラー + + + + No root mount point is set for MachineId. + マシンIDにルートマウントポイントが設定されていません。 + + NetInstallPage @@ -1654,242 +1675,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short パスワードが短すぎます - + Password is too long パスワードが長すぎます - + Password is too weak パスワードが弱すぎます - + Memory allocation error when setting '%1' '%1' の設定の際にメモリーアロケーションエラーが発生しました - + Memory allocation error メモリーアロケーションエラー - + The password is the same as the old one パスワードが以前のものと同じです。 - + The password is a palindrome パスワードが回文です - + The password differs with case changes only パスワードの変更が大文字、小文字の変更のみです - + The password is too similar to the old one パスワードが以前のものと酷似しています - + The password contains the user name in some form パスワードにユーザー名が含まれています - + The password contains words from the real name of the user in some form パスワードにユーザーの実名が含まれています - + The password contains forbidden words in some form パスワードに禁句が含まれています - + The password contains less than %1 digits パスワードに含まれている数字が %1 字以下です - + The password contains too few digits パスワードに含まれる数字の数が少なすぎます - + The password contains less than %1 uppercase letters パスワードに含まれている大文字が %1 字以下です - + The password contains too few uppercase letters パスワードに含まれる大文字の数が少なすぎます - + The password contains less than %1 lowercase letters パスワードに含まれている小文字が %1 字以下です - + The password contains too few lowercase letters パスワードに含まれる小文字の数が少なすぎます - + The password contains less than %1 non-alphanumeric characters パスワードに含まれる非アルファベット文字が %1 字以下です - + The password contains too few non-alphanumeric characters パスワードに含まれる非アルファベット文字の数が少なすぎます - + The password is shorter than %1 characters パスワードの長さが %1 字より短いです - + The password is too short パスワードが短すぎます - + The password is just rotated old one パスワードが古いものの使いまわしです - + The password contains less than %1 character classes パスワードに含まれている文字クラスは %1 以下です。 - + The password does not contain enough character classes パスワードには十分な文字クラスが含まれていません - + The password contains more than %1 same characters consecutively パスワードで同じ文字が %1 字以上連続しています。 - + The password contains too many same characters consecutively パスワードで同じ文字を続けすぎています - + The password contains more than %1 characters of the same class consecutively パスワードで同じ文字クラスが %1 以上連続しています。 - + The password contains too many characters of the same class consecutively パスワードで同じ文字クラスの文字を続けすぎています - + The password contains monotonic sequence longer than %1 characters パスワードに %1 文字以上の単調な文字列が含まれています - + The password contains too long of a monotonic character sequence パスワードに限度を超えた単調な文字列が含まれています - + No password supplied パスワードがありません - + Cannot obtain random numbers from the RNG device RNGデバイスから乱数を取得できません - + Password generation failed - required entropy too low for settings パスワード生成に失敗 - 設定のためのエントロピーが低すぎます - + The password fails the dictionary check - %1 パスワードの辞書チェックに失敗しました - %1 - + The password fails the dictionary check パスワードの辞書チェックに失敗しました - + Unknown setting - %1 未設定- %1 - + Unknown setting 未設定 - + Bad integer value of setting - %1 不適切な設定値 - %1 - + Bad integer value 不適切な設定値 - + Setting %1 is not of integer type 設定値 %1 は整数ではありません - + Setting is not of integer type 設定値は整数ではありません - + Setting %1 is not of string type 設定値 %1 は文字列ではありません - + Setting is not of string type 設定値は文字列ではありません - + Opening the configuration file failed 設定ファイルが開けませんでした - + The configuration file is malformed 設定ファイルが不正な形式です - + Fatal failure 致命的な失敗 - + Unknown error 未知のエラー @@ -1963,50 +1984,89 @@ The installer will quit and all changes will be lost. What is your name? - 名前は何ですか? + あなたの名前は何ですか? - + What name do you want to use to log in? - ログインの際、どの名前を使用しますか? + ログイン時に使用する名前は何ですか? - + Choose a password to keep your account safe. アカウントを安全に使うため、パスワードを選択してください - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>確認のため、同じパスワードを2回入力して下さい。8文字以上で、アルファベット・数字・句読点を混ぜたものにすれば強いパスワードになります。パスワードは定期的に変更してください。</small> - + What is the name of this computer? このコンピュータの名前は何ですか? - + + Your Full Name + あなたのフルネーム + + + + login + ログイン + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>ネットワーク上からコンピュータが見えるようにする場合、この名前が使用されます。</small> - + + Computer Name + コンピュータの名前 + + + + + Password + パスワード + + + + + Repeat Password + パスワードを再度入力 + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + このボックスをオンにするとパスワードの強度チェックが行われ、弱いパスワードを使用できなくなります。 + + + + Require strong passwords. + 強いパスワードを要求する。 + + + Log in automatically without asking for the password. パスワードを尋ねずに自動的にログインする。 - + Use the same password for the administrator account. 管理者アカウントと同じパスワードを使用する。 - + Choose a password for the administrator account. 管理者アカウントのパスワードを選択する。 - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>入力ミスを確認することができるように、同じパスワードを 2 回入力します。</small> @@ -2173,7 +2233,7 @@ The installer will quit and all changes will be lost. Gathering system information... - システム情報を取得中... + システム情報を取得しています... @@ -2467,6 +2527,30 @@ Output: No description provided. 説明はありません。 + + + + + + + File not found + ファイルが見つかりません + + + + Path <pre>%1</pre> must be an absolute path. + パス <pre>%1</pre> は絶対パスにしてください。 + + + + Could not create new random file <pre>%1</pre>. + 新しいランダムファイル <pre>%1</pre> を作成できませんでした。 + + + + Could not read random file <pre>%1</pre>. + ランダムファイル <pre>%1</pre> を読み取れませんでした。 + RemoveVolumeGroupJob @@ -2648,7 +2732,7 @@ Output: Resizing %2MiB partition %1 to %3MiB. - %2MiB のパーティション %1 を %3MiB にサイズ変更中。 + %2MiB のパーティション %1 を %3MiB にサイズ変更しています。 @@ -2726,40 +2810,40 @@ Output: Scanning storage devices... - ストレージデバイスのスキャン中... + ストレージデバイスをスキャンしています... Partitioning - パーティショニング中 + パーティショニング SetHostNameJob - + Set hostname %1 ホスト名 %1 の設定 - + Set hostname <strong>%1</strong>. ホスト名 <strong>%1</strong> の設定。 - + Setting hostname %1. - ホスト名 %1 の設定中。 + ホスト名 %1 を設定しています。 - - + + Internal Error 内部エラー - - + + Cannot write hostname to target system ターゲットとするシステムにホスト名を書き込めません @@ -2854,7 +2938,7 @@ Output: Clearing flags on partition <strong>%1</strong>. - パーティション <strong>%1</strong> 上のフラグを消去中。 + パーティション <strong>%1</strong> のフラグを消去しています。 @@ -2887,7 +2971,7 @@ Output: Setting password for user %1. - ユーザ %1 のパスワード設定中。 + ユーザ %1 のパスワードを設定しています。 @@ -2900,22 +2984,22 @@ Output: root のマウントポイントは %1 。 - + Cannot disable root account. rootアカウントを使用することができません。 - + passwd terminated with error code %1. passwd がエラーコード %1 のため終了しました。 - + Cannot set password for user %1. ユーザ %1 のパスワードは設定できませんでした。 - + usermod terminated with error code %1. エラーコード %1 によりusermodが停止しました。 @@ -3102,43 +3186,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>もし複数の人間がこのコンピュータを使用する場合、セットアップの後で複数のアカウントを作成できます。</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>もし複数の人間がこのコンピュータを使用する場合、インストールの後で複数のアカウントを作成できます。</small> - + Your username is too long. ユーザー名が長すぎます。 - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - ユーザー名に不適切な文字が含まれています。アルファベットの小文字と数字のみが使用できます。 + + Your username must start with a lowercase letter or underscore. + ユーザー名はアルファベットの小文字または _ で始めてください。 - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + 使用できるのはアルファベットの小文字と数字と _ と - だけです。 + + + + Only letters, numbers, underscore and hyphen are allowed. + 使用できるのはアルファベットと数字と _ と - だけです。 + + + Your hostname is too short. ホスト名が短すぎます。 - + Your hostname is too long. ホスト名が長過ぎます。 - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - ホスト名に不適切な文字が含まれています。アルファベット、数字及びハイフンのみが使用できます。 - - - - + Your passwords do not match! パスワードが一致していません! @@ -3146,7 +3234,7 @@ Output: UsersViewStep - + Users ユーザー情報 diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index bbb887c3e..80da74d20 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back А&ртқа - + + &Next &Алға - + + &Cancel Ба&с тарту - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Орнатудан бас тарту керек пе? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users Пайдаланушылар diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 405fb5120..0ea32e9a7 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back ಹಿಂದಿನ - + + &Next ಮುಂದಿನ - + + &Cancel ರದ್ದುಗೊಳಿಸು - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ಅನುಸ್ಥಾಪನೆಯನ್ನು ರದ್ದುಮಾಡುವುದೇ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes ಹೌದು - - + + &No ಇಲ್ಲ - + &Close ಮುಚ್ಚಿರಿ - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error ದೋಷ - + Installation Failed ಅನುಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 8cf7eb67d..72d58c4b3 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back 뒤로 (&B) - + + &Next 다음 (&N) - + + &Cancel 취소 (&C) - + Cancel setup without changing the system. 시스템을 변경 하지 않고 설치를 취소합니다. - + Cancel installation without changing the system. 시스템 변경 없이 설치를 취소합니다. - + Setup Failed 설치 실패 - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares 초기화 실패 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 가 설치될 수 없습니다. Calamares가 모든 구성된 모듈을 불러올 수 없었습니다. 이것은 Calamares가 분포에 의해 사용되는 방식에서 비롯된 문제입니다. - + <br/>The following modules could not be loaded: 다음 모듈 불러오기 실패: - + Continue with installation? 설치를 계속하시겠습니까? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 설치 프로그램이 %2을(를) 설정하기 위해 디스크를 변경하려고 하는 중입니다.<br/><strong>이러한 변경은 취소할 수 없습니다.</strong> - + &Set up now 지금 설치 (&S) - + &Set up 설치 (&S) - + &Install 설치(&I) - + Setup is complete. Close the setup program. 설치가 완료 되었습니다. 설치 프로그램을 닫습니다. - + Cancel setup? 설치를 취소 하시겠습니까? - + Cancel installation? 설치를 취소하시겠습니까? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 현재 설정 프로세스를 취소하시겠습니까? 설치 프로그램이 종료되고 모든 변경 내용이 손실됩니다. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 정말로 현재 설치 프로세스를 취소하시겠습니까? 설치 관리자가 종료되며 모든 변경은 반영되지 않습니다. - - + + &Yes 예(&Y) - - + + &No 아니오(&N) - + &Close 닫기(&C) - + Continue with setup? 설치를 계속하시겠습니까? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 인스톨러가 %2를 설치하기 위해 사용자의 디스크의 내용을 변경하려고 합니다. <br/> <strong>이 변경 작업은 되돌릴 수 없습니다.</strong> - + &Install now 지금 설치 (&I) - + Go &back 뒤로 이동 (&b) - + &Done 완료 (&D) - + The installation is complete. Close the installer. 설치가 완료되었습니다. 설치 관리자를 닫습니다. - + Error 오류 - + Installation Failed 설치 실패 @@ -838,17 +841,17 @@ The installer will quit and all changes will be lost. Sudoers 디렉터리가 쓰기 금지되어 있습니다. - + Cannot create sudoers file for writing. sudoers 파일을 만들 수가 없습니다. - + Cannot chmod sudoers file. sudoers 파일의 권한을 변경할 수 없습니다. - + Cannot open groups file for reading. groups 파일을 읽을 수가 없습니다. @@ -1582,6 +1585,24 @@ The installer will quit and all changes will be lost. %1 파티션에서 LUKS 키 파일을 구성할 수 있습니다. + + MachineIdJob + + + Generate machine-id. + machine-id를 생성합니다. + + + + Configuration Error + 구성 오류 + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short 암호가 너무 짧습니다 - + Password is too long 암호가 너무 깁니다 - + Password is too weak 암호가 너무 취약합니다 - + Memory allocation error when setting '%1' '%1'을 설정하는 중 메모리 할당 오류 - + Memory allocation error 메모리 할당 오류 - + The password is the same as the old one 암호가 이전과 같습니다 - + The password is a palindrome 암호가 앞뒤로 동일해 보이는 단어입니다 - + The password differs with case changes only 암호가 대소문자만 다릅니다 - + The password is too similar to the old one 암호가 이전 암호와 너무 유사합니다 - + The password contains the user name in some form 암호가 사용자 이름의 일부를 포함하고 있습니다. - + The password contains words from the real name of the user in some form 암호가 사용자 실명의 일부를 포함하고 있습니다 - + The password contains forbidden words in some form 암호가 금지된 단어를 포함하고 있습니다 - + The password contains less than %1 digits 암호가 %1개 미만의 숫자를 포함하고 있습니다 - + The password contains too few digits 암호가 너무 적은 개수의 숫자들을 포함하고 있습니다 - + The password contains less than %1 uppercase letters 암호가 %1개 미만의 대문자를 포함하고 있습니다 - + The password contains too few uppercase letters 암호가 너무 적은 개수의 대문자를 포함하고 있습니다 - + The password contains less than %1 lowercase letters 암호가 %1개 미만의 소문자를 포함하고 있습니다 - + The password contains too few lowercase letters 암호가 너무 적은 개수의 소문자를 포함하고 있습니다 - + The password contains less than %1 non-alphanumeric characters 암호가 %1개 미만의 영숫자가 아닌 문자를 포함하고 있습니다 - + The password contains too few non-alphanumeric characters 암호가 너무 적은 개수의 영숫자가 아닌 문자를 포함하고 있습니다 - + The password is shorter than %1 characters 암호가 %1 문자보다 짧습니다 - + The password is too short 암호가 너무 짧습니다 - + The password is just rotated old one 암호가 이전 암호로 바뀌었습니다 - + The password contains less than %1 character classes 암호에 포함된 문자 클래스가 %1개 미만입니다 - + The password does not contain enough character classes 암호에 문자 클래스가 충분하지 않습니다 - + The password contains more than %1 same characters consecutively 암호에 동일 문자가 %1개 이상 연속해 있습니다 - + The password contains too many same characters consecutively 암호에 너무 많은 동일 문자가 연속해 있습니다 - + The password contains more than %1 characters of the same class consecutively 암호에 동일 문자 클래스가 %1개 이상 연속해 있습니다. - + The password contains too many characters of the same class consecutively 암호에 동일 문자 클래스가 너무 많이 연속해 있습니다. - + The password contains monotonic sequence longer than %1 characters 암호에 %1개 이상의 단순 문자열이 포함되어 있습니다 - + The password contains too long of a monotonic character sequence 암호에 너무 길게 단순 문자열이 포함되어 있습니다 - + No password supplied 암호가 제공 되지 않음 - + Cannot obtain random numbers from the RNG device RNG 장치에서 임의의 번호를 가져올 수 없습니다. - + Password generation failed - required entropy too low for settings 암호 생성 실패 - 설정에 필요한 엔트로피가 너무 작음 - + The password fails the dictionary check - %1 암호가 사전 검사에 실패했습니다 - %1 - + The password fails the dictionary check 암호가 사전 검사에 실패했습니다. - + Unknown setting - %1 설정되지 않음 - %1 - + Unknown setting 설정되지 않음 - + Bad integer value of setting - %1 설정의 잘못된 정수 값 - %1 - + Bad integer value 잘못된 정수 값 - + Setting %1 is not of integer type 설정값 %1은 정수 유형이 아닙니다. - + Setting is not of integer type 설정값이 정수 형식이 아닙니다 - + Setting %1 is not of string type 설정값 %1은 문자열 유형이 아닙니다. - + Setting is not of string type 설정값이 문자열 유형이 아닙니다. - + Opening the configuration file failed 구성 파일을 열지 못했습니다. - + The configuration file is malformed 구성 파일의 형식이 잘못되었습니다. - + Fatal failure 치명적인 실패 - + Unknown error 알 수 없는 오류 @@ -1964,47 +1985,86 @@ The installer will quit and all changes will be lost. 이름이 무엇인가요? - + What name do you want to use to log in? 로그인할 때 사용할 이름은 무엇인가요? - + Choose a password to keep your account safe. 사용자 계정의 보안을 유지하기 위한 암호를 선택하세요. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>확인을 위해 암호를 두번 입력해 주세요. 올바른 암호에는 문자, 숫자 및 구두점이 혼합되어 있으며 최소 8자 이상이어야 하며 정기적으로 변경해야 합니다.</small> - + What is the name of this computer? 이 컴퓨터의 이름은 무엇인가요? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>이 이름은 컴퓨터가 네트워크의 다른 사용자에게 표시되도록 할 때 사용됩니다.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. 암호를 묻지 않고 자동으로 로그인합니다. - + Use the same password for the administrator account. 관리자 계정에 대해 같은 암호를 사용합니다. - + Choose a password for the administrator account. 관리자 계정을 위한 암호를 선택하세요. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>입력 오류를 검사하기 위해 암호를 똑같이 두번 입력하세요.</small> @@ -2465,6 +2525,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Output: SetHostNameJob - + Set hostname %1 호스트 이름을 %1로 설정합니다 - + Set hostname <strong>%1</strong>. 호스트 이름을 <strong>%1</strong>로 설정합니다. - + Setting hostname %1. 호스트 이름을 %1로 설정하는 중입니다. - - + + Internal Error 내부 오류 - - + + Cannot write hostname to target system 시스템의 호스트 이름을 저장할 수 없습니다 @@ -2898,22 +2982,22 @@ Output: 루트마운트위치는 %1입니다. - + Cannot disable root account. root 계정을 비활성화 할 수 없습니다. - + passwd terminated with error code %1. passwd가 %1 오류 코드로 종료되었습니다. - + Cannot set password for user %1. %1 사용자에 대한 암호를 설정할 수 없습니다. - + usermod terminated with error code %1. usermod가 %1 오류 코드로 종료되었습니다 @@ -3100,43 +3184,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>둘 이상의 사용자가 이 컴퓨터를 사용할 경우, 설정 후 계정을 여러 개 만들 수 있습니다.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>둘 이상의 사용자가 이 컴퓨터를 사용할 경우 설치 후 계정을 여러 개 만들 수 있습니다.</small> - + Your username is too long. 사용자 이름이 너무 깁니다. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - 사용자 이름이 유효하지 않은 문자들을 포함하고 있습니다. 소문자 그리고 숫자만이 허용됩니다. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. 호스트 이름이 너무 짧습니다. - + Your hostname is too long. 호스트 이름이 너무 깁니다. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - 호스트명에 부적절한 문자가 포함되어 있습니다.알파벳, 숫자 및 하이푼만 사용할 수 있습니다. - - - - + Your passwords do not match! 암호가 일치하지 않습니다! @@ -3144,7 +3232,7 @@ Output: UsersViewStep - + Users 사용자 diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 3ebf1c2ce..21d4d3744 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 433835b91..3032f5765 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Atgal - + + &Next &Toliau - + + &Cancel A&tsisakyti - + Cancel setup without changing the system. Atsisakyti sąrankos, nieko sistemoje nekeičiant. - + Cancel installation without changing the system. Atsisakyti diegimo, nieko sistemoje nekeičiant. - + Setup Failed Sąranka patyrė nesėkmę - + Would you like to paste the install log to the web? Ar norėtumėte įdėti diegimo žurnalą į saityną? - + Install Log Paste URL Diegimo žurnalo įdėjimo URL - + The upload was unsuccessful. No web-paste was done. Įkėlimas buvo nesėkmingas. Nebuvo atlikta jokio įdėjimo į saityną. - + Calamares Initialization Failed Calamares inicijavimas nepavyko - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Nepavyksta įdiegti %1. Calamares nepavyko įkelti visų sukonfigūruotų modulių. Tai yra problema, susijusi su tuo, kaip distribucija naudoja diegimo programą Calamares. - + <br/>The following modules could not be loaded: <br/>Nepavyko įkelti šių modulių: - + Continue with installation? Tęsti diegimą? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sąrankos programa, siekdama nustatyti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Set up now Nu&statyti dabar - + &Set up Nu&statyti - + &Install Į&diegti - + Setup is complete. Close the setup program. Sąranka užbaigta. Užverkite sąrankos programą. - + Cancel setup? Atsisakyti sąrankos? - + Cancel installation? Atsisakyti diegimo? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio sąrankos proceso? Sąrankos programa užbaigs darbą ir visi pakeitimai bus prarasti. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ar tikrai norite atsisakyti dabartinio diegimo proceso? Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - - + + &Yes &Taip - - + + &No &Ne - + &Close &Užverti - + Continue with setup? Tęsti sąranką? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų nebegalėsite atšaukti.</strong> - + &Install now Į&diegti dabar - + Go &back &Grįžti - + &Done A&tlikta - + The installation is complete. Close the installer. Diegimas užbaigtas. Užverkite diegimo programą. - + Error Klaida - + Installation Failed Diegimas nepavyko @@ -839,17 +842,17 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nepavyko įrašymui sukurti katalogo sudoers. - + Cannot create sudoers file for writing. Nepavyko įrašymui sukurti failo sudoers. - + Cannot chmod sudoers file. Nepavyko pritaikyti chmod failui sudoers. - + Cannot open groups file for reading. Nepavyko skaitymui atverti grupių failo. @@ -1583,6 +1586,24 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nepavyko konfigūruoti LUKS rakto failo skaidinyje %1. + + MachineIdJob + + + Generate machine-id. + Generuoti machine-id. + + + + Configuration Error + Konfigūracijos klaida + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1653,242 +1674,242 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. PWQ - + Password is too short Slaptažodis yra per trumpas - + Password is too long Slaptažodis yra per ilgas - + Password is too weak Slaptažodis yra per silpnas - + Memory allocation error when setting '%1' Atminties paskirstymo klaida, nustatant "%1" - + Memory allocation error Atminties paskirstymo klaida - + The password is the same as the old one Slaptažodis yra toks pats kaip ir senas - + The password is a palindrome Slaptažodis yra palindromas - + The password differs with case changes only Slaptažodyje skiriasi tik raidžių dydis - + The password is too similar to the old one Slaptažodis pernelyg panašus į senąjį - + The password contains the user name in some form Slaptažodyje tam tikru pavidalu yra naudotojo vardas - + The password contains words from the real name of the user in some form Slaptažodyje tam tikra forma yra žodžiai iš tikrojo naudotojo vardo - + The password contains forbidden words in some form Slaptažodyje tam tikra forma yra uždrausti žodžiai - + The password contains less than %1 digits Slaptažodyje yra mažiau nei %1 skaitmenys - + The password contains too few digits Slaptažodyje yra per mažai skaitmenų - + The password contains less than %1 uppercase letters Slaptažodyje yra mažiau nei %1 didžiosios raidės - + The password contains too few uppercase letters Slaptažodyje yra per mažai didžiųjų raidžių - + The password contains less than %1 lowercase letters Slaptažodyje yra mažiau nei %1 mažosios raidės - + The password contains too few lowercase letters Slaptažodyje yra per mažai mažųjų raidžių - + The password contains less than %1 non-alphanumeric characters Slaptažodyje yra mažiau nei %1 neraidiniai ir neskaitiniai simboliai - + The password contains too few non-alphanumeric characters Slaptažodyje yra per mažai neraidinių ir neskaitinių simbolių - + The password is shorter than %1 characters Slaptažodyje yra mažiau nei %1 simboliai - + The password is too short Slaptažodis yra per trumpas - + The password is just rotated old one Slaptažodis yra toks pats kaip ir senas, tik apverstas - + The password contains less than %1 character classes Slaptažodyje yra mažiau nei %1 simbolių klasės - + The password does not contain enough character classes Slaptažodyje nėra pakankamai simbolių klasių - + The password contains more than %1 same characters consecutively Slaptažodyje yra daugiau nei %1 tokie patys simboliai iš eilės - + The password contains too many same characters consecutively Slaptažodyje yra per daug tokių pačių simbolių iš eilės - + The password contains more than %1 characters of the same class consecutively Slaptažodyje yra daugiau nei %1 tos pačios klasės simboliai iš eilės - + The password contains too many characters of the same class consecutively Slaptažodyje yra per daug tos pačios klasės simbolių iš eilės - + The password contains monotonic sequence longer than %1 characters Slaptažodyje yra ilgesnė nei %1 simbolių monotoninė seka - + The password contains too long of a monotonic character sequence Slaptažodyje yra per ilga monotoninių simbolių seka - + No password supplied Nepateiktas joks slaptažodis - + Cannot obtain random numbers from the RNG device Nepavyksta gauti atsitiktinių skaičių iš RNG įrenginio - + Password generation failed - required entropy too low for settings Slaptažodžio generavimas nepavyko - reikalinga entropija nustatymams yra per maža - + The password fails the dictionary check - %1 Slaptažodis nepraeina žodyno patikros - %1 - + The password fails the dictionary check Slaptažodis nepraeina žodyno patikros - + Unknown setting - %1 Nežinomas nustatymas - %1 - + Unknown setting Nežinomas nustatymas - + Bad integer value of setting - %1 Bloga nustatymo sveikojo skaičiaus reikšmė - %1 - + Bad integer value Bloga sveikojo skaičiaus reikšmė - + Setting %1 is not of integer type Nustatymas %1 nėra sveikojo skaičiaus tipo - + Setting is not of integer type Nustatymas nėra sveikojo skaičiaus tipo - + Setting %1 is not of string type Nustatymas %1 nėra eilutės tipo - + Setting is not of string type Nustatymas nėra eilutės tipo - + Opening the configuration file failed Konfigūracijos failo atvėrimas nepavyko - + The configuration file is malformed Konfigūracijos failas yra netaisyklingas - + Fatal failure Lemtingoji klaida - + Unknown error Nežinoma klaida @@ -1965,47 +1986,86 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Koks jūsų vardas? - + What name do you want to use to log in? Kokį vardą norite naudoti prisijungimui? - + Choose a password to keep your account safe. Apsaugokite savo paskyrą slaptažodžiu - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Norint įsitikinti, kad rašydami slaptažodį nesuklydote, įrašykite tą patį slaptažodį du kartus. Stiprus slaptažodis yra raidžių, skaičių ir punktuacijos ženklų mišinys, jis turi būti mažiausiai aštuonių simbolių, be to, turėtų būti reguliariai keičiamas.</small> - + What is the name of this computer? Koks šio kompiuterio vardas? - + + Your Full Name + Jūsų visas vardas + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Šis vardas bus naudojamas, jeigu padarysite savo kompiuterį matomą kitiems naudotojams tinkle.</small> - + + Computer Name + + + + + + Password + Slaptažodis + + + + + Repeat Password + Pakartokite slaptažodį + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Prisijungti automatiškai, neklausiant slaptažodžio. - + Use the same password for the administrator account. Naudoti tokį patį slaptažodį administratoriaus paskyrai. - + Choose a password for the administrator account. Pasirinkite slaptažodį administratoriaus paskyrai. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Norint įsitikinti, kad rašydami slaptažodį nesuklydote, įrašykite tą patį slaptažodį du kartus.</small> @@ -2466,6 +2526,30 @@ Išvestis: No description provided. Nepateikta jokio aprašo. + + + + + + + File not found + Failas nerastas + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + Nepavyko perskaityti atsitiktinio failo <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Išvestis: SetHostNameJob - + Set hostname %1 Nustatyti kompiuterio vardą %1 - + Set hostname <strong>%1</strong>. Nustatyti kompiuterio vardą <strong>%1</strong>. - + Setting hostname %1. Nustatomas kompiuterio vardas %1. - - + + Internal Error Vidinė klaida - - + + Cannot write hostname to target system Nepavyko įrašyti kompiuterio vardo į paskirties sistemą @@ -2899,22 +2983,22 @@ Išvestis: rootMountPoint yra %1 - + Cannot disable root account. Nepavyksta išjungti administratoriaus (root) paskyros. - + passwd terminated with error code %1. komanda passwd nutraukė darbą dėl klaidos kodo %1. - + Cannot set password for user %1. Nepavyko nustatyti slaptažodžio naudotojui %1. - + usermod terminated with error code %1. komanda usermod nutraukė darbą dėl klaidos kodo %1. @@ -3101,43 +3185,47 @@ Išvestis: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Jei šiuo kompiuteriu naudosis keli žmonės, po sąrankos galite sukurti papildomas paskyras.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Jei šiuo kompiuteriu naudosis keli žmonės, po diegimo galite sukurti papildomas paskyras.</small> - + Your username is too long. Jūsų naudotojo vardas yra pernelyg ilgas. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Jūsų naudotojo varde yra neleistinų simbolių. Leidžiamos tik mažosios raidės ir skaičiai. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Jūsų kompiuterio vardas yra pernelyg trumpas. - + Your hostname is too long. Jūsų kompiuterio vardas yra pernelyg ilgas. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Jūsų kompiuterio varde yra neleistinų simbolių. Kompiuterio varde gali būti tik raidės, skaičiai ir brūkšniai. - - - - + Your passwords do not match! Jūsų slaptažodžiai nesutampa! @@ -3145,7 +3233,7 @@ Išvestis: UsersViewStep - + Users Naudotojai diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index d53d63722..fde5c1416 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. Инсталацијата е готова. Исклучете го инсталерот. - + Error Грешка - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index 7941eaaa2..542698448 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back പുറകോട്ട് (&B) - + + &Next അടുത്തത് (&N) - + + &Cancel റദ്ദാക്കുക (&C) - + Cancel setup without changing the system. സിസ്റ്റത്തിന് മാറ്റമൊന്നും വരുത്താതെ സജ്ജീകരണപ്രക്രിയ റദ്ദാക്കുക. - + Cancel installation without changing the system. സിസ്റ്റത്തിന് മാറ്റമൊന്നും വരുത്താതെ ഇൻസ്റ്റളേഷൻ റദ്ദാക്കുക. - + Setup Failed സജ്ജീകരണപ്രക്രിയ പരാജയപ്പെട്ടു - + Would you like to paste the install log to the web? ഇൻസ്റ്റാൾ ലോഗ് വെബിലേക്ക് പകർത്തണോ? - + Install Log Paste URL ഇൻസ്റ്റാൾ ലോഗ് പകർപ്പിന്റെ വിലാസം - + The upload was unsuccessful. No web-paste was done. അപ്‌ലോഡ് പരാജയമായിരുന്നു. വെബിലേക്ക് പകർത്തിയില്ല. - + Calamares Initialization Failed കലാമാരേസ് സമാരംഭിക്കൽ പരാജയപ്പെട്ടു - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയില്ല. ക്രമീകരിച്ച എല്ലാ മൊഡ്യൂളുകളും ലോഡുചെയ്യാൻ കാലാമറെസിന് കഴിഞ്ഞില്ല. വിതരണത്തിൽ കാലാമറെസ് ഉപയോഗിക്കുന്ന രീതിയിലുള്ള ഒരു പ്രശ്നമാണിത്. - + <br/>The following modules could not be loaded: <br/>താഴെ പറയുന്ന മൊഡ്യൂളുകൾ ലഭ്യമാക്കാനായില്ല: - + Continue with installation? ഇൻസ്റ്റളേഷൻ തുടരണോ? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %2 സജ്ജീകരിക്കുന്നതിന് %1 സജ്ജീകരണ പ്രോഗ്രാം നിങ്ങളുടെ ഡിസ്കിൽ മാറ്റങ്ങൾ വരുത്താൻ പോകുന്നു.<br/><strong>നിങ്ങൾക്ക് ഈ മാറ്റങ്ങൾ പഴയപടിയാക്കാൻ കഴിയില്ല</strong> - + &Set up now ഉടൻ സജ്ജീകരിക്കുക (&S) - + &Set up സജ്ജീകരിക്കുക (&S) - + &Install ഇൻസ്റ്റാൾ (&I) - + Setup is complete. Close the setup program. സജ്ജീകരണം പൂർത്തിയായി. പ്രയോഗം അടയ്ക്കുക. - + Cancel setup? സജ്ജീകരണം റദ്ദാക്കണോ? - + Cancel installation? ഇൻസ്റ്റളേഷൻ റദ്ദാക്കണോ? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. നിലവിലുള്ള സജ്ജീകരണപ്രക്രിയ റദ്ദാക്കണോ? സജ്ജീകരണപ്രയോഗം നിൽക്കുകയും എല്ലാ മാറ്റങ്ങളും നഷ്ടപ്പെടുകയും ചെയ്യും. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. നിലവിലുള്ള ഇൻസ്റ്റാൾ പ്രക്രിയ റദ്ദാക്കണോ? ഇൻസ്റ്റാളർ നിൽക്കുകയും എല്ലാ മാറ്റങ്ങളും നഷ്ടപ്പെടുകയും ചെയ്യും. - - + + &Yes വേണം (&Y) - - + + &No വേണ്ട (&N) - + &Close അടയ്ക്കുക (&C) - + Continue with setup? സജ്ജീകരണപ്രക്രിയ തുടരണോ? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %2 ഇൻസ്റ്റാളുചെയ്യുന്നതിന് %1 ഇൻസ്റ്റാളർ നിങ്ങളുടെ ഡിസ്കിൽ മാറ്റങ്ങൾ വരുത്താൻ പോകുന്നു.<br/><strong>നിങ്ങൾക്ക് ഈ മാറ്റങ്ങൾ പഴയപടിയാക്കാൻ കഴിയില്ല.</strong> - + &Install now ഉടൻ ഇൻസ്റ്റാൾ ചെയ്യുക (&I) - + Go &back പുറകോട്ടു പോകുക - + &Done ചെയ്‌തു - + The installation is complete. Close the installer. ഇൻസ്റ്റളേഷൻ പൂർത്തിയായി. ഇൻസ്റ്റാളർ അടയ്ക്കുക - + Error പിശക് - + Installation Failed ഇൻസ്റ്റളേഷൻ പരാജയപ്പെട്ടു @@ -839,17 +842,17 @@ The installer will quit and all changes will be lost. സുഡോവേഴ്സ് ഡയറക്ടറിയിലേക്ക് എഴുതാൻ സാധിക്കില്ല. - + Cannot create sudoers file for writing. എഴുതുന്നതിനായി സുഡോവേഴ്സ് ഫയൽ നിർമ്മിക്കാനായില്ല. - + Cannot chmod sudoers file. സുഡോവേഴ്സ് ഫയൽ chmod ചെയ്യാൻ സാധിച്ചില്ല. - + Cannot open groups file for reading. ഗ്രൂപ്സ് ഫയൽ വായിക്കാനായി തുറക്കാൻ സാധിച്ചില്ല. @@ -1583,6 +1586,24 @@ The installer will quit and all changes will be lost. പാർട്ടീഷൻ %1ൽ LUKS കീ ഫയൽ ക്രമീകരിക്കാം. + + MachineIdJob + + + Generate machine-id. + മെഷീൻ-ഐഡ് നിർമ്മിക്കുക + + + + Configuration Error + ക്രമീകരണത്തിൽ പിഴവ് + + + + No root mount point is set for MachineId. + മെഷീൻ ഐഡിയ്ക്ക് റൂട്ട് മൗണ്ട് പോയിന്റൊന്നും ക്രമീകരിച്ചിട്ടില്ല + + NetInstallPage @@ -1653,242 +1674,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short രഹസ്യവാക്ക് വളരെ ചെറുതാണ് - + Password is too long രഹസ്യവാക്ക് വളരെ വലുതാണ് - + Password is too weak രഹസ്യവാക്ക് വളരെ ദുർബലമാണ് - + Memory allocation error when setting '%1' '%1' ക്രമീക്കരിക്കുന്നതിൽ മെമ്മറി പങ്കുവയ്ക്കൽ പിഴവ് - + Memory allocation error മെമ്മറി വിന്യസിക്കുന്നതിൽ പിഴവ് - + The password is the same as the old one രഹസ്യവാക്ക് പഴയയതുതന്നെ ആണ് - + The password is a palindrome രഹസ്യവാക്ക് ഒരു അനുലോമവിലോമപദമാണ് - + The password differs with case changes only പാസ്‌വേഡ് അക്ഷരങ്ങളുടെ കേസ് മാറ്റങ്ങളിൽ മാത്രം വ്യത്യാസപ്പെട്ടിരിക്കുന്നു - + The password is too similar to the old one രഹസ്യവാക്ക് പഴയതിനോട് വളരെ സമാനമാണ് - + The password contains the user name in some form രഹസ്യവാക്ക് ഏതെങ്കിലും രൂപത്തിൽ ഉപയോക്തൃനാമം അടങ്ങിയിരിക്കുന്നു - + The password contains words from the real name of the user in some form രഹസ്യവാക്കിൽഏതെങ്കിലും രൂപത്തിൽ ഉപയോക്താവിന്റെ യഥാർത്ഥ പേരിൽ നിന്നുള്ള വാക്കുകൾ അടങ്ങിയിരിക്കുന്നു - + The password contains forbidden words in some form രഹസ്യവാക്കിൽ ഏതെങ്കിലും രൂപത്തിൽ വിലക്കപ്പെട്ട വാക്കുകൾ അടങ്ങിയിരിക്കുന്നു - + The password contains less than %1 digits രഹസ്യവാക്ക് %1 അക്കത്തിൽ കുറവാണ് - + The password contains too few digits രഹസ്യവാക്കിൽ വളരെ കുറച്ച് അക്കങ്ങൾ അടങ്ങിയിരിക്കുന്നു - + The password contains less than %1 uppercase letters രഹസ്യവാക്കിൽ %1 വലിയക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്നു - + The password contains too few uppercase letters രഹസ്യവാക്കിൽ വളരെ കുറച്ചു വലിയക്ഷരങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളു - + The password contains less than %1 lowercase letters രഹസ്യവാക്കിൽ %1 -ൽ താഴെ ചെറിയ അക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്നു - + The password contains too few lowercase letters രഹസ്യവാക്കിൽ വളരെ കുറച്ചു ചെറിയക്ഷരങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളു - + The password contains less than %1 non-alphanumeric characters രഹസ്യവാക്കിൽ ആൽഫാന്യൂമെറിക് ഇതര പ്രതീകങ്ങൾ %1 -ൽ കുറവാണ് - + The password contains too few non-alphanumeric characters രഹസ്യവാക്കിൽ ആൽഫാന്യൂമെറിക് ഇതര പ്രതീകങ്ങൾ വളരെ കുറവാണ് - + The password is shorter than %1 characters പാസ്‌വേഡ് %1 പ്രതീകങ്ങളേക്കാൾ ചെറുതാണ് - + The password is too short രഹസ്യവാക്ക് വളരെ ചെറുതാണ് - + The password is just rotated old one രഹസ്യവാക്ക് പഴയതുതന്നെ തിരിച്ചിട്ടതാണ് - + The password contains less than %1 character classes പാസ്‌വേഡിൽ പ്രതീക ക്ലാസുകൾ %1 ൽ കുറവാണ് - + The password does not contain enough character classes രഹസ്യവാക്കിൽ ആവശ്യത്തിനു അക്ഷരങ്ങൾ ഇല്ല - + The password contains more than %1 same characters consecutively രഹസ്സ്യവാക്കിൽ അടുത്തടുത്തായി ഒരേ പ്രതീകം %1 കൂടുതൽ തവണ അടങ്ങിയിരിക്കുന്നു - + The password contains too many same characters consecutively രഹസ്സ്യവാക്കിൽ അടുത്തടുത്തായി ഒരേ പ്രതീകം ഒരുപാട് തവണ അടങ്ങിയിരിക്കുന്നു. - + The password contains more than %1 characters of the same class consecutively രഹസ്യവാക്കിൽ %1 തവണ ഒരേ തരം അക്ഷരം ആവർത്തിക്കുന്നു - + The password contains too many characters of the same class consecutively രഹസ്യവാക്കിൽ ഒരുപാട് തവണ ഒരേ തരം അക്ഷരം ആവർത്തിക്കുന്നു - + The password contains monotonic sequence longer than %1 characters പാസ്‌വേഡിൽ %1 പ്രതീകങ്ങളേക്കാൾ ദൈർഘ്യമുള്ള മോണോടോണിക് ശ്രേണി അടങ്ങിയിരിക്കുന്നു - + The password contains too long of a monotonic character sequence പാസ്‌വേഡിൽ വളരെ ദൈർഘ്യമുള്ള ഒരു മോണോടോണിക് പ്രതീക ശ്രേണിയുണ്ട് - + No password supplied രഹസ്യവാക്ക് ഒന്നും നല്‍കിയിട്ടില്ല - + Cannot obtain random numbers from the RNG device RNG ഉപകരണത്തിൽ നിന്ന് ആകസ്‌മിക സംഖ്യകൾ എടുക്കാൻ പറ്റുന്നില്ല. - + Password generation failed - required entropy too low for settings രഹസ്യവാക്ക് സൃഷ്ടിക്കുന്നതിൽ പരാജയപ്പെട്ടു - ആവശ്യത്തിനു entropy ഇല്ല. - + The password fails the dictionary check - %1 രഹസ്യവാക്ക് നിഘണ്ടു പരിശോധനയിൽ പരാജയപ്പെടുന്നു - %1 - + The password fails the dictionary check രഹസ്യവാക്ക് നിഘണ്ടു പരിശോധനയിൽ പരാജയപ്പെടുന്നു - + Unknown setting - %1 അജ്ഞാതമായ ക്രമീകരണം - %1 - + Unknown setting അപരിചിതമായ സജ്ജീകരണം - + Bad integer value of setting - %1 ക്രമീകരണത്തിന്റെ ശരിയല്ലാത്ത സംഖ്യാമൂല്യം - %1 - + Bad integer value തെറ്റായ സംഖ്യ - + Setting %1 is not of integer type %1 സജ്ജീകരണം സംഖ്യയല്ല - + Setting is not of integer type സജ്ജീകരണം സംഖ്യയല്ല - + Setting %1 is not of string type %1 സജ്ജീകരണം ഒരു വാക്കല്ലാ - + Setting is not of string type സജ്ജീകരണം ഒരു വാക്കല്ലാ - + Opening the configuration file failed ക്രമീകരണ ഫയൽ തുറക്കുന്നതിൽ പരാജയപ്പെട്ടു - + The configuration file is malformed ക്രമീകരണ ഫയൽ പാഴാണു - + Fatal failure അപകടകരമായ പിഴവ് - + Unknown error അപരിചിതമായ പിശക് @@ -1965,47 +1986,86 @@ The installer will quit and all changes will be lost. നിങ്ങളുടെ പേരെന്താണ് ? - + What name do you want to use to log in? ലോഗിൻ ചെയ്യാൻ നിങ്ങൾ ഏത് നാമം ഉപയോഗിക്കാനാണു ആഗ്രഹിക്കുന്നത്? - + Choose a password to keep your account safe. നിങ്ങളുടെ അക്കൗണ്ട് സുരക്ഷിതമായി സൂക്ഷിക്കാൻ ഒരു രഹസ്യവാക്ക് തിരഞ്ഞെടുക്കുക. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>ഒരേ പാസ്‌വേഡ് രണ്ടുതവണ നൽകുക, അതുവഴി ടൈപ്പിംഗ് പിശകുകൾ പരിശോധിക്കാൻ കഴിയും.ഒരു നല്ല പാസ്‌വേഡിൽ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, ചിഹ്നനം എന്നിവയുടെ മിശ്രിതം അടങ്ങിയിരിക്കും, കുറഞ്ഞത് എട്ട് പ്രതീകങ്ങളെങ്കിലും നീളമുണ്ടായിരിക്കണം, കൃത്യമായ ഇടവേളകളിൽ അവ മാറ്റണം.</small> - + What is the name of this computer? ഈ കമ്പ്യൂട്ടറിന്റെ നാമം എന്താണ് ? - + + Your Full Name + താങ്കളുടെ മുഴുവൻ പേരു് + + + + login + ലോഗിൻ + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>നിങ്ങൾ ഒരു നെറ്റ്‌വർക്കിൽ കമ്പ്യൂട്ടർ മറ്റുള്ളവർക്ക് ദൃശ്യമാക്കുകയാണെങ്കിൽ ഈ പേര് ഉപയോഗിക്കും.</small> - + + Computer Name + കമ്പ്യൂട്ടറിന്റെ പേര് + + + + + Password + രഹസ്യവാക്ക് + + + + + Repeat Password + രഹസ്യവാക്ക് വീണ്ടും + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + ഈ കള്ളി തിരഞ്ഞെടുക്കുമ്പോൾ, രഹസ്യവാക്കിന്റെ ബലപരിശോധന നടപ്പിലാക്കുകയും, ആയതിനാൽ താങ്കൾക്ക് ദുർബലമായ ഒരു രഹസ്യവാക്ക് ഉപയോഗിക്കാൻ സാധിക്കാതെ വരുകയും ചെയ്യും. + + + + Require strong passwords. + ശക്തമായ രഹസ്യവാക്കുകൾ ആവശ്യപ്പെടുക + + + Log in automatically without asking for the password. രഹസ്യവാക്കില്ലാതെ യാന്ത്രികമായി ലോഗിൻ ചെയ്യുക. - + Use the same password for the administrator account. അഡ്മിനിസ്ട്രേറ്റർ അക്കൗണ്ടിനും ഇതേ രഹസ്യവാക്ക് ഉപയോഗിക്കുക. - + Choose a password for the administrator account. അഡ്മിനിസ്ട്രേറ്റർ അക്കണ്ടിനായി ഒരു രഹസ്യവാക്ക് തിരഞ്ഞെടുക്കുക. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>ഒരേ പാസ്‌വേഡ് രണ്ടുതവണ നൽകുക, അതുവഴി ടൈപ്പിംഗ് പിശകുകൾ പരിശോധിക്കാൻ കഴിയും.</small> @@ -2466,6 +2526,30 @@ Output: No description provided. വിവരണമൊന്നും നൽകിയിട്ടില്ല. + + + + + + + File not found + ഫയൽ കണ്ടെത്താനായില്ല + + + + Path <pre>%1</pre> must be an absolute path. + <pre>%1</pre> പാഥ് ഒരു പൂർണ്ണമായ പാഥ് ആയിരിക്കണം. + + + + Could not create new random file <pre>%1</pre>. + റാൻഡം ഫയൽ <pre>%1</pre> നിർമ്മിക്കാനായില്ല. + + + + Could not read random file <pre>%1</pre>. + റാൻഡം ഫയൽ <pre>%1</pre> വായിക്കാനായില്ല. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Output: SetHostNameJob - + Set hostname %1 %1 ഹോസ്റ്റ്‌നെയിം ക്രമീകരിക്കുക - + Set hostname <strong>%1</strong>. <strong>%1</strong> ഹോസ്റ്റ്‌നെയിം ക്രമീകരിക്കുക. - + Setting hostname %1. %1 ഹോസ്റ്റ്‌നെയിം ക്രമീകരിക്കുന്നു. - - + + Internal Error ആന്തരികമായ പിഴവ് - - + + Cannot write hostname to target system ടാർഗെറ്റ് സിസ്റ്റത്തിലേക്ക് ഹോസ്റ്റ്നാമം എഴുതാൻ കഴിയില്ല @@ -2899,22 +2983,22 @@ Output: rootMountPoint %1 ആണ് - + Cannot disable root account. റൂട്ട് അക്കൗണ്ട് നിഷ്ക്രിയമാക്കാനായില്ല. - + passwd terminated with error code %1. passwd പിഴവ് കോഡ്‌ %1 ഓട് കൂടീ അവസാനിച്ചു. - + Cannot set password for user %1. ഉപയോക്താവ് %1നായി രഹസ്യവാക്ക് ക്രമീകരിക്കാനായില്ല. - + usermod terminated with error code %1. usermod പിഴവ് കോഡ്‌ %1 ഓട് കൂടീ അവസാനിച്ചു. @@ -3101,43 +3185,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് സജ്ജീകരണത്തിന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് ഇൻസ്റ്റളേഷന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> - + Your username is too long. നിങ്ങളുടെ ഉപയോക്തൃനാമം വളരെ വലുതാണ്. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - നിങ്ങളുടെ ഉപയോക്തൃനാമത്തിൽ അസാധുവായ പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു.ചെറിയ അക്ഷരങ്ങളും അക്കങ്ങളും മാത്രമേ അനുവദിക്കൂ. + + Your username must start with a lowercase letter or underscore. + താങ്കളുടെ ഉപയോക്തൃനാമം ഒരു ചെറിയ അക്ഷരമോ അണ്ടർസ്കോറോ ഉപയോഗിച്ച് വേണം തുടങ്ങാൻ. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + ചെറിയ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അണ്ടർസ്കോർ, ഹൈഫൺ എന്നിവയേ അനുവദിച്ചിട്ടുള്ളൂ. + + + + Only letters, numbers, underscore and hyphen are allowed. + അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അണ്ടർസ്കോർ, ഹൈഫൺ എന്നിവയേ അനുവദിച്ചിട്ടുള്ളൂ. + + + Your hostname is too short. നിങ്ങളുടെ ഹോസ്റ്റ്നാമം വളരെ ചെറുതാണ് - + Your hostname is too long. നിങ്ങളുടെ ഹോസ്റ്റ്നാമം ദൈർഘ്യമേറിയതാണ് - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - നിങ്ങളുടെ ഹോസ്റ്റ്നാമത്തിൽ അസാധുവായ പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു.അക്ഷരങ്ങൾ, അക്കങ്ങൾ, ഡാഷുകൾ എന്നിവ മാത്രമേ അനുവദിക്കൂ. - - - - + Your passwords do not match! നിങ്ങളുടെ പാസ്‌വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല! @@ -3145,7 +3233,7 @@ Output: UsersViewStep - + Users ഉപയോക്താക്കൾ diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index ead1ff0aa..932468b03 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back &मागे - + + &Next &पुढे - + + &Cancel &रद्द करा - + Cancel setup without changing the system. - + Cancel installation without changing the system. प्रणालीत बदल न करता अधिष्टापना रद्द करा. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? अधिष्ठापना रद्द करायचे? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes &होय - - + + &No &नाही - + &Close &बंद करा - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &आता अधिष्ठापित करा - + Go &back &मागे जा - + &Done &पूर्ण झाली - + The installation is complete. Close the installer. अधिष्ठापना संपूर्ण झाली. अधिष्ठापक बंद करा. - + Error त्रुटी - + Installation Failed अधिष्ठापना अयशस्वी झाली @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short परवलीशब्द खूप लहान आहे - + Password is too long परवलीशब्द खूप लांब आहे - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error अंतर्गत त्रूटी  - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1.  %1 या एरर कोडसहित usermod रद्द केले. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. तुमचा वापरकर्तानाव खूप लांब आहे - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - तुमच्या वापरकर्तानावात अवैध अक्षरे आहेत. फक्त अक्षरे, अंक आणि डॅश स्वीकारले जातील. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. तुमचा संगणकनाव खूप लहान आहे - + Your hostname is too long. तुमचा संगणकनाव खूप लांब आहे - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - तुमच्या संगणकनावात अवैध अक्षरे आहेत. फक्त अक्षरे, अंक आणि डॅश स्वीकारले जातील. - - - - + Your passwords do not match! तुमचा परवलीशब्द जुळत नाही @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users वापरकर्ते diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 3f197cdda..0b2773837 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Tilbake - + + &Next &Neste - + + &Cancel &Avbryt - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryte installasjon? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig avbryte installasjonen? Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - - + + &Yes &Ja - - + + &No &Nei - + &Close &Lukk - + Continue with setup? Fortsette å sette opp? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 vil nå gjøre endringer på harddisken, for å installere %2. <br/><strong>Du vil ikke kunne omgjøre disse endringene.</strong> - + &Install now &Installer nå - + Go &back Gå &tilbake - + &Done &Ferdig - + The installation is complete. Close the installer. Installasjonen er fullført. Lukk installeringsprogrammet. - + Error Feil - + Installation Failed Installasjon feilet @@ -837,17 +840,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1581,6 +1584,24 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. + + MachineIdJob + + + Generate machine-id. + Generer maskin-ID. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. PWQ - + Password is too short Passordet er for kort - + Password is too long Passordet er for langt - + Password is too weak Passordet er for svakt - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one Passordet er det samme som det gamle - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one Passordet likner for mye på det gamle - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters Passordet inneholder mindre enn %1 store bokstaver - + The password contains too few uppercase letters Passordet inneholder for få store bokstaver - + The password contains less than %1 lowercase letters Passordet inneholder mindre enn %1 små bokstaver - + The password contains too few lowercase letters Passordet inneholder for få små bokstaver - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short Passordet er for kort - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively Passordet inneholder for mange like tegn etter hverandre - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type Innstillingen er ikke av type streng - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error Ukjent feil @@ -1963,47 +1984,86 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Hva heter du? - + What name do you want to use to log in? Hvilket navn vil du bruke for å logge inn? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error Intern feil - - + + Cannot write hostname to target system @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Brukernavnet ditt er for langt. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users Brukere diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index b7550fb3e..1642ded42 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index f2201a0d1..3e42ff54e 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Terug - + + &Next &Volgende - + + &Cancel &Afbreken - + Cancel setup without changing the system. - + Cancel installation without changing the system. Installatie afbreken zonder aanpassingen aan het systeem. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares Initialisatie mislukt - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 kan niet worden geïnstalleerd. Calamares kon niet alle geconfigureerde modules laden. Dit is een probleem met hoe Calamares wordt gebruikt door de distributie. - + <br/>The following modules could not be loaded: <br/>The volgende modules konden niet worden geladen: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install &Installeer - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Installatie afbreken? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wil je het huidige installatieproces echt afbreken? Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - - + + &Yes &ja - - + + &No &Nee - + &Close &Sluiten - + Continue with setup? Doorgaan met installatie? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Het %1 installatieprogramma zal nu aanpassingen maken aan je schijf om %2 te installeren.<br/><strong>Deze veranderingen kunnen niet ongedaan gemaakt worden.</strong> - + &Install now Nu &installeren - + Go &back Ga &terug - + &Done Voltooi&d - + The installation is complete. Close the installer. De installatie is voltooid. Sluit het installatie-programma. - + Error Fout - + Installation Failed Installatie Mislukt @@ -837,17 +840,17 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Sudoers map is niet schrijfbaar. - + Cannot create sudoers file for writing. Kan het bestand sudoers niet aanmaken. - + Cannot chmod sudoers file. chmod sudoers gefaald. - + Cannot open groups file for reading. Kan het bestand groups niet lezen. @@ -1581,6 +1584,24 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. + + MachineIdJob + + + Generate machine-id. + Genereer machine-id + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. PWQ - + Password is too short Het wachtwoord is te kort - + Password is too long Het wachtwoord is te lang - + Password is too weak Wachtwoord is te zwak - + Memory allocation error when setting '%1' Foute geheugentoewijzing bij het instellen van %1. - + Memory allocation error Foute geheugentoewijzing - + The password is the same as the old one Het wachtwoord is hetzelfde als het oude wachtwoord - + The password is a palindrome Het wachtwoord is een palindroom - + The password differs with case changes only Het wachtwoord verschilt slechts in hoofdlettergebruik - + The password is too similar to the old one Het wachtwoord lijkt te veel op het oude wachtwoord - + The password contains the user name in some form Het wachtwoord bevat de gebruikersnaam op een of andere manier - + The password contains words from the real name of the user in some form Het wachtwoord bevat woorden van de echte naam van de gebruiker in één of andere vorm. - + The password contains forbidden words in some form Het wachtwoord bevat verboden woorden in één of andere vorm. - + The password contains less than %1 digits Het wachtwoord bevat minder dan %1 cijfers - + The password contains too few digits Het wachtwoord bevat te weinig cijfers - + The password contains less than %1 uppercase letters Het wachtwoord bevat minder dan %1 hoofdletters. - + The password contains too few uppercase letters Het wachtwoord bevat te weinig hoofdletters. - + The password contains less than %1 lowercase letters Het wachtwoord bevat minder dan %1 kleine letters. - + The password contains too few lowercase letters Het wachtwoord bevat te weinig kleine letters. - + The password contains less than %1 non-alphanumeric characters Het wachtwoord bevat minder dan %1 niet-alfanumerieke symbolen. - + The password contains too few non-alphanumeric characters Het wachtwoord bevat te weinig niet-alfanumerieke symbolen. - + The password is shorter than %1 characters Het wachtwoord is korter dan %1 karakters. - + The password is too short Het wachtwoord is te kort. - + The password is just rotated old one Het wachtwoord is enkel omgedraaid. - + The password contains less than %1 character classes Het wachtwoord bevat minder dan %1 karaktergroepen - + The password does not contain enough character classes Het wachtwoord bevat te weinig karaktergroepen - + The password contains more than %1 same characters consecutively Het wachtwoord bevat meer dan %1 dezelfde karakters na elkaar - + The password contains too many same characters consecutively Het wachtwoord bevat te veel dezelfde karakters na elkaar - + The password contains more than %1 characters of the same class consecutively Het wachtwoord bevat meer dan %1 karakters van dezelfde groep na elkaar - + The password contains too many characters of the same class consecutively Het wachtwoord bevat te veel karakters van dezelfde groep na elkaar - + The password contains monotonic sequence longer than %1 characters Het wachtwoord bevat een monotone sequentie van meer dan %1 karakters - + The password contains too long of a monotonic character sequence Het wachtwoord bevat een te lange monotone sequentie van karakters - + No password supplied Geen wachtwoord opgegeven - + Cannot obtain random numbers from the RNG device Kan geen willekeurige nummers verkrijgen van het RNG apparaat - + Password generation failed - required entropy too low for settings Wachtwoord aanmaken mislukt - te weinig wanorde voor de instellingen - + The password fails the dictionary check - %1 Het wachtwoord faalt op de woordenboektest - %1 - + The password fails the dictionary check Het wachtwoord faalt op de woordenboektest - + Unknown setting - %1 Onbekende instelling - %1 - + Unknown setting Onbekende instelling - + Bad integer value of setting - %1 Ongeldige gehele waarde voor instelling - %1 - + Bad integer value Ongeldige gehele waarde - + Setting %1 is not of integer type Instelling %1 is niet van het type integer - + Setting is not of integer type Instelling is niet van het type integer - + Setting %1 is not of string type Instelling %1 is niet van het type string - + Setting is not of string type Instelling is niet van het type string - + Opening the configuration file failed Openen van het configuratiebestand is mislukt - + The configuration file is malformed Het configuratiebestand is ongeldig - + Fatal failure Fatale fout - + Unknown error Onbekende fout @@ -1963,47 +1984,86 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Wat is je naam? - + What name do you want to use to log in? Welke naam wil je gebruiken om in te loggen? - + Choose a password to keep your account safe. Kies een wachtwoord om uw account veilig te houden. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Voer hetzelfde wachtwoord twee keer in, zodat het gecontroleerd kan worden op typefouten. Een goed wachtwoord bevat een combinatie van letters, cijfers en leestekens, is ten minste acht tekens lang en moet regelmatig worden gewijzigd.</ small> - + What is the name of this computer? Wat is de naam van deze computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Deze naam zal worden gebruikt als u de computer zichtbaar maakt voor anderen op een netwerk.</ small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Automatisch aanmelden zonder wachtwoord te vragen. - + Use the same password for the administrator account. Gebruik hetzelfde wachtwoord voor het administratoraccount. - + Choose a password for the administrator account. Kies een wachtwoord voor het administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Voer hetzelfde wachtwoord twee keer in, zodat het gecontroleerd kan worden op typefouten.</ small> @@ -2464,6 +2524,30 @@ Uitvoer: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2734,29 +2818,29 @@ Uitvoer: SetHostNameJob - + Set hostname %1 Instellen hostnaam %1 - + Set hostname <strong>%1</strong>. Instellen hostnaam <strong>%1</strong> - + Setting hostname %1. Hostnaam %1 instellen. - - + + Internal Error Interne Fout - - + + Cannot write hostname to target system Kan de hostnaam niet naar doelsysteem schrijven @@ -2897,22 +2981,22 @@ Uitvoer: rootMountPoint is %1 - + Cannot disable root account. Kan root account niet uitschakelen. - + passwd terminated with error code %1. passwd is afgesloten met foutcode %1. - + Cannot set password for user %1. Kan het wachtwoord niet instellen voor gebruiker %1 - + usermod terminated with error code %1. usermod beëindigd met foutcode %1. @@ -3099,43 +3183,47 @@ Uitvoer: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. De gebruikersnaam is te lang. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - De gebruikersnaam bevat ongeldige tekens. Enkel kleine letters en nummers zijn toegelaten. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. De hostnaam is te kort. - + Your hostname is too long. De hostnaam is te lang. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - De hostnaam bevat ongeldige tekens. Enkel letters, cijfers en liggende streepjes zijn toegelaten. - - - - + Your passwords do not match! Je wachtwoorden komen niet overeen! @@ -3143,7 +3231,7 @@ Uitvoer: UsersViewStep - + Users Gebruikers diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 865aa08ee..6c0b60b9d 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Wstecz - + + &Next &Dalej - + + &Cancel &Anuluj - + Cancel setup without changing the system. - + Cancel installation without changing the system. Anuluj instalację bez dokonywania zmian w systemie. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Błąd inicjacji programu Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 nie może zostać zainstalowany. Calamares nie mógł wczytać wszystkich skonfigurowanych modułów. Jest to problem ze sposobem, w jaki Calamares jest używany przez dystrybucję. - + <br/>The following modules could not be loaded: <br/>Następujące moduły nie mogły zostać wczytane: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Za&instaluj - + Setup is complete. Close the setup program. - + Cancel setup? Anulować ustawianie? - + Cancel installation? Anulować instalację? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Czy na pewno chcesz anulować obecny proces instalacji? Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - - + + &Yes &Tak - - + + &No &Nie - + &Close Zam&knij - + Continue with setup? Kontynuować z programem instalacyjnym? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalator %1 zamierza przeprowadzić zmiany na Twoim dysku, aby zainstalować %2.<br/><strong>Nie będziesz mógł cofnąć tych zmian.</strong> - + &Install now &Zainstaluj teraz - + Go &back &Cofnij się - + &Done &Ukończono - + The installation is complete. Close the installer. Instalacja ukończona pomyślnie. Możesz zamknąć instalator. - + Error Błąd - + Installation Failed Wystąpił błąd instalacji @@ -837,17 +840,17 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Katalog sudoers nie ma prawa do zapisu. - + Cannot create sudoers file for writing. Nie można utworzyć pliku sudoers z możliwością zapisu. - + Cannot chmod sudoers file. Nie można wykonać chmod na pliku sudoers. - + Cannot open groups file for reading. Nie można otworzyć pliku groups do odczytu. @@ -1581,6 +1584,24 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. + + MachineIdJob + + + Generate machine-id. + Generuj machine-id. + + + + Configuration Error + Błąd konfiguracji + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. PWQ - + Password is too short Hasło jest zbyt krótkie - + Password is too long Hasło jest zbyt długie - + Password is too weak Hasło jest zbyt słabe - + Memory allocation error when setting '%1' Wystąpił błąd przydzielania pamięci przy ustawieniu '%1' - + Memory allocation error Błąd przydzielania pamięci - + The password is the same as the old one Hasło jest takie samo jak poprzednie - + The password is a palindrome Hasło jest palindromem - + The password differs with case changes only Hasła różnią się tylko wielkością znaków - + The password is too similar to the old one Hasło jest zbyt podobne do poprzedniego - + The password contains the user name in some form Hasło zawiera nazwę użytkownika - + The password contains words from the real name of the user in some form Hasło zawiera fragment pełnej nazwy użytkownika - + The password contains forbidden words in some form Hasło zawiera jeden z niedozwolonych wyrazów - + The password contains less than %1 digits Hasło składa się z mniej niż %1 znaków - + The password contains too few digits Hasło zawiera zbyt mało znaków - + The password contains less than %1 uppercase letters Hasło składa się z mniej niż %1 wielkich liter - + The password contains too few uppercase letters Hasło zawiera zbyt mało wielkich liter - + The password contains less than %1 lowercase letters Hasło składa się z mniej niż %1 małych liter - + The password contains too few lowercase letters Hasło zawiera zbyt mało małych liter - + The password contains less than %1 non-alphanumeric characters Hasło składa się z mniej niż %1 znaków niealfanumerycznych - + The password contains too few non-alphanumeric characters Hasło zawiera zbyt mało znaków niealfanumerycznych - + The password is shorter than %1 characters Hasło zawiera mniej niż %1 znaków - + The password is too short Hasło jest zbyt krótkie - + The password is just rotated old one Hasło jest odwróceniem poprzedniego - + The password contains less than %1 character classes Hasło składa się z mniej niż %1 rodzajów znaków - + The password does not contain enough character classes Hasło zawiera zbyt mało rodzajów znaków - + The password contains more than %1 same characters consecutively Hasło zawiera ponad %1 powtarzających się tych samych znaków - + The password contains too many same characters consecutively Hasło zawiera zbyt wiele powtarzających się znaków - + The password contains more than %1 characters of the same class consecutively Hasło zawiera więcej niż %1 znaków tego samego rodzaju - + The password contains too many characters of the same class consecutively Hasło składa się ze zbyt wielu znaków tego samego rodzaju - + The password contains monotonic sequence longer than %1 characters Hasło zawiera jednakowy ciąg dłuższy niż %1 znaków - + The password contains too long of a monotonic character sequence Hasło zawiera zbyt długi ciąg jednakowych znaków - + No password supplied Nie podano hasła - + Cannot obtain random numbers from the RNG device Nie można uzyskać losowych znaków z urządzenia RNG - + Password generation failed - required entropy too low for settings Błąd tworzenia hasła - wymagana entropia jest zbyt niska dla ustawień - + The password fails the dictionary check - %1 Hasło nie przeszło pomyślnie sprawdzenia słownikowego - %1 - + The password fails the dictionary check Hasło nie przeszło pomyślnie sprawdzenia słownikowego - + Unknown setting - %1 Nieznane ustawienie - %1 - + Unknown setting Nieznane ustawienie - + Bad integer value of setting - %1 Błędna wartość liczby całkowitej ustawienia - %1 - + Bad integer value Błędna wartość liczby całkowitej - + Setting %1 is not of integer type Ustawienie %1 nie jest liczbą całkowitą - + Setting is not of integer type Ustawienie nie jest liczbą całkowitą - + Setting %1 is not of string type Ustawienie %1 nie jest ciągiem znaków - + Setting is not of string type Ustawienie nie jest ciągiem znaków - + Opening the configuration file failed Nie udało się otworzyć pliku konfiguracyjnego - + The configuration file is malformed Plik konfiguracyjny jest uszkodzony - + Fatal failure Błąd krytyczny - + Unknown error Nieznany błąd @@ -1963,47 +1984,86 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Jak się nazywasz? - + What name do you want to use to log in? Jakiego imienia chcesz używać do logowania się? - + Choose a password to keep your account safe. Wybierz hasło, aby chronić swoje konto. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Wpisz swoje hasło dwa razy, aby mieć pewność, że uniknąłeś literówek. Dobre hasło powinno zawierać mieszaninę liter, cyfr, znaków specjalnych; mieć przynajmniej 8 znaków i być regularnie zmieniane.</small> - + What is the name of this computer? Jaka jest nazwa tego komputera? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Ta nazwa będzie używana, jeśli udostępnisz swój komputer w sieci.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Zaloguj automatycznie bez proszenia o hasło. - + Use the same password for the administrator account. Użyj tego samego hasła dla konta administratora. - + Choose a password for the administrator account. Wybierz hasło do konta administratora. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Wpisz to samo hasło dwa razy, aby mieć pewność, że uniknąłeś literówek.</small> @@ -2464,6 +2524,30 @@ Wyjście: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ i nie uruchomi się SetHostNameJob - + Set hostname %1 Ustaw nazwę komputera %1 - + Set hostname <strong>%1</strong>. Ustaw nazwę komputera <strong>%1</strong>. - + Setting hostname %1. Ustawianie nazwy komputera %1. - - + + Internal Error Błąd wewnętrzny - - + + Cannot write hostname to target system Nie można zapisać nazwy komputera w docelowym systemie @@ -2898,22 +2982,22 @@ i nie uruchomi się Punkt montowania / to %1 - + Cannot disable root account. Nie można wyłączyć konta administratora. - + passwd terminated with error code %1. Zakończono passwd z kodem błędu %1. - + Cannot set password for user %1. Nie można ustawić hasła dla użytkownika %1. - + usermod terminated with error code %1. Polecenie usermod przerwane z kodem błędu %1. @@ -3100,43 +3184,47 @@ i nie uruchomi się UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Twoja nazwa użytkownika jest za długa. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Twoja nazwa użytkownika zawiera niepoprawne znaki. Dozwolone są tylko małe litery i cyfry. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Twoja nazwa komputera jest za krótka. - + Your hostname is too long. Twoja nazwa komputera jest za długa. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Twoja nazwa komputera zawiera niepoprawne znaki. Dozwolone są tylko litery, cyfry i myślniki. - - - - + Your passwords do not match! Twoje hasła nie są zgodne! @@ -3144,7 +3232,7 @@ i nie uruchomi się UsersViewStep - + Users Użytkownicy diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index 58290bbc4..83e459bbe 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Voltar - + + &Next &Próximo - + + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar configuração sem alterar o sistema. - + Cancel installation without changing the system. Cancelar instalação sem modificar o sistema. - + Setup Failed A Configuração Falhou - + Would you like to paste the install log to the web? Deseja colar o registro de instalação na web? - + Install Log Paste URL Colar URL de Registro de Instalação - + The upload was unsuccessful. No web-paste was done. Não foi possível fazer o upload. Nenhuma colagem foi feita na web. - + Calamares Initialization Failed Falha na inicialização do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 não pôde ser instalado. O Calamares não conseguiu carregar todos os módulos configurados. Este é um problema com o modo em que o Calamares está sendo utilizado pela distribuição. - + <br/>The following modules could not be loaded: <br/>Os seguintes módulos não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> O programa de configuração %1 está prestes a fazer mudanças no seu disco de modo a configurar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Set up now &Configurar agora - + &Set up &Configurar - + &Install &Instalar - + Setup is complete. Close the setup program. A configuração está completa. Feche o programa de configuração. - + Cancel setup? Cancelar a configuração? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Você realmente quer cancelar o processo atual de configuração? O programa de configuração será fechado e todas as mudanças serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Você deseja realmente cancelar a instalação atual? O instalador será fechado e todas as alterações serão perdidas. - - + + &Yes &Sim - - + + &No &Não - + &Close Fe&char - + Continue with setup? Continuar com configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O instalador %1 está prestes a fazer alterações no disco a fim de instalar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Install now &Instalar agora - + Go &back &Voltar - + &Done Concluí&do - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -839,17 +842,17 @@ O instalador será fechado e todas as alterações serão perdidas.O diretório do sudoers não é gravável. - + Cannot create sudoers file for writing. Não foi possível criar arquivo sudoers para gravação. - + Cannot chmod sudoers file. Não foi possível utilizar chmod no arquivo sudoers. - + Cannot open groups file for reading. Não foi possível abrir arquivo de grupos para leitura. @@ -1583,6 +1586,24 @@ O instalador será fechado e todas as alterações serão perdidas.Pode configurar o arquivo de chave LUKS na partição% 1. + + MachineIdJob + + + Generate machine-id. + Gerar machine-id. + + + + Configuration Error + Erro de Configuração. + + + + No root mount point is set for MachineId. + Nenhum ponto de montagem raiz está definido para MachineId. + + NetInstallPage @@ -1653,242 +1674,242 @@ O instalador será fechado e todas as alterações serão perdidas. PWQ - + Password is too short A senha é muito curta - + Password is too long A senha é muito longa - + Password is too weak A senha é muito fraca - + Memory allocation error when setting '%1' Erro de alocação de memória ao definir '% 1' - + Memory allocation error Erro de alocação de memória - + The password is the same as the old one A senha é a mesma que a antiga - + The password is a palindrome A senha é um palíndromo - + The password differs with case changes only A senha difere apenas com mudanças entre maiúsculas ou minúsculas - + The password is too similar to the old one A senha é muito semelhante à antiga - + The password contains the user name in some form A senha contém o nome de usuário em alguma forma - + The password contains words from the real name of the user in some form A senha contém palavras do nome real do usuário - + The password contains forbidden words in some form A senha contém palavras proibidas de alguma forma - + The password contains less than %1 digits A senha contém menos de %1 dígitos - + The password contains too few digits A senha contém poucos dígitos - + The password contains less than %1 uppercase letters A senha contém menos que %1 letras maiúsculas - + The password contains too few uppercase letters A senha contém poucas letras maiúsculas - + The password contains less than %1 lowercase letters A senha contém menos que %1 letras minúsculas - + The password contains too few lowercase letters A senha contém poucas letras minúsculas - + The password contains less than %1 non-alphanumeric characters A senha contém menos que %1 caracteres não alfanuméricos - + The password contains too few non-alphanumeric characters A senha contém poucos caracteres não alfanuméricos - + The password is shorter than %1 characters A senha é menor que %1 caracteres - + The password is too short A senha é muito curta - + The password is just rotated old one A senha é apenas uma antiga modificada - + The password contains less than %1 character classes A senha contém menos de %1 tipos de caracteres - + The password does not contain enough character classes A senha não contém tipos suficientes de caracteres - + The password contains more than %1 same characters consecutively A senha contém mais que %1 caracteres iguais consecutivamente - + The password contains too many same characters consecutively A senha contém muitos caracteres iguais consecutivamente - + The password contains more than %1 characters of the same class consecutively A senha contém mais que %1 caracteres do mesmo tipo consecutivamente - + The password contains too many characters of the same class consecutively A senha contém muitos caracteres da mesma classe consecutivamente - + The password contains monotonic sequence longer than %1 characters A senha contém uma sequência monotônica com mais de %1 caracteres - + The password contains too long of a monotonic character sequence A senha contém uma sequência de caracteres monotônicos muito longa - + No password supplied Nenhuma senha fornecida - + Cannot obtain random numbers from the RNG device Não é possível obter números aleatórios do dispositivo RNG - + Password generation failed - required entropy too low for settings A geração de senha falhou - a entropia requerida é muito baixa para as configurações - + The password fails the dictionary check - %1 A senha falhou na verificação do dicionário - %1 - + The password fails the dictionary check A senha falhou na verificação do dicionário - + Unknown setting - %1 Configuração desconhecida - %1 - + Unknown setting Configuração desconhecida - + Bad integer value of setting - %1 Valor de número inteiro errado na configuração - %1 - + Bad integer value Valor de número inteiro errado - + Setting %1 is not of integer type A configuração %1 não é do tipo inteiro - + Setting is not of integer type A configuração não é de tipo inteiro - + Setting %1 is not of string type A configuração %1 não é do tipo string - + Setting is not of string type A configuração não é do tipo string - + Opening the configuration file failed Falha ao abrir o arquivo de configuração - + The configuration file is malformed O arquivo de configuração está defeituoso - + Fatal failure Falha fatal - + Unknown error Erro desconhecido @@ -1965,47 +1986,86 @@ O instalador será fechado e todas as alterações serão perdidas.Qual é o seu nome? - + What name do you want to use to log in? Qual nome você quer usar para entrar? - + Choose a password to keep your account safe. Escolha uma senha para mantar a sua conta segura. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Digite a mesma senha duas vezes, de modo que possam ser verificados erros de digitação. Uma boa senha contém uma mistura de letras, números e sinais de pontuação, deve ter pelo menos oito caracteres e deve ser alterada em intervalos regulares.</small> - + What is the name of this computer? Qual é o nome deste computador? - + + Your Full Name + Seu nome completo + + + + login + login + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Esse nome será usado caso você deixe o computador visível a outros na rede.</small> - + + Computer Name + Nome do computador + + + + + Password + Senha + + + + + Repeat Password + Repita a senha + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Quando esta caixa estiver marcada, será feita a verificação do tamanho da senha e você não poderá usar uma senha fraca. + + + + Require strong passwords. + Exigir senhas fortes. + + + Log in automatically without asking for the password. Entrar automaticamente sem perguntar pela senha. - + Use the same password for the administrator account. Usar a mesma senha para a conta de administrador. - + Choose a password for the administrator account. Escolha uma senha para a conta administradora. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Digite a mesma senha duas vezes para que possa ser verificada contra erros de digitação.</small> @@ -2466,6 +2526,30 @@ Saída: No description provided. Nenhuma descrição disponível. + + + + + + + File not found + Arquivo não encontrado + + + + Path <pre>%1</pre> must be an absolute path. + O caminho <pre>%1</pre> deve ser completo. + + + + Could not create new random file <pre>%1</pre>. + Não foi possível criar um novo arquivo aleatório <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + Não foi possível ler o arquivo aleatório <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Saída: SetHostNameJob - + Set hostname %1 Definir nome da máquina %1 - + Set hostname <strong>%1</strong>. Definir nome da máquina <strong>%1</strong>. - + Setting hostname %1. Definindo nome da máquina %1. - - + + Internal Error Erro interno - - + + Cannot write hostname to target system Não é possível gravar o nome da máquina para o sistema alvo @@ -2899,22 +2983,22 @@ Saída: rootMountPoint é %1 - + Cannot disable root account. Não é possível desativar a conta root. - + passwd terminated with error code %1. passwd terminado com código de erro %1. - + Cannot set password for user %1. Não foi possível definir senha para o usuário %1. - + usermod terminated with error code %1. usermod terminou com código de erro %1. @@ -3101,43 +3185,47 @@ Saída: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Se mais de uma pessoa for utilizar este computador, você poderá criar múltiplas contas após terminar a configuração.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Se mais de uma pessoa for utilizar este computador, você poderá criar múltiplas contas após terminar de instalar.</small> - + Your username is too long. O nome de usuário é grande demais. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - O nome de usuário contém caracteres inválidos. Apenas letras minúsculas e números são permitidos. + + Your username must start with a lowercase letter or underscore. + Seu nome de usuário deve começar com uma letra maiúscula ou com um sublinhado. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + É permitido apenas letras minúsculas, números, sublinhado e hífen. + + + + Only letters, numbers, underscore and hyphen are allowed. + É permitido apenas letras, números, sublinhado e hífen. + + + Your hostname is too short. O nome da máquina é muito curto. - + Your hostname is too long. O nome da máquina é muito grande. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - O nome da máquina contém caracteres inválidos. Apenas letras, números e traços são permitidos. - - - - + Your passwords do not match! As senhas não estão iguais! @@ -3145,7 +3233,7 @@ Saída: UsersViewStep - + Users Usuários diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 3c1b7bfd4..e87298414 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Voltar - + + &Next &Próximo - + + &Cancel &Cancelar - + Cancel setup without changing the system. Cancelar instalação sem alterar o sistema. - + Cancel installation without changing the system. Cancelar instalar instalação sem modificar o sistema. - + Setup Failed Falha de Instalação - + Would you like to paste the install log to the web? Deseja colar o registo de instalação na Web? - + Install Log Paste URL Instalar o URL da pasta de registo - + The upload was unsuccessful. No web-paste was done. O carregamento não teve êxito. Nenhuma pasta da web foi feita. - + Calamares Initialization Failed Falha na Inicialização do Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 não pode ser instalado. O Calamares não foi capaz de carregar todos os módulos configurados. Isto é um problema da maneira como o Calamares é usado pela distribuição. - + <br/>The following modules could not be loaded: <br/>Os módulos seguintes não puderam ser carregados: - + Continue with installation? Continuar com a instalação? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> O programa de instalação %1 está prestes a fazer alterações no seu disco para configurar o %2.<br/><strong>Você não poderá desfazer essas alterações.</strong> - + &Set up now &Instalar agora - + &Set up &Instalar - + &Install &Instalar - + Setup is complete. Close the setup program. Instalação completa. Feche o programa de instalação. - + Cancel setup? Cancelar instalação? - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Quer mesmo cancelar o processo de instalação atual? O programa de instalação irá fechar todas as alterações serão perdidas. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Tem a certeza que pretende cancelar o atual processo de instalação? O instalador será encerrado e todas as alterações serão perdidas. - - + + &Yes &Sim - - + + &No &Não - + &Close &Fechar - + Continue with setup? Continuar com a configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está prestes a fazer alterações ao seu disco em ordem para instalar %2.<br/><strong>Não será capaz de desfazer estas alterações.</strong> - + &Install now &Instalar agora - + Go &back Voltar &atrás - + &Done &Feito - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -839,17 +842,17 @@ O instalador será encerrado e todas as alterações serão perdidas.O diretório dos super utilizadores não é gravável. - + Cannot create sudoers file for writing. Impossível criar ficheiro do super utilizador para escrita. - + Cannot chmod sudoers file. Impossível de usar chmod no ficheiro dos super utilizadores. - + Cannot open groups file for reading. Impossível abrir ficheiro dos grupos para leitura. @@ -1583,6 +1586,24 @@ O instalador será encerrado e todas as alterações serão perdidas. + + MachineIdJob + + + Generate machine-id. + Gerar id-máquina + + + + Configuration Error + Erro de configuração + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1653,242 +1674,242 @@ O instalador será encerrado e todas as alterações serão perdidas. PWQ - + Password is too short A palavra-passe é demasiado curta - + Password is too long A palavra-passe é demasiado longa - + Password is too weak A palavra-passe é demasiado fraca - + Memory allocation error when setting '%1' Erro de alocação de memória quando definido '%1' - + Memory allocation error Erro de alocação de memória - + The password is the same as the old one A palavra-passe é a mesma que a antiga - + The password is a palindrome A palavra-passe é um palíndromo - + The password differs with case changes only A palavra-passe difere com apenas diferenças de maiúsculas e minúsculas - + The password is too similar to the old one A palavra-passe é demasiado semelhante à antiga - + The password contains the user name in some form A palavra passe contém de alguma forma o nome do utilizador - + The password contains words from the real name of the user in some form A palavra passe contém de alguma forma palavras do nome real do utilizador - + The password contains forbidden words in some form A palavra-passe contém de alguma forma palavras proibidas - + The password contains less than %1 digits A palavra-passe contém menos de %1 dígitos - + The password contains too few digits A palavra-passe contém muito poucos dígitos - + The password contains less than %1 uppercase letters A palavra-passe contém menos de %1 letras maiúsculas - + The password contains too few uppercase letters A palavra-passe contém muito poucas letras maiúsculas - + The password contains less than %1 lowercase letters A palavra-passe contém menos de %1 letras minúsculas - + The password contains too few lowercase letters A palavra-passe contém muito poucas letras minúsculas - + The password contains less than %1 non-alphanumeric characters A palavra-passe contém menos de %1 carateres não-alfanuméricos - + The password contains too few non-alphanumeric characters A palavra-passe contém muito pouco carateres não alfa-numéricos - + The password is shorter than %1 characters A palavra-passe é menor do que %1 carateres - + The password is too short A palavra-passe é demasiado pequena - + The password is just rotated old one A palavra-passe é apenas uma antiga alternada - + The password contains less than %1 character classes A palavra-passe contém menos de %1 classe de carateres - + The password does not contain enough character classes A palavra-passe não contém classes de carateres suficientes - + The password contains more than %1 same characters consecutively A palavra-passe contém apenas mais do que %1 carateres iguais consecutivos - + The password contains too many same characters consecutively A palavra-passe contém demasiados carateres iguais consecutivos - + The password contains more than %1 characters of the same class consecutively A palavra-passe contém mais do que %1 carateres consecutivos da mesma classe - + The password contains too many characters of the same class consecutively A palavra-passe contém demasiados carateres consecutivos da mesma classe - + The password contains monotonic sequence longer than %1 characters A palavra-passe contém sequência mono tónica mais longa do que %1 carateres - + The password contains too long of a monotonic character sequence A palavra-passe contém uma sequência mono tónica de carateres demasiado longa - + No password supplied Nenhuma palavra-passe fornecida - + Cannot obtain random numbers from the RNG device Não é possível obter sequência aleatória de números a partir do dispositivo RNG - + Password generation failed - required entropy too low for settings Geração de palavra-passe falhada - entropia obrigatória demasiado baixa para definições - + The password fails the dictionary check - %1 A palavra-passe falha a verificação do dicionário - %1 - + The password fails the dictionary check A palavra-passe falha a verificação do dicionário - + Unknown setting - %1 Definição desconhecida - %1 - + Unknown setting Definição desconhecida - + Bad integer value of setting - %1 Valor inteiro incorreto para definição - %1 - + Bad integer value Valor inteiro incorreto - + Setting %1 is not of integer type Definição %1 não é do tipo inteiro - + Setting is not of integer type Definição não é do tipo inteiro - + Setting %1 is not of string type Definição %1 não é do tipo cadeia de carateres - + Setting is not of string type Definição não é do tipo cadeira de carateres - + Opening the configuration file failed Abertura da configuração de ficheiro falhou - + The configuration file is malformed O ficheiro de configuração está mal formado - + Fatal failure Falha fatal - + Unknown error Erro desconhecido @@ -1965,47 +1986,86 @@ O instalador será encerrado e todas as alterações serão perdidas.Qual é o seu nome? - + What name do you want to use to log in? Que nome deseja usar para iniciar a sessão? - + Choose a password to keep your account safe. Escolha uma palavra-passe para manter a sua conta segura. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Digite a mesma palavra-passe duas vezes, de modo a que possam ser verificados erros de digitação. Uma boa palavra-passe contém uma mistura de letras, números e sinais de pontuação, deve ter pelo menos oito caracteres de comprimento, e deve ser alterada em intervalos regulares.</small> - + What is the name of this computer? Qual o nome deste computador? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Este nome será usado se tornar este computador visível para outros numa rede.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Iniciar sessão automaticamente sem pedir a palavra-passe. - + Use the same password for the administrator account. Usar a mesma palavra-passe para a conta de administrador. - + Choose a password for the administrator account. Escolha uma palavra-passe para a conta de administrador. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Introduza a mesma palavra-passe duas vezes, para que se possam verificar erros de digitação.</small> @@ -2466,6 +2526,30 @@ Saída de Dados: No description provided. Nenhuma descrição fornecida. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Saída de Dados: SetHostNameJob - + Set hostname %1 Configurar nome da máquina %1 - + Set hostname <strong>%1</strong>. Definir nome da máquina <strong>%1</strong>. - + Setting hostname %1. A definir nome da máquina %1. - - + + Internal Error Erro interno - - + + Cannot write hostname to target system Não é possível escrever o nome da máquina para o sistema selecionado @@ -2899,22 +2983,22 @@ Saída de Dados: rootMountPoint é %1 - + Cannot disable root account. Não é possível desativar a conta root. - + passwd terminated with error code %1. passwd terminado com código de erro %1. - + Cannot set password for user %1. Não é possível definir a palavra-passe para o utilizador %1. - + usermod terminated with error code %1. usermod terminou com código de erro %1. @@ -3101,43 +3185,47 @@ Saída de Dados: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a configuração.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a instalação.</small> - + Your username is too long. O seu nome de utilizador é demasiado longo. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - O seu nome de utilizador contem caractéres inválidos. Apenas letras minúsculas e números são permitidos. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. O nome da sua máquina é demasiado curto. - + Your hostname is too long. O nome da sua máquina é demasiado longo. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - O nome da sua máquina contém caratéres inválidos. Apenas letras, números e traços são permitidos. - - - - + Your passwords do not match! As suas palavras-passe não coincidem! @@ -3145,7 +3233,7 @@ Saída de Dados: UsersViewStep - + Users Utilizadores diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index b184ff13f..f0a677325 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Înapoi - + + &Next &Următorul - + + &Cancel &Anulează - + Cancel setup without changing the system. - + Cancel installation without changing the system. Anulează instalarea fără schimbarea sistemului. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install Instalează - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Anulez instalarea? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doriți să anulați procesul curent de instalare? Programul de instalare va ieși, iar toate modificările vor fi pierdute. - - + + &Yes &Da - - + + &No &Nu - + &Close În&chide - + Continue with setup? Continuați configurarea? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Programul de instalare %1 este pregătit să facă schimbări pe discul dumneavoastră pentru a instala %2.<br/><strong>Nu veți putea anula aceste schimbări.</strong> - + &Install now &Instalează acum - + Go &back Î&napoi - + &Done &Gata - + The installation is complete. Close the installer. Instalarea este completă. Închide instalatorul. - + Error Eroare - + Installation Failed Instalare eșuată @@ -837,17 +840,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Nu se poate scrie în dosarul sudoers. - + Cannot create sudoers file for writing. Nu se poate crea fișierul sudoers pentru scriere. - + Cannot chmod sudoers file. Nu se poate chmoda fișierul sudoers. - + Cannot open groups file for reading. Nu se poate deschide fișierul groups pentru citire. @@ -1581,6 +1584,24 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. + + MachineIdJob + + + Generate machine-id. + Generează machine-id. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,102 +1672,102 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. PWQ - + Password is too short Parola este prea scurtă - + Password is too long Parola este prea lungă - + Password is too weak Parola este prea slabă - + Memory allocation error when setting '%1' Eroare de alocare a memorie in timpul setării '%1' - + Memory allocation error Eroare de alocare a memoriei - + The password is the same as the old one Parola este aceeasi a si cea veche - + The password is a palindrome Parola este un palindrom - + The password differs with case changes only Parola diferă doar prin schimbăarii ale majusculelor - + The password is too similar to the old one Parola este prea similară cu cea vehe - + The password contains the user name in some form Parola contine numele de utilizator intr-o anume formă - + The password contains words from the real name of the user in some form Parola contine cuvinte din numele real al utilizatorului intr-o anumita formă - + The password contains forbidden words in some form Parola contine cuvinte interzise int-o anumita formă - + The password contains less than %1 digits Parola contine mai putin de %1 caractere - + The password contains too few digits Parola contine prea putine caractere - + The password contains less than %1 uppercase letters Parola contine mai putin de %1 litera cu majusculă - + The password contains too few uppercase letters Parola contine prea putine majuscule - + The password contains less than %1 lowercase letters Parola contine mai putin de %1 minuscule - + The password contains too few lowercase letters Parola contine prea putine minuscule - + The password contains less than %1 non-alphanumeric characters Parola contine mai putin de %1 caractere non-alfanumerice - + The password contains too few non-alphanumeric characters Parola contine prea putine caractere non-alfanumerice @@ -1754,142 +1775,142 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + The password is shorter than %1 characters Parola este mai scurta de %1 caractere - + The password is too short Parola este prea mica - + The password is just rotated old one Parola este doar cea veche rasturnata - + The password contains less than %1 character classes Parola contine mai putin de %1 clase de caractere - + The password does not contain enough character classes Parola nu contine destule clase de caractere - + The password contains more than %1 same characters consecutively Parola ontine mai mult de %1 caractere identice consecutiv - + The password contains too many same characters consecutively Parola ontine prea multe caractere identice consecutive - + The password contains more than %1 characters of the same class consecutively Parola contine mai mult de %1 caractere ale aceleiaşi clase consecutive - + The password contains too many characters of the same class consecutively Parola contine prea multe caractere ale aceleiaşi clase consecutive - + The password contains monotonic sequence longer than %1 characters Parola ontine o secventa monotonica mai lunga de %1 caractere - + The password contains too long of a monotonic character sequence Parola contine o secventa de caractere monotonica prea lunga - + No password supplied Nicio parola nu a fost furnizata - + Cannot obtain random numbers from the RNG device Nu s-a putut obtine un numar aleator de la dispozitivul RNG - + Password generation failed - required entropy too low for settings Generarea parolei a esuat - necesita entropie prea mica pentru setari - + The password fails the dictionary check - %1 Parola a esuat verificarea dictionarului - %1 - + The password fails the dictionary check Parola a esuat verificarea dictionarului - + Unknown setting - %1 Setare necunoscuta - %1 - + Unknown setting Setare necunoscuta - + Bad integer value of setting - %1 Valoare gresita integrala a setari - %1 - + Bad integer value Valoare gresita integrala a setari - + Setting %1 is not of integer type Setarea %1 nu este de tip integral - + Setting is not of integer type Setarea nu este de tipul integral - + Setting %1 is not of string type Setarea %1 nu este de tipul şir - + Setting is not of string type Setarea nu este de tipul şir - + Opening the configuration file failed Deschiderea fisierului de configuratie a esuat - + The configuration file is malformed Fisierul de configuratie este malformat - + Fatal failure Esec fatal - + Unknown error Eroare necunoscuta @@ -1966,47 +1987,86 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Cum vă numiți? - + What name do you want to use to log in? Ce nume doriți să utilizați pentru logare? - + Choose a password to keep your account safe. Alegeți o parolă pentru a menține contul în siguranță. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Introduceți parola de 2 ori pentru a se verifica greșelile de tipar. O parolă bună va conține o combinație de litere, numere și punctuație, ar trebui să aibă cel puțin 8 caractere și ar trebui schimbată la intervale regulate.</small> - + What is the name of this computer? Care este numele calculatorului? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Numele va fi folosit dacă faceți acest calculator vizibil pentru alții pe o rețea.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Autentifică-mă automat, fără a-mi cere parola. - + Use the same password for the administrator account. Folosește aceeași parolă pentru contul de administrator. - + Choose a password for the administrator account. Alege o parolă pentru contul de administrator. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Introduceți parola de 2 ori pentru a se verifica greșelile de tipar.</small> @@ -2467,6 +2527,30 @@ Output No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2737,29 +2821,29 @@ Output SetHostNameJob - + Set hostname %1 Setează hostname %1 - + Set hostname <strong>%1</strong>. Setați un hostname <strong>%1</strong>. - + Setting hostname %1. Se setează hostname %1. - - + + Internal Error Eroare internă - - + + Cannot write hostname to target system Nu se poate scrie hostname pe sistemul țintă @@ -2900,22 +2984,22 @@ Output rootMountPoint este %1 - + Cannot disable root account. Nu pot dezactiva contul root - + passwd terminated with error code %1. eroare la setarea parolei cod %1 - + Cannot set password for user %1. Nu se poate seta parola pentru utilizatorul %1. - + usermod terminated with error code %1. usermod s-a terminat cu codul de eroare %1. @@ -3102,43 +3186,47 @@ Output UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Numele de utilizator este prea lung. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Numele de utilizator conține caractere invalide. Folosiți doar litere mici și numere. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Hostname este prea scurt. - + Your hostname is too long. Hostname este prea lung. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Hostname conține caractere invalide. Folosiți doar litere, numere și cratime. - - - - + Your passwords do not match! Parolele nu se potrivesc! @@ -3146,7 +3234,7 @@ Output UsersViewStep - + Users Utilizatori diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 1d0eab265..60a0ce306 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Назад - + + &Next &Далее - + + &Cancel О&тмена - + Cancel setup without changing the system. Отменить установку без изменения системы. - + Cancel installation without changing the system. Отменить установку без изменения системы. - + Setup Failed Сбой установки - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Ошибка инициализации Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Не удалось установить %1. Calamares не удалось загрузить все сконфигурированные модули. Эта проблема вызвана тем, как ваш дистрибутив использует Calamares. - + <br/>The following modules could not be loaded: <br/>Не удалось загрузить следующие модули: - + Continue with installation? Продолжить установку? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Set up now - + &Set up - + &Install &Установить - + Setup is complete. Close the setup program. Установка завершена. Закройте программу установки. - + Cancel setup? Отменить установку? - + Cancel installation? Отменить установку? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Прервать процесс установки? Программа установки прекратит работу и все изменения будут потеряны. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Действительно прервать процесс установки? Программа установки сразу прекратит работу, все изменения будут потеряны. - - + + &Yes &Да - - + + &No &Нет - + &Close &Закрыть - + Continue with setup? Продолжить установку? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Install now Приступить к &установке - + Go &back &Назад - + &Done &Готово - + The installation is complete. Close the installer. Установка завершена. Закройте установщик. - + Error Ошибка - + Installation Failed Установка завершилась неудачей @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. Каталог sudoers не доступен для записи. - + Cannot create sudoers file for writing. Не удалось записать файл sudoers. - + Cannot chmod sudoers file. Не удалось применить chmod к файлу sudoers. - + Cannot open groups file for reading. Не удалось открыть файл groups для чтения. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Слишком короткий пароль - + Password is too long Слишком длинный пароль - + Password is too weak Пароль слишком слабый - + Memory allocation error when setting '%1' Ошибка выделения памяти при установке «%1» - + Memory allocation error Ошибка выделения памяти - + The password is the same as the old one Пароль такой же, как и старый - + The password is a palindrome Пароль является палиндромом - + The password differs with case changes only Пароль отличается только регистром символов - + The password is too similar to the old one Пароль слишком похож на старый - + The password contains the user name in some form Пароль содержит имя пользователя - + The password contains words from the real name of the user in some form Пароль содержит слова из реального имени пользователя - + The password contains forbidden words in some form Пароль содержит запрещённые слова - + The password contains less than %1 digits Пароль содержит менее %1 цифр - + The password contains too few digits В пароле слишком мало цифр - + The password contains less than %1 uppercase letters Пароль содержит менее %1 заглавных букв - + The password contains too few uppercase letters В пароле слишком мало заглавных букв - + The password contains less than %1 lowercase letters Пароль содержит менее %1 строчных букв - + The password contains too few lowercase letters В пароле слишком мало строчных букв - + The password contains less than %1 non-alphanumeric characters Пароль содержит менее %1 не буквенно-цифровых символов - + The password contains too few non-alphanumeric characters В пароле слишком мало не буквенно-цифровых символов - + The password is shorter than %1 characters Пароль короче %1 символов - + The password is too short Пароль слишком короткий - + The password is just rotated old one Новый пароль — это просто перевёрнутый старый - + The password contains less than %1 character classes Пароль содержит менее %1 классов символов - + The password does not contain enough character classes Пароль содержит недостаточно классов символов - + The password contains more than %1 same characters consecutively Пароль содержит более %1 одинаковых последовательных символов - + The password contains too many same characters consecutively Пароль содержит слишком много одинаковых последовательных символов - + The password contains more than %1 characters of the same class consecutively Пароль содержит более %1 символов одного и того же класса последовательно - + The password contains too many characters of the same class consecutively Пароль содержит слишком длинную последовательность символов одного и того же класса - + The password contains monotonic sequence longer than %1 characters Пароль содержит монотонную последовательность длиннее %1 символов - + The password contains too long of a monotonic character sequence Пароль содержит слишком длинную монотонную последовательность символов - + No password supplied Не задан пароль - + Cannot obtain random numbers from the RNG device Не удаётся получить случайные числа с устройства RNG - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 Пароль не прошёл проверку на использование словарных слов - %1 - + The password fails the dictionary check Пароль не прошёл проверку на использование словарных слов - + Unknown setting - %1 Неизвестная настройка - %1 - + Unknown setting Неизвестная настройка - + Bad integer value of setting - %1 Недопустимое целое значение свойства - %1 - + Bad integer value Недопустимое целое значение - + Setting %1 is not of integer type Настройка %1 не является целым числом - + Setting is not of integer type Настройка не является целым числом - + Setting %1 is not of string type Настройка %1 не является строкой - + Setting is not of string type Настройка не является строкой - + Opening the configuration file failed Не удалось открыть конфигурационный файл - + The configuration file is malformed Ошибка в структуре конфигурационного файла - + Fatal failure Фатальный сбой - + Unknown error Неизвестная ошибка @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. Как Вас зовут? - + What name do you want to use to log in? Какое имя Вы хотите использовать для входа? - + Choose a password to keep your account safe. Выберите пароль для защиты вашей учетной записи. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Введите одинаковый пароль дважды, это необходимо для исключения ошибок. Хороший пароль состоит из смеси букв, цифр и знаков пунктуации; должен иметь длину от 8 знаков и его стоит периодически изменять.</small> - + What is the name of this computer? Какое имя у компьютера? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Это имя будет использовано, если Вы сделаете этот компьютер видимым в сети.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Автоматический вход, без запроса пароля. - + Use the same password for the administrator account. Использовать тот же пароль для аккаунта администратора. - + Choose a password for the administrator account. Выберите пароль администратора - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Введите пароль дважды, чтобы исключить ошибки ввода.</small> @@ -2464,6 +2524,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2734,29 +2818,29 @@ Output: SetHostNameJob - + Set hostname %1 Задать имя компьютера в сети %1 - + Set hostname <strong>%1</strong>. Задать имя компьютера в сети <strong>%1</strong>. - + Setting hostname %1. Задаю имя компьютера в сети для %1. - - + + Internal Error Внутренняя ошибка - - + + Cannot write hostname to target system Не возможно записать имя компьютера в целевую систему @@ -2897,22 +2981,22 @@ Output: Точка монтирования корневого раздела %1 - + Cannot disable root account. Невозможно отключить учетную запись root - + passwd terminated with error code %1. Команда passwd завершилась с кодом ошибки %1. - + Cannot set password for user %1. Не удалось задать пароль для пользователя %1. - + usermod terminated with error code %1. Команда usermod завершилась с кодом ошибки %1. @@ -3099,43 +3183,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Если этот компьютер будет использоваться несколькими людьми, вы сможете создать учетные записи для них после установки.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Если этот компьютер используется несколькими людьми, Вы сможете создать соответствующие учетные записи сразу после установки.</small> - + Your username is too long. Ваше имя пользователя слишком длинное. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Ваше имя пользователя содержит недопустимые символы. Допускаются только строчные буквы и цифры. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Имя вашего компьютера слишком коротко. - + Your hostname is too long. Имя вашего компьютера слишком длинное. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Имя вашего компьютера содержит недопустимые символы. Разрешены буквы, цифры и тире. - - - - + Your passwords do not match! Пароли не совпадают! @@ -3143,7 +3231,7 @@ Output: UsersViewStep - + Users Пользователи diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 2f24db583..7db0e7c5a 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Späť - + + &Next Ď&alej - + + &Cancel &Zrušiť - + Cancel setup without changing the system. Zrušenie inštalácie bez zmien v systéme. - + Cancel installation without changing the system. Zruší inštaláciu bez zmeny systému. - + Setup Failed Inštalácia zlyhala - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Zlyhala inicializácia inštalátora Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. Nie je možné nainštalovať %1. Calamares nemohol načítať všetky konfigurované moduly. Je problém s tým, ako sa Calamares používa pri distribúcii. - + <br/>The following modules could not be loaded: <br/>Nebolo možné načítať nasledujúce moduly - + Continue with installation? Pokračovať v inštalácii? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Inštalačný program distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> - + &Set up now &Inštalovať teraz - + &Set up &Inštalovať - + &Install _Inštalovať - + Setup is complete. Close the setup program. Inštalácia je dokončená. Zavrite inštalačný program. - + Cancel setup? Zrušiť inštaláciu? - + Cancel installation? Zrušiť inštaláciu? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Naozaj chcete zrušiť aktuálny priebeh inštalácie? Inštalačný program bude ukončený a zmeny budú stratené. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Skutočne chcete zrušiť aktuálny priebeh inštalácie? Inštalátor sa ukončí a všetky zmeny budú stratené. - - + + &Yes _Áno - - + + &No _Nie - + &Close _Zavrieť - + Continue with setup? Pokračovať v inštalácii? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Inštalátor distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> - + &Install now &Inštalovať teraz - + Go &back Prejsť s&päť - + &Done _Dokončiť - + The installation is complete. Close the installer. Inštalácia je dokončená. Zatvorí inštalátor. - + Error Chyba - + Installation Failed Inštalácia zlyhala @@ -838,17 +841,17 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Adresár Sudoers nie je zapisovateľný. - + Cannot create sudoers file for writing. Nedá sa vytvoriť súbor sudoers na zapisovanie. - + Cannot chmod sudoers file. Nedá sa vykonať príkaz chmod na súbori sudoers. - + Cannot open groups file for reading. Nedá sa otvoriť súbor skupín na čítanie. @@ -1582,6 +1585,24 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. + + MachineIdJob + + + Generate machine-id. + Generovanie identifikátora počítača. + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1652,242 +1673,242 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. PWQ - + Password is too short Heslo je príliš krátke - + Password is too long Heslo je príliš dlhé - + Password is too weak Heslo je príliš slabé - + Memory allocation error when setting '%1' Chyba počas vyhradzovania pamäte pri nastavovaní „%1“ - + Memory allocation error Chyba počas vyhradzovania pamäte - + The password is the same as the old one Heslo je rovnaké ako to staré - + The password is a palindrome Heslo je palindróm - + The password differs with case changes only Heslo sa odlišuje iba vo veľkosti písmen - + The password is too similar to the old one Heslo je príliš podobné ako to staré - + The password contains the user name in some form Heslo obsahuje v nejakom tvare používateľské meno - + The password contains words from the real name of the user in some form Heslo obsahuje v nejakom tvare slová zo skutočného mena používateľa - + The password contains forbidden words in some form Heslo obsahuje zakázané slová v určitom tvare - + The password contains less than %1 digits Heslo obsahuje menej ako %1 číslic - + The password contains too few digits Heslo tiež obsahuje pár číslic - + The password contains less than %1 uppercase letters Heslo obsahuje menej ako %1 veľkých písmen - + The password contains too few uppercase letters Heslo obsahuje príliš málo veľkých písmen - + The password contains less than %1 lowercase letters Heslo obsahuje menej ako %1 malých písmen - + The password contains too few lowercase letters Heslo obsahuje príliš málo malých písmen - + The password contains less than %1 non-alphanumeric characters Heslo obsahuje menej ako% 1 nealfanumerických znakov - + The password contains too few non-alphanumeric characters Heslo obsahuje príliš málo nealfanumerických znakov - + The password is shorter than %1 characters Heslo je kratšie ako %1 znakov - + The password is too short Heslo je príliš krátke - + The password is just rotated old one Heslo je iba obrátené staré heslo - + The password contains less than %1 character classes Heslo obsahuje menej ako %1 triedy znakov - + The password does not contain enough character classes Heslo neobsahuje dostatok tried znakov - + The password contains more than %1 same characters consecutively Heslo obsahuje viac ako% 1 rovnakých znakov za sebou - + The password contains too many same characters consecutively Heslo obsahuje príliš veľa rovnakých znakov - + The password contains more than %1 characters of the same class consecutively Heslo obsahuje postupne viac ako% 1 znakov toho istého typu - + The password contains too many characters of the same class consecutively Heslo obsahuje postupne príliš veľa znakov toho istého typu - + The password contains monotonic sequence longer than %1 characters Heslo obsahuje monotónnu sekvenciu dlhšiu ako %1 znakov - + The password contains too long of a monotonic character sequence Heslo obsahuje príliš dlhú sekvenciu monotónnych znakov - + No password supplied Nebolo poskytnuté žiadne heslo - + Cannot obtain random numbers from the RNG device Nedajú sa získať náhodné čísla zo zariadenia RNG - + Password generation failed - required entropy too low for settings Generovanie hesla zlyhalo - potrebná entropia je príliš nízka na nastavenie - + The password fails the dictionary check - %1 Heslo zlyhalo pri slovníkovej kontrole - %1 - + The password fails the dictionary check Heslo zlyhalo pri slovníkovej kontrole - + Unknown setting - %1 Neznáme nastavenie - %1 - + Unknown setting Neznáme nastavenie - + Bad integer value of setting - %1 Nesprávna celočíselná hodnota nastavenia - %1 - + Bad integer value Nesprávna celočíselná hodnota - + Setting %1 is not of integer type Nastavenie %1 nie je celé číslo - + Setting is not of integer type Nastavenie nie je celé číslo - + Setting %1 is not of string type Nastavenie %1 nie je reťazec - + Setting is not of string type Nastavenie nie je reťazec - + Opening the configuration file failed Zlyhalo otváranie konfiguračného súboru - + The configuration file is malformed Konfiguračný súbor je poškodený - + Fatal failure Závažné zlyhanie - + Unknown error Neznáma chyba @@ -1964,47 +1985,86 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Aké je vaše meno? - + What name do you want to use to log in? Aké meno chcete použiť na prihlásenie? - + Choose a password to keep your account safe. Zvoľte heslo pre zachovanie vášho účtu v bezpečí. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Zadajte rovnaké heslo dvakrát, aby sa predišlo preklepom. Dobré heslo by malo obsahovať mix písmen, čísel a diakritiky, malo by mať dĺžku aspoň osem znakov a malo by byť pravidelne menené.</small> - + What is the name of this computer? Aký je názov tohto počítača? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Tento názov bude použitý, keď sprístupníte počítač v sieti.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Prihlásiť automaticky bez pýtania hesla. - + Use the same password for the administrator account. Použiť rovnaké heslo pre účet správcu. - + Choose a password for the administrator account. Zvoľte heslo pre účet správcu. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Zadajte rovnaké heslo dvakrát, aby sa predišlo preklepom.</small> @@ -2465,6 +2525,30 @@ Výstup: No description provided. Nie je poskytnutý żiadny popis. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2735,29 +2819,29 @@ Výstup: SetHostNameJob - + Set hostname %1 Nastavenie názvu hostiteľa %1 - + Set hostname <strong>%1</strong>. Nastavenie názvu hostiteľa <strong>%1</strong>. - + Setting hostname %1. Nastavuje sa názov hostiteľa %1. - - + + Internal Error Vnútorná chyba - - + + Cannot write hostname to target system Nedá sa zapísať názov hostiteľa do cieľového systému @@ -2898,22 +2982,22 @@ Výstup: rootMountPoint je %1 - + Cannot disable root account. Nedá sa zakázať účet správcu. - + passwd terminated with error code %1. Príkaz passwd ukončený s chybovým kódom %1. - + Cannot set password for user %1. Nedá sa nastaviť heslo pre používateľa %1. - + usermod terminated with error code %1. Príkaz usermod ukončený s chybovým kódom %1. @@ -3100,43 +3184,47 @@ Výstup: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> - + Your username is too long. Vaše používateľské meno je príliš dlhé. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Vaše používateľské meno obsahuje neplatné znaky. Povolené sú iba písmená, čísla a pomlčky. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Váš názov hostiteľa je príliš krátky. - + Your hostname is too long. Váš názov hostiteľa je príliš dlhý. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Váš názov hostiteľa obsahuje neplatné znaky. Povolené sú iba písmená, čísla a pomlčky. - - - - + Your passwords do not match! Vaše heslá sa nezhodujú! @@ -3144,7 +3232,7 @@ Výstup: UsersViewStep - + Users Používatelia diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index b4c375d41..32888463b 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Nazaj - + + &Next &Naprej - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Preklic namestitve? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ali res želite preklicati trenutni namestitveni proces? Namestilni program se bo končal in vse spremembe bodo izgubljene. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Napaka - + Installation Failed Namestitev je spodletela @@ -837,17 +840,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Mapa sudoers ni zapisljiva. - + Cannot create sudoers file for writing. Ni mogoče ustvariti datoteke sudoers za pisanje. - + Cannot chmod sudoers file. Na datoteki sudoers ni mogoče izvesti opravila chmod. - + Cannot open groups file for reading. Datoteke skupin ni bilo mogoče odpreti za branje. @@ -1581,6 +1584,24 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Vaše ime? - + What name do you want to use to log in? Katero ime želite uporabiti za prijavljanje? - + Choose a password to keep your account safe. Izberite geslo za zaščito vašega računa. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Geslo vnesite dvakrat, da se zavarujete pred morebitnimi tipkarskimi napakami. Dobro geslo vsebuje mešanico črk, številk in ločil ter ima najmanj osem znakov. Priporočljivo je, da ga spreminjate v rednih časovnih razmikih.</small> - + What is the name of this computer? Ime računalnika? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>To ime bo uporabljeno, če bo vaš računalnik viden drugim napravam v omrežju.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. Izberite geslo za skrbniški račun. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Geslo vnesite dvakrat, da se zavarujete pred morebitnimi tipkarskimi napakami.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index b57be3de7..683069ad5 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Mbrapsht - + + &Next &Pasuesi - + + &Cancel &Anuloje - + Cancel setup without changing the system. Anuloje rregullimin pa ndryshuar sistemin. - + Cancel installation without changing the system. Anuloje instalimin pa ndryshuar sistemin. - + Setup Failed Rregullimi Dështoi - + Would you like to paste the install log to the web? Do të donit të hidhet në web regjistri i instalimit? - + Install Log Paste URL URL Ngjitjeje Regjistri Instalimi - + The upload was unsuccessful. No web-paste was done. Ngarkimi s’qe i suksesshëm. S’u bë hedhje në web. - + Calamares Initialization Failed Gatitja e Calamares-it Dështoi - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 s’mund të instalohet. Calamares s’qe në gjendje të ngarkonte krejt modulet e konfiguruar. Ky është një problem që lidhet me mënyrën se si përdoret Calamares nga shpërndarja. - + <br/>The following modules could not be loaded: <br/>S’u ngarkuan dot modulet vijues: - + Continue with installation? Të vazhdohet me instalimin? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Programi i rregullimit %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të rregullojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Set up now &Rregulloje tani - + &Set up &Rregulloje - + &Install &Instaloje - + Setup is complete. Close the setup program. Rregullimi është i plotë. Mbylleni programin e rregullimit. - + Cancel setup? Të anulohet rregullimi? - + Cancel installation? Të anulohet instalimi? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i rregullimit? Programi i rregullimit do të mbyllet dhe krejt ndryshimet do të humbin. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i instalimit? Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - - + + &Yes &Po - - + + &No &Jo - + &Close &Mbylle - + Continue with setup? Të vazhdohet me rregullimin? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instaluesi %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të instalojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Install now &Instaloje tani - + Go &back Kthehu &mbrapsht - + &Done &U bë - + The installation is complete. Close the installer. Instalimi u plotësua. Mbylle instaluesin. - + Error Gabim - + Installation Failed Instalimi Dështoi @@ -839,17 +842,17 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Drejtoria sudoers s’është e shkrueshme. - + Cannot create sudoers file for writing. S’krijohet dot kartelë sudoers për shkrim. - + Cannot chmod sudoers file. S’mund të kryhet chmod mbi kartelën sudoers. - + Cannot open groups file for reading. S’hapet dot kartelë grupesh për lexim. @@ -1583,6 +1586,24 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Mund të formësohej kartelë kyçesh LUKS në pjesën %1. + + MachineIdJob + + + Generate machine-id. + Prodho machine-id. + + + + Configuration Error + Gabim Formësimi + + + + No root mount point is set for MachineId. + S’është caktuar pikë montimi rrënjë për MachineId. + + NetInstallPage @@ -1653,242 +1674,242 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. PWQ - + Password is too short Fjalëkalimi është shumë i shkurtër - + Password is too long Fjalëkalimi është shumë i gjatë - + Password is too weak Fjalëkalimi është shumë i dobët - + Memory allocation error when setting '%1' Gabim caktimi kujtese kur rregullohej '%1' - + Memory allocation error Gabim caktimi kujtese - + The password is the same as the old one Fjalëkalimi është i njëjtë me të vjetrin - + The password is a palindrome Fjalëkalimi është një palindromë - + The password differs with case changes only Fjalëkalimet ndryshojnë vetëm nga shkronja të mëdha apo të vogla - + The password is too similar to the old one Fjalëkalimi është shumë i ngjashëm me të vjetrin - + The password contains the user name in some form Fjalëkalimi, në një farë mënyre, përmban emrin e përdoruesit - + The password contains words from the real name of the user in some form Fjalëkalimi, në një farë mënyre, përmban fjalë nga emri i vërtetë i përdoruesit - + The password contains forbidden words in some form Fjalëkalimi, në një farë mënyre, përmban fjalë të ndaluara - + The password contains less than %1 digits Fjalëkalimi përmban më pak se %1 shifra - + The password contains too few digits Fjalëkalimi përmban shumë pak shifra - + The password contains less than %1 uppercase letters Fjalëkalimi përmban më pak se %1 shkronja të mëdha - + The password contains too few uppercase letters Fjalëkalimi përmban pak shkronja të mëdha - + The password contains less than %1 lowercase letters Fjalëkalimi përmban më pak se %1 shkronja të vogla - + The password contains too few lowercase letters Fjalëkalimi përmban pak shkronja të vogla - + The password contains less than %1 non-alphanumeric characters Fjalëkalimi përmban më pak se %1 shenja jo alfanumerike - + The password contains too few non-alphanumeric characters Fjalëkalimi përmban pak shenja jo alfanumerike - + The password is shorter than %1 characters Fjalëkalimi është më i shkurtër se %1 shenja - + The password is too short Fjalëkalimi është shumë i shkurtër - + The password is just rotated old one Fjalëkalimi është i vjetri i ricikluar - + The password contains less than %1 character classes Fjalëkalimi përmban më pak se %1 klasa shenjash - + The password does not contain enough character classes Fjalëkalimi nuk përmban klasa të mjaftueshme shenjash - + The password contains more than %1 same characters consecutively Fjalëkalimi përmban më shumë se %1 shenja të njëjta njëra pas tjetrës - + The password contains too many same characters consecutively Fjalëkalimi përmban shumë shenja të njëjta njëra pas tjetrës - + The password contains more than %1 characters of the same class consecutively Fjalëkalimi përmban më shumë se %1 shenja të së njëjtës klasë njëra pas tjetrës - + The password contains too many characters of the same class consecutively Fjalëkalimi përmban shumë shenja të së njëjtës klasë njëra pas tjetrës - + The password contains monotonic sequence longer than %1 characters Fjalëkalimi përmban varg monoton më të gjatë se %1 shenja - + The password contains too long of a monotonic character sequence Fjalëkalimi përmban varg monoton shumë të gjatë shenjash - + No password supplied S’u dha fjalëkalim - + Cannot obtain random numbers from the RNG device S’merren dot numra të rëndomtë nga pajisja RNG - + Password generation failed - required entropy too low for settings Prodhimi i fjalëkalimit dështoi - entropi e domosdoshme për rregullimin shumë e ulët - + The password fails the dictionary check - %1 Fjalëkalimi s’kaloi dot kontrollin kundrejt fjalorit - %1 - + The password fails the dictionary check Fjalëkalimi s’kaloi dot kontrollin kundrejt fjalorit - + Unknown setting - %1 Rregullim i panjohur - %1 - + Unknown setting Rregullim i panjohur - + Bad integer value of setting - %1 Vlerë e plotë e gabuar për rregullimin - %1 - + Bad integer value Vlerë e plotë e gabuar - + Setting %1 is not of integer type Rregullimi për %1 s’është numër i plotë - + Setting is not of integer type Rregullimi s’është numër i plotë - + Setting %1 is not of string type Rregullimi për %1 s’është i llojit varg - + Setting is not of string type Rregullimi s’është i llojit varg - + Opening the configuration file failed Dështoi hapja e kartelës së formësimit - + The configuration file is malformed Kartela e formësimit është e keqformuar - + Fatal failure Dështim fatal - + Unknown error Gabim i panjohur @@ -1965,47 +1986,86 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Cili është emri juaj? - + What name do you want to use to log in? Ç’emër doni të përdorni për t’u futur? - + Choose a password to keep your account safe. Zgjidhni një fjalëkalim për ta mbajtur llogarinë tuaj të parrezikuar. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Jepeni të njëjtin fjalëkalim dy herë, që të kontrollohet për gabime shkrimi. Një fjalëkalim i mirë do të përmbante një përzierje shkronjash, numrash dhe shenjash pikësimi, do të duhej të ishte të paktën tetë shenja i gjatë, dhe do të duhej të ndryshohej periodikisht.</small> - + What is the name of this computer? Cili është emri i këtij kompjuteri? - + + Your Full Name + Emri Juaj i Plotë + + + + login + hyrje + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Ky emër do të përdoret nëse e bëni kompjuterin të dukshëm për të tjerët në një rrjet.</small> - + + Computer Name + Emër Kompjuteri + + + + + Password + Fjalëkalim + + + + + Repeat Password + Ripërsëritni Fjalëkalimin + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Kur i vihet shenjë kësaj kutize, bëhet kontroll fortësie fjalëkalimi dhe s’do të jeni në gjendje të përdorni një fjalëkalim të dobët. + + + + Require strong passwords. + Kërko doemos fjalëkalimet të fuqishëm. + + + Log in automatically without asking for the password. Kryej hyrje vetvetiu, pa kërkuar fjalëkalimin. - + Use the same password for the administrator account. Përdor të njëjtin fjalëkalim për llogarinë e përgjegjësit. - + Choose a password for the administrator account. Zgjidhni një fjalëkalim për llogarinë e përgjegjësit. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Jepeni të njëjtin fjalëkalim dy herë, që të mund të kontrollohet për gabime shkrimi.</small> @@ -2466,6 +2526,30 @@ Përfundim: No description provided. S’u dha përshkrim. + + + + + + + File not found + S’u gjet kartelë + + + + Path <pre>%1</pre> must be an absolute path. + Shtegu <pre>%1</pre> duhet të jetë shteg absolut. + + + + Could not create new random file <pre>%1</pre>. + S’u krijua dot kartelë e re kuturu <pre>%1</pre>. + + + + Could not read random file <pre>%1</pre>. + S’u lexua dot kartelë kuturu <pre>%1</pre>. + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Përfundim: SetHostNameJob - + Set hostname %1 Cakto strehëemër %1 - + Set hostname <strong>%1</strong>. Cakto strehëemër <strong>%1</strong>. - + Setting hostname %1. Po caktohet strehëemri %1. - - + + Internal Error Gabim i Brendshëm - - + + Cannot write hostname to target system S’shkruhet dot strehëemër te sistemi i synuar @@ -2899,22 +2983,22 @@ Përfundim: rootMountPoint është %1 - + Cannot disable root account. S’mund të çaktivizohet llogaria rrënjë. - + passwd terminated with error code %1. passwd përfundoi me kod gabimi %1. - + Cannot set password for user %1. S’caktohet dot fjalëkalim për përdoruesin %1. - + usermod terminated with error code %1. usermod përfundoi me kod gabimi %1. @@ -3101,43 +3185,47 @@ Përfundim: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Nëse këtë kompjuter do ta përdorë më shumë se një person, mund të krijoni disa llogari, pas rregullimit.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Nëse këtë kompjuter do ta përdorë më shumë se një person, mund të krijoni disa llogari, pas instalimit.</small> - + Your username is too long. Emri juaj i përdoruesit është shumë i gjatë. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Emri juaj i përdoruesit përmban shenja të pavlefshme. Lejohen vetëm shkronja të vogla dhe shifra. + + Your username must start with a lowercase letter or underscore. + Emri juaj i përdoruesit duhet të fillojë me një shkronjë të vogël ose nënvijë. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Lejohen vetëm shkronja të vogla, numra, nënvijë dhe vijë ndarëse. + + + + Only letters, numbers, underscore and hyphen are allowed. + Lejohen vetëm shkronja, numra, nënvijë dhe vijë ndarëse. + + + Your hostname is too short. Strehëemri juaj është shumë i shkurtër. - + Your hostname is too long. Strehëemri juaj është shumë i gjatë. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Strehëemri juaj përmban shenja të pavlefshme. Lejohen vetëm shkronja të vogla dhe shifra. - - - - + Your passwords do not match! Fjalëkalimet tuaj s’përputhen! @@ -3145,7 +3233,7 @@ Përfundim: UsersViewStep - + Users Përdorues diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 386386a96..2df711eac 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Назад - + + &Next &Следеће - + + &Cancel &Откажи - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Отказати инсталацију? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Да ли стварно желите да прекинете текући процес инсталације? Инсталер ће бити затворен и све промене ће бити изгубљене. - - + + &Yes - - + + &No - + &Close - + Continue with setup? Наставити са подешавањем? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Инсталирај сада - + Go &back Иди &назад - + &Done - + The installation is complete. Close the installer. - + Error Грешка - + Installation Failed Инсталација није успела @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. Није могуће писати у "Судоерс" директоријуму. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. Није могуће променити мод (chmod) над "судоерс" фајлом - + Cannot open groups file for reading. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + Грешка поставе + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. Како се зовете? - + What name do you want to use to log in? - + Choose a password to keep your account safe. Изаберите лозинку да обезбедите свој налог. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? Како ћете звати ваш рачунар? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error Интерна грешка - - + + Cannot write hostname to target system @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Ваше корисничко име је предугачко. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Име вашег "домаћина" - hostname је прекратко. - + Your hostname is too long. Ваше име домаћина је предуго - hostname - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Ваше име "домаћина" - hostname садржи недозвољене карактере. Могуће је користити само слова, бројеве и цртице. - - - - + Your passwords do not match! Лозинке се не поклапају! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users Корисници diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index d601263f5..aa634442c 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Nazad - + + &Next &Dalje - + + &Cancel &Prekini - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Prekini instalaciju? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Da li stvarno želite prekinuti trenutni proces instalacije? Instaler će se zatvoriti i sve promjene će biti izgubljene. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Greška - + Installation Failed Neuspješna instalacija @@ -837,17 +840,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Nemoguće mijenjati fajlove u sudoers direktorijumu - + Cannot create sudoers file for writing. Nemoguće napraviti sudoers fajl - + Cannot chmod sudoers file. Nemoguće uraditi chmod nad sudoers fajlom. - + Cannot open groups file for reading. Nemoguće otvoriti groups fajl @@ -1581,6 +1584,24 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Kako se zovete? - + What name do you want to use to log in? Koje ime želite koristiti da se prijavite? - + Choose a password to keep your account safe. Odaberite lozinku da biste zaštitili Vaš korisnički nalog. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Upišite istu lozinku dvaput, da ne bi došlo do greške kod kucanja. Dobra lozinka se sastoji od mešavine slova, brojeva i interpunkcijskih znakova; trebala bi biti duga bar osam znakova, i trebalo bi da ju menjate redovno</small> - + What is the name of this computer? Kako želite nazvati ovaj računar? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Ovo ime će biti vidljivo drugim računarima na mreži</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Unesite istu lozinku dvaput, da ne bi došlp do greške kod kucanja</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 Postavi ime računara %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2894,22 +2978,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! Vaše lozinke se ne poklapaju @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users Korisnici diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index f84f4f8d0..99e5ecd45 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Bakåt - + + &Next &Nästa - + + &Cancel Avbryt - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Initieringen av Calamares misslyckades - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: <br/>Följande moduler kunde inte hämtas: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? Avbryt installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Är du säker på att du vill avsluta installationen i förtid? Alla ändringar kommer att gå förlorade. - - + + &Yes - - + + &No - + &Close - + Continue with setup? Fortsätt med installation? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar.</strong> - + &Install now &Installera nu - + Go &back Gå &bakåt - + &Done - + The installation is complete. Close the installer. - + Error Fel - + Installation Failed Installationen misslyckades @@ -837,17 +840,17 @@ Alla ändringar kommer att gå förlorade. Sudoerkatalogen är inte skrivbar. - + Cannot create sudoers file for writing. Kunde inte skapa sudoerfil för skrivning. - + Cannot chmod sudoers file. Kunde inte chmodda sudoerfilen. - + Cannot open groups file for reading. Kunde inte öppna gruppfilen för läsning. @@ -1581,6 +1584,24 @@ Alla ändringar kommer att gå förlorade. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ Alla ändringar kommer att gå förlorade. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ Alla ändringar kommer att gå förlorade. Vad heter du? - + What name do you want to use to log in? Vilket namn vill du använda för att logga in? - + Choose a password to keep your account safe. Välj ett lösenord för att hålla ditt konto säkert. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Ange samma lösenord två gånger, så att det kan kontrolleras för stavfel. Ett bra lösenord innehåller en blandning av bokstäver, nummer och interpunktion, bör vara minst åtta tecken långt, och bör ändras regelbundet.</small> - + What is the name of this computer? Vad är namnet på datorn? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Detta namn används om du gör datorn synlig för andra i ett nätverk.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Logga in automatiskt utan att fråga efter lösenord. - + Use the same password for the administrator account. Använd samma lösenord för administratörskontot. - + Choose a password for the administrator account. Välj ett lösenord för administratörskontot. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Ange samma lösenord två gånger, så att det kan kontrolleras för stavfel.</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 Ange värdnamn %1 - + Set hostname <strong>%1</strong>. Ange värdnamn <strong>%1</strong>. - + Setting hostname %1. Anger värdnamn %1. - - + + Internal Error Internt fel - - + + Cannot write hostname to target system Kan inte skriva värdnamn till målsystem @@ -2894,22 +2978,22 @@ Output: rootMonteringspunkt är %1 - + Cannot disable root account. - + passwd terminated with error code %1. passwd stoppades med felkod %1. - + Cannot set password for user %1. Kan inte ställa in lösenord för användare %1. - + usermod terminated with error code %1. usermod avslutade med felkod %1. @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när inställningarna är klara.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när installationen är klar.</small> - + Your username is too long. Ditt användarnamn är för långt. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Ditt användarnamn innehåller otillåtna tecken! Endast små bokstäver och siffror tillåts. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Ditt värdnamn är för kort. - + Your hostname is too long. Ditt värdnamn är för långt. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Ditt värdnamn innehåller otillåtna tecken! Endast bokstäver, siffror och bindestreck tillåts. - - - - + Your passwords do not match! Lösenorden överensstämmer inte! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users Användare diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 28399aee5..60fcd0fa7 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &B ย้อนกลับ - + + &Next &N ถัดไป - + + &Cancel &C ยกเลิก - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? ยกเลิกการติดตั้ง? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. คุณต้องการยกเลิกกระบวนการติดตั้งที่กำลังดำเนินการอยู่หรือไม่? ตัวติดตั้งจะสิ้นสุดการทำงานและไม่บันทึกการเปลี่ยนแปลงที่ได้ดำเนินการก่อนหน้านี้ - - + + &Yes - - + + &No - + &Close - + Continue with setup? ดำเนินการติดตั้งต่อหรือไม่? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> ตัวติดตั้ง %1 กำลังพยายามที่จะทำการเปลี่ยนแปลงในดิสก์ของคุณเพื่อติดตั้ง %2<br/><strong>คุณจะไม่สามารถยกเลิกการเปลี่ยนแปลงเหล่านี้ได้</strong> - + &Install now &ติดตั้งตอนนี้ - + Go &back กลั&บไป - + &Done - + The installation is complete. Close the installer. - + Error ข้อผิดพลาด - + Installation Failed การติดตั้งล้มเหลว @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. ไม่สามารถเขียนไดเรคทอรี Sudoers ได้ - + Cannot create sudoers file for writing. ไม่สามารถสร้างไฟล์ sudoers เพื่อเขียนได้ - + Cannot chmod sudoers file. ไม่สามารถ chmod ไฟล์ sudoers - + Cannot open groups file for reading. ไม่สามารถเปิดไฟล์ groups เพื่ออ่านได้ @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,242 +1672,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1963,47 +1984,86 @@ The installer will quit and all changes will be lost. ชื่อของคุณคือ? - + What name do you want to use to log in? ชื่อที่คุณต้องการใช้ในการล็อกอิน? - + Choose a password to keep your account safe. เลือกรหัสผ่านเพื่อรักษาบัญชีผู้ใช้ของคุณให้ปลอดภัย - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>ใส่รหัสผ่านเดียวกันซ้ำ 2 ครั้ง เพื่อเป็นการตรวจสอบข้อผิดพลาดจากการพิมพ์ รหัสผ่านที่ดีจะต้องมีการผสมกันระหว่าง ตัวอักษรภาษาอังกฤษ ตัวเลข และสัญลักษณ์ ควรมีความยาวอย่างน้อย 8 ตัวอักขระ และควรมีการเปลี่ยนรหัสผ่านเป็นประจำ</small> - + What is the name of this computer? คอมพิวเตอร์เครื่องนี้ชื่อ? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>ชื่อนี้จะถูกใช้ถ้าคุณตั้งค่าให้เครื่องอื่นๆ มองเห็นคอมพิวเตอร์ของคุณบนเครือข่าย</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. เลือกรหัสผ่านสำหรับบัญชีผู้ใช้ผู้ดูแลระบบ - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>ใส่รหัสผ่านเดิมซ้ำ 2 ครั้ง เพื่อเป็นการตรวจสอบข้อผิดพลาดที่เกิดจากการพิมพ์</small> @@ -2461,6 +2521,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2731,29 +2815,29 @@ Output: SetHostNameJob - + Set hostname %1 ตั้งค่าชื่อโฮสต์ %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error ข้อผิดพลาดภายใน - - + + Cannot write hostname to target system ไม่สามารถเขียนชื่อโฮสต์ไปที่ระบบเป้าหมาย @@ -2894,22 +2978,22 @@ Output: rootMountPoint คือ %1 - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. ไม่สามารถตั้งค่ารหัสผ่านสำหรับผู้ใช้ %1 - + usermod terminated with error code %1. usermod จบด้วยโค้ดข้อผิดพลาด %1 @@ -3096,43 +3180,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. ชื่อผู้ใช้ของคุณยาวเกินไป - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - ชื่อผู้ใช้ของคุณมีตัวอักษรที่ไม่ถูกต้อง ใช้ได้เฉพาะตัวอักษรภาษาอังกฤษตัวเล็กและตัวเลขเท่านั้น + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. ชื่อโฮสต์ของคุณสั้นเกินไป - + Your hostname is too long. ชื่อโฮสต์ของคุณยาวเกินไป - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - ชื่อโฮสต์ของคุณมีตัวอักษรที่ไม่ถูกต้อง ใช้ได้เฉพาะตัวอักษรภาษาอังกฤษ ตัวเลข และขีดกลาง "-" เท่านั้น - - - - + Your passwords do not match! รหัสผ่านของคุณไม่ตรงกัน! @@ -3140,7 +3228,7 @@ Output: UsersViewStep - + Users ผู้ใช้ diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index b957d2b3d..68ccb7e99 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back &Geri - + + &Next &Sonraki - + + &Cancel &Vazgeç - + Cancel setup without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Cancel installation without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Setup Failed Kurulum Başarısız - + Would you like to paste the install log to the web? Yükleme günlüğünü web'e yapıştırmak ister misiniz? - + Install Log Paste URL Günlük Yapıştırma URL'sini Yükle - + The upload was unsuccessful. No web-paste was done. Yükleme başarısız oldu. Web yapıştırması yapılmadı. - + Calamares Initialization Failed Calamares Başlatılamadı - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 yüklenemedi. Calamares yapılandırılmış modüllerin bazılarını yükleyemedi. Bu, Calamares'in kullandığınız dağıtıma uyarlamasından kaynaklanan bir sorundur. - + <br/>The following modules could not be loaded: <br/>Aşağıdaki modüller yüklenemedi: - + Continue with installation? Kuruluma devam edilsin mi? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem kurulum uygulaması,%2 ayarlamak için diskinizde değişiklik yapmak üzere. <br/><strong>Bu değişiklikleri geri alamayacaksınız.</strong> - + &Set up now &Şimdi kur - + &Set up &Kur - + &Install &Yükle - + Setup is complete. Close the setup program. Kurulum tamamlandı. Kurulum programını kapatın. - + Cancel setup? Kurulum iptal edilsin mi? - + Cancel installation? Yüklemeyi iptal et? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. Mevcut kurulum işlemini gerçekten iptal etmek istiyor musunuz? Kurulum uygulaması sonlandırılacak ve tüm değişiklikler kaybedilecek. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Yükleme işlemini gerçekten iptal etmek istiyor musunuz? Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. - - + + &Yes &Evet - - + + &No &Hayır - + &Close &Kapat - + Continue with setup? Kuruluma devam et? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem yükleyici %2 yüklemek için diskinizde değişiklik yapacak.<br/><strong>Bu değişiklikleri geri almak mümkün olmayacak.</strong> - + &Install now &Şimdi yükle - + Go &back Geri &git - + &Done &Tamam - + The installation is complete. Close the installer. Yükleme işi tamamlandı. Sistem yükleyiciyi kapatın. - + Error Hata - + Installation Failed Kurulum Başarısız @@ -840,17 +843,17 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. Sudoers dosyası yazılabilir değil. - + Cannot create sudoers file for writing. sudoers dosyası oluşturulamadı ve yazılamadı. - + Cannot chmod sudoers file. Sudoers dosya izinleri ayarlanamadı. - + Cannot open groups file for reading. groups dosyası okunamadı. @@ -1585,6 +1588,24 @@ Sistem güç kaynağına bağlı değil. %1 disk bölümü LUKS anahtar dosyası yapılandırılabilir. + + MachineIdJob + + + Generate machine-id. + Makine kimliği oluştur. + + + + Configuration Error + Yapılandırma Hatası + + + + No root mount point is set for MachineId. + MachineId için kök bağlama noktası ayarlanmadı. + + NetInstallPage @@ -1655,242 +1676,242 @@ Sistem güç kaynağına bağlı değil. PWQ - + Password is too short Şifre çok kısa - + Password is too long Şifre çok uzun - + Password is too weak Şifre çok zayıf - + Memory allocation error when setting '%1' '%1' ayarlanırken bellek ayırma hatası - + Memory allocation error Bellek ayırma hatası - + The password is the same as the old one Şifre eski şifreyle aynı - + The password is a palindrome Parola eskilerden birinin ters okunuşu olabilir - + The password differs with case changes only Parola sadece vaka değişiklikleri ile farklılık gösterir - + The password is too similar to the old one Parola eski parolaya çok benzer - + The password contains the user name in some form Parola kullanıcı adını bir biçimde içeriyor - + The password contains words from the real name of the user in some form Şifre, kullanıcının gerçek adına ait kelimeleri bazı biçimde içerir - + The password contains forbidden words in some form Şifre, bazı biçimde yasak kelimeler içeriyor - + The password contains less than %1 digits Şifre %1 den az hane içeriyor - + The password contains too few digits Parola çok az basamak içeriyor - + The password contains less than %1 uppercase letters Parola %1 den az büyük harf içeriyor - + The password contains too few uppercase letters Parola çok az harf içermektedir - + The password contains less than %1 lowercase letters Parola %1 den daha küçük harf içermektedir - + The password contains too few lowercase letters Parola çok az küçük harf içeriyor - + The password contains less than %1 non-alphanumeric characters Şifre %1 den az alfasayısal olmayan karakter içeriyor - + The password contains too few non-alphanumeric characters Parola çok az sayıda alfasayısal olmayan karakter içeriyor - + The password is shorter than %1 characters Parola %1 karakterden kısa - + The password is too short Parola çok kısa - + The password is just rotated old one Şifre önceden kullanıldı - + The password contains less than %1 character classes Parola %1 den az karakter sınıfı içeriyor - + The password does not contain enough character classes Parola yeterli sayıda karakter sınıfı içermiyor - + The password contains more than %1 same characters consecutively Şifre, %1 den fazla aynı karakteri ardışık olarak içeriyor - + The password contains too many same characters consecutively Parola ardışık olarak aynı sayıda çok karakter içeriyor - + The password contains more than %1 characters of the same class consecutively Parola, aynı sınıftan %1 den fazla karakter ardışık olarak içeriyor - + The password contains too many characters of the same class consecutively Parola aynı sınıfta çok fazla karakter içeriyor - + The password contains monotonic sequence longer than %1 characters Şifre, %1 karakterden daha uzun monoton dizilim içeriyor - + The password contains too long of a monotonic character sequence Parola çok uzun monoton karakter dizisi içeriyor - + No password supplied Parola sağlanmadı - + Cannot obtain random numbers from the RNG device RNG cihazından rastgele sayılar elde edemiyor - + Password generation failed - required entropy too low for settings Şifre üretimi başarısız oldu - ayarlar için entropi çok düşük gerekli - + The password fails the dictionary check - %1 Parola, sözlüğü kontrolü başarısız - %1 - + The password fails the dictionary check Parola, sözlük onayı başarısız - + Unknown setting - %1 Bilinmeyen ayar - %1 - + Unknown setting Bilinmeyen ayar - + Bad integer value of setting - %1 Ayarın bozuk tam sayı değeri - %1 - + Bad integer value Yanlış tamsayı değeri - + Setting %1 is not of integer type %1 ayarı tamsayı tipi değil - + Setting is not of integer type Ayar tamsayı tipi değil - + Setting %1 is not of string type Ayar %1, dize tipi değil - + Setting is not of string type Ayar, dize tipi değil - + Opening the configuration file failed Yapılandırma dosyasını açma başarısız oldu - + The configuration file is malformed Yapılandırma dosyası hatalı biçimlendirildi - + Fatal failure Ölümcül arıza - + Unknown error Bilinmeyen hata @@ -1967,47 +1988,86 @@ Sistem güç kaynağına bağlı değil. Adınız nedir? - + What name do you want to use to log in? Giriş için hangi adı kullanmak istersiniz? - + Choose a password to keep your account safe. Hesabınızın güvenliğini sağlamak için bir parola belirleyiniz. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Yazım hatası ihtimaline karşı parolanızı iki kere yazınız. Güçlü bir parola en az sekiz karakter olmalı ve rakamları, harfleri, karakterleri içermelidir, düzenli aralıklarla değiştirilmelidir.</small> - + What is the name of this computer? Bu bilgisayarın adı nedir? - + + Your Full Name + Tam Adınız + + + + login + oturum aç + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Bilgisayarınız herhangi bir ağ üzerinde görünür ise bu adı kullanacak.</small> - + + Computer Name + Bilgisayar Adı + + + + + Password + Şifre + + + + + Repeat Password + Şifreyi Tekrarla + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + Bu kutu işaretlendiğinde parola gücü kontrolü yapılır ve zayıf bir parola kullanamazsınız. + + + + Require strong passwords. + Güçlü şifre gerekir. + + + Log in automatically without asking for the password. Şifre sormadan otomatik olarak giriş yap. - + Use the same password for the administrator account. Yönetici ile kullanıcı aynı şifreyi kullansın. - + Choose a password for the administrator account. Yönetici-Root hesabı için bir parola belirle. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Yazım hatası ihtimaline karşı aynı şifreyi tekrar giriniz.</small> @@ -2469,6 +2529,30 @@ Output: No description provided. Açıklama bulunamadı. + + + + + + + File not found + Dosya bulunamadı + + + + Path <pre>%1</pre> must be an absolute path. + <pre>%1</pre> yolu mutlak bir yol olmalı. + + + + Could not create new random file <pre>%1</pre>. + <pre>%1</pre>yeni rasgele dosya oluşturulamadı. + + + + Could not read random file <pre>%1</pre>. + <pre>%1</pre>rasgele dosya okunamadı. + RemoveVolumeGroupJob @@ -2741,29 +2825,29 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. SetHostNameJob - + Set hostname %1 %1 sunucu-adı ayarla - + Set hostname <strong>%1</strong>. <strong>%1</strong> sunucu-adı ayarla. - + Setting hostname %1. %1 sunucu-adı ayarlanıyor. - - + + Internal Error Dahili Hata - - + + Cannot write hostname to target system Hedef sisteme sunucu-adı yazılamadı @@ -2904,22 +2988,22 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.rootBağlamaNoktası %1 - + Cannot disable root account. root hesap devre dışı bırakılamaz. - + passwd terminated with error code %1. passwd %1 hata kodu ile sonlandı. - + Cannot set password for user %1. %1 Kullanıcısı için parola ayarlanamadı. - + usermod terminated with error code %1. usermod %1 hata koduyla çöktü. @@ -3106,43 +3190,47 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Bu bilgisayarı birden fazla kişi kullanacaksa, kurulumdan sonra birden fazla kullanıcı hesabı oluşturabilirsiniz.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Bu bilgisayarı birden fazla kişi kullanacaksa, yükleme bittikten sonra birden fazla kullanıcı hesabı oluşturabilirsiniz.</small> - + Your username is too long. Kullanıcı adınız çok uzun. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Kullanıcı adınız geçersiz karakterler içeriyor. Sadece küçük harfleri ve sayıları kullanabilirsiniz. + + Your username must start with a lowercase letter or underscore. + Kullanıcı adınız küçük harf veya alt çizgi ile başlamalıdır. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + Sadece küçük harflere, sayılara, alt çizgi ve kısa çizgilere izin verilir. + + + + Only letters, numbers, underscore and hyphen are allowed. + Sadece harfler, rakamlar, alt çizgi ve kısa çizgi izin verilir. + + + Your hostname is too short. Makine adınız çok kısa. - + Your hostname is too long. Makine adınız çok uzun. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Makine adınız geçersiz karakterler içeriyor. Sadece küçük harfleri ve sayıları ve tire işaretini kullanabilirsiniz. - - - - + Your passwords do not match! Parolanız eşleşmiyor! @@ -3150,7 +3238,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. UsersViewStep - + Users Kullanıcı Tercihleri diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 40f9d6c71..7fb619950 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -226,172 +226,175 @@ Calamares::ViewManager - + + &Back &Назад - + + &Next &Вперед - + + &Cancel &Скасувати - + Cancel setup without changing the system. Скасувати налаштування без зміни системи. - + Cancel installation without changing the system. Скасувати встановлення без зміни системи. - + Setup Failed Помилка встановлення - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Помилка ініціалізації Calamares - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 неможливо встановити. Calamares не зміг завантажити всі налаштовані модулі. Ця проблема зв'язана з тим, як Calamares використовується дистрибутивом. - + <br/>The following modules could not be loaded: <br/>Не вдалося завантажити наступні модулі: - + Continue with installation? Продовжити встановлення? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> Програма налаштування %1 збирається внести зміни до вашого диска, щоб налаштувати %2. <br/><strong> Ви не зможете скасувати ці зміни.</strong> - + &Set up now &Налаштувати зараз - + &Set up &Налаштувати - + &Install &Встановити - + Setup is complete. Close the setup program. Встановлення виконано. Закрити програму встановлення. - + Cancel setup? Скасувати налаштування? - + Cancel installation? Скасувати встановлення? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Чи ви насправді бажаєте скасувати процес встановлення? Установник закриється і всі зміни буде втрачено. - - + + &Yes &Так - - + + &No &Ні - + &Close &Закрити - + Continue with setup? Продовжити встановлення? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Установник %1 збирається зробити зміни на вашому диску, щоб встановити %2.<br/><strong>Ці зміни неможливо буде повернути.</strong> - + &Install now &Встановити зараз - + Go &back Перейти &назад - + &Done &Закінчити - + The installation is complete. Close the installer. Встановлення виконано. Закрити установник. - + Error Помилка - + Installation Failed Втановлення завершилося невдачею @@ -837,17 +840,17 @@ The installer will quit and all changes will be lost. Неможливо запиcати у директорію sudoers. - + Cannot create sudoers file for writing. Неможливо створити файл sudoers для запису. - + Cannot chmod sudoers file. Неможливо встановити права на файл sudoers. - + Cannot open groups file for reading. Неможливо відкрити файл груп для читання. @@ -1581,6 +1584,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1651,243 +1672,243 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Пароль занадто короткий - + Password is too long Пароль задовгий - + Password is too weak Пароль надто ненадійний - + Memory allocation error when setting '%1' - + Memory allocation error Помилка виділення пам'яті - + The password is the same as the old one Цей пароль такий же як і старий - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one Цей пароль надто схожий на попередній - + The password contains the user name in some form Цей пароль якимось чином містить ім'я користувача - + The password contains words from the real name of the user in some form Цей пароль містить слова зі справжнього імені користувача в якійсь із форм - + The password contains forbidden words in some form - + The password contains less than %1 digits Цей пароль містить менше ніж %1 символ - + The password contains too few digits Цей пароль містить замало символів - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short Цей пароль занадто короткий - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure Фатальна помилка - + Unknown error Невідома помилка @@ -1964,47 +1985,86 @@ The installer will quit and all changes will be lost. Ваше ім'я? - + What name do you want to use to log in? Яке ім'я ви бажаєте використовувати для входу? - + Choose a password to keep your account safe. Оберіть пароль, щоб тримати ваш обліковий рахунок у безпеці. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>Введіть один й той самий пароль двічі, для перевірки щодо помилок введення. Надійному паролю слід містити суміш літер, чисел та розділових знаків, бути довжиною хоча б вісім символів та регулярно змінюватись.</small> - + What is the name of this computer? Ім'я цього комп'ютера? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>Це ім'я буде використовуватись, якщо ви зробите комп'ютер видимим іншим у мережі.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. Входити автоматично без паролю. - + Use the same password for the administrator account. Використовувати той самий пароль і для облікового рахунку адміністратора. - + Choose a password for the administrator account. Оберіть пароль для облікового рахунку адміністратора. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>Введіть один й той самий пароль двічі, для перевірки щодо помилок введення.</small> @@ -2462,6 +2522,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2732,29 +2816,29 @@ Output: SetHostNameJob - + Set hostname %1 Встановити ім'я машини %1 - + Set hostname <strong>%1</strong>. Встановити ім'я машини <strong>%1</strong>. - + Setting hostname %1. Встановлення імені машини %1. - - + + Internal Error Внутрішня помилка - - + + Cannot write hostname to target system Не можу записати ім'я машини до системи @@ -2895,22 +2979,22 @@ Output: Коренева точка підключення %1 - + Cannot disable root account. Не можу відключити обліковий запис root. - + passwd terminated with error code %1. passwd завершив роботу з кодом помилки %1. - + Cannot set password for user %1. Не можу встановити пароль для користувача %1. - + usermod terminated with error code %1. usermod завершилася з кодом помилки %1. @@ -3097,43 +3181,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Ваше ім'я задовге. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Ваше ім'я містить неприпустимі символи. Дозволені тільки малі літери та цифри. + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. Ім'я машини занадто коротке. - + Your hostname is too long. Ім'я машини задовге. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Ім'я машини містить неприпустимі символи. Дозволені тільки літери, цифри та дефіс. - - - - + Your passwords do not match! Паролі не збігаються! @@ -3141,7 +3229,7 @@ Output: UsersViewStep - + Users Користувачі diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 304227684..a926ddd07 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index 39d5a5f14..777e7e1d9 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -226,171 +226,174 @@ Calamares::ViewManager - + + &Back - + + &Next - + + &Cancel - + Cancel setup without changing the system. - + Cancel installation without changing the system. - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. - + <br/>The following modules could not be loaded: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - - + + &Yes - - + + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -836,17 +839,17 @@ The installer will quit and all changes will be lost. - + Cannot create sudoers file for writing. - + Cannot chmod sudoers file. - + Cannot open groups file for reading. @@ -1580,6 +1583,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1650,242 +1671,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error @@ -1962,47 +1983,86 @@ The installer will quit and all changes will be lost. - + What name do you want to use to log in? - + Choose a password to keep your account safe. - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - + What is the name of this computer? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. - + Use the same password for the administrator account. - + Choose a password for the administrator account. - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> @@ -2460,6 +2520,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2730,29 +2814,29 @@ Output: SetHostNameJob - + Set hostname %1 - + Set hostname <strong>%1</strong>. - + Setting hostname %1. - - + + Internal Error - - + + Cannot write hostname to target system @@ -2893,22 +2977,22 @@ Output: - + Cannot disable root account. - + passwd terminated with error code %1. - + Cannot set password for user %1. - + usermod terminated with error code %1. @@ -3095,43 +3179,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. + + Your username must start with a lowercase letter or underscore. - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. - + Your hostname is too long. - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - - - - + Your passwords do not match! @@ -3139,7 +3227,7 @@ Output: UsersViewStep - + Users diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index a1934f03e..796710b0e 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -227,172 +227,175 @@ Calamares::ViewManager - + + &Back 后退(&B) - + + &Next 下一步(&N) - + + &Cancel 取消(&C) - + Cancel setup without changing the system. - + Cancel installation without changing the system. 取消安装,并不做任何更改。 - + Setup Failed - + Would you like to paste the install log to the web? - + Install Log Paste URL - + The upload was unsuccessful. No web-paste was done. - + Calamares Initialization Failed Calamares安装失败 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1无法安装。 Calamares无法加载所有已配置的模块。这是分配使用Calamares的方式的问题。 - + <br/>The following modules could not be loaded: <br/>无法加载以下模块: - + Continue with installation? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Set up now - + &Set up - + &Install 安装(&I) - + Setup is complete. Close the setup program. - + Cancel setup? - + Cancel installation? 取消安装? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 确定要取消当前的安装吗? 安装程序将退出,所有修改都会丢失。 - - + + &Yes &是 - - + + &No &否 - + &Close &关闭 - + Continue with setup? 要继续安装吗? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安装程序将在您的磁盘上做出变更以安装 %2。<br/><strong>您将无法复原这些变更。</strong> - + &Install now 现在安装 (&I) - + Go &back 返回 (&B) - + &Done &完成 - + The installation is complete. Close the installer. 安装已完成。请关闭安装程序。 - + Error 错误 - + Installation Failed 安装失败 @@ -838,17 +841,17 @@ The installer will quit and all changes will be lost. Sudoers 目录不可写。 - + Cannot create sudoers file for writing. 无法创建要写入的 sudoers 文件。 - + Cannot chmod sudoers file. 无法修改 sudoers 文件权限。 - + Cannot open groups file for reading. 无法打开要读取的 groups 文件。 @@ -1583,6 +1586,24 @@ The installer will quit and all changes will be lost. + + MachineIdJob + + + Generate machine-id. + 生成 machine-id。 + + + + Configuration Error + + + + + No root mount point is set for MachineId. + + + NetInstallPage @@ -1653,242 +1674,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short 密码太短 - + Password is too long 密码太长 - + Password is too weak 密码强度太弱 - + Memory allocation error when setting '%1' 设置“%1”时发生内存分配错误 - + Memory allocation error 内存分配错误 - + The password is the same as the old one 新密码和老密码一致 - + The password is a palindrome 新密码为回文 - + The password differs with case changes only 新密码和老密码只有大小写区别 - + The password is too similar to the old one 新密码和老密码过于相似 - + The password contains the user name in some form 新密码包含用户名 - + The password contains words from the real name of the user in some form 新密码包含用户真实姓名 - + The password contains forbidden words in some form 新密码包含不允许使用的词组 - + The password contains less than %1 digits 新密码包含少于 %1 个数字 - + The password contains too few digits 新密码包含太少数字 - + The password contains less than %1 uppercase letters 新密码包含少于 %1 个大写字母 - + The password contains too few uppercase letters 新密码包含太少大写字母 - + The password contains less than %1 lowercase letters 新密码包含少于 %1 个小写字母 - + The password contains too few lowercase letters 新密码包含太少小写字母 - + The password contains less than %1 non-alphanumeric characters 新密码包含少于 %1 个非字母/数字字符 - + The password contains too few non-alphanumeric characters 新密码包含太少非字母/数字字符 - + The password is shorter than %1 characters 新密码短于 %1 位 - + The password is too short 新密码过短 - + The password is just rotated old one 新密码仅对老密码作了字序调整 - + The password contains less than %1 character classes 新密码包含少于 %1 个字符类型 - + The password does not contain enough character classes 新密码包含太少字符类型 - + The password contains more than %1 same characters consecutively 新密码包含超过 %1 个连续的相同字符 - + The password contains too many same characters consecutively 新密码包含过多连续的相同字符 - + The password contains more than %1 characters of the same class consecutively 新密码包含超过 %1 个连续的同类型字符 - + The password contains too many characters of the same class consecutively 新密码包含过多连续的同类型字符 - + The password contains monotonic sequence longer than %1 characters 新密码包含超过 %1 个字符长度的单调序列 - + The password contains too long of a monotonic character sequence 新密码包含过长的单调序列 - + No password supplied 未输入密码 - + Cannot obtain random numbers from the RNG device 无法从随机数生成器 (RNG) 设备获取随机数 - + Password generation failed - required entropy too low for settings 无法生成密码 - 熵值过低 - + The password fails the dictionary check - %1 新密码无法通过字典检查 - %1 - + The password fails the dictionary check 新密码无法通过字典检查 - + Unknown setting - %1 未知设置 - %1 - + Unknown setting 未知设置 - + Bad integer value of setting - %1 设置的整数值非法 - %1 - + Bad integer value 设置的整数值非法 - + Setting %1 is not of integer type 设定值 %1 不是整数类型 - + Setting is not of integer type 设定值不是整数类型 - + Setting %1 is not of string type 设定值 %1 不是字符串类型 - + Setting is not of string type 设定值不是字符串类型 - + Opening the configuration file failed 无法打开配置文件 - + The configuration file is malformed 配置文件格式不正确 - + Fatal failure 致命错误 - + Unknown error 未知错误 @@ -1965,47 +1986,86 @@ The installer will quit and all changes will be lost. 您的姓名? - + What name do you want to use to log in? 您想要使用的登录用户名是? - + Choose a password to keep your account safe. 选择一个密码来保证您的账户安全。 - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>输入相同密码两次,以检查输入错误。好的密码包含字母,数字,标点的组合,应当至少为 8 个字符长,并且应按一定周期更换。</small> - + What is the name of this computer? 计算机名称为? - + + Your Full Name + + + + + login + + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>将计算机设置为对其他网络上计算机可见时将使用此名称。</small> - + + Computer Name + + + + + + Password + + + + + + Repeat Password + + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + + + + + Require strong passwords. + + + + Log in automatically without asking for the password. 不询问密码自动登录。 - + Use the same password for the administrator account. 为管理员帐号使用同样的密码。 - + Choose a password for the administrator account. 选择管理员账户的密码。 - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>输入相同密码两次,以检查输入错误。</small> @@ -2466,6 +2526,30 @@ Output: No description provided. + + + + + + + File not found + + + + + Path <pre>%1</pre> must be an absolute path. + + + + + Could not create new random file <pre>%1</pre>. + + + + + Could not read random file <pre>%1</pre>. + + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Output: SetHostNameJob - + Set hostname %1 设置主机名 %1 - + Set hostname <strong>%1</strong>. 设置主机名 <strong>%1</strong>。 - + Setting hostname %1. 正在设置主机名 %1。 - - + + Internal Error 内部错误 - - + + Cannot write hostname to target system 无法向目标系统写入主机名 @@ -2899,22 +2983,22 @@ Output: 根挂载点为 %1 - + Cannot disable root account. 无法禁用 root 帐号。 - + passwd terminated with error code %1. passwd 以错误代码 %1 终止。 - + Cannot set password for user %1. 无法设置用户 %1 的密码。 - + usermod terminated with error code %1. usermod 以错误代码 %1 中止。 @@ -3101,43 +3185,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. 用户名太长。 - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - 您的用户名含有无效的字符。只能使用小写字母和数字。 + + Your username must start with a lowercase letter or underscore. + - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + + + + + Only letters, numbers, underscore and hyphen are allowed. + + + + Your hostname is too short. 主机名太短。 - + Your hostname is too long. 主机名太长。 - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - 您的主机名称含有无效的字符。只能使用字母、数字和短横。 - - - - + Your passwords do not match! 密码不匹配! @@ -3145,7 +3233,7 @@ Output: UsersViewStep - + Users 用户 diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index ba4c28d6b..ee4598b65 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -226,173 +226,176 @@ Calamares::ViewManager - + + &Back 返回 (&B) - + + &Next 下一步 (&N) - + + &Cancel 取消(&C) - + Cancel setup without changing the system. 取消安裝,不更改系統。 - + Cancel installation without changing the system. 不變更系統並取消安裝。 - + Setup Failed 設定失敗 - + Would you like to paste the install log to the web? 想要將安裝紀錄檔貼到網路上嗎? - + Install Log Paste URL 安裝紀錄檔張貼 URL - + The upload was unsuccessful. No web-paste was done. 上傳不成功。並未完成網路張貼。 - + Calamares Initialization Failed Calamares 初始化失敗 - + %1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution. %1 無法安裝。Calamares 無法載入所有已設定的模組。散佈版使用 Calamares 的方式有問題。 - + <br/>The following modules could not be loaded: <br/>以下的模組無法載入: - + Continue with installation? 繼續安裝? - + The %1 setup program is about to make changes to your disk in order to set up %2.<br/><strong>You will not be able to undo these changes.</strong> %1 設定程式將在您的磁碟上做出變更以設定 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Set up now 馬上進行設定 (&S) - + &Set up 設定 (&S) - + &Install 安裝(&I) - + Setup is complete. Close the setup program. 設定完成。關閉設定程式。 - + Cancel setup? 取消設定? - + Cancel installation? 取消安裝? - + Do you really want to cancel the current setup process? The setup program will quit and all changes will be lost. 真的想要取消目前的設定程序嗎? 設定程式將會結束,所有變更都將會遺失。 - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 您真的想要取消目前的安裝程序嗎? 安裝程式將會退出且所有變動將會遺失。 - - + + &Yes 是(&Y) - - + + &No 否(&N) - + &Close 關閉(&C) - + Continue with setup? 繼續安裝? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安裝程式將在您的磁碟上做出變更以安裝 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Install now 現在安裝 (&I) - + Go &back 上一步 (&B) - + &Done 完成(&D) - + The installation is complete. Close the installer. 安裝完成。關閉安裝程式。 - + Error 錯誤 - + Installation Failed 安裝失敗 @@ -839,17 +842,17 @@ The installer will quit and all changes will be lost. Sudoers 目錄不可寫入。 - + Cannot create sudoers file for writing. 無法建立要寫入的 sudoers 檔案。 - + Cannot chmod sudoers file. 無法修改 sudoers 檔案權限。 - + Cannot open groups file for reading. 無法開啟要讀取的 groups 檔案。 @@ -1583,6 +1586,24 @@ The installer will quit and all changes will be lost. 無法在分割區 %1 設定 LUKS 金鑰檔。 + + MachineIdJob + + + Generate machine-id. + 生成 machine-id。 + + + + Configuration Error + 設定錯誤 + + + + No root mount point is set for MachineId. + 未為 MachineId 設定根掛載點。 + + NetInstallPage @@ -1653,242 +1674,242 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short 密碼太短 - + Password is too long 密碼太長 - + Password is too weak 密碼太弱 - + Memory allocation error when setting '%1' 當設定「%1」時記憶體分配錯誤 - + Memory allocation error 記憶體分配錯誤 - + The password is the same as the old one 密碼與舊的相同 - + The password is a palindrome 此密碼為迴文 - + The password differs with case changes only 密碼僅大小寫不同 - + The password is too similar to the old one 密碼與舊的太過相似 - + The password contains the user name in some form 密碼包含某種形式的使用者名稱 - + The password contains words from the real name of the user in some form 密碼包含了某種形式的使用者真實姓名 - + The password contains forbidden words in some form 密碼包含了某種形式的無效文字 - + The password contains less than %1 digits 密碼中的數字少於 %1 個 - + The password contains too few digits 密碼包含的數字太少了 - + The password contains less than %1 uppercase letters 密碼包含少於 %1 個大寫字母 - + The password contains too few uppercase letters 密碼包含的大寫字母太少了 - + The password contains less than %1 lowercase letters 密碼包含少於 %1 個小寫字母 - + The password contains too few lowercase letters 密碼包含的小寫字母太少了 - + The password contains less than %1 non-alphanumeric characters 密碼包含了少於 %1 個非字母與數字的字元 - + The password contains too few non-alphanumeric characters 密碼包含的非字母與數字的字元太少了 - + The password is shorter than %1 characters 密碼短於 %1 個字元 - + The password is too short 密碼太短 - + The password is just rotated old one 密碼只是輪換過的舊密碼 - + The password contains less than %1 character classes 密碼包含了少於 %1 種字元類型 - + The password does not contain enough character classes 密碼未包含足夠的字元類型 - + The password contains more than %1 same characters consecutively 密碼包含了連續超過 %1 個相同字元 - + The password contains too many same characters consecutively 密碼包含連續太多個相同的字元 - + The password contains more than %1 characters of the same class consecutively 密碼包含了連續多於 %1 個相同的字元類型 - + The password contains too many characters of the same class consecutively 密碼包含了連續太多相同類型的字元 - + The password contains monotonic sequence longer than %1 characters 密碼包含了長度超過 %1 個字元的單調序列 - + The password contains too long of a monotonic character sequence 密碼包含了長度過長的單調字元序列 - + No password supplied 未提供密碼 - + Cannot obtain random numbers from the RNG device 無法從 RNG 裝置中取得隨機數 - + Password generation failed - required entropy too low for settings 密碼生成失敗,設定的必要熵太低 - + The password fails the dictionary check - %1 密碼在字典檢查時失敗 - %1 - + The password fails the dictionary check 密碼在字典檢查時失敗 - + Unknown setting - %1 未知的設定 - %1 - + Unknown setting 未知的設定 - + Bad integer value of setting - %1 整數值設定不正確 - %1 - + Bad integer value 整數值不正確 - + Setting %1 is not of integer type 設定 %1 不是整數類型 - + Setting is not of integer type 設定不是整數類型 - + Setting %1 is not of string type 設定 %1 不是字串類型 - + Setting is not of string type 設定不是字串類型 - + Opening the configuration file failed 開啟設定檔失敗 - + The configuration file is malformed 設定檔格式不正確 - + Fatal failure 無法挽回的失敗 - + Unknown error 未知的錯誤 @@ -1965,47 +1986,86 @@ The installer will quit and all changes will be lost. 該如何稱呼您? - + What name do you want to use to log in? 您想使用何種登入名稱? - + Choose a password to keep your account safe. 輸入密碼以確保帳號的安全性。 - + + <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> <small>輸入同一個密碼兩次,以檢查輸入錯誤。一個好的密碼包含了字母、數字及標點符號的組合、至少八個字母長,且按一固定週期更換。</small> - + What is the name of this computer? 這部電腦的名字是? - + + Your Full Name + 您的全名 + + + + login + 登入 + + + <small>This name will be used if you make the computer visible to others on a network.</small> <small>若您將此電腦設定為讓網路上的其他電腦可見時將會使用此名稱。</small> - + + Computer Name + 電腦名稱 + + + + + Password + 密碼 + + + + + Repeat Password + 確認密碼 + + + + When this box is checked, password-strength checking is done and you will not be able to use a weak password. + 當此勾選框被勾選,密碼強度檢查即完成,您也無法再使用弱密碼。 + + + + Require strong passwords. + 需要強密碼。 + + + Log in automatically without asking for the password. 不詢問密碼自動登入。 - + Use the same password for the administrator account. 為管理員帳號使用同樣的密碼。 - + Choose a password for the administrator account. 替系統管理員帳號設定一組密碼 - + + <small>Enter the same password twice, so that it can be checked for typing errors.</small> <small>輸入同樣的密碼兩次,這樣可以檢查輸入錯誤。</small> @@ -2466,6 +2526,30 @@ Output: No description provided. 未提供描述。 + + + + + + + File not found + 找不到檔案 + + + + Path <pre>%1</pre> must be an absolute path. + 路徑 <pre>%1</pre> 必須為絕對路徑。 + + + + Could not create new random file <pre>%1</pre>. + 無法建立新的隨機檔案 <pre>%1</pre>。 + + + + Could not read random file <pre>%1</pre>. + 無法讀取檔案 <pre>%1</pre>。 + RemoveVolumeGroupJob @@ -2736,29 +2820,29 @@ Output: SetHostNameJob - + Set hostname %1 設定主機名 %1 - + Set hostname <strong>%1</strong>. 設定主機名稱 <strong>%1</strong>。 - + Setting hostname %1. 正在設定主機名稱 %1。 - - + + Internal Error 內部錯誤 - - + + Cannot write hostname to target system 無法寫入主機名稱到目標系統 @@ -2899,22 +2983,22 @@ Output: 根掛載點為 %1 - + Cannot disable root account. 無法停用 root 帳號。 - + passwd terminated with error code %1. passwd 以錯誤代碼 %1 終止。 - + Cannot set password for user %1. 無法為使用者 %1 設定密碼。 - + usermod terminated with error code %1. usermod 以錯誤代碼 %1 終止。 @@ -3101,43 +3185,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>如果將會有多於一人使用這臺電腦,您可以在安裝後設定多個帳號。</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>如果將會有多於一人使用這臺電腦,您可以在安裝後設定多個帳號。</small> - + Your username is too long. 您的使用者名稱太長了。 - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - 您的使用者名稱含有無效的字元。只能使用小寫字母及數字。 + + Your username must start with a lowercase letter or underscore. + 您的使用者名稱必須以小寫字母或底線開頭。 - + + Only lowercase letters, numbers, underscore and hyphen are allowed. + 僅允許小寫字母、數字、底線與連接號。 + + + + Only letters, numbers, underscore and hyphen are allowed. + 僅允許字母、數字、底線與連接號。 + + + Your hostname is too short. 您的主機名稱太短了。 - + Your hostname is too long. 您的主機名稱太長了。 - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - 您的主機名稱含有無效的字元。只能使用字母、數字及破折號。 - - - - + Your passwords do not match! 密碼不符! @@ -3145,7 +3233,7 @@ Output: UsersViewStep - + Users 使用者 From 17dcc38f3cfc06af89ab65df1d6626e312ce4f4f Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 8 Nov 2019 13:50:21 +0100 Subject: [PATCH 495/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 52 +++++++-------- lang/python/ar/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ast/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/be/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/bg/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ca/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ca@valencia/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/cs_CZ/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/da/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/de/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/el/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/en_GB/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/eo/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/es/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/es_MX/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/es_PR/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/et/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/eu/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/fa/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/fi_FI/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/fr/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/fr_CH/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/gl/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/gu/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/he/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/hi/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/hr/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/hu/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/id/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/is/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/it_IT/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ja/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/kk/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/kn/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ko/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/lo/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/lt/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/mk/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ml/LC_MESSAGES/python.mo | Bin 577 -> 765 bytes lang/python/ml/LC_MESSAGES/python.po | 59 +++++++++--------- lang/python/mr/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/nb/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ne_NP/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/nl/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/pl/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/pt_BR/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/pt_PT/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ro/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ru/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/sk/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/sl/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/sq/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/sr/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/sr@latin/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/sv/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/th/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/tr_TR/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/uk/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/ur/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/uz/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/zh_CN/LC_MESSAGES/python.po | 52 +++++++-------- lang/python/zh_TW/LC_MESSAGES/python.po | 52 +++++++-------- 62 files changed, 1590 insertions(+), 1589 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 7d86bd583..063ef58af 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -93,15 +93,15 @@ msgstr "Unmount file systems." msgid "Filling up filesystems." msgstr "Filling up filesystems." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync failed with error code {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Failed to unpack image \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -109,84 +109,84 @@ msgstr "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "No mount point for root partition" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Bad mount point for root partition" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint is \"{}\", which does not exist, doing nothing" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Bad unsquash configuration" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "The filesystem for \"{}\" ({}) is not supported" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "The source filesystem \"{}\" does not exist" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "The destination \"{}\" in the target system is not a directory" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Cannot write KDM configuration file" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Cannot write LXDM configuration file" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Cannot write LightDM configuration file" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Cannot configure LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "No LightDM greeter installed." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Cannot write SLIM configuration file" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM config file {!s} does not exist" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "No display managers selected for the displaymanager module." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -194,7 +194,7 @@ msgstr "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Display manager configuration was incomplete" diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index 59f013aab..cebb7e4f2 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" @@ -94,104 +94,104 @@ msgstr "الغاء تحميل ملف النظام" msgid "Filling up filesystems." msgstr "جاري ملئ أنظمة الملفات" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "فشل rsync مع رمز الخطأ {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "فشلت كتابة ملف ضبط KDM." -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "ملف ضبط KDM {!s} غير موجود" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "فشلت كتابة ملف ضبط LXDM." -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "ملف ضبط LXDM {!s} غير موجود" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "فشلت كتابة ملف ضبط LightDM." -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "ملف ضبط LightDM {!s} غير موجود" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "فشل ضبط LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "لم يتم تصيب LightDM" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "فشلت كتابة ملف ضبط SLIM." -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "ملف ضبط SLIM {!s} غير موجود" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "إعداد مدير العرض لم يكتمل" diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index 7c01ff71e..c7dbf218e 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" @@ -93,15 +93,15 @@ msgstr "Desmontaxe de sistemes de ficheros." msgid "Filling up filesystems." msgstr "Rellenando los sistemes de ficheros." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync falló col códigu de fallu {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Fallu al desempaquetar la imaxe «{}»" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -109,85 +109,85 @@ msgstr "" "Fallu al alcontrar unsquashfs, asegúrate que tienes instaláu'l paquete " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nun hai un puntu de montaxe pa la partición del raigañu" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage nun contién una clave «rootMountPoint». Nun va facese nada" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "El puntu de montaxe ye incorreutu pa la partición del raigañu" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint ye «{}» que nun esiste. Nun va facese nada" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "La configuración d'espardimientu ye incorreuta" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "El sistema de ficheros pa «{}» ({}) nun ta sofitáu" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "El sistema de ficheros d'orixe «{}» nun esiste" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "El destín «{}» nel sistema de destín nun ye un direutoriu" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de KDM {!s}" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de LXDM {!s}" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de LightDM {!s}" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Nun pue configurase LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Nun s'instaló dengún saludador de LightDM." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Nun pue escribise'l ficheru de configuración de SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Nun esiste'l ficheru de configuración de SLIM {!s}" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Nun s'esbillaron xestores de pantalles pal módulu displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -195,7 +195,7 @@ msgstr "" "La llista displaymanagers ta balera o nun se definió en bothglobalstorage y " "displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "La configuración del xestor de pantalles nun se completó" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index c03a83be0..e159aea05 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Zmicer Turok , 2019\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" @@ -95,15 +95,15 @@ msgstr "Адмантаваць файлавыя сістэмы." msgid "Filling up filesystems." msgstr "Запаўненне файлавых сістэм." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "памылка rsync з кодам {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Не атрымалася распакаваць вобраз \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,84 +111,84 @@ msgstr "" "Не атрымалася знайсці unsquashfs, праверце ці ўсталяваны ў вас пакунак " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Для каранёвага раздзела няма пункта мантавання" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage не змяшчае ключа \"rootMountPoint\", нічога не выконваецца" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Хібны пункт мантавання для каранёвага раздзела" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint \"{}\" не існуе, нічога не выконваецца" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Хібная канфігурацыя unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Файлавая сістэма для \"{}\" ({}) не падтрымліваецца" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Зыходная файлавая сістэма \"{}\" не існуе" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Пункт прызначэння \"{}\" у мэтавай сістэме не з’яўляецца каталогам" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Файл канфігурацыі KDM {!s} не існуе" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Файл канфігурацыі LXDM {!s} не існуе" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Файл канфігурацыі LightDM {!s} не існуе" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Немагчыма наладзіць LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "LightDM greeter не ўсталяваны." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Немагчыма запісаць файл канфігурацыі SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Файл канфігурацыі SLIM {!s} не існуе" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "У модулі дысплейных кіраўнікоў нічога не абрана." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -196,7 +196,7 @@ msgstr "" "Спіс дысплейных кіраўнікоў пусты альбо не вызначаны ў bothglobalstorage і " "displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Наладка дысплейнага кіраўніка не завершаная." diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index dfe94c36b..b92e7f6af 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" @@ -93,104 +93,104 @@ msgstr "Демонтирай файловите системи." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index 33713b0c6..9f9597adb 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" @@ -97,15 +97,15 @@ msgstr "Desmunta els sistemes de fitxers." msgid "Filling up filesystems." msgstr "S'omplen els sistemes de fitxers." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "Ha fallat rsync amb el codi d'error {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Ha fallat desempaquetar la imatge \"{}\"." -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,85 +113,85 @@ msgstr "" "Ha fallat trobar unsquashfs, assegureu-vos que tingueu el paquet squashfs-" "tools instal·lat." -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "No hi ha punt de muntatge per a la partició d'arrel." -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage no conté cap clau \"rootMountPoint\". No es fa res." -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Punt de muntatge incorrecte per a la partició d'arrel" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "El punt de muntatge d'arrel és \"{}\", que no existeix. No es fa res." -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Configuració incorrecta d'unsquash." -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "El sistema de fitxers per a \"{}\" ({}) no s'admet." -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "El sistema de fitxers font \"{}\" no existeix." -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "La destinació \"{}\" al sistema de destinació no és un directori." -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "No es pot escriure el fitxer de configuració del KDM." -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "El fitxer de configuració del KDM {!s} no existeix." -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "No es pot escriure el fitxer de configuració de l'LXDM." -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "El fitxer de configuració de l'LXDM {!s} no existeix." -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "No es pot escriure el fitxer de configuració del LightDM." -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "El fitxer de configuració del LightDM {!s} no existeix." -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "No es pot configurar el LightDM." -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "No hi ha benvinguda instal·lada per al LightDM." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "No es pot escriure el fitxer de configuració de l'SLIM." -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "El fitxer de configuració de l'SLIM {!s} no existeix." -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "No hi ha cap gestor de pantalla seleccionat per al mòdul displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -199,7 +199,7 @@ msgstr "" "La llista de gestors de pantalla és buida o no definida a bothglobalstorage " "i displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "La configuració del gestor de pantalla no era completa." diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index bb753106a..99c3ef8f4 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index a70de8855..6e6b3b423 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" @@ -97,15 +97,15 @@ msgstr "Odpojit souborové systémy." msgid "Filling up filesystems." msgstr "Naplňování souborových systémů." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync se nezdařilo s chybových kódem {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Nepodařilo se rozbalit obraz „{}“" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "Nepodařilo se nalézt unsquashfs – ověřte, že máte nainstalovaný balíček " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Žádný přípojný bot pro kořenový oddíl" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage neobsahuje klíč „rootMountPoint“ – nic se nebude dělat" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Chybný přípojný bod pro kořenový oddíl" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "kořenovýPřípojnýBod je „{}“, který neexistuje – nic se nebude dělat" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Chybná nastavení unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Souborový systém „{}“ ({}) není podporován" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Zdrojový souborový systém „{}“ neexistuje" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Cíl „{}“ v cílovém systému není složka" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Soubor s nastaveními pro KDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Soubor s nastaveními pro LXDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Soubor s nastaveními pro LightDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Nedaří se nastavit LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Není nainstalovaný žádný LightDM přivítač" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Nedaří se zapsat soubor s nastaveními pro SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Soubor s nastaveními pro SLIM {!s} neexistuje" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Pro modul správce sezení nejsou vybrány žádní správci sezení." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Seznam správců displejů je prázdný nebo není definován v bothglobalstorage a" " displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Nastavení správce displeje nebylo úplné" diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index 3d4ec8e3f..17726e7f7 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: scootergrisen, 2019\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" @@ -97,15 +97,15 @@ msgstr "Afmonter filsystemer." msgid "Filling up filesystems." msgstr "Udfylder filsystemer." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync mislykkedes med fejlkoden {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Kunne ikke udpakke aftrykket \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,85 +113,85 @@ msgstr "" "Kunne ikke finde unsquashfs, sørg for at squashfs-tools-pakken er " "installeret" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Intet monteringspunkt til rodpartition" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage indeholder ikke en \"rootMountPoint\"-nøgle, gør intet" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Dårligt monteringspunkt til rodpartition" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint er \"{}\", hvilket ikke findes, gør intet" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Dårlig unsquash-konfiguration" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Filsystemet til \"{}\" ({}) understøttes ikke" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Kildefilsystemet \"{}\" findes ikke" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Destinationen \"{}\" i målsystemet er ikke en mappe" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Kan ikke skrive KDM-konfigurationsfil" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Kan ikke skrive LXDM-konfigurationsfil" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Kan ikke skrive LightDM-konfigurationsfil" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Kan ikke konfigurerer LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Der er ikke installeret nogen LightDM greeter." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Kan ikke skrive SLIM-konfigurationsfil" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM-konfigurationsfil {!s} findes ikke" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Der er ikke valgt nogen displayhåndteringer til displayhåndtering-modulet." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -199,7 +199,7 @@ msgstr "" "Listen over displayhåndteringer er tom eller udefineret i bothglobalstorage " "og displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Displayhåndtering-konfiguration er ikke komplet" diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index e20f0ff15..80f66cd03 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" @@ -100,15 +100,15 @@ msgstr "Dateisysteme aushängen." msgid "Filling up filesystems." msgstr "Auffüllen von Dateisystemen." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync fehlgeschlagen mit Fehlercode {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Entpacken des Image \"{}\" fehlgeschlagen" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -116,84 +116,84 @@ msgstr "" "Konnte kein unsquashfs finden, stellen Sie sicher, dass Sie das squashfs-" "tools Paket installiert haben" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Kein Mount-Punkt für die Root-Partition" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage enthält keinen \"rootMountPoint\"-Schlüssel, tue nichts" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Schlechter Mount-Punkt für die Root-Partition" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint ist \"{}\", welcher nicht existiert, tue nichts" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Schlechte unsquash Konfiguration" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Das Dateisystem für \"{}\" ({}) wird nicht unterstützt" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Das Quelldateisystem \"{}\" existiert nicht" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Das Ziel \"{}\" im Zielsystem ist kein Verzeichnis" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Schreiben der KDM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Schreiben der LXDM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Schreiben der LightDM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Konfiguration von LightDM ist nicht möglich" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Kein LightDM Begrüßer installiert." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Schreiben der SLIM Konfigurationsdatei nicht möglich" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM Konfigurationsdatei {!s} existiert nicht" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Keine Displaymanager für das Displaymanagermodul ausgewählt." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -201,7 +201,7 @@ msgstr "" "Die Displaymanagerliste ist leer oder nicht in bothglobalstorage und " "displaymanager.conf definiert." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Displaymanagerkonfiguration war unvollständig." diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index adab77eed..ce517e5e2 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index f52938e76..2e8638e62 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" @@ -93,104 +93,104 @@ msgstr "Unmount file systems." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index 2d05ac417..990836f33 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" @@ -93,104 +93,104 @@ msgstr "Demeti dosieraj sistemoj." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 49e84f1e5..34d3d6dae 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adolfo Jayme-Barrientos, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" @@ -96,15 +96,15 @@ msgstr "Desmontar sistemas de archivos." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "No se pudo desempaquetar la imagen «{}»" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -112,92 +112,92 @@ msgstr "" "No se encontró unsquashfs; cerciórese de que tenga instalado el paquete " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "No se puede escribir el archivo de configuración KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "El archivo de configuración {!s} de KDM no existe" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "No se puede escribir el archivo de configuración LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "El archivo de configuracion {!s} de LXDM no existe" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "No se puede escribir el archivo de configuración de LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "El archivo de configuración {!s} de LightDM no existe" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "No se puede configurar LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "No se puede escribir el archivo de configuración de SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "El archivo de configuración {!s} de SLIM no existe" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "No se ha seleccionado ningún gestor de pantalla para el modulo " "displaymanager" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "La configuración del gestor de pantalla estaba incompleta" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index cc399fabe..67ea83131 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" @@ -94,104 +94,104 @@ msgstr "Desmontar sistemas de archivo." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "No se puede escribir el archivo de configuración de KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "El archivo de configuración de KDM {!s} no existe" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "No se puede escribir el archivo de configuración de LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "El archivo de configuración de LXDM {!s} no existe" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "No se puede escribir el archivo de configuración de LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "El archivo de configuración de LightDM {!s} no existe" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "No se puede configurar LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "No se puede escribir el archivo de configuración de SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index e5234de36..13bfb9d6b 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index a3da4615d..9dced42ff 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Madis Otenurm, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" @@ -93,104 +93,104 @@ msgstr "Haagi failisüsteemid lahti." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LXDM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "LightDM seadistamine ebaõnnestus" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIM-konfiguratsioonifaili ei saa kirjutada" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM-konfiguratsioonifail {!s} puudub" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index abf649af8..9cd3ae62f 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" @@ -93,99 +93,99 @@ msgstr "Fitxategi sistemak desmuntatu." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Ezin da KDM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Ezin da LXDM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Ezin da LightDM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Ezin da LightDM konfiguratu" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Ez dago LightDM harrera instalatua." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Ezin da SLIM konfigurazio fitxategia idatzi" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM konfigurazio fitxategia {!s} ez da existitzen" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Ez da pantaila kudeatzailerik aukeratu pantaila-kudeatzaile modulurako." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -193,7 +193,7 @@ msgstr "" "Pantaila-kudeatzaile-zerrenda hutsik dago edo definitzeke bothglobalstorage " "eta displaymanager.conf" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Pantaila kudeatzaile konfigurazioa osotu gabe" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index d1b3956f5..016338938 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index e6aafae5f..ba09fc580 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kimmo Kujansuu , 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" @@ -95,15 +95,15 @@ msgstr "Irrota tiedostojärjestelmät käytöstä." msgid "Filling up filesystems." msgstr "Paikannetaan tiedostojärjestelmiä." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync epäonnistui virhekoodilla {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Kuvan purkaminen epäonnistui \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,84 +111,84 @@ msgstr "" "Ei löytynyt unsquashfs, varmista, että sinulla on squashfs-tools paketti " "asennettuna" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Ei liitoskohtaa juuri root-osiolle" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage ei sisällä \"rootMountPoint\" avainta, eikä tee mitään" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Huono kiinnityspiste root-osioon" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint on \"{}\", jota ei ole, eikä tee mitään" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Huono epäpuhdas kokoonpano" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Tiedostojärjestelmää \"{}\" ({}) ei tueta" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Lähde tiedostojärjestelmää \"{}\" ei ole olemassa" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Kohdejärjestelmän \"{}\" kohde ei ole hakemisto" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LXDM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "LightDM määritysvirhe" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "LightDM ei ole asennettu." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIM-määritystiedostoa ei voi kirjoittaa" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM-määritystiedostoa {!s} ei ole olemassa" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Displaymanager-moduulia varten ei ole valittu näyttönhallintaa." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -196,7 +196,7 @@ msgstr "" "Displaymanager-luettelo on tyhjä tai määrittelemätön, sekä globalstorage, " "että displaymanager.conf tiedostossa." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Näytönhallinnan kokoonpano oli puutteellinen" diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 497bfca1b..cb2e50346 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Arnaud Ferraris , 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" @@ -106,15 +106,15 @@ msgstr "Démonter les systèmes de fichiers" msgid "Filling up filesystems." msgstr "Remplir les systèmes de fichiers." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync a échoué avec le code d'erreur {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Impossible de décompresser l'image \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -122,86 +122,86 @@ msgstr "" "Échec de la recherche de unsquashfs, assurez-vous que le paquetage squashfs-" "tools est installé." -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Pas de point de montage pour la partition racine" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage ne contient pas de clé \"rootMountPoint\", ne fait rien" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Mauvais point de montage pour la partition racine" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint est \"{}\", ce qui n'existe pas, ne fait rien" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Mauvaise configuration unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Le système de fichiers pour \"{}\" ({}) n'est pas supporté" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Le système de fichiers source \"{}\" n'existe pas" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "La destination \"{}\" dans le système cible n'est pas un répertoire" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Impossible d'écrire le fichier de configuration KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Le fichier de configuration KDM n'existe pas" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Impossible d'écrire le fichier de configuration LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Le fichier de configuration LXDM n'existe pas" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Impossible d'écrire le fichier de configuration LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Le fichier de configuration LightDM {!S} n'existe pas" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Impossible de configurer LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Aucun hôte LightDM est installé" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Impossible d'écrire le fichier de configuration SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Le fichier de configuration SLIM {!S} n'existe pas" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Aucun gestionnaire d'affichage n'a été sélectionné pour le module de " "gestionnaire d'affichage" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -209,7 +209,7 @@ msgstr "" "La liste des gestionnaires d'affichage est vide ou indéfinie dans " "bothglobalstorage et displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "La configuration du gestionnaire d'affichage était incomplète" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index f4d6cbd69..e54a3e0af 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 8229fd575..d3bfda1f1 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" @@ -93,99 +93,99 @@ msgstr "Desmontar sistemas de ficheiros." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "O ficheiro de configuración de KDM {!s} non existe" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "O ficheiro de configuración de LXDM {!s} non existe" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "O ficheiro de configuración de LightDM {!s} non existe" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Non é posíbel configurar LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Non se instalou o saudador de LightDM." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Non é posíbel escribir o ficheiro de configuración de SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "O ficheiro de configuración de SLIM {!s} non existe" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Non hai xestores de pantalla seleccionados para o módulo displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -193,7 +193,7 @@ msgstr "" "A lista de xestores de pantalla está baleira ou sen definir en " "bothglobalstorage e displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "A configuración do xestor de pantalla foi incompleta" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index bb1fcb597..29adc9aa3 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 4364afd88..43fa460f4 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" @@ -97,98 +97,98 @@ msgstr "ניתוק עיגון מערכות קבצים." msgid "Filling up filesystems." msgstr "מערכות הקבצים מתמלאות." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync נכשל עם קוד השגיאה {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "פריסת התמונה „{}” נכשלה" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "איתור unsquashfs לא צלח, נא לוודא שהחבילה squashfs-tools מותקנת" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "אין נקודת עגינה למחיצת העל" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "ב־globalstorage אין את המפתח „rootMountPoint”, לא תתבצע אף פעולה" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "נקודת העגינה של מחיצת השורה שגויה" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint מוגדרת בתור „{}”, שאינו קיים, לא תתבצע אף פעולה" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "תצורת unsquash שגויה" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "מערכת הקבצים עבור „{}” ‏({}) אינה נתמכת" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "מערכת הקבצים במקור „{}” אינה קיימת" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "היעד „{}” במערכת הקבצים המיועדת אינו תיקייה" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "לא ניתן לכתוב את קובץ התצורה של KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "קובץ התצורה של KDM ‏{!s} אינו קיים" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "לא ניתן לכתוב את קובץ התצורה של LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "קובץ התצורה של LXDM ‏{!s} אינו קיים" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "לא ניתן לכתוב את קובץ התצורה של LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "קובץ התצורה של LightDM ‏{!s} אינו קיים" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "לא ניתן להגדיר את LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "לא מותקן מקבל פנים מסוג LightDM." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "לא ניתן לכתוב קובץ תצורה של SLIM." -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "קובץ התצורה {!s} של SLIM אינו קיים" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "לא נבחרו מנהלי תצוגה למודול displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -196,7 +196,7 @@ msgstr "" "הרשימה של מנהלי התצוגה ריקה או שאינה מוגדרת תחת bothglobalstorage " "ו־displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "תצורת מנהל התצוגה אינה שלמה" diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index ac83665e5..f76c22bdd 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Panwar108 , 2019\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" @@ -95,99 +95,99 @@ msgstr "फ़ाइल सिस्टम माउंट से हटाना msgid "Filling up filesystems." msgstr "फाइल सिस्टम भरना।" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync त्रुटि कोड {} के साथ विफल।" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "इमेज फ़ाइल \"{}\" को खोलने में विफल" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" "unsqaushfs खोजने में विफल, सुनिश्चित करें कि squashfs-tools पैकेज इंस्टॉल है" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "रुट विभाजन हेतु कोई माउंट पॉइंट नहीं है" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage में \"rootMountPoint\" कुंजी नहीं है, कुछ नहीं किया जाएगा" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "रुट विभाजन हेतु ख़राब माउंट पॉइंट" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "रुट माउंट पॉइंट \"{}\" है, जो कि मौजूद नहीं है, कुछ नहीं किया जाएगा" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "ख़राब unsquash विन्यास सेटिंग्स" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({}) हेतु फ़ाइल सिस्टम समर्थित नहीं है" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "\"{}\" स्रोत फ़ाइल सिस्टम मौजूद नहीं है" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "लक्षित सिस्टम में \"{}\" स्थान कोई डायरेक्टरी नहीं है" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LXDM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "LightDM को विन्यस्त नहीं किया जा सकता" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "कोई LightDM लॉगिन स्क्रीन इंस्टॉल नहीं है।" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIM विन्यास फ़ाइल राइट नहीं की जा सकती" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM विन्यास फ़ाइल {!s} मौजूद नहीं है" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "चयनित डिस्प्ले प्रबंधक मॉड्यूल हेतु कोई डिस्प्ले प्रबंधक नहीं मिला।" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -195,7 +195,7 @@ msgstr "" "bothglobalstorage एवं displaymanager.conf में डिस्प्ले प्रबंधक सूची रिक्त या" " अपरिभाषित है।" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "डिस्प्ले प्रबंधक विन्यास अधूरा था" diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index 76624f5ac..e54e17fa2 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" @@ -97,15 +97,15 @@ msgstr "Odmontiraj datotečne sustave." msgid "Filling up filesystems." msgstr "Popunjavanje datotečnih sustava." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync nije uspio s kodom pogreške {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Otpakiravnje slike nije uspjelo \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "Neuspješno pronalaženje unsquashfs, provjerite imate li instaliran paket " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nema točke montiranja za root particiju" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage ne sadrži ključ \"rootMountPoint\", ne radi ništa" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Neispravna točka montiranja za root particiju" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint je \"{}\", što ne postoji, ne radi ništa" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Neispravna unsquash konfiguracija" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Datotečni sustav za \"{}\" ({}) nije podržan" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Izvorni datotečni sustav \"{}\" ne postoji" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Odredište \"{}\" u ciljnom sustavu nije direktorij" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Ne mogu zapisati KDM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Ne mogu zapisati LXDM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Ne moku zapisati LightDM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Ne mogu konfigurirati LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Nije instaliran LightDM pozdravnik." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Ne mogu zapisati SLIM konfiguracijsku datoteku" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM konfiguracijska datoteka {!s} ne postoji" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Nisu odabrani upravitelji zaslona za modul displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Popis upravitelja zaslona je prazan ili nedefiniran u bothglobalstorage i " "displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Konfiguracija upravitelja zaslona nije bila potpuna" diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 6982c8421..1b9b0afdb 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lajos Pasztor , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" @@ -100,15 +100,15 @@ msgstr "Fájlrendszerek leválasztása." msgid "Filling up filesystems." msgstr "Fájlrendszerek betöltése." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "az rsync elhalt a(z) {} hibakóddal" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "\"{}\" kép kicsomagolása nem sikerült" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -116,85 +116,85 @@ msgstr "" "unsquashfs nem található, győződj meg róla a squashfs-tools csomag telepítve" " van." -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nincs betöltési pont a root partíciónál" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage nem tartalmaz \"rootMountPoint\" kulcsot, semmi nem történik" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Rossz betöltési pont a root partíciónál" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint is \"{}\", ami nem létezik, semmi nem történik" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Rossz unsquash konfiguráció" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "A(z) ({}) fájlrendszer nem támogatott a következőhöz: \"{}\"" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "A forrás fájlrendszer \"{}\" nem létezik" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Az elérés \"{}\" nem létező könyvtár a cél rendszerben" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "A KDM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "A(z) {!s} KDM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Az LXDM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "A(z) {!s} LXDM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "A LightDM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "A(z) {!s} LightDM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "A LightDM nem állítható be" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Nincs LightDM üdvözlő telepítve." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "A SLIM konfigurációs fájl nem írható" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "A(z) {!s} SLIM konfigurációs fájl nem létezik" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Nincs kijelzőkezelő kiválasztva a kijelzőkezelő modulhoz." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -202,7 +202,7 @@ msgstr "" "A kijelzőkezelők listája üres vagy nincs megadva a bothglobalstorage-ben és" " a displaymanager.conf fájlban." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "A kijelzőkezelő konfigurációja hiányos volt" diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index 79e7a798b..0aeecb6b9 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" @@ -95,98 +95,98 @@ msgstr "Lepaskan sistem berkas." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Gak bisa menulis file konfigurasi KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "File {!s} config KDM belum ada" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Gak bisa menulis file konfigurasi LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "File {!s} config LXDM enggak ada" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Gak bisa menulis file konfigurasi LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "File {!s} config LightDM belum ada" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Gak bisa mengkonfigurasi LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Tiada LightDM greeter yang terinstal." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Gak bisa menulis file konfigurasi SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "File {!s} config SLIM belum ada" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Tiada display manager yang dipilih untuk modul displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -194,7 +194,7 @@ msgstr "" "Daftar displaymanager telah kosong atau takdidefinisikan dalam " "bothglobalstorage dan displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Konfigurasi display manager belum rampung" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index d0b53f304..08c970938 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" @@ -93,104 +93,104 @@ msgstr "Aftengja skráarkerfi." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index c4ed3e929..7a8f08231 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" @@ -95,15 +95,15 @@ msgstr "Smonta i file system." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync fallita con codice d'errore {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Estrazione dell'immagine \"{}\" fallita" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,85 +111,85 @@ msgstr "" "Impossibile trovare unsquashfs, assicurati di aver installato il pacchetto " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nessun punto di montaggio per la partizione di root" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Punto di montaggio per la partizione di root errato" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Configurazione unsquash errata" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Il filesystem per \"{}\" ({}) non è supportato" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Il filesystem sorgente \"{}\" non esiste" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "La destinazione del sistema \"{}\" non è una directory" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Impossibile scrivere il file di configurazione di KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Il file di configurazione di KDM {!s} non esiste" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Impossibile scrivere il file di configurazione di LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Il file di configurazione di LXDM {!s} non esiste" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Impossibile scrivere il file di configurazione di LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Il file di configurazione di LightDM {!s} non esiste" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Impossibile configurare LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Non è stato installato nessun LightDM greeter" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Impossibile scrivere il file di configurazione di SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Il file di configurazione di SLIM {!s} non esiste" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Non è stato selezionato alcun display manager per il modulo displaymanager" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -197,7 +197,7 @@ msgstr "" "La lista displaymanagers è vuota o non definita sia in globalstorage che in " "displaymanager.conf" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "La configurazione del display manager è incompleta" diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index 3debe2325..1fe12205b 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: UTUMI Hirosi , 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" @@ -98,104 +98,104 @@ msgstr "ファイルシステムをアンマウント。" msgid "Filling up filesystems." msgstr "ファイルシステムに書き込んでいます。" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "エラーコード {} によりrsyncを失敗。" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "イメージ \"{}\" の展開に失敗" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "unsquashfs が見つかりませんでした。 squashfs-toolsがインストールされているか、確認してください。" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "ルートパーティションのためのマウントポイントがありません" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage に \"rootMountPoint\" キーが含まれていません。何もしません。" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "ルートパーティションのためのマウントポイントが不正です" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "ルートマウントポイントは \"{}\" ですが、存在しません。何もできません。" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "unsquash の設定が不正です" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "ファイルシステム \"{}\" ({}) はサポートされていません" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "ソースファイルシステム \"{}\" は存在しません" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "ターゲットシステムの宛先 \"{}\" はディレクトリではありません" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LXDMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "LightDMの設定ができません" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "LightDM greeter がインストールされていません。" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIMの設定ファイルに書き込みができません" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM 設定ファイル {!s} が存在しません" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "ディスプレイマネージャが選択されていません。" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "ディスプレイマネージャのリストが bothglobalstorage 及び displaymanager.conf 内で空白か未定義です。" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "ディスプレイマネージャの設定が不完全です" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index de17788d6..252d6df9f 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index de8c2b0d6..3bbbfe809 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index eb1eb9eb6..57b31a8bd 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 이정희 , 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" @@ -96,105 +96,105 @@ msgstr "파일 시스템 마운트를 해제합니다." msgid "Filling up filesystems." msgstr "파일 시스템을 채우는 중." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync가 {} 오류 코드로 실패했습니다." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "\"{}\" 이미지의 압축을 풀지 못했습니다." -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "unsquashfs를 찾지 못했습니다. squashfs-tools 패키지가 설치되어 있는지 확인하십시오." -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "루트 파티션에 대한 마운트 위치 없음" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage에는 \"rootMountPoint \" 키가 포함되어 있지 않으며 아무 작업도 수행하지 않습니다." -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "루트 파티션에 대한 잘못된 마운트 위치" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint는 \"{}\"이고, 존재하지 않으며, 아무 작업도 수행하지 않습니다." -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "잘못된 unsquash 구성" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({})의 파일시스템은 지원되지 않습니다." -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "\"{}\" 소스 파일시스템은 존재하지 않습니다." -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "대상 시스템의 \"{}\" 목적지가 디렉토리가 아닙니다." -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDM 구성 파일을 쓸 수 없습니다." -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM 구성 파일 {! s}가 없습니다" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LMLDM 구성 파일을 쓸 수 없습니다." -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM 구성 파일 {!s}이 없습니다." -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDM 구성 파일을 쓸 수 없습니다." -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM 구성 파일 {!s}가 없습니다." -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "LightDM을 구성할 수 없습니다." -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "LightDM greeter가 설치되지 않았습니다." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIM 구성 파일을 쓸 수 없음" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM 구성 파일 {!s}가 없음" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "displaymanager 모듈에 대해 선택된 디스플레이 관리자가 없습니다." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" "displaymanagers 목록은 globalstorage 및 displaymanager.conf에서 비어 있거나 정의되지 않습니다." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "디스플레이 관리자 구성이 완료되지 않았습니다." diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index 375880ce8..ec31384d9 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 0f9d64e52..c8874696c 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Mindaugas , 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" @@ -98,15 +98,15 @@ msgstr "Atjungti failų sistemas." msgid "Filling up filesystems." msgstr "Užpildomos failų sistemos." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync patyrė nesėkmę su klaidos kodu {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Nepavyko išpakuoti atvaizdį „{}“" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -114,84 +114,84 @@ msgstr "" "Nepavyko rasti unsquashfs, įsitikinkite, kad esate įdiegę squashfs-tools " "paketą" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nėra prijungimo taško šaknies skaidiniui" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage viduje nėra „rootMountPoint“ rakto, nieko nedaroma" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Blogas šaknies skaidinio prijungimo taškas" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint yra „{}“, kurio nėra, nieko nedaroma" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Bloga unsquash konfigūracija" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "„{}“ ({}) failų sistema yra nepalaikoma" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Šaltinio failų sistemos „{}“ nėra" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Paskirties vieta „{}“, esanti paskirties sistemoje, nėra katalogas" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Nepavyksta įrašyti KDM konfigūracijos failą" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Nepavyksta įrašyti LXDM konfigūracijos failą" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Nepavyksta įrašyti LightDM konfigūracijos failą" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Nepavyksta konfigūruoti LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Neįdiegtas joks LightDM pasisveikinimas." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Nepavyksta įrašyti SLIM konfigūracijos failą" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM konfigūracijos failo {!s} nėra" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Displaymanagers moduliui nėra pasirinkta jokių ekranų tvarkytuvių." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -199,7 +199,7 @@ msgstr "" "Displaymanagers sąrašas yra tuščias arba neapibrėžtas tiek " "bothglobalstorage, tiek ir displaymanager.conf faile." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Ekranų tvarkytuvės konfigūracija yra nepilna" diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index be8b8a0f4..824efe3b4 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LXDM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Не може да се подеси LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Нема инсталирано LightDM поздравувач" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIM конфигурациониот фајл не може да се создаде" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM конфигурациониот фајл {!s} не постои" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Немате избрано дисплеј менаџер за displaymanager модулот." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/ml/LC_MESSAGES/python.mo b/lang/python/ml/LC_MESSAGES/python.mo index e3e22c084f916b83f8032daad599d0a6ce3910b7..58f3dc3e783014f847f7222abe898a379e1fd0af 100644 GIT binary patch delta 338 zcmX|)y-EW?6oqGX^8#umDWAvs2qKDI+s0vm`?yI3qP9HMK~=CJ`!93=wch&rQtC(M!(Ho$Sf@X7U=QKmddR B9E<<} diff --git a/lang/python/ml/LC_MESSAGES/python.po b/lang/python/ml/LC_MESSAGES/python.po index 35597cc7d..89ca8a207 100644 --- a/lang/python/ml/LC_MESSAGES/python.po +++ b/lang/python/ml/LC_MESSAGES/python.po @@ -5,15 +5,16 @@ # # Translators: # Abhijith Sheheer , 2019 +# Balasankar C , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Abhijith Sheheer , 2019\n" +"Last-Translator: Balasankar C , 2019\n" "Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,7 +40,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 "ക്രമീകരണത്തിൽ പിഴവ്" #: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172 @@ -93,104 +94,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" @@ -263,7 +264,7 @@ msgstr "" #: src/modules/machineid/main.py:36 msgid "Generate machine-id." -msgstr "" +msgstr "മെഷീൻ-ഐഡ് നിർമ്മിക്കുക" #: src/modules/packages/main.py:62 #, python-format diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index 2ceeaebd6..79488f4ea 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index 1ba757fdf..1202a2780 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index 2b9e8cd6f..8fcac114a 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index 37fc5dbb7..24210d996 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" @@ -93,106 +93,106 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Geen mount-punt voor de root-partitie" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage bevat geen sleutel \"rootMountPoint\", er wordt niks gedaan" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Onjuist mount-punt voor de root-partitie" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" "rootMountPoint is ingesteld op \"{}\", welke niet bestaat, er wordt niks " "gedaan" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index bb566c211..a1e83a47e 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Piotr Strębski , 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" @@ -95,15 +95,15 @@ msgstr "Odmontuj systemy plików." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync zakończyło działanie kodem błędu {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Błąd rozpakowywania obrazu \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -111,88 +111,88 @@ msgstr "" "Nie można odnaleźć unsquashfs, upewnij się, że masz zainstalowany pakiet " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Brak punktu montowania partycji root" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage nie zawiera klucza \"rootMountPoint\", nic nie zostanie " "zrobione" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Błędny punkt montowania partycji root" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" "Punkt montowania partycji root (rootMountPoint) jest \"{}\", które nie " "istnieje; nic nie zostanie zrobione" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Błędna konfiguracja unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "System plików dla \"{}\" ({}) nie jest obsługiwany" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Źródłowy system plików \"{}\" nie istnieje" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Miejsce docelowe \"{}\" w docelowym systemie nie jest katalogiem" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Nie można zapisać pliku konfiguracji KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Plik konfiguracyjny KDM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Nie można zapisać pliku konfiguracji LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Plik konfiguracji LXDM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Nie można zapisać pliku konfiguracji LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Plik konfiguracji LightDM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Nie można skonfigurować LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Nie zainstalowano ekranu powitalnego LightDM." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Nie można zapisać pliku konfiguracji SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Plik konfiguracji SLIM {!s} nie istnieje" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Brak wybranych menedżerów wyświetlania dla modułu displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -200,7 +200,7 @@ msgstr "" "Lista menedżerów wyświetlania jest pusta lub niezdefiniowana w " "bothglobalstorage i displaymanager.conf" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Konfiguracja menedżera wyświetlania była niekompletna" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 493d4deed..4ecb5e26a 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" @@ -98,15 +98,15 @@ msgstr "Desmontar os sistemas de arquivos." msgid "Filling up filesystems." msgstr "Preenchendo sistemas de arquivos." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "O rsync falhou com o código de erro {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Ocorreu uma falha ao descompactar a imagem \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -114,85 +114,85 @@ msgstr "" "Ocorreu uma falha ao localizar o unsquashfs, certifique-se de que o pacote " "squashfs-tools esteja instalado" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nenhum ponto de montagem para a partição root" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "O globalstorage não contém uma chave \"rootMountPoint\". Nada foi feito." -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Ponto de montagem incorreto para a partição root" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "O rootMountPoint é \"{}\", mas ele não existe. Nada foi feito." -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Configuração incorreta do unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "O sistema de arquivos para \"{}\" ({}) não é suportado" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "O sistema de arquivos de origem \"{}\" não existe" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "A destinação \"{}\" no sistema de destino não é um diretório" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do KDM não existe" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do LXDM não existe" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do LightDM não existe" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Não é possível configurar o LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Não há nenhuma tela de login do LightDM instalada." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Não foi possível gravar o arquivo de configuração do SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "O arquivo de configuração {!s} do SLIM não existe" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Nenhum gerenciador de exibição selecionado para o módulo do displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -200,7 +200,7 @@ msgstr "" "A lista de displaymanagers está vazia ou indefinida no bothglobalstorage e " "no displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "A configuração do gerenciador de exibição está incompleta" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index 655b15d86..1512cd42c 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Hugo Carvalho , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" @@ -99,15 +99,15 @@ msgstr "Desmontar sistemas de ficheiros." msgid "Filling up filesystems." msgstr "A preencher os sistemas de ficheiros." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync falhou com código de erro {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Falha ao descompactar imagem \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -115,85 +115,85 @@ msgstr "" "Falha ao procurar unsquashfs, certifique-se que tem o pacote squashfs-tools " "instalado" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Nenhum ponto de montagem para a partição root" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage não contém um \"rootMountPoint\" chave, nada a fazer" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Ponto de montagem mau para partição root" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint é \"{}\", que não existe, nada a fazer" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Má configuração unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "O sistema de ficheiros \"{}\" ({}) não é suportado" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "O sistema de ficheiros fonte \"{}\" não existe" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "O destino \"{}\" no sistema de destino não é um diretório" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Não é possível gravar o ficheiro de configuração KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "O ficheiro de configuração do KDM {!s} não existe" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Não é possível gravar o ficheiro de configuração LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "O ficheiro de configuração do LXDM {!s} não existe" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Não é possível gravar o ficheiro de configuração LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "O ficheiro de configuração do LightDM {!s} não existe" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Não é possível configurar o LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "Nenhum ecrã de boas-vindas LightDM instalado." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Não é possível gravar o ficheiro de configuração SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "O ficheiro de configuração do SLIM {!s} não existe" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" "Nenhum gestor de exibição selecionado para o módulo de gestor de exibição." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -201,7 +201,7 @@ msgstr "" "A lista de gestores de exibição está vazia ou indefinida no globalstorage e " "no displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "A configuração do gestor de exibição estava incompleta" diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index c9e981428..d4ad039b4 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" @@ -94,104 +94,104 @@ msgstr "Demonteaza sistemul de fisiere" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 8753ae419..de343f959 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 86bbd828a..8c3cda1ec 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Dušan Kazik , 2018\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" @@ -93,104 +93,104 @@ msgstr "Odpojenie súborových systémov." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu KDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu LXDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu LightDM {!s} neexistuje" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Nedá s nakonfigurovať správca LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Nedá sa zapísať konfiguračný súbor správcu SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Konfiguračný súbor správcu SLIM {!s} neexistuje" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Neboli vybraní žiadni správcovia zobrazenia pre modul displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Konfigurácia správcu zobrazenia nebola úplná" diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 14f4e4b04..0a4d6476f 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index 897c282a1..2e2ede3d2 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" @@ -97,15 +97,15 @@ msgstr "Çmontoni sisteme kartelash." msgid "Filling up filesystems." msgstr "Po mbushen sisteme kartelash." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync dështoi me kod gabimi {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Dështoi shpaketimi i figurës \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -113,84 +113,84 @@ msgstr "" "S’u arrit të gjendej unsquashfs, sigurohuni se e keni të instaluar paketën " "squashfs-tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "S’ka pikë montimi për ndarjen rrënjë" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage nuk përmban një vlerë \"rootMountPoint\", s’po bëhet gjë" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Pikë e gabuar montimi për ndarjen rrënjë" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint është \"{}\", që s’ekziston, s’po bëhet gjë" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Formësim i keq i unsquash-it" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Sistemi i kartelave për \"{}\" ({}) nuk mbulohet" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Sistemi i kartelave \"{}\" ({}) s’ekziston" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Destinacioni \"{}\" te sistemi i synuar s’është drejtori" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "S’shkruhet dot kartelë formësimi KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi KDM {!s}" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "S’shkruhet dot kartelë formësimi LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi LXDM {!s}" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "S’shkruhet dot kartelë formësimi LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi LightDM {!s}" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "S’formësohet dot LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "S’ka të instaluar përshëndetës LightDM." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "S’shkruhet dot kartelë formësimi SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "S’ekziston kartelë formësimi SLIM {!s}" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "S’janë përzgjedhur përgjegjës ekrani për modulin displaymanager." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Lista displaymanagers është e zbrazët ose e papërcaktuar si te " "globalstorage, ashtu edhe te displaymanager.conf." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Formësimi i përgjegjësit të ekranit s’qe i plotë" diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 39ba21629..043818228 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" @@ -93,104 +93,104 @@ msgstr "Демонтирање фајл-система." msgid "Filling up filesystems." msgstr "Попуњавање фајл-система." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync неуспешан са кодом грешке {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Неуспело распакивање одраза \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Нема тачке мотирања за root партицију" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 77da46171..c601ae9cc 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 5eafeeeec..40929be1b 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jan-Olof Svensson, 2019\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" @@ -93,104 +93,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index 31a07f9c9..bc4329aae 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 2728cdb3e..3e0055973 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Demiray Muhterem , 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" @@ -97,100 +97,100 @@ msgstr "Dosya sistemlerini ayırın." msgid "Filling up filesystems." msgstr "Dosya sistemi genişletiliyor." -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync {} hata koduyla başarısız oldu." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "\"{}\" kurulum medyası aktarılamadı" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" "Unsquashfs bulunamadı, squashfs-tools paketinin kurulu olduğundan emin olun." -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "kök disk bölümü için bağlama noktası yok" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" "globalstorage bir \"rootMountPoint\" anahtarı içermiyor, hiçbirşey yapılmadı" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Kök disk bölümü için hatalı bağlama noktası" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint \"{}\", mevcut değil, hiçbirşey yapılmadı" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Unsquash yapılandırma sorunlu" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "\"{}\" ({}) Dosya sistemi desteklenmiyor" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "\"{}\" Kaynak dosya sistemi mevcut değil" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Hedef sistemdeki \"{}\" hedefi bir dizin değil" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "KDM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "LXDM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "LightDM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "LightDM yapılandırılamıyor" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "LightDM karşılama yüklü değil." -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "SLIM yapılandırma dosyası yazılamıyor" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM yapılandırma dosyası {!s} mevcut değil" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "Ekran yöneticisi modülü için ekran yöneticisi seçilmedi." -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." @@ -198,7 +198,7 @@ msgstr "" "Görüntüleyiciler listesi, her iki bölgedeki ve displaymanager.conf öğesinde " "boş veya tanımsızdır." -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "Ekran yöneticisi yapılandırma işi tamamlanamadı" diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 55ace460b..549ac1082 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" @@ -98,15 +98,15 @@ msgstr "Відключити файлові системи." msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync зазнав невдачі з кодом помилки {}." -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "Не вдалося розпакувати образ \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" @@ -114,90 +114,90 @@ msgstr "" "Не вдалося знайти unsquashfs, переконайтеся, що встановлено пакет squashfs-" "tools" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "Немає точки монтування для кореневого розділу" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "Помилка точки монтування для кореневого розділу" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "Неправильна конфігурація unsquash" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "Файлова система для \"{}\" ({}) не підтримується" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "Вихідна файлова система \"{}\" не існує" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "Призначення \"{}\" у цільовій системі не є каталогом" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "Неможливо записати файл налаштування KDM" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "Файл налаштування KDM {!s} не існує" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "Неможливо записати файл конфігурації LXDM" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "Файл налаштування LXDM {!s} не існує" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "Неможливо записати файл налаштування LightDM" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "Файл налаштування LightDM {!s} не існує" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "Неможливо налаштувати LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "Неможливо записати файл налаштування SLIM" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "Файл налаштування SLIM {!s} не існує" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 3d4f89d6d..243ff2cf4 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index e2ae26728..01634548b 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" @@ -89,104 +89,104 @@ msgstr "" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index 833848b36..b7c8c8756 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" @@ -95,104 +95,104 @@ msgstr "卸载文件系统。" msgid "Filling up filesystems." msgstr "" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 994c15c8a..8498a5882 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 21:54+0200\n" +"POT-Creation-Date: 2019-11-01 17:38+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 黃柏諺 , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" @@ -95,104 +95,104 @@ msgstr "解除掛載檔案系統。" msgid "Filling up filesystems." msgstr "填滿檔案系統。" -#: src/modules/unpackfs/main.py:160 +#: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." msgstr "rsync 失敗,錯誤碼 {} 。" -#: src/modules/unpackfs/main.py:221 src/modules/unpackfs/main.py:239 +#: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" msgstr "無法解開映像檔 \"{}\"" -#: src/modules/unpackfs/main.py:222 +#: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "找不到 unsquashfs,請確定您已安裝 squashfs-tools 軟體包" -#: src/modules/unpackfs/main.py:321 +#: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" msgstr "沒有 root 分割區的掛載點" -#: src/modules/unpackfs/main.py:322 +#: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" msgstr "globalstorage 不包含 \"rootMountPoint\" 鍵,不做任何事" -#: src/modules/unpackfs/main.py:327 +#: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" msgstr "root 分割區掛載點錯誤" -#: src/modules/unpackfs/main.py:328 +#: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" msgstr "rootMountPoint 為 \"{}\",其不存在,不做任何事" -#: src/modules/unpackfs/main.py:341 src/modules/unpackfs/main.py:348 -#: src/modules/unpackfs/main.py:353 +#: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 +#: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" msgstr "錯誤的 unsquash 設定" -#: src/modules/unpackfs/main.py:342 +#: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" msgstr "不支援 \"{}\" ({}) 的檔案系統" -#: src/modules/unpackfs/main.py:349 +#: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" msgstr "來源檔案系統 \"{}\" 不存在" -#: src/modules/unpackfs/main.py:354 +#: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" msgstr "目標系統中的目的地 \"{}\" 不是目錄" -#: src/modules/displaymanager/main.py:401 +#: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" msgstr "無法寫入 KDM 設定檔" -#: src/modules/displaymanager/main.py:402 +#: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" msgstr "KDM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:463 +#: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" msgstr "無法寫入 LXDM 設定檔" -#: src/modules/displaymanager/main.py:464 +#: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" msgstr "LXDM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:547 +#: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" msgstr "無法寫入 LightDM 設定檔" -#: src/modules/displaymanager/main.py:548 +#: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" msgstr "LightDM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:622 +#: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" msgstr "無法設定 LightDM" -#: src/modules/displaymanager/main.py:623 +#: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." msgstr "未安裝 LightDM greeter。" -#: src/modules/displaymanager/main.py:654 +#: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" msgstr "無法寫入 SLIM 設定檔" -#: src/modules/displaymanager/main.py:655 +#: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" msgstr "SLIM 設定檔 {!s} 不存在" -#: src/modules/displaymanager/main.py:770 +#: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." msgstr "未在顯示管理器模組中選取顯示管理器。" -#: src/modules/displaymanager/main.py:771 +#: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "顯示管理器清單為空或在全域儲存與 displaymanager.conf 中皆未定義。" -#: src/modules/displaymanager/main.py:851 +#: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" msgstr "顯示管理器設定不完整" From ee85f6bfa79398af88b011acdef62c7c3fbb12bc Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 10 Nov 2019 13:21:59 -0500 Subject: [PATCH 496/626] replace hard-coded bg color of requirements failure notice with relative tint --- src/modules/welcome/checker/ResultsListWidget.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/welcome/checker/ResultsListWidget.cpp b/src/modules/welcome/checker/ResultsListWidget.cpp index 9c3e3f0cd..35a3cd957 100644 --- a/src/modules/welcome/checker/ResultsListWidget.cpp +++ b/src/modules/welcome/checker/ResultsListWidget.cpp @@ -71,11 +71,14 @@ ResultsListWidget::init( const Calamares::RequirementsList& checkEntries ) allChecked = false; if ( entry.mandatory ) requirementsSatisfied = false; + ciw->setAutoFillBackground( true ); QPalette pal( ciw->palette() ); - pal.setColor( QPalette::Background, Qt::white ); + QColor bgColor = pal.window().color().value(); + int bgHue = ( entry.satisfied ) ? bgColor.hue() : ( entry.mandatory ) ? 0 : 60; + bgColor.setHsv( bgHue, 64, bgColor.value() ); + pal.setColor( QPalette::Window, bgColor ); ciw->setPalette( pal ); - } } @@ -196,7 +199,10 @@ ResultsListWidget::showDetailsDialog( const Calamares::RequirementsList& checkEn ciw->setAutoFillBackground( true ); QPalette pal( ciw->palette() ); - pal.setColor( QPalette::Background, Qt::white ); + QColor bgColor = pal.window().color().value(); + int bgHue = ( entry.satisfied ) ? bgColor.hue() : ( entry.mandatory ) ? 0 : 60; + bgColor.setHsv( bgHue, 64, bgColor.value() ); + pal.setColor( QPalette::Window, bgColor ); ciw->setPalette( pal ); } From 2bb338b5f6ac65151701c0c97dd7639480963fa9 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 10 Nov 2019 15:56:43 -0500 Subject: [PATCH 497/626] fix typos in src/modules/packagechooser/packagechooser.conf --- src/modules/packagechooser/packagechooser.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index b82a52d3f..881270d35 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -24,7 +24,7 @@ mode: required # The following translated keys are used: # - *step*, used in the overall progress view (left-hand pane) # -# Each key kan have a [locale] added to it, which is used as +# Each key can have a [locale] added to it, which is used as # the translated string for that locale. For the strings # associated with the "no-selection" item, see *items*, below # with the explicit id "". @@ -42,7 +42,7 @@ labels: # as a source for the data. # # For data provided by the list: the item has an id, which is used in -# setting the value of *packagechooser_*). The following fields +# setting the value of *packagechooser_*. The following fields # are mandatory: # # - *id* ID for the product. The ID "" is special, and is used for From cde210e61c65bb2c8f9b4ad8da141236737609b2 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 10 Nov 2019 15:56:49 -0500 Subject: [PATCH 498/626] formatting in src/modules/packagechooser/packagechooser.conf --- .../packagechooser/packagechooser.conf | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index 881270d35..32a0c7920 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -45,19 +45,21 @@ labels: # setting the value of *packagechooser_*. The following fields # are mandatory: # -# - *id* ID for the product. The ID "" is special, and is used for -# "no package selected". Only include this if the mode allows -# selecting none. -# - *package* Package name for the product. While mandatory, this is -# not actually used anywhere. -# - *name* Human-readable name of the product. To provide translations, -# add a *[lang]* decoration as part of the key name, e.g. `name[nl]` -# for Dutch. The list of usable languages can be found in -# `CMakeLists.txt` or as part of the debug output of Calamares. -# - *description* Human-readable description. These can be translated -# as well. -# - *screenshot* Path to a single screenshot of the product. May be -# a filesystem path or a QRC path (e.g. ":/images/no-selection.png"). +# - *id* : ID for the product. The ID "" is special, and is used for +# "no package selected". Only include this if the mode allows +# selecting none. +# - *package* : Package name for the product. While mandatory, this is +# not actually used anywhere. +# - *name* : Human-readable name of the product. To provide translations, +# add a *[lang]* decoration as part of the key name, +# e.g. `name[nl]` for Dutch. +# The list of usable languages can be found in +# `CMakeLists.txt` or as part of the debug output of Calamares. +# - *description* : Human-readable description. These can be translated +# as well. +# - *screenshot* : Path to a single screenshot of the product. May be +# a filesystem path or a QRC path, +# e.g. ":/images/no-selection.png". # # Use the empty string "" as ID / key for the "no selection" item if # you want to customize the display of that item as well. @@ -66,7 +68,7 @@ labels: # key which points to an AppData XML file in the local filesystem. # This file is parsed to provide the id (from AppData id), name # (from AppData name), description (from AppData description paragraphs -# or the summary entries), and a screenshot (the defautl screenshot +# or the summary entries), and a screenshot (the default screenshot # from AppData). No package is set (but that is unused anyway). # # AppData may contain IDs that are not useful inside Calamares, From 42425e4030125a4c30cacb21a8589cfe7d9f4aa4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Nov 2019 10:48:33 +0100 Subject: [PATCH 499/626] [grubcfg] False is case-sensitive in Python --- src/modules/grubcfg/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 1f2574965..667aa2d87 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -178,7 +178,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): have_kernel_cmd = True elif (lines[i].startswith("#GRUB_DISTRIBUTOR") or lines[i].startswith("GRUB_DISTRIBUTOR")): - if libcalamares.job.configuration.get("keepDistributor", false): + if libcalamares.job.configuration.get("keepDistributor", False): lines[i] = distributor_line have_distributor_line = True else: From 9f90ef637711ac07a3bfaa0c5217302c8b5014d2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Nov 2019 17:07:08 +0100 Subject: [PATCH 500/626] CI: when pushing translations, mark it with a git tag --- ci/txpush.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ci/txpush.sh b/ci/txpush.sh index 84166fac6..15b301109 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -28,9 +28,20 @@ test -f ".tx/config" || { echo "! Not at Calamares top-level" ; exit 1 ; } test -f "calamares.desktop" || { echo "! Not at Calamares top-level" ; exit 1 ; } if test "x$1" = "x--no-tx" ; then + # tx is the transifex command -- eat its arguments and do nothing tx() { echo "Skipped tx $*" } + # txtag is used to tag in git to measure changes -- skip it too + txtag() { + echo "Skipped tx tagging." + } +else + # tx is the regular transifex command + # txtag is used to tag in git to measure changes + txtag() { + git tag -f translations + } fi ### CREATE TRANSLATIONS @@ -84,3 +95,6 @@ if test -n "$SHARED_PYTHON" ; then tx set -r calamares.python --source -l en "$POTFILE" tx push --source --no-interactive -r calamares.python fi + +txtag +exit 0 From 13b90dec57542cd434928587c191e3e567f0456b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Nov 2019 13:41:43 +0100 Subject: [PATCH 501/626] [luksbootkeyfile] Typo - Spotted by akspatole, no user-visible change FIXES #1277 --- src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp index 9bcea6538..9997cc185 100644 --- a/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp +++ b/src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp @@ -147,13 +147,13 @@ LuksBootKeyFileJob::exec() if ( !gs ) { return Calamares::JobResult::internalError( - "LukeBootKeyFile", "No GlobalStorage defined.", Calamares::JobResult::InvalidConfiguration ); + "LuksBootKeyFile", "No GlobalStorage defined.", Calamares::JobResult::InvalidConfiguration ); } if ( !gs->contains( "partitions" ) ) { cError() << "No GS[partitions] key."; return Calamares::JobResult::internalError( - "LukeBootKeyFile", tr( "No partitions are defined." ), Calamares::JobResult::InvalidConfiguration ); + "LuksBootKeyFile", tr( "No partitions are defined." ), Calamares::JobResult::InvalidConfiguration ); } LuksDeviceList s( gs->value( "partitions" ) ); @@ -161,7 +161,7 @@ LuksBootKeyFileJob::exec() { cError() << "GS[partitions] is invalid"; return Calamares::JobResult::internalError( - "LukeBootKeyFile", tr( "No partitions are defined." ), Calamares::JobResult::InvalidConfiguration ); + "LuksBootKeyFile", tr( "No partitions are defined." ), Calamares::JobResult::InvalidConfiguration ); } cDebug() << "There are" << s.devices.count() << "LUKS partitions"; From 3ee384f36c02499a507ed4cb878f69934733c2bc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Nov 2019 17:57:54 +0100 Subject: [PATCH 502/626] [libcalamares] Extract zone.tab data for translations --- src/libcalamares/locale/zone-extractor.py | 105 ++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 src/libcalamares/locale/zone-extractor.py diff --git a/src/libcalamares/locale/zone-extractor.py b/src/libcalamares/locale/zone-extractor.py new file mode 100644 index 000000000..3622534da --- /dev/null +++ b/src/libcalamares/locale/zone-extractor.py @@ -0,0 +1,105 @@ +#! /usr/bin/env python3 +# +# === This file is part of Calamares - === +# +# Python3 script to scrape some data out of zoneinfo/zone.tab. +# +### BEGIN LICENSES +# +# Copyright 2019 Adriaan de Groot +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +### END LICENSES + +### BEGIN USAGE +# +""" +Python3 script to scrape some data out of zoneinfo/zone.tab. + +To use this script, you must have a zone.tab in a standard location. +FreeBSD uses /usr/share/zoneinfo/zone.tab, so that's where it looks. + +Prints out a few tables of zone names for use in translations. +""" + +def scrape_file(file, regionset, zoneset): + for line in file.readlines(): + if line.startswith("#"): + continue + parts = line.split("\t") + if len(parts) < 3: + continue + + zoneid = parts[2] + if not "/" in zoneid: + continue + + region, zone = zoneid.split("/", 1) + + zone = zone.strip().replace("_", " ") + + regionset.add(region) + assert(zone not in zoneset) + zoneset.add(zone) + +def write_set(file, label, set): + file.write("/* This returns a reference to local, which is a terrible idea.\n * Good thing it's not meant to be compiled.\n */\n") + # Note {{ is an escaped { for Python string formatting + file.write("static const QStringList& {!s}_table()\n{{\n\treturn QStringList {{\n".format(label)) + for x in set: + file.write("""\t\tQObject::tr("{!s}", "{!s}"),\n""".format(x, label)) + file.write("\t\tQString()\n\t};\n}\n\n") + +cpp_header_comment = """/* GENERATED FILE DO NOT EDIT +* +* === This file is part of Calamares - === +* +* This file is derived from zone.tab, which has its own copyright statement: +* +* This file is in the public domain, so clarified as of +* 2009-05-17 by Arthur David Olson. +* +* From Paul Eggert (2018-06-27): +* This file is intended as a backward-compatibility aid for older programs. +* New programs should use zone1970.tab. This file is like zone1970.tab (see +* zone1970.tab's comments), but with the following additional restrictions: +* +* 1. This file contains only ASCII characters. +* 2. The first data column contains exactly one country code. +* +*/ + +/** THIS FILE EXISTS ONLY FOR TRANSLATIONS PURPOSES **/ +""" + +if __name__ == "__main__": + regions=set() + zones=set() + with open("/usr/share/zoneinfo/zone.tab", "r") as f: + scrape_file(f, regions, zones) + with open("ZoneData_p.cpp", "w") as f: + f.write(cpp_header_comment) + write_set(f, "tz_regions", regions) + write_set(f, "tz_names", zones) + From 5fbae8213db2a0e1897d11d35405a9e6ddacad60 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Nov 2019 18:02:02 +0100 Subject: [PATCH 503/626] CI: fix Qt version-selection for FreeBSD when calling lupdate --- ci/txpush.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/txpush.sh b/ci/txpush.sh index 84166fac6..f3442f0e5 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -39,6 +39,9 @@ fi # sources, then push to Transifex export QT_SELECT=5 +lupdate -version > /dev/null 2>&1 || export QT_SELECT=qt5 +lupdate -version > /dev/null 2>&1 || { echo "! No working lupdate" ; lupdate -version ; exit 1 ; } + # Don't pull branding translations in, # those are done separately. _srcdirs="src/calamares src/libcalamares src/libcalamaresui src/modules src/qml" From 2034dd62a4da779fe8166dedffaea499c0a7877e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Nov 2019 18:06:00 +0100 Subject: [PATCH 504/626] [libcalamares]: Timezone information for translation/extraction SEE #1259 --- src/libcalamares/locale/ZoneData_p.cpp | 475 +++++++++++++++++++++++++ 1 file changed, 475 insertions(+) create mode 100644 src/libcalamares/locale/ZoneData_p.cpp diff --git a/src/libcalamares/locale/ZoneData_p.cpp b/src/libcalamares/locale/ZoneData_p.cpp new file mode 100644 index 000000000..cb798963d --- /dev/null +++ b/src/libcalamares/locale/ZoneData_p.cpp @@ -0,0 +1,475 @@ +/* GENERATED FILE DO NOT EDIT +* +* === This file is part of Calamares - === +* +* This file is derived from zone.tab, which has its own copyright statement: +* +* This file is in the public domain, so clarified as of +* 2009-05-17 by Arthur David Olson. +* +* From Paul Eggert (2018-06-27): +* This file is intended as a backward-compatibility aid for older programs. +* New programs should use zone1970.tab. This file is like zone1970.tab (see +* zone1970.tab's comments), but with the following additional restrictions: +* +* 1. This file contains only ASCII characters. +* 2. The first data column contains exactly one country code. +* +*/ + +/** THIS FILE EXISTS ONLY FOR TRANSLATIONS PURPOSES **/ +/* This returns a reference to local, which is a terrible idea. + * Good thing it's not meant to be compiled. + */ +static const QStringList& tz_regions_table() +{ + return QStringList { + QObject::tr("Arctic", "tz_regions"), + QObject::tr("Pacific", "tz_regions"), + QObject::tr("Asia", "tz_regions"), + QObject::tr("Antarctica", "tz_regions"), + QObject::tr("America", "tz_regions"), + QObject::tr("Europe", "tz_regions"), + QObject::tr("Australia", "tz_regions"), + QObject::tr("Africa", "tz_regions"), + QObject::tr("Atlantic", "tz_regions"), + QObject::tr("Indian", "tz_regions"), + QString() + }; +} + +/* This returns a reference to local, which is a terrible idea. + * Good thing it's not meant to be compiled. + */ +static const QStringList& tz_names_table() +{ + return QStringList { + QObject::tr("Dhaka", "tz_names"), + QObject::tr("Palau", "tz_names"), + QObject::tr("Havana", "tz_names"), + QObject::tr("Busingen", "tz_names"), + QObject::tr("Tbilisi", "tz_names"), + QObject::tr("Guam", "tz_names"), + QObject::tr("Indiana/Winamac", "tz_names"), + QObject::tr("Indiana/Petersburg", "tz_names"), + QObject::tr("Macquarie", "tz_names"), + QObject::tr("Antigua", "tz_names"), + QObject::tr("Windhoek", "tz_names"), + QObject::tr("Barnaul", "tz_names"), + QObject::tr("Sarajevo", "tz_names"), + QObject::tr("Porto-Novo", "tz_names"), + QObject::tr("Ceuta", "tz_names"), + QObject::tr("Cambridge Bay", "tz_names"), + QObject::tr("Belize", "tz_names"), + QObject::tr("Port-au-Prince", "tz_names"), + QObject::tr("Baku", "tz_names"), + QObject::tr("Amsterdam", "tz_names"), + QObject::tr("Detroit", "tz_names"), + QObject::tr("Accra", "tz_names"), + QObject::tr("Indiana/Marengo", "tz_names"), + QObject::tr("Panama", "tz_names"), + QObject::tr("Argentina/Tucuman", "tz_names"), + QObject::tr("Reunion", "tz_names"), + QObject::tr("Beirut", "tz_names"), + QObject::tr("Dawson", "tz_names"), + QObject::tr("Bangui", "tz_names"), + QObject::tr("Punta Arenas", "tz_names"), + QObject::tr("Maldives", "tz_names"), + QObject::tr("Khartoum", "tz_names"), + QObject::tr("Argentina/La Rioja", "tz_names"), + QObject::tr("Porto Velho", "tz_names"), + QObject::tr("Wake", "tz_names"), + QObject::tr("Stockholm", "tz_names"), + QObject::tr("New York", "tz_names"), + QObject::tr("Chicago", "tz_names"), + QObject::tr("Madeira", "tz_names"), + QObject::tr("Vladivostok", "tz_names"), + QObject::tr("Argentina/Rio Gallegos", "tz_names"), + QObject::tr("Kirov", "tz_names"), + QObject::tr("Guernsey", "tz_names"), + QObject::tr("Cayenne", "tz_names"), + QObject::tr("Niamey", "tz_names"), + QObject::tr("Managua", "tz_names"), + QObject::tr("Ashgabat", "tz_names"), + QObject::tr("Addis Ababa", "tz_names"), + QObject::tr("Nauru", "tz_names"), + QObject::tr("Guyana", "tz_names"), + QObject::tr("Damascus", "tz_names"), + QObject::tr("Volgograd", "tz_names"), + QObject::tr("Kerguelen", "tz_names"), + QObject::tr("Fort Nelson", "tz_names"), + QObject::tr("Bahia Banderas", "tz_names"), + QObject::tr("Cayman", "tz_names"), + QObject::tr("Astrakhan", "tz_names"), + QObject::tr("Wallis", "tz_names"), + QObject::tr("Anadyr", "tz_names"), + QObject::tr("Fortaleza", "tz_names"), + QObject::tr("Thule", "tz_names"), + QObject::tr("Palmer", "tz_names"), + QObject::tr("Harare", "tz_names"), + QObject::tr("Araguaina", "tz_names"), + QObject::tr("Chagos", "tz_names"), + QObject::tr("Reykjavik", "tz_names"), + QObject::tr("Auckland", "tz_names"), + QObject::tr("Melbourne", "tz_names"), + QObject::tr("Mawson", "tz_names"), + QObject::tr("Miquelon", "tz_names"), + QObject::tr("Eirunepe", "tz_names"), + QObject::tr("Argentina/Salta", "tz_names"), + QObject::tr("Ndjamena", "tz_names"), + QObject::tr("Warsaw", "tz_names"), + QObject::tr("Brussels", "tz_names"), + QObject::tr("Hobart", "tz_names"), + QObject::tr("Kampala", "tz_names"), + QObject::tr("Jerusalem", "tz_names"), + QObject::tr("Vatican", "tz_names"), + QObject::tr("Kolkata", "tz_names"), + QObject::tr("Dakar", "tz_names"), + QObject::tr("Merida", "tz_names"), + QObject::tr("Moncton", "tz_names"), + QObject::tr("Riyadh", "tz_names"), + QObject::tr("Pohnpei", "tz_names"), + QObject::tr("Funafuti", "tz_names"), + QObject::tr("Krasnoyarsk", "tz_names"), + QObject::tr("Belem", "tz_names"), + QObject::tr("Rome", "tz_names"), + QObject::tr("Oral", "tz_names"), + QObject::tr("Sakhalin", "tz_names"), + QObject::tr("Moscow", "tz_names"), + QObject::tr("Anchorage", "tz_names"), + QObject::tr("Argentina/Cordoba", "tz_names"), + QObject::tr("Bucharest", "tz_names"), + QObject::tr("Nome", "tz_names"), + QObject::tr("La Paz", "tz_names"), + QObject::tr("Scoresbysund", "tz_names"), + QObject::tr("Adelaide", "tz_names"), + QObject::tr("Barbados", "tz_names"), + QObject::tr("Casey", "tz_names"), + QObject::tr("Seoul", "tz_names"), + QObject::tr("Tarawa", "tz_names"), + QObject::tr("Chatham", "tz_names"), + QObject::tr("Vostok", "tz_names"), + QObject::tr("Bishkek", "tz_names"), + QObject::tr("Inuvik", "tz_names"), + QObject::tr("Baghdad", "tz_names"), + QObject::tr("Whitehorse", "tz_names"), + QObject::tr("Resolute", "tz_names"), + QObject::tr("Syowa", "tz_names"), + QObject::tr("Regina", "tz_names"), + QObject::tr("Saratov", "tz_names"), + QObject::tr("North Dakota/Beulah", "tz_names"), + QObject::tr("Santo Domingo", "tz_names"), + QObject::tr("Lindeman", "tz_names"), + QObject::tr("Magadan", "tz_names"), + QObject::tr("Efate", "tz_names"), + QObject::tr("Bermuda", "tz_names"), + QObject::tr("Maceio", "tz_names"), + QObject::tr("Tashkent", "tz_names"), + QObject::tr("Qyzylorda", "tz_names"), + QObject::tr("Madrid", "tz_names"), + QObject::tr("Costa Rica", "tz_names"), + QObject::tr("Antananarivo", "tz_names"), + QObject::tr("Lima", "tz_names"), + QObject::tr("Kigali", "tz_names"), + QObject::tr("Marquesas", "tz_names"), + QObject::tr("Halifax", "tz_names"), + QObject::tr("Copenhagen", "tz_names"), + QObject::tr("Comoro", "tz_names"), + QObject::tr("Anguilla", "tz_names"), + QObject::tr("Kralendijk", "tz_names"), + QObject::tr("Sydney", "tz_names"), + QObject::tr("Yakutat", "tz_names"), + QObject::tr("Aqtau", "tz_names"), + QObject::tr("Brunei", "tz_names"), + QObject::tr("Vientiane", "tz_names"), + QObject::tr("Rainy River", "tz_names"), + QObject::tr("Bogota", "tz_names"), + QObject::tr("Port of Spain", "tz_names"), + QObject::tr("Rankin Inlet", "tz_names"), + QObject::tr("Pyongyang", "tz_names"), + QObject::tr("Bamako", "tz_names"), + QObject::tr("Samarkand", "tz_names"), + QObject::tr("Srednekolymsk", "tz_names"), + QObject::tr("Nicosia", "tz_names"), + QObject::tr("Iqaluit", "tz_names"), + QObject::tr("Yakutsk", "tz_names"), + QObject::tr("Cape Verde", "tz_names"), + QObject::tr("Zagreb", "tz_names"), + QObject::tr("Indiana/Knox", "tz_names"), + QObject::tr("Djibouti", "tz_names"), + QObject::tr("Grand Turk", "tz_names"), + QObject::tr("Hong Kong", "tz_names"), + QObject::tr("Monrovia", "tz_names"), + QObject::tr("Pitcairn", "tz_names"), + QObject::tr("El Aaiun", "tz_names"), + QObject::tr("Kuala Lumpur", "tz_names"), + QObject::tr("Kuwait", "tz_names"), + QObject::tr("Christmas", "tz_names"), + QObject::tr("Stanley", "tz_names"), + QObject::tr("Gambier", "tz_names"), + QObject::tr("Phnom Penh", "tz_names"), + QObject::tr("Sofia", "tz_names"), + QObject::tr("Longyearbyen", "tz_names"), + QObject::tr("St Helena", "tz_names"), + QObject::tr("Singapore", "tz_names"), + QObject::tr("Nipigon", "tz_names"), + QObject::tr("Zaporozhye", "tz_names"), + QObject::tr("Adak", "tz_names"), + QObject::tr("El Salvador", "tz_names"), + QObject::tr("Fakaofo", "tz_names"), + QObject::tr("Samara", "tz_names"), + QObject::tr("Makassar", "tz_names"), + QObject::tr("St Johns", "tz_names"), + QObject::tr("Tehran", "tz_names"), + QObject::tr("Almaty", "tz_names"), + QObject::tr("Hovd", "tz_names"), + QObject::tr("Tortola", "tz_names"), + QObject::tr("Bangkok", "tz_names"), + QObject::tr("Nassau", "tz_names"), + QObject::tr("Tunis", "tz_names"), + QObject::tr("Omsk", "tz_names"), + QObject::tr("Tokyo", "tz_names"), + QObject::tr("Casablanca", "tz_names"), + QObject::tr("Karachi", "tz_names"), + QObject::tr("McMurdo", "tz_names"), + QObject::tr("Tallinn", "tz_names"), + QObject::tr("Marigot", "tz_names"), + QObject::tr("Macau", "tz_names"), + QObject::tr("San Marino", "tz_names"), + QObject::tr("Denver", "tz_names"), + QObject::tr("Darwin", "tz_names"), + QObject::tr("Pangnirtung", "tz_names"), + QObject::tr("Chita", "tz_names"), + QObject::tr("Zurich", "tz_names"), + QObject::tr("Ulyanovsk", "tz_names"), + QObject::tr("Bissau", "tz_names"), + QObject::tr("Lagos", "tz_names"), + QObject::tr("Kuching", "tz_names"), + QObject::tr("Monaco", "tz_names"), + QObject::tr("Davis", "tz_names"), + QObject::tr("Argentina/Jujuy", "tz_names"), + QObject::tr("Recife", "tz_names"), + QObject::tr("Colombo", "tz_names"), + QObject::tr("Banjul", "tz_names"), + QObject::tr("Mauritius", "tz_names"), + QObject::tr("Creston", "tz_names"), + QObject::tr("Malta", "tz_names"), + QObject::tr("Argentina/Buenos Aires", "tz_names"), + QObject::tr("Vienna", "tz_names"), + QObject::tr("Skopje", "tz_names"), + QObject::tr("Swift Current", "tz_names"), + QObject::tr("Urumqi", "tz_names"), + QObject::tr("Guatemala", "tz_names"), + QObject::tr("Argentina/Mendoza", "tz_names"), + QObject::tr("Phoenix", "tz_names"), + QObject::tr("Asmara", "tz_names"), + QObject::tr("Noumea", "tz_names"), + QObject::tr("Boise", "tz_names"), + QObject::tr("Novokuznetsk", "tz_names"), + QObject::tr("Brazzaville", "tz_names"), + QObject::tr("Isle of Man", "tz_names"), + QObject::tr("Tegucigalpa", "tz_names"), + QObject::tr("Troll", "tz_names"), + QObject::tr("Glace Bay", "tz_names"), + QObject::tr("Yangon", "tz_names"), + QObject::tr("Conakry", "tz_names"), + QObject::tr("Aden", "tz_names"), + QObject::tr("Mayotte", "tz_names"), + QObject::tr("Grenada", "tz_names"), + QObject::tr("Mogadishu", "tz_names"), + QObject::tr("Sitka", "tz_names"), + QObject::tr("Kwajalein", "tz_names"), + QObject::tr("Pontianak", "tz_names"), + QObject::tr("Uzhgorod", "tz_names"), + QObject::tr("Ust-Nera", "tz_names"), + QObject::tr("Nairobi", "tz_names"), + QObject::tr("Saipan", "tz_names"), + QObject::tr("Sao Paulo", "tz_names"), + QObject::tr("Gaza", "tz_names"), + QObject::tr("Jakarta", "tz_names"), + QObject::tr("Godthab", "tz_names"), + QObject::tr("Choibalsan", "tz_names"), + QObject::tr("Jersey", "tz_names"), + QObject::tr("Tripoli", "tz_names"), + QObject::tr("Blantyre", "tz_names"), + QObject::tr("Freetown", "tz_names"), + QObject::tr("Andorra", "tz_names"), + QObject::tr("Danmarkshavn", "tz_names"), + QObject::tr("Los Angeles", "tz_names"), + QObject::tr("Caracas", "tz_names"), + QObject::tr("Oslo", "tz_names"), + QObject::tr("Rothera", "tz_names"), + QObject::tr("Budapest", "tz_names"), + QObject::tr("St Lucia", "tz_names"), + QObject::tr("Indiana/Indianapolis", "tz_names"), + QObject::tr("Paris", "tz_names"), + QObject::tr("Yerevan", "tz_names"), + QObject::tr("St Barthelemy", "tz_names"), + QObject::tr("Cuiaba", "tz_names"), + QObject::tr("Asuncion", "tz_names"), + QObject::tr("Manila", "tz_names"), + QObject::tr("Edmonton", "tz_names"), + QObject::tr("Vancouver", "tz_names"), + QObject::tr("Tongatapu", "tz_names"), + QObject::tr("Bahrain", "tz_names"), + QObject::tr("Kinshasa", "tz_names"), + QObject::tr("Mariehamn", "tz_names"), + QObject::tr("Kosrae", "tz_names"), + QObject::tr("Luanda", "tz_names"), + QObject::tr("Tirane", "tz_names"), + QObject::tr("Manaus", "tz_names"), + QObject::tr("Helsinki", "tz_names"), + QObject::tr("Chihuahua", "tz_names"), + QObject::tr("Khandyga", "tz_names"), + QObject::tr("Mexico City", "tz_names"), + QObject::tr("Prague", "tz_names"), + QObject::tr("Atyrau", "tz_names"), + QObject::tr("Jayapura", "tz_names"), + QObject::tr("Novosibirsk", "tz_names"), + QObject::tr("Eucla", "tz_names"), + QObject::tr("Vilnius", "tz_names"), + QObject::tr("Dublin", "tz_names"), + QObject::tr("Luxembourg", "tz_names"), + QObject::tr("Johannesburg", "tz_names"), + QObject::tr("Yellowknife", "tz_names"), + QObject::tr("Norfolk", "tz_names"), + QObject::tr("Menominee", "tz_names"), + QObject::tr("Dushanbe", "tz_names"), + QObject::tr("Noronha", "tz_names"), + QObject::tr("Kathmandu", "tz_names"), + QObject::tr("Shanghai", "tz_names"), + QObject::tr("Goose Bay", "tz_names"), + QObject::tr("Amman", "tz_names"), + QObject::tr("Santiago", "tz_names"), + QObject::tr("Campo Grande", "tz_names"), + QObject::tr("Dili", "tz_names"), + QObject::tr("Nouakchott", "tz_names"), + QObject::tr("Bahia", "tz_names"), + QObject::tr("Guadalcanal", "tz_names"), + QObject::tr("Simferopol", "tz_names"), + QObject::tr("Douala", "tz_names"), + QObject::tr("Dar es Salaam", "tz_names"), + QObject::tr("Bratislava", "tz_names"), + QObject::tr("Minsk", "tz_names"), + QObject::tr("Indiana/Vevay", "tz_names"), + QObject::tr("Cairo", "tz_names"), + QObject::tr("Winnipeg", "tz_names"), + QObject::tr("Kiev", "tz_names"), + QObject::tr("Broken Hill", "tz_names"), + QObject::tr("Montserrat", "tz_names"), + QObject::tr("Perth", "tz_names"), + QObject::tr("Ljubljana", "tz_names"), + QObject::tr("Lisbon", "tz_names"), + QObject::tr("Majuro", "tz_names"), + QObject::tr("North Dakota/Center", "tz_names"), + QObject::tr("Lome", "tz_names"), + QObject::tr("DumontDUrville", "tz_names"), + QObject::tr("Argentina/Ushuaia", "tz_names"), + QObject::tr("Atikokan", "tz_names"), + QObject::tr("Lubumbashi", "tz_names"), + QObject::tr("Santarem", "tz_names"), + QObject::tr("Riga", "tz_names"), + QObject::tr("Kamchatka", "tz_names"), + QObject::tr("Aruba", "tz_names"), + QObject::tr("Azores", "tz_names"), + QObject::tr("Maseru", "tz_names"), + QObject::tr("Faroe", "tz_names"), + QObject::tr("Niue", "tz_names"), + QObject::tr("Gaborone", "tz_names"), + QObject::tr("Port Moresby", "tz_names"), + QObject::tr("Cocos", "tz_names"), + QObject::tr("Blanc-Sablon", "tz_names"), + QObject::tr("Argentina/San Luis", "tz_names"), + QObject::tr("Mahe", "tz_names"), + QObject::tr("Kentucky/Monticello", "tz_names"), + QObject::tr("Galapagos", "tz_names"), + QObject::tr("South Georgia", "tz_names"), + QObject::tr("Ho Chi Minh", "tz_names"), + QObject::tr("Kiritimati", "tz_names"), + QObject::tr("Mazatlan", "tz_names"), + QObject::tr("Argentina/Catamarca", "tz_names"), + QObject::tr("St Kitts", "tz_names"), + QObject::tr("Kentucky/Louisville", "tz_names"), + QObject::tr("Bougainville", "tz_names"), + QObject::tr("Lower Princes", "tz_names"), + QObject::tr("Pago Pago", "tz_names"), + QObject::tr("Curacao", "tz_names"), + QObject::tr("Tahiti", "tz_names"), + QObject::tr("Irkutsk", "tz_names"), + QObject::tr("Thunder Bay", "tz_names"), + QObject::tr("Rio Branco", "tz_names"), + QObject::tr("Argentina/San Juan", "tz_names"), + QObject::tr("Paramaribo", "tz_names"), + QObject::tr("Libreville", "tz_names"), + QObject::tr("Lusaka", "tz_names"), + QObject::tr("Hebron", "tz_names"), + QObject::tr("Algiers", "tz_names"), + QObject::tr("Ojinaga", "tz_names"), + QObject::tr("Rarotonga", "tz_names"), + QObject::tr("Maputo", "tz_names"), + QObject::tr("Honolulu", "tz_names"), + QObject::tr("Brisbane", "tz_names"), + QObject::tr("Ulaanbaatar", "tz_names"), + QObject::tr("Chuuk", "tz_names"), + QObject::tr("Aqtobe", "tz_names"), + QObject::tr("Guayaquil", "tz_names"), + QObject::tr("Canary", "tz_names"), + QObject::tr("Mbabane", "tz_names"), + QObject::tr("Abidjan", "tz_names"), + QObject::tr("Muscat", "tz_names"), + QObject::tr("Apia", "tz_names"), + QObject::tr("North Dakota/New Salem", "tz_names"), + QObject::tr("Istanbul", "tz_names"), + QObject::tr("Belgrade", "tz_names"), + QObject::tr("Juba", "tz_names"), + QObject::tr("Midway", "tz_names"), + QObject::tr("Berlin", "tz_names"), + QObject::tr("Martinique", "tz_names"), + QObject::tr("Indiana/Vincennes", "tz_names"), + QObject::tr("Athens", "tz_names"), + QObject::tr("Ouagadougou", "tz_names"), + QObject::tr("Podgorica", "tz_names"), + QObject::tr("Sao Tome", "tz_names"), + QObject::tr("Vaduz", "tz_names"), + QObject::tr("Qatar", "tz_names"), + QObject::tr("Cancun", "tz_names"), + QObject::tr("Taipei", "tz_names"), + QObject::tr("Puerto Rico", "tz_names"), + QObject::tr("Metlakatla", "tz_names"), + QObject::tr("Jamaica", "tz_names"), + QObject::tr("Kaliningrad", "tz_names"), + QObject::tr("Enderbury", "tz_names"), + QObject::tr("Currie", "tz_names"), + QObject::tr("Thimphu", "tz_names"), + QObject::tr("Matamoros", "tz_names"), + QObject::tr("Montevideo", "tz_names"), + QObject::tr("Gibraltar", "tz_names"), + QObject::tr("Tijuana", "tz_names"), + QObject::tr("St Thomas", "tz_names"), + QObject::tr("London", "tz_names"), + QObject::tr("Yekaterinburg", "tz_names"), + QObject::tr("Easter", "tz_names"), + QObject::tr("Boa Vista", "tz_names"), + QObject::tr("Dawson Creek", "tz_names"), + QObject::tr("Hermosillo", "tz_names"), + QObject::tr("Famagusta", "tz_names"), + QObject::tr("Monterrey", "tz_names"), + QObject::tr("Dominica", "tz_names"), + QObject::tr("Guadeloupe", "tz_names"), + QObject::tr("Indiana/Tell City", "tz_names"), + QObject::tr("Dubai", "tz_names"), + QObject::tr("Malabo", "tz_names"), + QObject::tr("Bujumbura", "tz_names"), + QObject::tr("Fiji", "tz_names"), + QObject::tr("St Vincent", "tz_names"), + QObject::tr("Qostanay", "tz_names"), + QObject::tr("Tomsk", "tz_names"), + QObject::tr("Juneau", "tz_names"), + QObject::tr("Chisinau", "tz_names"), + QObject::tr("Lord Howe", "tz_names"), + QObject::tr("Kabul", "tz_names"), + QObject::tr("Toronto", "tz_names"), + QString() + }; +} + From b5cca9aabf1126070924c5130099a5e151ec3639 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Nov 2019 13:52:39 +0100 Subject: [PATCH 505/626] CI: Add tool to enforce the string freeze - check for conventional translation tag - diff the generated translation files to enforce consistency --- ci/txcheck.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 ci/txcheck.sh diff --git a/ci/txcheck.sh b/ci/txcheck.sh new file mode 100644 index 000000000..b2c2ab11a --- /dev/null +++ b/ci/txcheck.sh @@ -0,0 +1,48 @@ +#! /bin/sh + +# Does the translation tag (from a previous txpush) exist? +# This assumes that the release host has also locally done +# a translations push, which works for the current development +# workflow .. but it could be improved by looking for one of +# the typical txpush log messages instead of the tag. +if git describe translation > /dev/null 2>&1 ; then + : +else + echo "! No 'translation' tag exists for enforcing the string-freeze." + exit 1 +fi +# The tag exists, so now check that there's no unsaved changes +if test `git describe` = `git describe --dirty` ; then + : +else + echo "! There are local changes." + exit 1 +fi +# No unsaved changes, collect names of relevant files +test -f ".tx/config" || { echo "! No Transifex configuration is present." ; exit 1 ; } +# Print part after = for each source_file line and delete all the rest +TX_FILE_LIST=$( sed -e '/^source_file/s+.*=++p' -e d .tx/config ) +for f in $TX_FILE_LIST ; do + test -f $f || { echo "! Translation file '$f' does not exist." ; exit 1 ; } +done + +# The state of translations here +HEAD_SUM=$( cat $TX_FILE_LIST | sha256sum ) + +# Check from the translation tag as well +git worktree add build-txcheck translation +( cd build-txcheck && sh ci/txpush.sh --no-tx ) || { echo "! Could not re-create translations." ; exit 1 ; } +PREV_SUM=$( cd build-txcheck && cat $TX_FILE_LIST | sha256sum ) + +if test "$HEAD_SUM" = "$PREV_SUM" ; then + : +else + echo "! Translations have changed." + for f in $TX_FILE_LIST ; do + echo "! $f" + diff -u build-txcheck/$f $f + done + exit 1 +fi + +exit 0 From e6a23842940d4bdd0e8cc5229135a72a57673c04 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Nov 2019 13:57:56 +0100 Subject: [PATCH 506/626] CI: do all tx checking in worktrees --- ci/txcheck.sh | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/ci/txcheck.sh b/ci/txcheck.sh index b2c2ab11a..39b4fdcb0 100644 --- a/ci/txcheck.sh +++ b/ci/txcheck.sh @@ -26,13 +26,27 @@ for f in $TX_FILE_LIST ; do test -f $f || { echo "! Translation file '$f' does not exist." ; exit 1 ; } done -# The state of translations here -HEAD_SUM=$( cat $TX_FILE_LIST | sha256sum ) +# The state of translations +tx_sum() +{ + WORKTREE_NAME="$1" + WORKTREE_TAG="$2" + + git worktree add $WORKTREE_NAME $WORKTREE_TAG > /dev/null 2>&1 || { echo "! Could not create worktree." ; exit 1 ; } + ( cd $WORKTREE_NAME && sh ci/txpush.sh --no-tx ) > /dev/null 2>&1 || { echo "! Could not re-create translations." ; exit 1 ; } + _SUM=$( cd $WORKTREE_NAME && cat $TX_FILE_LIST | sha256sum ) + echo "$_SUM" +} # Check from the translation tag as well -git worktree add build-txcheck translation -( cd build-txcheck && sh ci/txpush.sh --no-tx ) || { echo "! Could not re-create translations." ; exit 1 ; } -PREV_SUM=$( cd build-txcheck && cat $TX_FILE_LIST | sha256sum ) +HEAD_SUM=`tx_sum build-txcheck-head ""` +PREV_SUM=`tx_sum build-txcheck-prev translation` + +test -d build-txcheck-head || exit 1 +test -d build-txcheck-prev || exit 1 + +echo "HEAD=$HEAD_SUM" +echo "PREV=$PREV_SUM" if test "$HEAD_SUM" = "$PREV_SUM" ; then : @@ -40,7 +54,7 @@ else echo "! Translations have changed." for f in $TX_FILE_LIST ; do echo "! $f" - diff -u build-txcheck/$f $f + diff -u build-txcheck-prev/$f build-txcheck-head/$f done exit 1 fi From bf21e8a4f54464cb114eb247e2dfa0608a132d4e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Nov 2019 14:07:41 +0100 Subject: [PATCH 507/626] CI: clean up after tx checking --- ci/txcheck.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ci/txcheck.sh b/ci/txcheck.sh index 39b4fdcb0..f94f035fd 100644 --- a/ci/txcheck.sh +++ b/ci/txcheck.sh @@ -42,11 +42,9 @@ tx_sum() HEAD_SUM=`tx_sum build-txcheck-head ""` PREV_SUM=`tx_sum build-txcheck-prev translation` -test -d build-txcheck-head || exit 1 -test -d build-txcheck-prev || exit 1 - -echo "HEAD=$HEAD_SUM" -echo "PREV=$PREV_SUM" +# An error message will have come from the shell function +test -d build-txcheck-head || { echo "$HEAD_SUM" ; exit 1 ; } +test -d build-txcheck-prev || { echo "$PREV_SUM" ; exit 1 ; } if test "$HEAD_SUM" = "$PREV_SUM" ; then : @@ -59,4 +57,9 @@ else exit 1 fi +# Cleanup artifacs of checking +git worktree remove --force build-txcheck-head +git worktree remove --force build-txcheck-prev +git branch -D build-txcheck-head + exit 0 From a0556d1dd720ece5c4ab75026087db5b7ed7b160 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Nov 2019 14:23:00 +0100 Subject: [PATCH 508/626] CI: enforce 1 week of string freeze --- ci/txcheck.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ci/txcheck.sh b/ci/txcheck.sh index f94f035fd..1fe01c477 100644 --- a/ci/txcheck.sh +++ b/ci/txcheck.sh @@ -18,7 +18,12 @@ else echo "! There are local changes." exit 1 fi -# No unsaved changes, collect names of relevant files +# No unsaved changes; enforce a string freeze of one week +DATE_PREV=$( git log -1 translation --date=unix | sed -e '/^Date:/s+.*:++p' -e d ) +DATE_HEAD=$( date +%s -d "1 week ago" ) +test "$DATE_PREV" -le "$DATE_HEAD" || { echo "! Translation tag has not aged enough." ; git log -1 translation ; exit 1 ; } + +# Tag is good, do real work of checking strings: collect names of relevant files test -f ".tx/config" || { echo "! No Transifex configuration is present." ; exit 1 ; } # Print part after = for each source_file line and delete all the rest TX_FILE_LIST=$( sed -e '/^source_file/s+.*=++p' -e d .tx/config ) From d3cc4ec395d0cf89ca957ba2b6afbc91ae3d17ac Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Nov 2019 14:23:46 +0100 Subject: [PATCH 509/626] CI: silence git branch during cleanup of txcheck --- ci/txcheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/txcheck.sh b/ci/txcheck.sh index 1fe01c477..be984d22d 100644 --- a/ci/txcheck.sh +++ b/ci/txcheck.sh @@ -65,6 +65,6 @@ fi # Cleanup artifacs of checking git worktree remove --force build-txcheck-head git worktree remove --force build-txcheck-prev -git branch -D build-txcheck-head +git branch -D build-txcheck-head > /dev/null 2>&1 exit 0 From f51111d0f3d5c5163d74181dc53b4d03c17db4d3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Nov 2019 14:29:54 +0100 Subject: [PATCH 510/626] CI: Make string-freeze checking part of release process --- ci/RELEASE.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ci/RELEASE.sh b/ci/RELEASE.sh index f79b0ed4a..b3c6592b1 100755 --- a/ci/RELEASE.sh +++ b/ci/RELEASE.sh @@ -17,10 +17,13 @@ # * pulling translations # * updating the language list # * switching to the right branch +# The release can fail for various reasons: doesn't build, tests fail, +# or the string freeze has been violated. # # You can influence the script a little with these options: # * `-B` do not build (before tagging) # * `-P` do not package (tag, sign, tarball) +# * `-T` do not respect string freeze # # The build / package settings can be influenced via environment variables: # * BUILD_DEFAULT set to `false` to avoid first build with gcc @@ -37,8 +40,9 @@ which cmake > /dev/null 2>&1 || { echo "No cmake(1) available." ; exit 1 ; } test -z "$BUILD_DEFAULT" && BUILD_DEFAULT=true test -z "$BUILD_CLANG" && BUILD_CLANG=true test -z "$BUILD_ONLY" && BUILD_ONLY=false +STRING_FREEZE=true -while getopts "hBP" opt ; do +while getopts "hBPT" opt ; do case "$opt" in h|\?) sed -e '1,/USAGE/d' -e '/END.USAGE/,$d' < "$0" @@ -51,10 +55,17 @@ while getopts "hBP" opt ; do P) BUILD_ONLY=true ;; + T) + STRING_FREEZE=false + ;; esac done +if $STRING_FREEZE ; then + sh ci/txcheck.sh || { echo "! String freeze failed." ; exit 1 ; } +fi + ### Setup # # From 1df6454cfea949c15cab807605e81b7393e7a60f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Nov 2019 10:52:22 +0100 Subject: [PATCH 511/626] [locale] Tidy up types - use JobList typedef where possible - remove unused forward type definitions --- src/modules/locale/LocalePage.cpp | 2 +- src/modules/locale/LocaleViewStep.cpp | 8 +++----- src/modules/locale/LocaleViewStep.h | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 7720a840c..fc715e3f3 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -301,7 +301,7 @@ LocalePage::prettyStatus() const } -QList< Calamares::job_ptr > +Calamares::JobList LocalePage::createJobs() { QList< Calamares::job_ptr > list; diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 4acfcb2de..4fa219065 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -142,7 +142,7 @@ LocaleViewStep::isAtEnd() const } -QList< Calamares::job_ptr > +Calamares::JobList LocaleViewStep::jobs() const { return m_jobs; @@ -163,12 +163,9 @@ LocaleViewStep::onActivate() void LocaleViewStep::onLeave() { - m_jobs.clear(); - if ( m_actualWidget ) { - m_jobs.append( m_actualWidget->createJobs() ); - + m_jobs = m_actualWidget->createJobs(); m_prettyStatus = m_actualWidget->prettyStatus(); auto map = m_actualWidget->localesMap(); @@ -182,6 +179,7 @@ LocaleViewStep::onLeave() } else { + m_jobs.clear(); Calamares::JobQueue::instance()->globalStorage()->remove( "localeConf" ); } } diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index ca8ecc3fa..eb8d64177 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -33,7 +33,6 @@ #include class LocalePage; -class WaitingWidget; class PLUGINDLLEXPORT LocaleViewStep : public Calamares::ViewStep { @@ -54,7 +53,7 @@ public: bool isAtBeginning() const override; bool isAtEnd() const override; - QList< Calamares::job_ptr > jobs() const override; + Calamares::JobList jobs() const override; void onActivate() override; void onLeave() override; @@ -78,7 +77,7 @@ private: CalamaresUtils::GeoIP::RegionZonePair m_startingTimezone; QString m_localeGenPath; - QList< Calamares::job_ptr > m_jobs; + Calamares::JobList m_jobs; std::unique_ptr< CalamaresUtils::GeoIP::Handler > m_geoip; }; From 906aeec5d3f98ee485e2f534b75e1a54d438c5d7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Nov 2019 11:49:41 +0100 Subject: [PATCH 512/626] [locale] Replace #define with a static const - TZ_DATA_FILE is only used in one place --- src/modules/locale/timezonewidget/localeconst.h | 1 - src/modules/locale/timezonewidget/localeglobal.cpp | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/locale/timezonewidget/localeconst.h b/src/modules/locale/timezonewidget/localeconst.h index 3bac6adde..2de1b0dac 100644 --- a/src/modules/locale/timezonewidget/localeconst.h +++ b/src/modules/locale/timezonewidget/localeconst.h @@ -25,7 +25,6 @@ #define LOCALESDIR "/usr/share/i18n/locales" -#define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" #define USER_IMAGES_PATH "/usr/share/pixmaps/faces" diff --git a/src/modules/locale/timezonewidget/localeglobal.cpp b/src/modules/locale/timezonewidget/localeglobal.cpp index 6303ffdcb..683b2bebc 100644 --- a/src/modules/locale/timezonewidget/localeglobal.cpp +++ b/src/modules/locale/timezonewidget/localeglobal.cpp @@ -131,6 +131,8 @@ LocaleGlobal::initLocales() { void LocaleGlobal::initLocations() { + static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab"; + locations.clear(); QFile file(TZ_DATA_FILE); From c3fdb3809786b2bfff8faf16f926ea752c3a139b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Nov 2019 20:51:45 +0100 Subject: [PATCH 513/626] [libcalamares] Stub of class for TimeZone model management - Intent is to move out of locale module --- src/libcalamares/locale/TimeZone.h | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/libcalamares/locale/TimeZone.h diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h new file mode 100644 index 000000000..b9102dff9 --- /dev/null +++ b/src/libcalamares/locale/TimeZone.h @@ -0,0 +1,69 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#ifndef LOCALE_TIMEZONE_H +#define LOCALE_TIMEZONE_H + +#include + +namespace CalamaresUtils +{ +namespace Locale +{ + +/** @brief A pair of strings, one human-readable, one a key + * + * Given an identifier-like string (e.g. "New_York"), makes + * a human-readable version of that and keeps a copy of the + * identifier itself. + * + * This explicitly uses const char* instead of just being + * QPair because there is API that needs + * C-style strings. + */ +class CStringPair +{ +public: + explicit CStringPair(const char *s1); + CStringPair(CStringPair&& t); + CStringPair(const CStringPair&) = delete; + ~CStringPair(); + +private: + const char* m_human = nullptr; + const char* m_key = nullptr; +}; + +/// @brief A pair of strings for timezone regions (e.g. "America") +class TZRegion : public CStringPair +{ +public: + using CStringPair::CStringPair; +}; + +/// @brief A pair of strings for specific timezone names (e.g. "New_York") +class TZZone : public CStringPair +{ +public: + using CStringPair::CStringPair; +}; + +} +} + +#endif // LOCALE_TIMEZONE_H From 733fb43b5ec57eb32120d8013dfe95bcd5b04664 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 10:45:36 +0100 Subject: [PATCH 514/626] [libcalamares] Sort the dummy zone names --- src/libcalamares/locale/ZoneData_p.cpp | 848 +++++++++++----------- src/libcalamares/locale/zone-extractor.py | 6 +- 2 files changed, 427 insertions(+), 427 deletions(-) diff --git a/src/libcalamares/locale/ZoneData_p.cpp b/src/libcalamares/locale/ZoneData_p.cpp index cb798963d..f0b92f33f 100644 --- a/src/libcalamares/locale/ZoneData_p.cpp +++ b/src/libcalamares/locale/ZoneData_p.cpp @@ -24,16 +24,16 @@ static const QStringList& tz_regions_table() { return QStringList { - QObject::tr("Arctic", "tz_regions"), - QObject::tr("Pacific", "tz_regions"), - QObject::tr("Asia", "tz_regions"), - QObject::tr("Antarctica", "tz_regions"), - QObject::tr("America", "tz_regions"), - QObject::tr("Europe", "tz_regions"), - QObject::tr("Australia", "tz_regions"), QObject::tr("Africa", "tz_regions"), + QObject::tr("America", "tz_regions"), + QObject::tr("Antarctica", "tz_regions"), + QObject::tr("Arctic", "tz_regions"), + QObject::tr("Asia", "tz_regions"), QObject::tr("Atlantic", "tz_regions"), + QObject::tr("Australia", "tz_regions"), + QObject::tr("Europe", "tz_regions"), QObject::tr("Indian", "tz_regions"), + QObject::tr("Pacific", "tz_regions"), QString() }; } @@ -44,431 +44,431 @@ static const QStringList& tz_regions_table() static const QStringList& tz_names_table() { return QStringList { - QObject::tr("Dhaka", "tz_names"), - QObject::tr("Palau", "tz_names"), - QObject::tr("Havana", "tz_names"), - QObject::tr("Busingen", "tz_names"), - QObject::tr("Tbilisi", "tz_names"), - QObject::tr("Guam", "tz_names"), - QObject::tr("Indiana/Winamac", "tz_names"), - QObject::tr("Indiana/Petersburg", "tz_names"), - QObject::tr("Macquarie", "tz_names"), - QObject::tr("Antigua", "tz_names"), - QObject::tr("Windhoek", "tz_names"), - QObject::tr("Barnaul", "tz_names"), - QObject::tr("Sarajevo", "tz_names"), - QObject::tr("Porto-Novo", "tz_names"), - QObject::tr("Ceuta", "tz_names"), - QObject::tr("Cambridge Bay", "tz_names"), - QObject::tr("Belize", "tz_names"), - QObject::tr("Port-au-Prince", "tz_names"), - QObject::tr("Baku", "tz_names"), - QObject::tr("Amsterdam", "tz_names"), - QObject::tr("Detroit", "tz_names"), - QObject::tr("Accra", "tz_names"), - QObject::tr("Indiana/Marengo", "tz_names"), - QObject::tr("Panama", "tz_names"), - QObject::tr("Argentina/Tucuman", "tz_names"), - QObject::tr("Reunion", "tz_names"), - QObject::tr("Beirut", "tz_names"), - QObject::tr("Dawson", "tz_names"), - QObject::tr("Bangui", "tz_names"), - QObject::tr("Punta Arenas", "tz_names"), - QObject::tr("Maldives", "tz_names"), - QObject::tr("Khartoum", "tz_names"), - QObject::tr("Argentina/La Rioja", "tz_names"), - QObject::tr("Porto Velho", "tz_names"), - QObject::tr("Wake", "tz_names"), - QObject::tr("Stockholm", "tz_names"), - QObject::tr("New York", "tz_names"), - QObject::tr("Chicago", "tz_names"), - QObject::tr("Madeira", "tz_names"), - QObject::tr("Vladivostok", "tz_names"), - QObject::tr("Argentina/Rio Gallegos", "tz_names"), - QObject::tr("Kirov", "tz_names"), - QObject::tr("Guernsey", "tz_names"), - QObject::tr("Cayenne", "tz_names"), - QObject::tr("Niamey", "tz_names"), - QObject::tr("Managua", "tz_names"), - QObject::tr("Ashgabat", "tz_names"), - QObject::tr("Addis Ababa", "tz_names"), - QObject::tr("Nauru", "tz_names"), - QObject::tr("Guyana", "tz_names"), - QObject::tr("Damascus", "tz_names"), - QObject::tr("Volgograd", "tz_names"), - QObject::tr("Kerguelen", "tz_names"), - QObject::tr("Fort Nelson", "tz_names"), - QObject::tr("Bahia Banderas", "tz_names"), - QObject::tr("Cayman", "tz_names"), - QObject::tr("Astrakhan", "tz_names"), - QObject::tr("Wallis", "tz_names"), - QObject::tr("Anadyr", "tz_names"), - QObject::tr("Fortaleza", "tz_names"), - QObject::tr("Thule", "tz_names"), - QObject::tr("Palmer", "tz_names"), - QObject::tr("Harare", "tz_names"), - QObject::tr("Araguaina", "tz_names"), - QObject::tr("Chagos", "tz_names"), - QObject::tr("Reykjavik", "tz_names"), - QObject::tr("Auckland", "tz_names"), - QObject::tr("Melbourne", "tz_names"), - QObject::tr("Mawson", "tz_names"), - QObject::tr("Miquelon", "tz_names"), - QObject::tr("Eirunepe", "tz_names"), - QObject::tr("Argentina/Salta", "tz_names"), - QObject::tr("Ndjamena", "tz_names"), - QObject::tr("Warsaw", "tz_names"), - QObject::tr("Brussels", "tz_names"), - QObject::tr("Hobart", "tz_names"), - QObject::tr("Kampala", "tz_names"), - QObject::tr("Jerusalem", "tz_names"), - QObject::tr("Vatican", "tz_names"), - QObject::tr("Kolkata", "tz_names"), - QObject::tr("Dakar", "tz_names"), - QObject::tr("Merida", "tz_names"), - QObject::tr("Moncton", "tz_names"), - QObject::tr("Riyadh", "tz_names"), - QObject::tr("Pohnpei", "tz_names"), - QObject::tr("Funafuti", "tz_names"), - QObject::tr("Krasnoyarsk", "tz_names"), - QObject::tr("Belem", "tz_names"), - QObject::tr("Rome", "tz_names"), - QObject::tr("Oral", "tz_names"), - QObject::tr("Sakhalin", "tz_names"), - QObject::tr("Moscow", "tz_names"), - QObject::tr("Anchorage", "tz_names"), - QObject::tr("Argentina/Cordoba", "tz_names"), - QObject::tr("Bucharest", "tz_names"), - QObject::tr("Nome", "tz_names"), - QObject::tr("La Paz", "tz_names"), - QObject::tr("Scoresbysund", "tz_names"), - QObject::tr("Adelaide", "tz_names"), - QObject::tr("Barbados", "tz_names"), - QObject::tr("Casey", "tz_names"), - QObject::tr("Seoul", "tz_names"), - QObject::tr("Tarawa", "tz_names"), - QObject::tr("Chatham", "tz_names"), - QObject::tr("Vostok", "tz_names"), - QObject::tr("Bishkek", "tz_names"), - QObject::tr("Inuvik", "tz_names"), - QObject::tr("Baghdad", "tz_names"), - QObject::tr("Whitehorse", "tz_names"), - QObject::tr("Resolute", "tz_names"), - QObject::tr("Syowa", "tz_names"), - QObject::tr("Regina", "tz_names"), - QObject::tr("Saratov", "tz_names"), - QObject::tr("North Dakota/Beulah", "tz_names"), - QObject::tr("Santo Domingo", "tz_names"), - QObject::tr("Lindeman", "tz_names"), - QObject::tr("Magadan", "tz_names"), - QObject::tr("Efate", "tz_names"), - QObject::tr("Bermuda", "tz_names"), - QObject::tr("Maceio", "tz_names"), - QObject::tr("Tashkent", "tz_names"), - QObject::tr("Qyzylorda", "tz_names"), - QObject::tr("Madrid", "tz_names"), - QObject::tr("Costa Rica", "tz_names"), - QObject::tr("Antananarivo", "tz_names"), - QObject::tr("Lima", "tz_names"), - QObject::tr("Kigali", "tz_names"), - QObject::tr("Marquesas", "tz_names"), - QObject::tr("Halifax", "tz_names"), - QObject::tr("Copenhagen", "tz_names"), - QObject::tr("Comoro", "tz_names"), - QObject::tr("Anguilla", "tz_names"), - QObject::tr("Kralendijk", "tz_names"), - QObject::tr("Sydney", "tz_names"), - QObject::tr("Yakutat", "tz_names"), - QObject::tr("Aqtau", "tz_names"), - QObject::tr("Brunei", "tz_names"), - QObject::tr("Vientiane", "tz_names"), - QObject::tr("Rainy River", "tz_names"), - QObject::tr("Bogota", "tz_names"), - QObject::tr("Port of Spain", "tz_names"), - QObject::tr("Rankin Inlet", "tz_names"), - QObject::tr("Pyongyang", "tz_names"), - QObject::tr("Bamako", "tz_names"), - QObject::tr("Samarkand", "tz_names"), - QObject::tr("Srednekolymsk", "tz_names"), - QObject::tr("Nicosia", "tz_names"), - QObject::tr("Iqaluit", "tz_names"), - QObject::tr("Yakutsk", "tz_names"), - QObject::tr("Cape Verde", "tz_names"), - QObject::tr("Zagreb", "tz_names"), - QObject::tr("Indiana/Knox", "tz_names"), - QObject::tr("Djibouti", "tz_names"), - QObject::tr("Grand Turk", "tz_names"), - QObject::tr("Hong Kong", "tz_names"), - QObject::tr("Monrovia", "tz_names"), - QObject::tr("Pitcairn", "tz_names"), - QObject::tr("El Aaiun", "tz_names"), - QObject::tr("Kuala Lumpur", "tz_names"), - QObject::tr("Kuwait", "tz_names"), - QObject::tr("Christmas", "tz_names"), - QObject::tr("Stanley", "tz_names"), - QObject::tr("Gambier", "tz_names"), - QObject::tr("Phnom Penh", "tz_names"), - QObject::tr("Sofia", "tz_names"), - QObject::tr("Longyearbyen", "tz_names"), - QObject::tr("St Helena", "tz_names"), - QObject::tr("Singapore", "tz_names"), - QObject::tr("Nipigon", "tz_names"), - QObject::tr("Zaporozhye", "tz_names"), - QObject::tr("Adak", "tz_names"), - QObject::tr("El Salvador", "tz_names"), - QObject::tr("Fakaofo", "tz_names"), - QObject::tr("Samara", "tz_names"), - QObject::tr("Makassar", "tz_names"), - QObject::tr("St Johns", "tz_names"), - QObject::tr("Tehran", "tz_names"), - QObject::tr("Almaty", "tz_names"), - QObject::tr("Hovd", "tz_names"), - QObject::tr("Tortola", "tz_names"), - QObject::tr("Bangkok", "tz_names"), - QObject::tr("Nassau", "tz_names"), - QObject::tr("Tunis", "tz_names"), - QObject::tr("Omsk", "tz_names"), - QObject::tr("Tokyo", "tz_names"), - QObject::tr("Casablanca", "tz_names"), - QObject::tr("Karachi", "tz_names"), - QObject::tr("McMurdo", "tz_names"), - QObject::tr("Tallinn", "tz_names"), - QObject::tr("Marigot", "tz_names"), - QObject::tr("Macau", "tz_names"), - QObject::tr("San Marino", "tz_names"), - QObject::tr("Denver", "tz_names"), - QObject::tr("Darwin", "tz_names"), - QObject::tr("Pangnirtung", "tz_names"), - QObject::tr("Chita", "tz_names"), - QObject::tr("Zurich", "tz_names"), - QObject::tr("Ulyanovsk", "tz_names"), - QObject::tr("Bissau", "tz_names"), - QObject::tr("Lagos", "tz_names"), - QObject::tr("Kuching", "tz_names"), - QObject::tr("Monaco", "tz_names"), - QObject::tr("Davis", "tz_names"), - QObject::tr("Argentina/Jujuy", "tz_names"), - QObject::tr("Recife", "tz_names"), - QObject::tr("Colombo", "tz_names"), - QObject::tr("Banjul", "tz_names"), - QObject::tr("Mauritius", "tz_names"), - QObject::tr("Creston", "tz_names"), - QObject::tr("Malta", "tz_names"), - QObject::tr("Argentina/Buenos Aires", "tz_names"), - QObject::tr("Vienna", "tz_names"), - QObject::tr("Skopje", "tz_names"), - QObject::tr("Swift Current", "tz_names"), - QObject::tr("Urumqi", "tz_names"), - QObject::tr("Guatemala", "tz_names"), - QObject::tr("Argentina/Mendoza", "tz_names"), - QObject::tr("Phoenix", "tz_names"), - QObject::tr("Asmara", "tz_names"), - QObject::tr("Noumea", "tz_names"), - QObject::tr("Boise", "tz_names"), - QObject::tr("Novokuznetsk", "tz_names"), - QObject::tr("Brazzaville", "tz_names"), - QObject::tr("Isle of Man", "tz_names"), - QObject::tr("Tegucigalpa", "tz_names"), - QObject::tr("Troll", "tz_names"), - QObject::tr("Glace Bay", "tz_names"), - QObject::tr("Yangon", "tz_names"), - QObject::tr("Conakry", "tz_names"), - QObject::tr("Aden", "tz_names"), - QObject::tr("Mayotte", "tz_names"), - QObject::tr("Grenada", "tz_names"), - QObject::tr("Mogadishu", "tz_names"), - QObject::tr("Sitka", "tz_names"), - QObject::tr("Kwajalein", "tz_names"), - QObject::tr("Pontianak", "tz_names"), - QObject::tr("Uzhgorod", "tz_names"), - QObject::tr("Ust-Nera", "tz_names"), - QObject::tr("Nairobi", "tz_names"), - QObject::tr("Saipan", "tz_names"), - QObject::tr("Sao Paulo", "tz_names"), - QObject::tr("Gaza", "tz_names"), - QObject::tr("Jakarta", "tz_names"), - QObject::tr("Godthab", "tz_names"), - QObject::tr("Choibalsan", "tz_names"), - QObject::tr("Jersey", "tz_names"), - QObject::tr("Tripoli", "tz_names"), - QObject::tr("Blantyre", "tz_names"), - QObject::tr("Freetown", "tz_names"), - QObject::tr("Andorra", "tz_names"), - QObject::tr("Danmarkshavn", "tz_names"), - QObject::tr("Los Angeles", "tz_names"), - QObject::tr("Caracas", "tz_names"), - QObject::tr("Oslo", "tz_names"), - QObject::tr("Rothera", "tz_names"), - QObject::tr("Budapest", "tz_names"), - QObject::tr("St Lucia", "tz_names"), - QObject::tr("Indiana/Indianapolis", "tz_names"), - QObject::tr("Paris", "tz_names"), - QObject::tr("Yerevan", "tz_names"), - QObject::tr("St Barthelemy", "tz_names"), - QObject::tr("Cuiaba", "tz_names"), - QObject::tr("Asuncion", "tz_names"), - QObject::tr("Manila", "tz_names"), - QObject::tr("Edmonton", "tz_names"), - QObject::tr("Vancouver", "tz_names"), - QObject::tr("Tongatapu", "tz_names"), - QObject::tr("Bahrain", "tz_names"), - QObject::tr("Kinshasa", "tz_names"), - QObject::tr("Mariehamn", "tz_names"), - QObject::tr("Kosrae", "tz_names"), - QObject::tr("Luanda", "tz_names"), - QObject::tr("Tirane", "tz_names"), - QObject::tr("Manaus", "tz_names"), - QObject::tr("Helsinki", "tz_names"), - QObject::tr("Chihuahua", "tz_names"), - QObject::tr("Khandyga", "tz_names"), - QObject::tr("Mexico City", "tz_names"), - QObject::tr("Prague", "tz_names"), - QObject::tr("Atyrau", "tz_names"), - QObject::tr("Jayapura", "tz_names"), - QObject::tr("Novosibirsk", "tz_names"), - QObject::tr("Eucla", "tz_names"), - QObject::tr("Vilnius", "tz_names"), - QObject::tr("Dublin", "tz_names"), - QObject::tr("Luxembourg", "tz_names"), - QObject::tr("Johannesburg", "tz_names"), - QObject::tr("Yellowknife", "tz_names"), - QObject::tr("Norfolk", "tz_names"), - QObject::tr("Menominee", "tz_names"), - QObject::tr("Dushanbe", "tz_names"), - QObject::tr("Noronha", "tz_names"), - QObject::tr("Kathmandu", "tz_names"), - QObject::tr("Shanghai", "tz_names"), - QObject::tr("Goose Bay", "tz_names"), - QObject::tr("Amman", "tz_names"), - QObject::tr("Santiago", "tz_names"), - QObject::tr("Campo Grande", "tz_names"), - QObject::tr("Dili", "tz_names"), - QObject::tr("Nouakchott", "tz_names"), - QObject::tr("Bahia", "tz_names"), - QObject::tr("Guadalcanal", "tz_names"), - QObject::tr("Simferopol", "tz_names"), - QObject::tr("Douala", "tz_names"), - QObject::tr("Dar es Salaam", "tz_names"), - QObject::tr("Bratislava", "tz_names"), - QObject::tr("Minsk", "tz_names"), - QObject::tr("Indiana/Vevay", "tz_names"), - QObject::tr("Cairo", "tz_names"), - QObject::tr("Winnipeg", "tz_names"), - QObject::tr("Kiev", "tz_names"), - QObject::tr("Broken Hill", "tz_names"), - QObject::tr("Montserrat", "tz_names"), - QObject::tr("Perth", "tz_names"), - QObject::tr("Ljubljana", "tz_names"), - QObject::tr("Lisbon", "tz_names"), - QObject::tr("Majuro", "tz_names"), - QObject::tr("North Dakota/Center", "tz_names"), - QObject::tr("Lome", "tz_names"), - QObject::tr("DumontDUrville", "tz_names"), - QObject::tr("Argentina/Ushuaia", "tz_names"), - QObject::tr("Atikokan", "tz_names"), - QObject::tr("Lubumbashi", "tz_names"), - QObject::tr("Santarem", "tz_names"), - QObject::tr("Riga", "tz_names"), - QObject::tr("Kamchatka", "tz_names"), - QObject::tr("Aruba", "tz_names"), - QObject::tr("Azores", "tz_names"), - QObject::tr("Maseru", "tz_names"), - QObject::tr("Faroe", "tz_names"), - QObject::tr("Niue", "tz_names"), - QObject::tr("Gaborone", "tz_names"), - QObject::tr("Port Moresby", "tz_names"), - QObject::tr("Cocos", "tz_names"), - QObject::tr("Blanc-Sablon", "tz_names"), - QObject::tr("Argentina/San Luis", "tz_names"), - QObject::tr("Mahe", "tz_names"), - QObject::tr("Kentucky/Monticello", "tz_names"), - QObject::tr("Galapagos", "tz_names"), - QObject::tr("South Georgia", "tz_names"), - QObject::tr("Ho Chi Minh", "tz_names"), - QObject::tr("Kiritimati", "tz_names"), - QObject::tr("Mazatlan", "tz_names"), - QObject::tr("Argentina/Catamarca", "tz_names"), - QObject::tr("St Kitts", "tz_names"), - QObject::tr("Kentucky/Louisville", "tz_names"), - QObject::tr("Bougainville", "tz_names"), - QObject::tr("Lower Princes", "tz_names"), - QObject::tr("Pago Pago", "tz_names"), - QObject::tr("Curacao", "tz_names"), - QObject::tr("Tahiti", "tz_names"), - QObject::tr("Irkutsk", "tz_names"), - QObject::tr("Thunder Bay", "tz_names"), - QObject::tr("Rio Branco", "tz_names"), - QObject::tr("Argentina/San Juan", "tz_names"), - QObject::tr("Paramaribo", "tz_names"), - QObject::tr("Libreville", "tz_names"), - QObject::tr("Lusaka", "tz_names"), - QObject::tr("Hebron", "tz_names"), - QObject::tr("Algiers", "tz_names"), - QObject::tr("Ojinaga", "tz_names"), - QObject::tr("Rarotonga", "tz_names"), - QObject::tr("Maputo", "tz_names"), - QObject::tr("Honolulu", "tz_names"), - QObject::tr("Brisbane", "tz_names"), - QObject::tr("Ulaanbaatar", "tz_names"), - QObject::tr("Chuuk", "tz_names"), - QObject::tr("Aqtobe", "tz_names"), - QObject::tr("Guayaquil", "tz_names"), - QObject::tr("Canary", "tz_names"), - QObject::tr("Mbabane", "tz_names"), QObject::tr("Abidjan", "tz_names"), - QObject::tr("Muscat", "tz_names"), + QObject::tr("Accra", "tz_names"), + QObject::tr("Adak", "tz_names"), + QObject::tr("Addis Ababa", "tz_names"), + QObject::tr("Adelaide", "tz_names"), + QObject::tr("Aden", "tz_names"), + QObject::tr("Algiers", "tz_names"), + QObject::tr("Almaty", "tz_names"), + QObject::tr("Amman", "tz_names"), + QObject::tr("Amsterdam", "tz_names"), + QObject::tr("Anadyr", "tz_names"), + QObject::tr("Anchorage", "tz_names"), + QObject::tr("Andorra", "tz_names"), + QObject::tr("Anguilla", "tz_names"), + QObject::tr("Antananarivo", "tz_names"), + QObject::tr("Antigua", "tz_names"), QObject::tr("Apia", "tz_names"), - QObject::tr("North Dakota/New Salem", "tz_names"), - QObject::tr("Istanbul", "tz_names"), - QObject::tr("Belgrade", "tz_names"), - QObject::tr("Juba", "tz_names"), - QObject::tr("Midway", "tz_names"), - QObject::tr("Berlin", "tz_names"), - QObject::tr("Martinique", "tz_names"), - QObject::tr("Indiana/Vincennes", "tz_names"), + QObject::tr("Aqtau", "tz_names"), + QObject::tr("Aqtobe", "tz_names"), + QObject::tr("Araguaina", "tz_names"), + QObject::tr("Argentina/Buenos Aires", "tz_names"), + QObject::tr("Argentina/Catamarca", "tz_names"), + QObject::tr("Argentina/Cordoba", "tz_names"), + QObject::tr("Argentina/Jujuy", "tz_names"), + QObject::tr("Argentina/La Rioja", "tz_names"), + QObject::tr("Argentina/Mendoza", "tz_names"), + QObject::tr("Argentina/Rio Gallegos", "tz_names"), + QObject::tr("Argentina/Salta", "tz_names"), + QObject::tr("Argentina/San Juan", "tz_names"), + QObject::tr("Argentina/San Luis", "tz_names"), + QObject::tr("Argentina/Tucuman", "tz_names"), + QObject::tr("Argentina/Ushuaia", "tz_names"), + QObject::tr("Aruba", "tz_names"), + QObject::tr("Ashgabat", "tz_names"), + QObject::tr("Asmara", "tz_names"), + QObject::tr("Astrakhan", "tz_names"), + QObject::tr("Asuncion", "tz_names"), QObject::tr("Athens", "tz_names"), - QObject::tr("Ouagadougou", "tz_names"), - QObject::tr("Podgorica", "tz_names"), - QObject::tr("Sao Tome", "tz_names"), - QObject::tr("Vaduz", "tz_names"), - QObject::tr("Qatar", "tz_names"), - QObject::tr("Cancun", "tz_names"), - QObject::tr("Taipei", "tz_names"), - QObject::tr("Puerto Rico", "tz_names"), - QObject::tr("Metlakatla", "tz_names"), - QObject::tr("Jamaica", "tz_names"), - QObject::tr("Kaliningrad", "tz_names"), - QObject::tr("Enderbury", "tz_names"), - QObject::tr("Currie", "tz_names"), - QObject::tr("Thimphu", "tz_names"), - QObject::tr("Matamoros", "tz_names"), - QObject::tr("Montevideo", "tz_names"), - QObject::tr("Gibraltar", "tz_names"), - QObject::tr("Tijuana", "tz_names"), - QObject::tr("St Thomas", "tz_names"), - QObject::tr("London", "tz_names"), - QObject::tr("Yekaterinburg", "tz_names"), - QObject::tr("Easter", "tz_names"), + QObject::tr("Atikokan", "tz_names"), + QObject::tr("Atyrau", "tz_names"), + QObject::tr("Auckland", "tz_names"), + QObject::tr("Azores", "tz_names"), + QObject::tr("Baghdad", "tz_names"), + QObject::tr("Bahia", "tz_names"), + QObject::tr("Bahia Banderas", "tz_names"), + QObject::tr("Bahrain", "tz_names"), + QObject::tr("Baku", "tz_names"), + QObject::tr("Bamako", "tz_names"), + QObject::tr("Bangkok", "tz_names"), + QObject::tr("Bangui", "tz_names"), + QObject::tr("Banjul", "tz_names"), + QObject::tr("Barbados", "tz_names"), + QObject::tr("Barnaul", "tz_names"), + QObject::tr("Beirut", "tz_names"), + QObject::tr("Belem", "tz_names"), + QObject::tr("Belgrade", "tz_names"), + QObject::tr("Belize", "tz_names"), + QObject::tr("Berlin", "tz_names"), + QObject::tr("Bermuda", "tz_names"), + QObject::tr("Bishkek", "tz_names"), + QObject::tr("Bissau", "tz_names"), + QObject::tr("Blanc-Sablon", "tz_names"), + QObject::tr("Blantyre", "tz_names"), QObject::tr("Boa Vista", "tz_names"), - QObject::tr("Dawson Creek", "tz_names"), - QObject::tr("Hermosillo", "tz_names"), - QObject::tr("Famagusta", "tz_names"), - QObject::tr("Monterrey", "tz_names"), - QObject::tr("Dominica", "tz_names"), - QObject::tr("Guadeloupe", "tz_names"), - QObject::tr("Indiana/Tell City", "tz_names"), - QObject::tr("Dubai", "tz_names"), - QObject::tr("Malabo", "tz_names"), + QObject::tr("Bogota", "tz_names"), + QObject::tr("Boise", "tz_names"), + QObject::tr("Bougainville", "tz_names"), + QObject::tr("Bratislava", "tz_names"), + QObject::tr("Brazzaville", "tz_names"), + QObject::tr("Brisbane", "tz_names"), + QObject::tr("Broken Hill", "tz_names"), + QObject::tr("Brunei", "tz_names"), + QObject::tr("Brussels", "tz_names"), + QObject::tr("Bucharest", "tz_names"), + QObject::tr("Budapest", "tz_names"), QObject::tr("Bujumbura", "tz_names"), - QObject::tr("Fiji", "tz_names"), - QObject::tr("St Vincent", "tz_names"), - QObject::tr("Qostanay", "tz_names"), - QObject::tr("Tomsk", "tz_names"), - QObject::tr("Juneau", "tz_names"), + QObject::tr("Busingen", "tz_names"), + QObject::tr("Cairo", "tz_names"), + QObject::tr("Cambridge Bay", "tz_names"), + QObject::tr("Campo Grande", "tz_names"), + QObject::tr("Canary", "tz_names"), + QObject::tr("Cancun", "tz_names"), + QObject::tr("Cape Verde", "tz_names"), + QObject::tr("Caracas", "tz_names"), + QObject::tr("Casablanca", "tz_names"), + QObject::tr("Casey", "tz_names"), + QObject::tr("Cayenne", "tz_names"), + QObject::tr("Cayman", "tz_names"), + QObject::tr("Ceuta", "tz_names"), + QObject::tr("Chagos", "tz_names"), + QObject::tr("Chatham", "tz_names"), + QObject::tr("Chicago", "tz_names"), + QObject::tr("Chihuahua", "tz_names"), QObject::tr("Chisinau", "tz_names"), - QObject::tr("Lord Howe", "tz_names"), + QObject::tr("Chita", "tz_names"), + QObject::tr("Choibalsan", "tz_names"), + QObject::tr("Christmas", "tz_names"), + QObject::tr("Chuuk", "tz_names"), + QObject::tr("Cocos", "tz_names"), + QObject::tr("Colombo", "tz_names"), + QObject::tr("Comoro", "tz_names"), + QObject::tr("Conakry", "tz_names"), + QObject::tr("Copenhagen", "tz_names"), + QObject::tr("Costa Rica", "tz_names"), + QObject::tr("Creston", "tz_names"), + QObject::tr("Cuiaba", "tz_names"), + QObject::tr("Curacao", "tz_names"), + QObject::tr("Currie", "tz_names"), + QObject::tr("Dakar", "tz_names"), + QObject::tr("Damascus", "tz_names"), + QObject::tr("Danmarkshavn", "tz_names"), + QObject::tr("Dar es Salaam", "tz_names"), + QObject::tr("Darwin", "tz_names"), + QObject::tr("Davis", "tz_names"), + QObject::tr("Dawson", "tz_names"), + QObject::tr("Dawson Creek", "tz_names"), + QObject::tr("Denver", "tz_names"), + QObject::tr("Detroit", "tz_names"), + QObject::tr("Dhaka", "tz_names"), + QObject::tr("Dili", "tz_names"), + QObject::tr("Djibouti", "tz_names"), + QObject::tr("Dominica", "tz_names"), + QObject::tr("Douala", "tz_names"), + QObject::tr("Dubai", "tz_names"), + QObject::tr("Dublin", "tz_names"), + QObject::tr("DumontDUrville", "tz_names"), + QObject::tr("Dushanbe", "tz_names"), + QObject::tr("Easter", "tz_names"), + QObject::tr("Edmonton", "tz_names"), + QObject::tr("Efate", "tz_names"), + QObject::tr("Eirunepe", "tz_names"), + QObject::tr("El Aaiun", "tz_names"), + QObject::tr("El Salvador", "tz_names"), + QObject::tr("Enderbury", "tz_names"), + QObject::tr("Eucla", "tz_names"), + QObject::tr("Fakaofo", "tz_names"), + QObject::tr("Famagusta", "tz_names"), + QObject::tr("Faroe", "tz_names"), + QObject::tr("Fiji", "tz_names"), + QObject::tr("Fort Nelson", "tz_names"), + QObject::tr("Fortaleza", "tz_names"), + QObject::tr("Freetown", "tz_names"), + QObject::tr("Funafuti", "tz_names"), + QObject::tr("Gaborone", "tz_names"), + QObject::tr("Galapagos", "tz_names"), + QObject::tr("Gambier", "tz_names"), + QObject::tr("Gaza", "tz_names"), + QObject::tr("Gibraltar", "tz_names"), + QObject::tr("Glace Bay", "tz_names"), + QObject::tr("Godthab", "tz_names"), + QObject::tr("Goose Bay", "tz_names"), + QObject::tr("Grand Turk", "tz_names"), + QObject::tr("Grenada", "tz_names"), + QObject::tr("Guadalcanal", "tz_names"), + QObject::tr("Guadeloupe", "tz_names"), + QObject::tr("Guam", "tz_names"), + QObject::tr("Guatemala", "tz_names"), + QObject::tr("Guayaquil", "tz_names"), + QObject::tr("Guernsey", "tz_names"), + QObject::tr("Guyana", "tz_names"), + QObject::tr("Halifax", "tz_names"), + QObject::tr("Harare", "tz_names"), + QObject::tr("Havana", "tz_names"), + QObject::tr("Hebron", "tz_names"), + QObject::tr("Helsinki", "tz_names"), + QObject::tr("Hermosillo", "tz_names"), + QObject::tr("Ho Chi Minh", "tz_names"), + QObject::tr("Hobart", "tz_names"), + QObject::tr("Hong Kong", "tz_names"), + QObject::tr("Honolulu", "tz_names"), + QObject::tr("Hovd", "tz_names"), + QObject::tr("Indiana/Indianapolis", "tz_names"), + QObject::tr("Indiana/Knox", "tz_names"), + QObject::tr("Indiana/Marengo", "tz_names"), + QObject::tr("Indiana/Petersburg", "tz_names"), + QObject::tr("Indiana/Tell City", "tz_names"), + QObject::tr("Indiana/Vevay", "tz_names"), + QObject::tr("Indiana/Vincennes", "tz_names"), + QObject::tr("Indiana/Winamac", "tz_names"), + QObject::tr("Inuvik", "tz_names"), + QObject::tr("Iqaluit", "tz_names"), + QObject::tr("Irkutsk", "tz_names"), + QObject::tr("Isle of Man", "tz_names"), + QObject::tr("Istanbul", "tz_names"), + QObject::tr("Jakarta", "tz_names"), + QObject::tr("Jamaica", "tz_names"), + QObject::tr("Jayapura", "tz_names"), + QObject::tr("Jersey", "tz_names"), + QObject::tr("Jerusalem", "tz_names"), + QObject::tr("Johannesburg", "tz_names"), + QObject::tr("Juba", "tz_names"), + QObject::tr("Juneau", "tz_names"), QObject::tr("Kabul", "tz_names"), + QObject::tr("Kaliningrad", "tz_names"), + QObject::tr("Kamchatka", "tz_names"), + QObject::tr("Kampala", "tz_names"), + QObject::tr("Karachi", "tz_names"), + QObject::tr("Kathmandu", "tz_names"), + QObject::tr("Kentucky/Louisville", "tz_names"), + QObject::tr("Kentucky/Monticello", "tz_names"), + QObject::tr("Kerguelen", "tz_names"), + QObject::tr("Khandyga", "tz_names"), + QObject::tr("Khartoum", "tz_names"), + QObject::tr("Kiev", "tz_names"), + QObject::tr("Kigali", "tz_names"), + QObject::tr("Kinshasa", "tz_names"), + QObject::tr("Kiritimati", "tz_names"), + QObject::tr("Kirov", "tz_names"), + QObject::tr("Kolkata", "tz_names"), + QObject::tr("Kosrae", "tz_names"), + QObject::tr("Kralendijk", "tz_names"), + QObject::tr("Krasnoyarsk", "tz_names"), + QObject::tr("Kuala Lumpur", "tz_names"), + QObject::tr("Kuching", "tz_names"), + QObject::tr("Kuwait", "tz_names"), + QObject::tr("Kwajalein", "tz_names"), + QObject::tr("La Paz", "tz_names"), + QObject::tr("Lagos", "tz_names"), + QObject::tr("Libreville", "tz_names"), + QObject::tr("Lima", "tz_names"), + QObject::tr("Lindeman", "tz_names"), + QObject::tr("Lisbon", "tz_names"), + QObject::tr("Ljubljana", "tz_names"), + QObject::tr("Lome", "tz_names"), + QObject::tr("London", "tz_names"), + QObject::tr("Longyearbyen", "tz_names"), + QObject::tr("Lord Howe", "tz_names"), + QObject::tr("Los Angeles", "tz_names"), + QObject::tr("Lower Princes", "tz_names"), + QObject::tr("Luanda", "tz_names"), + QObject::tr("Lubumbashi", "tz_names"), + QObject::tr("Lusaka", "tz_names"), + QObject::tr("Luxembourg", "tz_names"), + QObject::tr("Macau", "tz_names"), + QObject::tr("Maceio", "tz_names"), + QObject::tr("Macquarie", "tz_names"), + QObject::tr("Madeira", "tz_names"), + QObject::tr("Madrid", "tz_names"), + QObject::tr("Magadan", "tz_names"), + QObject::tr("Mahe", "tz_names"), + QObject::tr("Majuro", "tz_names"), + QObject::tr("Makassar", "tz_names"), + QObject::tr("Malabo", "tz_names"), + QObject::tr("Maldives", "tz_names"), + QObject::tr("Malta", "tz_names"), + QObject::tr("Managua", "tz_names"), + QObject::tr("Manaus", "tz_names"), + QObject::tr("Manila", "tz_names"), + QObject::tr("Maputo", "tz_names"), + QObject::tr("Mariehamn", "tz_names"), + QObject::tr("Marigot", "tz_names"), + QObject::tr("Marquesas", "tz_names"), + QObject::tr("Martinique", "tz_names"), + QObject::tr("Maseru", "tz_names"), + QObject::tr("Matamoros", "tz_names"), + QObject::tr("Mauritius", "tz_names"), + QObject::tr("Mawson", "tz_names"), + QObject::tr("Mayotte", "tz_names"), + QObject::tr("Mazatlan", "tz_names"), + QObject::tr("Mbabane", "tz_names"), + QObject::tr("McMurdo", "tz_names"), + QObject::tr("Melbourne", "tz_names"), + QObject::tr("Menominee", "tz_names"), + QObject::tr("Merida", "tz_names"), + QObject::tr("Metlakatla", "tz_names"), + QObject::tr("Mexico City", "tz_names"), + QObject::tr("Midway", "tz_names"), + QObject::tr("Minsk", "tz_names"), + QObject::tr("Miquelon", "tz_names"), + QObject::tr("Mogadishu", "tz_names"), + QObject::tr("Monaco", "tz_names"), + QObject::tr("Moncton", "tz_names"), + QObject::tr("Monrovia", "tz_names"), + QObject::tr("Monterrey", "tz_names"), + QObject::tr("Montevideo", "tz_names"), + QObject::tr("Montserrat", "tz_names"), + QObject::tr("Moscow", "tz_names"), + QObject::tr("Muscat", "tz_names"), + QObject::tr("Nairobi", "tz_names"), + QObject::tr("Nassau", "tz_names"), + QObject::tr("Nauru", "tz_names"), + QObject::tr("Ndjamena", "tz_names"), + QObject::tr("New York", "tz_names"), + QObject::tr("Niamey", "tz_names"), + QObject::tr("Nicosia", "tz_names"), + QObject::tr("Nipigon", "tz_names"), + QObject::tr("Niue", "tz_names"), + QObject::tr("Nome", "tz_names"), + QObject::tr("Norfolk", "tz_names"), + QObject::tr("Noronha", "tz_names"), + QObject::tr("North Dakota/Beulah", "tz_names"), + QObject::tr("North Dakota/Center", "tz_names"), + QObject::tr("North Dakota/New Salem", "tz_names"), + QObject::tr("Nouakchott", "tz_names"), + QObject::tr("Noumea", "tz_names"), + QObject::tr("Novokuznetsk", "tz_names"), + QObject::tr("Novosibirsk", "tz_names"), + QObject::tr("Ojinaga", "tz_names"), + QObject::tr("Omsk", "tz_names"), + QObject::tr("Oral", "tz_names"), + QObject::tr("Oslo", "tz_names"), + QObject::tr("Ouagadougou", "tz_names"), + QObject::tr("Pago Pago", "tz_names"), + QObject::tr("Palau", "tz_names"), + QObject::tr("Palmer", "tz_names"), + QObject::tr("Panama", "tz_names"), + QObject::tr("Pangnirtung", "tz_names"), + QObject::tr("Paramaribo", "tz_names"), + QObject::tr("Paris", "tz_names"), + QObject::tr("Perth", "tz_names"), + QObject::tr("Phnom Penh", "tz_names"), + QObject::tr("Phoenix", "tz_names"), + QObject::tr("Pitcairn", "tz_names"), + QObject::tr("Podgorica", "tz_names"), + QObject::tr("Pohnpei", "tz_names"), + QObject::tr("Pontianak", "tz_names"), + QObject::tr("Port Moresby", "tz_names"), + QObject::tr("Port of Spain", "tz_names"), + QObject::tr("Port-au-Prince", "tz_names"), + QObject::tr("Porto Velho", "tz_names"), + QObject::tr("Porto-Novo", "tz_names"), + QObject::tr("Prague", "tz_names"), + QObject::tr("Puerto Rico", "tz_names"), + QObject::tr("Punta Arenas", "tz_names"), + QObject::tr("Pyongyang", "tz_names"), + QObject::tr("Qatar", "tz_names"), + QObject::tr("Qostanay", "tz_names"), + QObject::tr("Qyzylorda", "tz_names"), + QObject::tr("Rainy River", "tz_names"), + QObject::tr("Rankin Inlet", "tz_names"), + QObject::tr("Rarotonga", "tz_names"), + QObject::tr("Recife", "tz_names"), + QObject::tr("Regina", "tz_names"), + QObject::tr("Resolute", "tz_names"), + QObject::tr("Reunion", "tz_names"), + QObject::tr("Reykjavik", "tz_names"), + QObject::tr("Riga", "tz_names"), + QObject::tr("Rio Branco", "tz_names"), + QObject::tr("Riyadh", "tz_names"), + QObject::tr("Rome", "tz_names"), + QObject::tr("Rothera", "tz_names"), + QObject::tr("Saipan", "tz_names"), + QObject::tr("Sakhalin", "tz_names"), + QObject::tr("Samara", "tz_names"), + QObject::tr("Samarkand", "tz_names"), + QObject::tr("San Marino", "tz_names"), + QObject::tr("Santarem", "tz_names"), + QObject::tr("Santiago", "tz_names"), + QObject::tr("Santo Domingo", "tz_names"), + QObject::tr("Sao Paulo", "tz_names"), + QObject::tr("Sao Tome", "tz_names"), + QObject::tr("Sarajevo", "tz_names"), + QObject::tr("Saratov", "tz_names"), + QObject::tr("Scoresbysund", "tz_names"), + QObject::tr("Seoul", "tz_names"), + QObject::tr("Shanghai", "tz_names"), + QObject::tr("Simferopol", "tz_names"), + QObject::tr("Singapore", "tz_names"), + QObject::tr("Sitka", "tz_names"), + QObject::tr("Skopje", "tz_names"), + QObject::tr("Sofia", "tz_names"), + QObject::tr("South Georgia", "tz_names"), + QObject::tr("Srednekolymsk", "tz_names"), + QObject::tr("St Barthelemy", "tz_names"), + QObject::tr("St Helena", "tz_names"), + QObject::tr("St Johns", "tz_names"), + QObject::tr("St Kitts", "tz_names"), + QObject::tr("St Lucia", "tz_names"), + QObject::tr("St Thomas", "tz_names"), + QObject::tr("St Vincent", "tz_names"), + QObject::tr("Stanley", "tz_names"), + QObject::tr("Stockholm", "tz_names"), + QObject::tr("Swift Current", "tz_names"), + QObject::tr("Sydney", "tz_names"), + QObject::tr("Syowa", "tz_names"), + QObject::tr("Tahiti", "tz_names"), + QObject::tr("Taipei", "tz_names"), + QObject::tr("Tallinn", "tz_names"), + QObject::tr("Tarawa", "tz_names"), + QObject::tr("Tashkent", "tz_names"), + QObject::tr("Tbilisi", "tz_names"), + QObject::tr("Tegucigalpa", "tz_names"), + QObject::tr("Tehran", "tz_names"), + QObject::tr("Thimphu", "tz_names"), + QObject::tr("Thule", "tz_names"), + QObject::tr("Thunder Bay", "tz_names"), + QObject::tr("Tijuana", "tz_names"), + QObject::tr("Tirane", "tz_names"), + QObject::tr("Tokyo", "tz_names"), + QObject::tr("Tomsk", "tz_names"), + QObject::tr("Tongatapu", "tz_names"), QObject::tr("Toronto", "tz_names"), + QObject::tr("Tortola", "tz_names"), + QObject::tr("Tripoli", "tz_names"), + QObject::tr("Troll", "tz_names"), + QObject::tr("Tunis", "tz_names"), + QObject::tr("Ulaanbaatar", "tz_names"), + QObject::tr("Ulyanovsk", "tz_names"), + QObject::tr("Urumqi", "tz_names"), + QObject::tr("Ust-Nera", "tz_names"), + QObject::tr("Uzhgorod", "tz_names"), + QObject::tr("Vaduz", "tz_names"), + QObject::tr("Vancouver", "tz_names"), + QObject::tr("Vatican", "tz_names"), + QObject::tr("Vienna", "tz_names"), + QObject::tr("Vientiane", "tz_names"), + QObject::tr("Vilnius", "tz_names"), + QObject::tr("Vladivostok", "tz_names"), + QObject::tr("Volgograd", "tz_names"), + QObject::tr("Vostok", "tz_names"), + QObject::tr("Wake", "tz_names"), + QObject::tr("Wallis", "tz_names"), + QObject::tr("Warsaw", "tz_names"), + QObject::tr("Whitehorse", "tz_names"), + QObject::tr("Windhoek", "tz_names"), + QObject::tr("Winnipeg", "tz_names"), + QObject::tr("Yakutat", "tz_names"), + QObject::tr("Yakutsk", "tz_names"), + QObject::tr("Yangon", "tz_names"), + QObject::tr("Yekaterinburg", "tz_names"), + QObject::tr("Yellowknife", "tz_names"), + QObject::tr("Yerevan", "tz_names"), + QObject::tr("Zagreb", "tz_names"), + QObject::tr("Zaporozhye", "tz_names"), + QObject::tr("Zurich", "tz_names"), QString() }; } diff --git a/src/libcalamares/locale/zone-extractor.py b/src/libcalamares/locale/zone-extractor.py index 3622534da..6b1433adf 100644 --- a/src/libcalamares/locale/zone-extractor.py +++ b/src/libcalamares/locale/zone-extractor.py @@ -37,8 +37,8 @@ """ Python3 script to scrape some data out of zoneinfo/zone.tab. -To use this script, you must have a zone.tab in a standard location. -FreeBSD uses /usr/share/zoneinfo/zone.tab, so that's where it looks. +To use this script, you must have a zone.tab in a standard location, +/usr/share/zoneinfo/zone.tab (this is usual on FreeBSD and Linux). Prints out a few tables of zone names for use in translations. """ @@ -67,7 +67,7 @@ def write_set(file, label, set): file.write("/* This returns a reference to local, which is a terrible idea.\n * Good thing it's not meant to be compiled.\n */\n") # Note {{ is an escaped { for Python string formatting file.write("static const QStringList& {!s}_table()\n{{\n\treturn QStringList {{\n".format(label)) - for x in set: + for x in sorted(set): file.write("""\t\tQObject::tr("{!s}", "{!s}"),\n""".format(x, label)) file.write("\t\tQString()\n\t};\n}\n\n") From abd3c4171bbe66a74f4f2d33151174426adf9bf6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 11:08:21 +0100 Subject: [PATCH 515/626] [libcalamares] Prevent CI coding-style fixes to generated code --- src/libcalamares/locale/ZoneData_p.cpp | 3 +++ src/libcalamares/locale/zone-extractor.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/libcalamares/locale/ZoneData_p.cpp b/src/libcalamares/locale/ZoneData_p.cpp index f0b92f33f..b73d17ad3 100644 --- a/src/libcalamares/locale/ZoneData_p.cpp +++ b/src/libcalamares/locale/ZoneData_p.cpp @@ -18,6 +18,9 @@ */ /** THIS FILE EXISTS ONLY FOR TRANSLATIONS PURPOSES **/ + +// *INDENT-OFF* +// clang-format off /* This returns a reference to local, which is a terrible idea. * Good thing it's not meant to be compiled. */ diff --git a/src/libcalamares/locale/zone-extractor.py b/src/libcalamares/locale/zone-extractor.py index 6b1433adf..92165d824 100644 --- a/src/libcalamares/locale/zone-extractor.py +++ b/src/libcalamares/locale/zone-extractor.py @@ -91,6 +91,9 @@ cpp_header_comment = """/* GENERATED FILE DO NOT EDIT */ /** THIS FILE EXISTS ONLY FOR TRANSLATIONS PURPOSES **/ + +// *INDENT-OFF* +// clang-format off """ if __name__ == "__main__": From 3af2754022d41dc091c0f26a22e23bddbb19b8f8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 11:18:35 +0100 Subject: [PATCH 516/626] [libcalamares] Implement translatable-pair-of-char* - This is base functionality for a translatable model of TimeZone names that is scraped from zone.tab --- src/libcalamares/locale/TimeZone.cpp | 83 ++++++++++++++++++++++++++++ src/libcalamares/locale/TimeZone.h | 31 ++++++++--- 2 files changed, 105 insertions(+), 9 deletions(-) create mode 100644 src/libcalamares/locale/TimeZone.cpp diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp new file mode 100644 index 000000000..900548c72 --- /dev/null +++ b/src/libcalamares/locale/TimeZone.cpp @@ -0,0 +1,83 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * 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 . + */ + +#include "TimeZone.h" + +#include + +namespace CalamaresUtils +{ +namespace Locale +{ + + +CStringPair::CStringPair( CStringPair&& t ) +{ + // My pointers are initialized to nullptr + std::swap( m_human, t.m_human ); + std::swap( m_key, t.m_key ); +} + +CStringPair::CStringPair( const CStringPair& t ) + : m_human( t.m_human ? strdup( t.m_human ) : nullptr ) + , m_key( t.m_key ? strdup( t.m_key ) : nullptr ) +{ +} + +/** @brief Massage an identifier into a human-readable form + * + * Makes a copy of @p s, caller must free() it. + */ +static char* +munge( const char* s ) +{ + char* t = strdup( s ); + if ( !t ) + { + return nullptr; + } + + // replace("_"," ") in the Python script + char* p = t; + while ( *p ) + { + if ( ( *p ) == '_' ) + { + *p = ' '; + } + ++p; + } + + return t; +} + +CStringPair::CStringPair( const char* s1 ) + : m_human( s1 ? munge( s1 ) : nullptr ) + , m_key( s1 ? strdup( s1 ) : nullptr ) +{ +} + + +CStringPair::~CStringPair() +{ + free( m_human ); + free( m_key ); +} + +} // namespace Locale +} // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index b9102dff9..f3590c898 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -19,6 +19,7 @@ #ifndef LOCALE_TIMEZONE_H #define LOCALE_TIMEZONE_H +#include #include namespace CalamaresUtils @@ -39,14 +40,20 @@ namespace Locale class CStringPair { public: - explicit CStringPair(const char *s1); - CStringPair(CStringPair&& t); - CStringPair(const CStringPair&) = delete; - ~CStringPair(); + /// @brief An empty pair + CStringPair() {}; + /// @brief Given an identifier, create the pair + explicit CStringPair( const char* s1 ); + CStringPair( CStringPair&& t ); + CStringPair( const CStringPair& ); + virtual ~CStringPair(); -private: - const char* m_human = nullptr; - const char* m_key = nullptr; + /// @brief Give the localized human-readable form + virtual QString tr() const = 0; + +protected: + char* m_human = nullptr; + char* m_key = nullptr; }; /// @brief A pair of strings for timezone regions (e.g. "America") @@ -54,6 +61,9 @@ class TZRegion : public CStringPair { public: using CStringPair::CStringPair; + + // NOTE: context name must match what's used in zone-extractor.py + QString tr() const override { return QObject::tr( m_human, "tz_regions" ); } }; /// @brief A pair of strings for specific timezone names (e.g. "New_York") @@ -61,9 +71,12 @@ class TZZone : public CStringPair { public: using CStringPair::CStringPair; + + // NOTE: context name must match what's used in zone-extractor.py + QString tr() const override { return QObject::tr( m_human, "tz_names" ); } }; -} -} +} // namespace Locale +} // namespace CalamaresUtils #endif // LOCALE_TIMEZONE_H From 71f3614eb771e4c24c8799739915acace5a6d05b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 11:19:30 +0100 Subject: [PATCH 517/626] [libcalamares] Add TimeZone support to build - Add to CMakeLists.txt - Test basic scenarios --- src/libcalamares/CMakeLists.txt | 1 + src/libcalamares/locale/Tests.cpp | 32 +++++++++++++++++++++++++++++++ src/libcalamares/locale/Tests.h | 4 ++++ 3 files changed, 37 insertions(+) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index f942dbde1..ffc2e20b6 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -34,6 +34,7 @@ set( libSources locale/Label.cpp locale/LabelModel.cpp locale/Lookup.cpp + locale/TimeZone.cpp locale/TranslatableConfiguration.cpp # Network service diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index a9e5e7399..6acb62eab 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -19,6 +19,7 @@ #include "Tests.h" #include "locale/LabelModel.h" +#include "locale/TimeZone.h" #include "locale/TranslatableConfiguration.h" #include "CalamaresVersion.h" @@ -199,3 +200,34 @@ LocaleTests::testTranslatableConfig2() QVERIFY( ts3.isEmpty() ); QCOMPARE( ts3.count(), 1 ); // The empty string } + +void +LocaleTests::testSimpleZones() +{ + using namespace CalamaresUtils::Locale; + + { + TZRegion r; + QVERIFY( r.tr().isEmpty() ); + } + { + TZZone n; + QVERIFY( n.tr().isEmpty() ); + } + { + TZRegion r0( "xAmsterdam" ); + QCOMPARE( r0.tr(), QStringLiteral( "xAmsterdam" ) ); + TZRegion r1( r0 ); + QCOMPARE( r0.tr(), QStringLiteral( "xAmsterdam" ) ); + QCOMPARE( r1.tr(), QStringLiteral( "xAmsterdam" ) ); + TZRegion r2( std::move( r0 ) ); + QCOMPARE( r2.tr(), QStringLiteral( "xAmsterdam" ) ); + QCOMPARE( r0.tr(), QString() ); + } +} + +void +LocaleTests::testComplexZones() +{ + // Stub for now +} diff --git a/src/libcalamares/locale/Tests.h b/src/libcalamares/locale/Tests.h index c6949f3e4..96ee48b0b 100644 --- a/src/libcalamares/locale/Tests.h +++ b/src/libcalamares/locale/Tests.h @@ -36,6 +36,10 @@ private Q_SLOTS: void testTranslatableLanguages(); void testTranslatableConfig1(); void testTranslatableConfig2(); + + // TimeZone testing + void testSimpleZones(); + void testComplexZones(); }; #endif From fc7f49b61061b635cdbfc47e7cd0e3038513d1b4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 12:28:41 +0100 Subject: [PATCH 518/626] [libcalamares] Expand tests for TimeZone translations --- src/libcalamares/locale/Tests.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 6acb62eab..106a77b4c 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -224,10 +224,31 @@ LocaleTests::testSimpleZones() QCOMPARE( r2.tr(), QStringLiteral( "xAmsterdam" ) ); QCOMPARE( r0.tr(), QString() ); } + { + TZZone r0( nullptr ); + QVERIFY( r0.tr().isEmpty() ); + TZZone r1( r0 ); + QVERIFY( r1.tr().isEmpty() ); + TZZone r2( std::move( r0 ) ); + QVERIFY( r2.tr().isEmpty() ); + } } void LocaleTests::testComplexZones() { - // Stub for now + using namespace CalamaresUtils::Locale; + + { + TZZone r0( "America/New_York" ); + TZZone r1( "America/New York" ); + + QCOMPARE( r0.tr(), r1.tr() ); + QCOMPARE( r0.tr(), QStringLiteral( "America/New York" ) ); + } + { + TZZone r( "zxc,;*_vm" ); + QVERIFY( !r.tr().isEmpty() ); + QCOMPARE( r.tr(), QStringLiteral( "zxc,;* vm" ) ); // Only _ is special + } } From 94fe4d2fdae529c7234e1ba8c74ebce4bd3224f0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 12:30:59 +0100 Subject: [PATCH 519/626] [libcalamares] Avoid weak vtables in string-pair implementation --- src/libcalamares/locale/TimeZone.cpp | 15 +++++++++++++++ src/libcalamares/locale/TimeZone.h | 8 ++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 900548c72..420344ed7 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -79,5 +79,20 @@ CStringPair::~CStringPair() free( m_key ); } + +QString +TZRegion::tr() const +{ + // NOTE: context name must match what's used in zone-extractor.py + return QObject::tr( m_human, "tz_regions" ); +} + +QString +TZZone::tr() const +{ + // NOTE: context name must match what's used in zone-extractor.py + return QObject::tr( m_human, "tz_names" ); +} + } // namespace Locale } // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index f3590c898..8bba1c45d 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -61,9 +61,7 @@ class TZRegion : public CStringPair { public: using CStringPair::CStringPair; - - // NOTE: context name must match what's used in zone-extractor.py - QString tr() const override { return QObject::tr( m_human, "tz_regions" ); } + QString tr() const override; }; /// @brief A pair of strings for specific timezone names (e.g. "New_York") @@ -71,9 +69,7 @@ class TZZone : public CStringPair { public: using CStringPair::CStringPair; - - // NOTE: context name must match what's used in zone-extractor.py - QString tr() const override { return QObject::tr( m_human, "tz_names" ); } + QString tr() const override; }; } // namespace Locale From fc7ea80d9969038eb2c5fabc954f55a3d3b3319b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 16:46:47 +0100 Subject: [PATCH 520/626] [calamares] Do not attempt to center Calamares window - this isn't really a Calamares thing to decide, and anyway centering on the desktop is kind of weird in multi-monitor setups and the DesktopWidget is deprecated as well. --- src/calamares/CalamaresApplication.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index 959e41fb1..527f92c85 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -357,8 +357,6 @@ CalamaresApplication::initView() QTimer::singleShot( 0, m_moduleManager, &Calamares::ModuleManager::loadModules ); - m_mainwindow->move( this->desktop()->availableGeometry().center() - m_mainwindow->rect().center() ); - cDebug() << "STARTUP: CalamaresWindow created; loadModules started"; } From ad868033f3ede77f09fbd34df85332854e5aa749 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 16:56:12 +0100 Subject: [PATCH 521/626] [locale] Chase deprecations in Qt --- src/modules/locale/timezonewidget/timezonewidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index 1553af9bc..33a8f25ac 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -225,7 +225,7 @@ void TimeZoneWidget::paintEvent( QPaintEvent* ) painter.drawImage( point.x() - pin.width()/2, point.y() - pin.height()/2, pin ); // Draw text and box - const int textWidth = fontMetrics.width( LocaleGlobal::Location::pretty( currentLocation.zone ) ); + const int textWidth = fontMetrics.horizontalAdvance( LocaleGlobal::Location::pretty( currentLocation.zone ) ); const int textHeight = fontMetrics.height(); QRect rect = QRect( point.x() - textWidth/2 - 5, point.y() - textHeight - 8, textWidth + 10, textHeight - 2 ); From 7fd218d7bf1b1b96c34af1ca647e4d3c5fc6e198 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 16:56:45 +0100 Subject: [PATCH 522/626] [partition] Chase deprecations in Qt --- src/modules/partition/gui/PartitionLabelsView.cpp | 2 +- src/modules/partition/gui/PartitionViewStep.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/gui/PartitionLabelsView.cpp b/src/modules/partition/gui/PartitionLabelsView.cpp index f47dc41e1..270710e02 100644 --- a/src/modules/partition/gui/PartitionLabelsView.cpp +++ b/src/modules/partition/gui/PartitionLabelsView.cpp @@ -276,7 +276,7 @@ PartitionLabelsView::drawLabels( QPainter* painter, labelRect.adjust( 0, -LAYOUT_MARGIN, 0, -2*LAYOUT_MARGIN ); painter->translate( 0.5, 0.5 ); QRect hoverRect = labelRect.adjusted( 0, 0, -1, -1 ); - painter->setBrush( QPalette().background().color().lighter( 102 ) ); + painter->setBrush( QPalette().window().color().lighter( 102 ) ); painter->setPen( Qt::NoPen ); painter->drawRoundedRect( hoverRect, CORNER_RADIUS, CORNER_RADIUS ); diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp index 95df5561c..17ac339e9 100644 --- a/src/modules/partition/gui/PartitionViewStep.cpp +++ b/src/modules/partition/gui/PartitionViewStep.cpp @@ -277,7 +277,7 @@ PartitionViewStep::createSummaryWidget() const jobsLabel->setText( jobsLines.join( "
" ) ); jobsLabel->setMargin( CalamaresUtils::defaultFontHeight() / 2 ); QPalette pal; - pal.setColor( QPalette::Background, pal.background().color().lighter( 108 ) ); + pal.setColor( QPalette::Background, pal.window().color().lighter( 108 ) ); jobsLabel->setAutoFillBackground( true ); jobsLabel->setPalette( pal ); } From 6dfcbd757b1236c30c36c4f016e3ce070606008e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 17:28:23 +0100 Subject: [PATCH 523/626] [welcome] Remove superfluous call to QColor::value() --- src/modules/welcome/checker/ResultsListWidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/welcome/checker/ResultsListWidget.cpp b/src/modules/welcome/checker/ResultsListWidget.cpp index 35a3cd957..b72b91452 100644 --- a/src/modules/welcome/checker/ResultsListWidget.cpp +++ b/src/modules/welcome/checker/ResultsListWidget.cpp @@ -74,7 +74,7 @@ ResultsListWidget::init( const Calamares::RequirementsList& checkEntries ) ciw->setAutoFillBackground( true ); QPalette pal( ciw->palette() ); - QColor bgColor = pal.window().color().value(); + QColor bgColor = pal.window().color(); int bgHue = ( entry.satisfied ) ? bgColor.hue() : ( entry.mandatory ) ? 0 : 60; bgColor.setHsv( bgHue, 64, bgColor.value() ); pal.setColor( QPalette::Window, bgColor ); @@ -199,7 +199,7 @@ ResultsListWidget::showDetailsDialog( const Calamares::RequirementsList& checkEn ciw->setAutoFillBackground( true ); QPalette pal( ciw->palette() ); - QColor bgColor = pal.window().color().value(); + QColor bgColor = pal.window().color(); int bgHue = ( entry.satisfied ) ? bgColor.hue() : ( entry.mandatory ) ? 0 : 60; bgColor.setHsv( bgHue, 64, bgColor.value() ); pal.setColor( QPalette::Window, bgColor ); From fae1fdae1c8688118d9e02e5c1154fb075ca7c08 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 22:29:06 +0100 Subject: [PATCH 524/626] CI: allow meaningful error messages - Move set -e down in the script so that the error-handling at the top (which prints meaningful error messages) isn't short-circuited by the -e. --- ci/calamaresstyle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/calamaresstyle b/ci/calamaresstyle index 46acbdc3d..8b13b6f31 100755 --- a/ci/calamaresstyle +++ b/ci/calamaresstyle @@ -6,8 +6,6 @@ # You can pass in directory names, in which case the files # in that directory (NOT below it) are processed. # -set -e - AS=$( which astyle ) for _cf in clang-format-7 clang-format-8 clang-format70 clang-format80 @@ -22,6 +20,8 @@ test -n "$CF" || { echo "! No clang-format-7 found in PATH"; exit 1 ; } test -x "$AS" || { echo "! $AS is not executable."; exit 1 ; } test -x "$CF" || { echo "! $CF is not executable."; exit 1 ; } +set -e + any_dirs=no for d in "$@" do From ec605adf3f29d29bdea65b3842e44d3b581725ec Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 22:37:25 +0100 Subject: [PATCH 525/626] [license] Tidy code - Move retranslation to a separate slot to allow it to be formatted nicely. - Use calculated m_allLicensesOptional in retranslation. - Untangle determining if all licenses are optional; std::none_of returns true on an empty list. --- src/modules/license/LicensePage.cpp | 51 +++++++++++++++-------------- src/modules/license/LicensePage.h | 5 ++- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 2cc025f83..69dd0a9c6 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -126,7 +126,6 @@ LicensePage::LicensePage( QWidget* parent ) CALAMARES_RETRANSLATE( ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); ) } - void LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) { @@ -134,27 +133,36 @@ LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) m_entries.clear(); m_entries.reserve( entriesList.count() ); - const bool required - = std::any_of( entriesList.cbegin(), entriesList.cend(), []( const LicenseEntry& e ) { return e.m_required; } ); - if ( entriesList.isEmpty() ) - { - m_allLicensesOptional = true; - } - else - { - m_allLicensesOptional = !required; - } + auto isRequired = []( const LicenseEntry& e ) { return e.m_required; }; + m_allLicensesOptional = std::none_of( entriesList.cbegin(), entriesList.cend(), isRequired ); checkAcceptance( false ); - CALAMARES_RETRANSLATE( if ( required ) { + for ( const LicenseEntry& entry : entriesList ) + { + LicenseWidget* w = new LicenseWidget( entry ); + ui->licenseEntriesLayout->addWidget( w ); + m_entries.append( w ); + } + ui->licenseEntriesLayout->addStretch(); + + CALAMARES_RETRANSLATE_SLOT( &LicensePage::retranslate ) +} + +void +LicensePage::retranslate() +{ + if ( !m_allLicensesOptional ) + { ui->mainText->setText( tr( "

License Agreement

" "This setup procedure will install proprietary " "software that is subject to licensing terms." ) ); ui->additionalText->setText( tr( "Please review the End User License " "Agreements (EULAs) above.
" "If you do not agree with the terms, the setup procedure cannot continue." ) ); - } else { + } + else + { ui->mainText->setText( tr( "

License Agreement

" "This setup procedure can install proprietary " "software that is subject to licensing terms " @@ -164,18 +172,13 @@ LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) "Agreements (EULAs) above.
" "If you do not agree with the terms, proprietary software will not " "be installed, and open source alternatives will be used instead." ) ); - } ui->retranslateUi( this ); - - for ( const auto& w - : m_entries ) w->retranslateUi(); ) - - for ( const LicenseEntry& entry : entriesList ) - { - LicenseWidget* w = new LicenseWidget( entry ); - ui->licenseEntriesLayout->addWidget( w ); - m_entries.append( w ); } - ui->licenseEntriesLayout->addStretch(); + ui->retranslateUi( this ); + + for ( const auto& w : m_entries ) + { + w->retranslateUi(); + } } diff --git a/src/modules/license/LicensePage.h b/src/modules/license/LicensePage.h index bd9543937..65f26b543 100644 --- a/src/modules/license/LicensePage.h +++ b/src/modules/license/LicensePage.h @@ -83,10 +83,13 @@ public slots: * - the user has ticked the "OK" box. * This function calls updateGlobalStorage() as needed, and updates * the appearance of the page as needed. @p checked indicates whether - * the checkbox has been ticked or not. + * the checkbox has been ticked or not. (e.g. when @p checked is true, + * you can continue regardless) */ void checkAcceptance( bool checked ); + void retranslate(); + signals: void nextStatusChanged( bool status ); From 2a45765b93e9c5aafa32dd59751c20452fce6aa7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 27 Nov 2019 12:17:33 +0100 Subject: [PATCH 526/626] [license] Next depends not just on the checked box - Toggling the checkbox could disable the next button because only the checked-state was used, instead of the next-is-enabled-if-everything-is-optional member variable. FIXES #1271 --- src/modules/license/LicensePage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 69dd0a9c6..c5ba38133 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -211,5 +211,5 @@ LicensePage::checkAcceptance( bool checked ) { ui->acceptFrame->setStyleSheet( "#acceptFrame { padding: 3px }" ); } - emit nextStatusChanged( checked ); + emit nextStatusChanged( m_isNextEnabled ); } From 2a0716bf43d765c5d4b675a690b941e2350f9723 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 11:24:56 +0100 Subject: [PATCH 527/626] [license] Move the 'please review' text to the top. --- src/modules/license/LicensePage.cpp | 8 ++------ src/modules/license/LicensePage.ui | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index c5ba38133..fcbe62b3d 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -157,9 +157,7 @@ LicensePage::retranslate() ui->mainText->setText( tr( "

License Agreement

" "This setup procedure will install proprietary " "software that is subject to licensing terms." ) ); - ui->additionalText->setText( tr( "Please review the End User License " - "Agreements (EULAs) above.
" - "If you do not agree with the terms, the setup procedure cannot continue." ) ); + ui->additionalText->setText( tr( "If you do not agree with the terms, the setup procedure cannot continue." ) ); } else { @@ -168,9 +166,7 @@ LicensePage::retranslate() "software that is subject to licensing terms " "in order to provide additional features and enhance the user " "experience." ) ); - ui->additionalText->setText( tr( "Please review the End User License " - "Agreements (EULAs) above.
" - "If you do not agree with the terms, proprietary software will not " + ui->additionalText->setText( tr( "If you do not agree with the terms, proprietary software will not " "be installed, and open source alternatives will be used instead." ) ); } ui->retranslateUi( this ); diff --git a/src/modules/license/LicensePage.ui b/src/modules/license/LicensePage.ui index 767b392a0..c5857a716 100644 --- a/src/modules/license/LicensePage.ui +++ b/src/modules/license/LicensePage.ui @@ -15,7 +15,7 @@ - + @@ -32,6 +32,16 @@ + + + + + + + Please review the End User License Agreements (EULAs). + + + @@ -47,6 +57,12 @@ + + + 0 + 0 + + QFrame::NoFrame @@ -65,7 +81,7 @@ 0 0 765 - 94 + 86 From 5ed8ec9990f202e3d51c45a532eeefeb8196cf73 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 11:28:02 +0100 Subject: [PATCH 528/626] [license] Reduce translation overhead. --- src/modules/license/LicensePage.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index fcbe62b3d..ae7d5faa2 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -123,7 +123,7 @@ LicensePage::LicensePage( QWidget* parent ) connect( ui->acceptCheckBox, &QCheckBox::toggled, this, &LicensePage::checkAcceptance ); - CALAMARES_RETRANSLATE( ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); ) + CALAMARES_RETRANSLATE_SLOT( &LicensePage::retranslate ) } void @@ -145,13 +145,12 @@ LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) m_entries.append( w ); } ui->licenseEntriesLayout->addStretch(); - - CALAMARES_RETRANSLATE_SLOT( &LicensePage::retranslate ) } void LicensePage::retranslate() { + ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); if ( !m_allLicensesOptional ) { ui->mainText->setText( tr( "

License Agreement

" From d8020e3574ddc7ff5f265b5e8d9e76512eddd3a0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 12:03:22 +0100 Subject: [PATCH 529/626] [license] Tidy up setting-of-entries - we loop over all the entries anyway, so calculate allLicensesOptional along the way (debatable whether std::none_of is clearer) - always un-check the accept-box when resetting entries. --- src/modules/license/LicensePage.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index ae7d5faa2..1cb42ea8b 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -130,21 +130,21 @@ void LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) { CalamaresUtils::clearLayout( ui->licenseEntriesLayout ); + + m_allLicensesOptional = true; + m_entries.clear(); m_entries.reserve( entriesList.count() ); - - auto isRequired = []( const LicenseEntry& e ) { return e.m_required; }; - m_allLicensesOptional = std::none_of( entriesList.cbegin(), entriesList.cend(), isRequired ); - - checkAcceptance( false ); - for ( const LicenseEntry& entry : entriesList ) { LicenseWidget* w = new LicenseWidget( entry ); ui->licenseEntriesLayout->addWidget( w ); m_entries.append( w ); + m_allLicensesOptional &= !entry.isRequired(); } - ui->licenseEntriesLayout->addStretch(); + + ui->acceptCheckBox->setChecked(false); + checkAcceptance( false ); } void From b69dd3a93ccd67c749c74dde9d0125d450d70623 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 13:12:14 +0100 Subject: [PATCH 530/626] Changes: pre-release housekeeping --- CHANGES | 9 ++++++--- CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 970febf63..915ec75f3 100644 --- a/CHANGES +++ b/CHANGES @@ -3,13 +3,13 @@ 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.17 (unreleased) # +# 3.2.17 (2019-11-28) # This release contains contributions from (alphabetically by first name): - - No external contributions. + - Bill Auger ## Core ## - - No changes to core functionality + - A translation "string freeze" is now enforced by the release scripts. ## Modules ## - A new module, *hostinfo*, places information about the host into @@ -23,6 +23,9 @@ This release contains contributions from (alphabetically by first name): - The *grubcfg* module has a new configuration setting *keepDistributor* which prevents replacing the `GRUB_DISTRIBUTION` line when writing the new configuration. #1201 + - *packagechooser* documentation has been updated. + - *welcome* module now works better with dark themes. + - The *license* module could get into a confused state, now fixed. #1271 # 3.2.16 (2019-11-01) # diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d1cb83f0..f272d7e53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ project( CALAMARES VERSION 3.2.17 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From d322d783eaaa5009a5e47d0bbd8f5239c66c3d63 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 13:17:15 +0100 Subject: [PATCH 531/626] [license] Chase deprecations in Qt --- src/modules/license/LicenseWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 25509be95..91e5646dc 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -57,7 +57,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) , m_fullText( nullptr ) { QPalette pal( palette() ); - pal.setColor( QPalette::Background, palette().background().color().lighter( 108 ) ); + pal.setColor( QPalette::Background, palette().window().color().lighter( 108 ) ); setObjectName( "licenseItem" ); From c870fca787d6ca858132821cccca66c5c4dcdeb5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 13:23:11 +0100 Subject: [PATCH 532/626] [license] Use more meaningful names for arrows - The arrows Up, Down, Right are used on toolbuttons, but in the context of this module, those are directions with meaning; give them better names. - Because of #1268, the meaning of up- and down- may be swapped; I'm not sure of which look makes the most sense. This is prep- work for easily swapping the looks by using the meaningful names instead. SEE #1268 --- src/modules/license/LicenseWidget.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 91e5646dc..609e850a9 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -30,6 +30,10 @@ #include #include +static constexpr const auto ArrowOpenExternalLink = Qt::RightArrow; +static constexpr const auto ArrowLocalLicenseIsCollapsed = Qt::UpArrow; +static constexpr const auto ArrowLocalLicenseIsExpanded = Qt::DownArrow; + static QString loadLocalFile( const QUrl& u ) { @@ -82,7 +86,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) { QVBoxLayout* vLayout = new QVBoxLayout; - m_expandLicenseButton->setArrowType( Qt::UpArrow ); + m_expandLicenseButton->setArrowType( ArrowLocalLicenseIsCollapsed ); connect( m_expandLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::expandClicked ); vLayout->addLayout( wiLayout ); @@ -97,7 +101,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) } else { - m_expandLicenseButton->setArrowType( Qt::RightArrow ); + m_expandLicenseButton->setArrowType( ArrowOpenExternalLink ); connect( m_expandLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::viewClicked ); // Normally setOpenExternalLinks( true ) would do, but we need the @@ -163,19 +167,19 @@ LicenseWidget::retranslateUi() void LicenseWidget::expandClicked() { - if ( m_expandLicenseButton->arrowType() == Qt::DownArrow ) + if ( m_expandLicenseButton->arrowType() == ArrowLocalLicenseIsExpanded ) { - m_expandLicenseButton->setArrowType( Qt::UpArrow ); + m_expandLicenseButton->setArrowType( ArrowLocalLicenseIsCollapsed ); } else { - m_expandLicenseButton->setArrowType( Qt::DownArrow ); + m_expandLicenseButton->setArrowType( ArrowLocalLicenseIsExpanded ); } // Show/hide based on the new arrow direction. if ( m_fullText ) { - m_fullText->setHidden( m_expandLicenseButton->arrowType() == Qt::UpArrow ); + m_fullText->setHidden( m_expandLicenseButton->arrowType() == ArrowLocalLicenseIsCollapsed ); } updateExpandToolTip(); @@ -187,7 +191,7 @@ LicenseWidget::updateExpandToolTip() { if ( m_entry.isLocal() ) { - const bool isNowCollapsed = m_expandLicenseButton->arrowType() == Qt::UpArrow; + const bool isNowCollapsed = m_expandLicenseButton->arrowType() == ArrowLocalLicenseIsCollapsed; m_expandLicenseButton->setToolTip( isNowCollapsed ? tr( "Shows the complete license text" ) : tr( "Hide license text" ) ); From 1de6062233a7bc3fe7f2e7934333ec26c55bf6d6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 13:31:16 +0100 Subject: [PATCH 533/626] [license] Add should-be-expanded display option to license entries - In code, add the necessary bool - document meaning in the config file - actually expand the full text if the entry is local and set to expanding- by-default. This implementation is a bit lazy since it just pretends to click on the toggle button. - While here, reduce scope for UB by initializing POD members --- src/modules/license/LicensePage.cpp | 1 + src/modules/license/LicensePage.h | 6 ++++-- src/modules/license/LicenseWidget.cpp | 7 +++++++ src/modules/license/license.conf | 5 +++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 1cb42ea8b..45205dcd4 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -72,6 +72,7 @@ LicenseEntry::LicenseEntry( const QVariantMap& conf ) m_url = QUrl( conf[ "url" ].toString() ); m_required = CalamaresUtils::getBool( conf, "required", false ); + m_expand = CalamaresUtils::getBool( conf, "expand", false ); bool ok = false; QString typeString = conf.value( "type", "software" ).toString(); diff --git a/src/modules/license/LicensePage.h b/src/modules/license/LicensePage.h index 65f26b543..dcd3ea7b4 100644 --- a/src/modules/license/LicensePage.h +++ b/src/modules/license/LicensePage.h @@ -56,13 +56,15 @@ struct LicenseEntry bool isValid() const { return !m_id.isEmpty(); } bool isRequired() const { return m_required; } bool isLocal() const; + bool expandByDefault() const { return m_expand; } QString m_id; QString m_prettyName; QString m_prettyVendor; - Type m_type; + Type m_type = Type::Software; QUrl m_url; - bool m_required; + bool m_required = false; + bool m_expand = false; }; class LicensePage : public QWidget diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 609e850a9..a4c1dfaaa 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -98,6 +98,13 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) vLayout->addWidget( m_fullText ); setLayout( vLayout ); + + if ( m_entry.expandByDefault() ) + { + // Since we started in a collapsed state, toggle it to expand. + // This can only be done once the full text has been added. + expandClicked(); + } } else { diff --git a/src/modules/license/license.conf b/src/modules/license/license.conf index 9057f8a51..8a1672887 100644 --- a/src/modules/license/license.conf +++ b/src/modules/license/license.conf @@ -14,6 +14,10 @@ # to the URL is provided, which opens in the default web browser. A local # URL (i.e. file:///) assumes that the contents are HTML or plain text, and # displays the license in-line. YAML: string, mandatory. +# - expand A boolean value only relevant for **local** URLs. If true, +# the license text is displayed in "expanded" form by +# default, rather than requiring the user to first open it up. +# YAML: boolean, optional, default is false. entries: - id: nvidia name: Nvidia @@ -43,3 +47,4 @@ entries: type: software required: true url: file:../LICENSE + expand: true From c13f2f79d16485b1a199bb02329b115eba17d07e Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 28 Nov 2019 15:45:32 +0100 Subject: [PATCH 534/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 121 +++++++++++---------- lang/calamares_ast.ts | 121 +++++++++++---------- lang/calamares_be.ts | 121 +++++++++++---------- lang/calamares_bg.ts | 121 +++++++++++---------- lang/calamares_ca.ts | 131 +++++++++++++---------- lang/calamares_ca@valencia.ts | 127 ++++++++++++---------- lang/calamares_cs_CZ.ts | 121 +++++++++++---------- lang/calamares_da.ts | 121 +++++++++++---------- lang/calamares_de.ts | 194 +++++++++++++++++---------------- lang/calamares_el.ts | 121 +++++++++++---------- lang/calamares_en.ts | 121 +++++++++++---------- lang/calamares_en_GB.ts | 121 +++++++++++---------- lang/calamares_eo.ts | 195 ++++++++++++++++++---------------- lang/calamares_es.ts | 121 +++++++++++---------- lang/calamares_es_MX.ts | 121 +++++++++++---------- lang/calamares_es_PR.ts | 121 +++++++++++---------- lang/calamares_et.ts | 121 +++++++++++---------- lang/calamares_eu.ts | 121 +++++++++++---------- lang/calamares_fa.ts | 121 +++++++++++---------- lang/calamares_fi_FI.ts | 121 +++++++++++---------- lang/calamares_fr.ts | 155 ++++++++++++++------------- lang/calamares_fr_CH.ts | 121 +++++++++++---------- lang/calamares_gl.ts | 121 +++++++++++---------- lang/calamares_gu.ts | 121 +++++++++++---------- lang/calamares_he.ts | 121 +++++++++++---------- lang/calamares_hi.ts | 121 +++++++++++---------- lang/calamares_hr.ts | 121 +++++++++++---------- lang/calamares_hu.ts | 121 +++++++++++---------- lang/calamares_id.ts | 121 +++++++++++---------- lang/calamares_is.ts | 121 +++++++++++---------- lang/calamares_it_IT.ts | 121 +++++++++++---------- lang/calamares_ja.ts | 121 +++++++++++---------- lang/calamares_kk.ts | 121 +++++++++++---------- lang/calamares_kn.ts | 121 +++++++++++---------- lang/calamares_ko.ts | 121 +++++++++++---------- lang/calamares_lo.ts | 121 +++++++++++---------- lang/calamares_lt.ts | 145 +++++++++++++------------ lang/calamares_mk.ts | 121 +++++++++++---------- lang/calamares_ml.ts | 121 +++++++++++---------- lang/calamares_mr.ts | 121 +++++++++++---------- lang/calamares_nb.ts | 121 +++++++++++---------- lang/calamares_ne_NP.ts | 121 +++++++++++---------- lang/calamares_nl.ts | 121 +++++++++++---------- lang/calamares_pl.ts | 121 +++++++++++---------- lang/calamares_pt_BR.ts | 121 +++++++++++---------- lang/calamares_pt_PT.ts | 121 +++++++++++---------- lang/calamares_ro.ts | 121 +++++++++++---------- lang/calamares_ru.ts | 121 +++++++++++---------- lang/calamares_sk.ts | 153 ++++++++++++++------------ lang/calamares_sl.ts | 121 +++++++++++---------- lang/calamares_sq.ts | 121 +++++++++++---------- lang/calamares_sr.ts | 121 +++++++++++---------- lang/calamares_sr@latin.ts | 121 +++++++++++---------- lang/calamares_sv.ts | 121 +++++++++++---------- lang/calamares_th.ts | 121 +++++++++++---------- lang/calamares_tr_TR.ts | 121 +++++++++++---------- lang/calamares_uk.ts | 121 +++++++++++---------- lang/calamares_ur.ts | 121 +++++++++++---------- lang/calamares_uz.ts | 121 +++++++++++---------- lang/calamares_zh_CN.ts | 129 ++++++++++++---------- lang/calamares_zh_TW.ts | 121 +++++++++++---------- 61 files changed, 4218 insertions(+), 3424 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 34fe83d8f..944ccfbba 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost.
+ + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. اسم المستخدم طويل جدًّا. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. اسم المضيف قصير جدًّا. - + Your hostname is too long. اسم المضيف طويل جدًّا. diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index d44a623fc..295054dd8 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -1289,6 +1289,14 @@ L'instalador va colar y van perdese tolos cambeos.
La pantalla ye mui pequeña como p'amosar l'instalador.
+ + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1673,245 +1681,250 @@ L'instalador va colar y van perdese tolos cambeos.
PWQ - + Password is too short La contraseña ye percurtia - + Password is too long La contraseña ye perllarga - + Password is too weak La contraseña ye perfeble - + Memory allocation error when setting '%1' Fallu d'asignación de memoria al afitar «%1» - + Memory allocation error Fallu d'asignación de memoria - + The password is the same as the old one La contraseña ye la mesma que la vieya - + The password is a palindrome La contraseña ye un palíndromu - + The password differs with case changes only La contraseña namái s'estrema polos cambeos de mayúscules y minúscules - + The password is too similar to the old one La contraseña aseméyase muncho a la vieya - + The password contains the user name in some form La contraseña contién de dalgún mou'l nome d'usuariu - + The password contains words from the real name of the user in some form La contraseña contién de dalgún mou pallabres del nome real del usuariu - + The password contains forbidden words in some form La contraseña contién de dalgún mou pallabres prohibíes - + The password contains less than %1 digits La contraseña contién menos de %1 díxitos - + The password contains too few digits La contraseña contién prepocos díxitos - + The password contains less than %1 uppercase letters La contraseña contién menos de %1 lletres mayúscules - + The password contains too few uppercase letters La contraseña contién perpoques lletres mayúscules - + The password contains less than %1 lowercase letters La contraseña contién menos de %1 lletres minúscules - + The password contains too few lowercase letters La contraseña contién perpoques lletres minúscules - + The password contains less than %1 non-alphanumeric characters La contraseña contién menos de %1 caráuteres que nun son alfanumbéricos - + The password contains too few non-alphanumeric characters La contraseña contién perpocos caráuteres que nun son alfanumbéricos - + The password is shorter than %1 characters La contraseña tien menos de %1 caráuteres - + The password is too short La contraseña ye percurtia - + The password is just rotated old one La contraseña ye l'anterior pero al aviesu - + The password contains less than %1 character classes La contraseña contién menos de %1 clases de caráuteres - + The password does not contain enough character classes La contraseña nun contién abondes clases de caráuteres - + The password contains more than %1 same characters consecutively La contraseña contién más de %1 caráuteres iguales consecutivamente - + The password contains too many same characters consecutively La contraseña contién milenta caráuteres iguales consecutivamente - + The password contains more than %1 characters of the same class consecutively La contraseña contién más de %1 caráuteres de la mesma clas consecutivamente - + The password contains too many characters of the same class consecutively La contraseña contién milenta caráuteres de la mesma clas consecutivamente - + The password contains monotonic sequence longer than %1 characters La contraseña tien una secuencia monotónica de más de %1 caráuteres - + The password contains too long of a monotonic character sequence La contraseña contién una secuencia perllarga de caráuteres monotónicos - + No password supplied Nun s'apurrió denguna contraseña - + Cannot obtain random numbers from the RNG device Nun puen consiguise los númberos al debalu del preséu RNG - + Password generation failed - required entropy too low for settings Falló la xeneración de la contraseña - ríquese una entropía perbaxa pa los axustes - + The password fails the dictionary check - %1 La contraseña falla la comprobación del diccionariu - %1 - + The password fails the dictionary check La contraseña falla la comprobación del diccionariu - + Unknown setting - %1 Desconozse l'axuste - %1 - + Unknown setting Desconozse l'axuste - + Bad integer value of setting - %1 El valor enteru del axuste ye incorreutu - %1 - + Bad integer value El valor enteru ye incorreutu - + Setting %1 is not of integer type L'axuste %1 nun ye de la triba enteru - + Setting is not of integer type L'axuste nun ye de la triba enteru - + Setting %1 is not of string type L'axuste %1 nun ye de la triba cadena - + Setting is not of string type L'axuste nun ye de la triba cadena - + Opening the configuration file failed Falló l'apertura del ficheru de configuración - + The configuration file is malformed El ficheru de configuración ta malformáu - + Fatal failure Fallu fatal - + Unknown error Desconozse'l fallu + + + Password is empty + + PackageChooserPage @@ -3194,32 +3207,32 @@ Salida: <small>Si va usar l'ordenador más d'una persona, pues crear más cuentes tres la instalación.</small> - + Your username is too long. El nome d'usuariu ye perllargu. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. El nome d'agospiu ye percurtiu. - + Your hostname is too long. El nome d'agospiu ye perllargu. diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 10af2b7f5..717a15292 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index af0eb2799..08f76a296 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. Екранът е твърде малък за инсталатора. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Паролата е твърде кратка - + Password is too long Паролата е твърде дълга - + Password is too weak Паролата е твърде слаба - + Memory allocation error when setting '%1' Грешка при разпределяне на паметта по време на настройването на '%1' - + Memory allocation error Грешка при разпределяне на паметта - + The password is the same as the old one Паролата съвпада с предишната - + The password is a palindrome Паролата е палиндром - + The password differs with case changes only Паролата се различава само със смяна на главни и малки букви - + The password is too similar to the old one Паролата е твърде сходна с предишната - + The password contains the user name in some form Паролата съдържа потребителското име под някаква форма - + The password contains words from the real name of the user in some form Паролата съдържа думи от истинското име на потребителя под някаква форма - + The password contains forbidden words in some form Паролата съдържа забранени думи под някаква форма - + The password contains less than %1 digits Паролата съдържа по-малко от %1 цифри - + The password contains too few digits Паролата съдържа твърде малко цифри - + The password contains less than %1 uppercase letters Паролата съдържа по-малко от %1 главни букви - + The password contains too few uppercase letters Паролата съдържа твърде малко главни букви - + The password contains less than %1 lowercase letters Паролата съдържа по-малко от %1 малки букви - + The password contains too few lowercase letters Паролата съдържа твърде малко малки букви - + The password contains less than %1 non-alphanumeric characters Паролата съдържа по-малко от %1 знаци, които не са букви или цифри - + The password contains too few non-alphanumeric characters Паролата съдържа твърде малко знаци, които не са букви или цифри - + The password is shorter than %1 characters Паролата е по-малка от %1 знаци - + The password is too short Паролата е твърде кратка - + The password is just rotated old one Паролата е обърнат вариант на старата - + The password contains less than %1 character classes Паролата съдържа по-малко от %1 видове знаци - + The password does not contain enough character classes Паролата не съдържа достатъчно видове знаци - + The password contains more than %1 same characters consecutively Паролата съдържа повече от %1 еднакви знаци последователно - + The password contains too many same characters consecutively Паролата съдържа твърде много еднакви знаци последователно - + The password contains more than %1 characters of the same class consecutively Паролата съдържа повече от %1 еднакви видове знаци последователно - + The password contains too many characters of the same class consecutively Паролата съдържа твърде много еднакви видове знаци последователно - + The password contains monotonic sequence longer than %1 characters Паролата съдържа монотонна последователност, по-дълга от %1 знаци - + The password contains too long of a monotonic character sequence Паролата съдържа твърде дълга монотонна последователност от знаци - + No password supplied Липсва парола - + Cannot obtain random numbers from the RNG device Получаването на произволни числа от RNG устройството е неуспешно - + Password generation failed - required entropy too low for settings Генерирането на парола е неуспешно - необходимата ентропия е твърде ниска за настройки - + The password fails the dictionary check - %1 Паролата не издържа проверката на речника - %1 - + The password fails the dictionary check Паролата не издържа проверката на речника - + Unknown setting - %1 Неизвестна настройка - %1 - + Unknown setting Неизвестна настройка - + Bad integer value of setting - %1 Невалидна числена стойност на настройката - %1 - + Bad integer value Невалидна числена стойност на настройката - + Setting %1 is not of integer type Настройката %1 не е от числов вид - + Setting is not of integer type Настройката не е от числов вид - + Setting %1 is not of string type Настройката %1 не е от текстов вид - + Setting is not of string type Настройката не е от текстов вид - + Opening the configuration file failed Отварянето на файла с конфигурацията е неуспешно - + The configuration file is malformed Файлът с конфигурацията е деформиран - + Fatal failure Фатална повреда - + Unknown error Неизвестна грешка + + + Password is empty + + PackageChooserPage @@ -3193,32 +3206,32 @@ Output: - + Your username is too long. Вашето потребителско име е твърде дълго. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Вашето име на хоста е твърде кратко. - + Your hostname is too long. Вашето име на хоста е твърде дълго. diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 65b0d40dd..f6c3252ec 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -326,7 +326,7 @@ Cancel installation? - Cancel·lar la instal·lació? + Voleu cancel·lar la instal·lació? @@ -372,7 +372,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. &Install now - &Instal·la ara + &Instal·la'l ara @@ -397,7 +397,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Installation Failed - La instal·lació ha fallat + La instal·lació ha fallat. @@ -512,7 +512,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. <strong>Select a partition to install on</strong> - <strong>Seleccioneu una partició per fer-hi la instal·lació</strong> + <strong>Seleccioneu una partició per fer-hi la instal·lació.</strong> @@ -1290,6 +1290,14 @@ L'instal·lador es tancarà i tots els canvis es perdran. La pantalla és massa petita per mostrar l'instal·lador. + + HostInfoJob + + + Collecting information about your machine. + Es recopila informació sobre la màquina. + + IDJob @@ -1337,7 +1345,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Konsole not installed - El Konsole no està instal·lat + El Konsole no està instal·lat. @@ -1674,245 +1682,250 @@ L'instal·lador es tancarà i tots els canvis es perdran. PWQ - + Password is too short La contrasenya és massa curta. - + Password is too long La contrasenya és massa llarga. - + Password is too weak La contrasenya és massa dèbil. - + Memory allocation error when setting '%1' Error d'assignació de memòria en establir "%1" - + Memory allocation error Error d'assignació de memòria - + The password is the same as the old one La contrasenya és la mateixa que l'anterior. - + The password is a palindrome La contrasenya és un palíndrom. - + The password differs with case changes only La contrasenya només és diferent per les majúscules o minúscules. - + The password is too similar to the old one La contrasenya és massa semblant a l'anterior. - + The password contains the user name in some form La contrasenya conté el nom d'usuari d'alguna manera. - + The password contains words from the real name of the user in some form La contrasenya conté paraules del nom real de l'usuari d'alguna manera. - + The password contains forbidden words in some form La contrasenya conté paraules prohibides d'alguna manera. - + The password contains less than %1 digits La contrasenya és inferior a %1 dígits. - + The password contains too few digits La contrasenya conté massa pocs dígits. - + The password contains less than %1 uppercase letters La contrasenya conté menys de %1 lletres majúscules. - + The password contains too few uppercase letters La contrasenya conté massa poques lletres majúscules. - + The password contains less than %1 lowercase letters La contrasenya conté menys de %1 lletres minúscules. - + The password contains too few lowercase letters La contrasenya conté massa poques lletres minúscules. - + The password contains less than %1 non-alphanumeric characters La contrasenya conté menys de %1 caràcters no alfanumèrics. - + The password contains too few non-alphanumeric characters La contrasenya conté massa pocs caràcters no alfanumèrics. - + The password is shorter than %1 characters La contrasenya és més curta de %1 caràcters. - + The password is too short La contrasenya és massa curta. - + The password is just rotated old one La contrasenya és només l'anterior capgirada. - + The password contains less than %1 character classes La contrasenya conté menys de %1 classes de caràcters. - + The password does not contain enough character classes La contrasenya no conté prou classes de caràcters. - + The password contains more than %1 same characters consecutively La contrasenya conté més de %1 caràcters iguals consecutius. - + The password contains too many same characters consecutively La contrasenya conté massa caràcters iguals consecutius. - + The password contains more than %1 characters of the same class consecutively La contrasenya conté més de %1 caràcters consecutius de la mateixa classe. - + The password contains too many characters of the same class consecutively La contrasenya conté massa caràcters consecutius de la mateixa classe. - + The password contains monotonic sequence longer than %1 characters La contrasenya conté una seqüència monòtona més llarga de %1 caràcters. - + The password contains too long of a monotonic character sequence La contrasenya conté una seqüència monòtona de caràcters massa llarga. - + No password supplied No s'ha proporcionat cap contrasenya. - + Cannot obtain random numbers from the RNG device No es poden obtenir nombres aleatoris del dispositiu RNG. - + Password generation failed - required entropy too low for settings Ha fallat la generació de la contrasenya. Entropia necessària massa baixa per als paràmetres. - + The password fails the dictionary check - %1 La contrasenya no aprova la comprovació del diccionari: %1 - + The password fails the dictionary check La contrasenya no aprova la comprovació del diccionari. - + Unknown setting - %1 Paràmetre desconegut: %1 - + Unknown setting Paràmetre desconegut - + Bad integer value of setting - %1 Valor enter del paràmetre incorrecte: %1 - + Bad integer value Valor enter incorrecte - + Setting %1 is not of integer type El paràmetre %1 no és del tipus enter. - + Setting is not of integer type El paràmetre no és del tipus enter. - + Setting %1 is not of string type El paràmetre %1 no és del tipus cadena. - + Setting is not of string type El paràmetre no és del tipus cadena. - + Opening the configuration file failed Ha fallat obrir el fitxer de configuració. - + The configuration file is malformed El fitxer de configuració té una forma incorrecta. - + Fatal failure Fallada fatal - + Unknown error Error desconegut + + + Password is empty + La contrasenya és buida. + PackageChooserPage @@ -3195,32 +3208,32 @@ Sortida: <small>Si més d'una persona usarà aquest ordinador, podeu crear diversos comptes després de la instal·lació.</small> - + Your username is too long. El nom d'usuari és massa llarg. - + Your username must start with a lowercase letter or underscore. El nom d'usuari ha de començar amb una lletra en minúscula o una ratlla baixa. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Només es permeten lletres en minúscula, números, ratlles baixes i guions. - + Only letters, numbers, underscore and hyphen are allowed. Només es permeten lletres, números, ratlles baixes i guions. - + Your hostname is too short. El nom d'amfitrió és massa curt. - + Your hostname is too long. El nom d'amfitrió és massa llarg. diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index 360cec8bb..27992e837 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. @@ -3384,7 +3397,7 @@ Output: About %1 installer - + Sobre %1 instal·lador @@ -3394,7 +3407,7 @@ Output: %1 support - + %1 soport @@ -3402,7 +3415,7 @@ Output: Welcome - + Benvingut \ No newline at end of file diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 0e4176db9..cde260612 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -1290,6 +1290,14 @@ Instalační program bude ukončen a všechny změny ztraceny. Rozlišení obrazovky je příliš malé pro zobrazení instalátoru.
+ + HostInfoJob + + + Collecting information about your machine. + Shromažďují se informací o stroji. + + IDJob @@ -1674,245 +1682,250 @@ Instalační program bude ukončen a všechny změny ztraceny. PWQ - + Password is too short Heslo je příliš krátké - + Password is too long Heslo je příliš dlouhé - + Password is too weak Heslo je příliš slabé - + Memory allocation error when setting '%1' Chyba přidělování paměti při nastavování „%1“ - + Memory allocation error Chyba při přidělování paměti - + The password is the same as the old one Heslo je stejné jako to přechozí - + The password is a palindrome Heslo je palindrom (je stejné i pozpátku) - + The password differs with case changes only Heslo se liší pouze změnou velikosti písmen - + The password is too similar to the old one Heslo je příliš podobné tomu předchozímu - + The password contains the user name in some form Heslo obsahuje nějakou formou uživatelské jméno - + The password contains words from the real name of the user in some form Heslo obsahuje obsahuje nějakou formou slova ze jména uživatele - + The password contains forbidden words in some form Heslo obsahuje nějakou formou slova, která není možné použít - + The password contains less than %1 digits Heslo obsahuje méně než %1 číslic - + The password contains too few digits Heslo obsahuje příliš málo číslic - + The password contains less than %1 uppercase letters Heslo obsahuje méně než %1 velkých písmen - + The password contains too few uppercase letters Heslo obsahuje příliš málo velkých písmen - + The password contains less than %1 lowercase letters Heslo obsahuje méně než %1 malých písmen - + The password contains too few lowercase letters Heslo obsahuje příliš málo malých písmen - + The password contains less than %1 non-alphanumeric characters Heslo obsahuje méně než %1 speciálních znaků - + The password contains too few non-alphanumeric characters Heslo obsahuje příliš málo speciálních znaků - + The password is shorter than %1 characters Heslo je kratší než %1 znaků - + The password is too short Heslo je příliš krátké - + The password is just rotated old one Heslo je jen některé z předchozích - + The password contains less than %1 character classes Heslo obsahuje méně než %1 druhů znaků - + The password does not contain enough character classes Heslo není tvořeno dostatečným počtem druhů znaků - + The password contains more than %1 same characters consecutively Heslo obsahuje více než %1 stejných znaků za sebou - + The password contains too many same characters consecutively Heslo obsahuje příliš mnoho stejných znaků za sebou - + The password contains more than %1 characters of the same class consecutively Heslo obsahuje více než %1 znaků ze stejné třídy za sebou - + The password contains too many characters of the same class consecutively Heslo obsahuje příliš mnoho znaků stejného druhu za sebou - + The password contains monotonic sequence longer than %1 characters Heslo obsahuje monotónní posloupnost delší než %1 znaků - + The password contains too long of a monotonic character sequence Heslo obsahuje příliš dlouhou monotónní posloupnost - + No password supplied Nebylo zadáno žádné heslo - + Cannot obtain random numbers from the RNG device Nedaří se získat náhodná čísla ze zařízení generátoru náhodných čísel (RNG) - + Password generation failed - required entropy too low for settings Vytvoření hesla se nezdařilo – úroveň nahodilosti je příliš nízká - + The password fails the dictionary check - %1 Heslo je slovníkové – %1 - + The password fails the dictionary check Heslo je slovníkové - + Unknown setting - %1 Neznámé nastavení – %1 - + Unknown setting Neznámé nastavení - + Bad integer value of setting - %1 Chybná celočíselná hodnota nastavení – %1 - + Bad integer value Chybná celočíselná hodnota - + Setting %1 is not of integer type Nastavení %1 není typu celé číslo - + Setting is not of integer type Nastavení není typu celé číslo - + Setting %1 is not of string type Nastavení %1 není typu řetězec - + Setting is not of string type Nastavení není typu řetězec - + Opening the configuration file failed Nepodařilo se otevřít soubor s nastaveními - + The configuration file is malformed Soubor s nastaveními nemá správný formát - + Fatal failure Fatální nezdar - + Unknown error Neznámá chyba + + + Password is empty + Heslo není vyplněné + PackageChooserPage @@ -3195,32 +3208,32 @@ Výstup: <small>Pokud bude tento počítač používat více lidí, můžete přidat uživatelské účty po dokončení instalace.</small> - + Your username is too long. Vaše uživatelské jméno je příliš dlouhé. - + Your username must start with a lowercase letter or underscore. Je třeba, aby uživatelské jméno začínalo na malé písmeno nebo podtržítko. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Je možné použít pouze malá písmena, číslice, podtržítko a spojovník. - + Only letters, numbers, underscore and hyphen are allowed. Je možné použít pouze písmena, číslice, podtržítko a spojovník. - + Your hostname is too short. Název stroje je příliš krátký. - + Your hostname is too long. Název stroje je příliš dlouhý. diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 73ed6bc9d..029f88776 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -1290,6 +1290,14 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Skærmen er for lille til at vise installationsprogrammet. + + HostInfoJob + + + Collecting information about your machine. + Indsamler information om din maskine. + + IDJob @@ -1674,245 +1682,250 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. PWQ - + Password is too short Adgangskoden er for kort - + Password is too long Adgangskoden er for lang - + Password is too weak Adgangskoden er for svag - + Memory allocation error when setting '%1' Fejl ved allokering af hukommelse da '%1' blev sat - + Memory allocation error Fejl ved allokering af hukommelse - + The password is the same as the old one Adgangskoden er den samme som den gamle - + The password is a palindrome Adgangskoden er et palindrom - + The password differs with case changes only Adgangskoden har kun ændringer i store/små bogstaver - + The password is too similar to the old one Adgangskoden minder for meget om den gamle - + The password contains the user name in some form Adgangskoden indeholder i nogen form brugernavnet - + The password contains words from the real name of the user in some form Adgangskoden indeholder i nogen form ord fra brugerens rigtige navn - + The password contains forbidden words in some form Adgangskoden indeholder i nogen form forbudte ord - + The password contains less than %1 digits Adgangskoden indeholder færre end %1 cifre - + The password contains too few digits Adgangskoden indeholder for få cifre - + The password contains less than %1 uppercase letters Adgangskoden indeholder færre end %1 bogstaver med stort - + The password contains too few uppercase letters Adgangskoden indeholder for få bogstaver med stort - + The password contains less than %1 lowercase letters Adgangskoden indeholder færre end %1 bogstaver med småt - + The password contains too few lowercase letters Adgangskoden indeholder for få bogstaver med småt - + The password contains less than %1 non-alphanumeric characters Adgangskoden indeholder færre end %1 ikke-alfanumeriske tegn - + The password contains too few non-alphanumeric characters Adgangskoden indeholder for få ikke-alfanumeriske tegn - + The password is shorter than %1 characters Adgangskoden er kortere end %1 tegn - + The password is too short Adgangskoden er for kort - + The password is just rotated old one Adgangskoden er blot det gamle hvor der er byttet om på tegnene - + The password contains less than %1 character classes Adgangskoden indeholder færre end %1 tegnklasser - + The password does not contain enough character classes Adgangskoden indeholder ikke nok tegnklasser - + The password contains more than %1 same characters consecutively Adgangskoden indeholder flere end %1 af de samme tegn i træk - + The password contains too many same characters consecutively Adgangskoden indeholder for mange af de samme tegn i træk - + The password contains more than %1 characters of the same class consecutively Adgangskoden indeholder flere end %1 tegn af den samme klasse i træk - + The password contains too many characters of the same class consecutively Adgangskoden indeholder for mange tegn af den samme klasse i træk - + The password contains monotonic sequence longer than %1 characters Adgangskoden indeholder monoton sekvens som er længere end %1 tegn - + The password contains too long of a monotonic character sequence Adgangskoden indeholder en monoton tegnsekvens som er for lang - + No password supplied Der er ikke angivet nogen adgangskode - + Cannot obtain random numbers from the RNG device Kan ikke få tilfældige tal fra RNG-enhed - + Password generation failed - required entropy too low for settings Generering af adgangskode mislykkedes - krævede entropi er for lav til indstillinger - + The password fails the dictionary check - %1 Adgangskoden bestod ikke ordbogstjekket - %1 - + The password fails the dictionary check Adgangskoden bestod ikke ordbogstjekket - + Unknown setting - %1 Ukendt indstilling - %1 - + Unknown setting Ukendt indstilling - + Bad integer value of setting - %1 Ugyldig heltalsværdi til indstilling - %1 - + Bad integer value Ugyldig heltalsværdi - + Setting %1 is not of integer type Indstillingen %1 er ikke en helttalsstype - + Setting is not of integer type Indstillingen er ikke en helttalsstype - + Setting %1 is not of string type Indstillingen %1 er ikke en strengtype - + Setting is not of string type Indstillingen er ikke en strengtype - + Opening the configuration file failed Åbningen af konfigurationsfilen mislykkedes - + The configuration file is malformed Konfigurationsfilen er forkert udformet - + Fatal failure Fatal fejl - + Unknown error Ukendt fejl + + + Password is empty + Adgangskoden er tom + PackageChooserPage @@ -3195,32 +3208,32 @@ Output: <small>Hvis mere end én person bruger computeren, kan du oprette flere konti efter installationen.</small> - + Your username is too long. Dit brugernavn er for langt. - + Your username must start with a lowercase letter or underscore. Dit brugernavn skal begynde med et bogstav med småt eller understregning. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Det er kun tilladt at bruge bogstaver med småt, tal, understregning og bindestreg. - + Only letters, numbers, underscore and hyphen are allowed. Det er kun tilladt at bruge bogstaver, tal, understregning og bindestreg. - + Your hostname is too short. Dit værtsnavn er for kort. - + Your hostname is too long. Dit værtsnavn er for langt. diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 05e0a4708..aa5d03a25 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -261,17 +261,17 @@ Would you like to paste the install log to the web? - + Möchten Sie das Installationsprotokoll in das Internet einfügen? Install Log Paste URL - + Einfüge-URL des Installationsprotokolls The upload was unsuccessful. No web-paste was done. - + Der Upload ist fehlgeschlagen. Es wurde nichts ins Internet eingefügt. @@ -429,7 +429,8 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Install log posted to: %1 - + Installationsprotokoll geposted: +%1 @@ -1289,6 +1290,14 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Der Bildschirm ist zu klein, um das Installationsprogramm anzuzeigen. + + HostInfoJob + + + Collecting information about your machine. + Sammeln von Informationen über Ihre Maschine. + + IDJob @@ -1600,7 +1609,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. No root mount point is set for MachineId. - + Für MachineId ist kein Root-Mount-Punkt gesetzt. @@ -1628,7 +1637,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Network Installation. (Disabled: Incorrect configuration) - + Netwerk-Installation. (Deaktiviert: Ungültige Konfiguration) @@ -1673,245 +1682,250 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. PWQ - + Password is too short Das Passwort ist zu kurz - + Password is too long Das Passwort ist zu lang - + Password is too weak Das Passwort ist zu schwach - + Memory allocation error when setting '%1' Fehler bei der Speicherzuweisung beim Einrichten von '%1' - + Memory allocation error Fehler bei der Speicherzuweisung - + The password is the same as the old one Das Passwort ist dasselbe wie das alte - + The password is a palindrome Das Passwort ist ein Palindrom - + The password differs with case changes only Das Passwort unterscheidet sich nur durch Groß- und Kleinschreibung - + The password is too similar to the old one Das Passwort ist dem alten zu ähnlich - + The password contains the user name in some form Das Passwort enthält eine Form des Benutzernamens - + The password contains words from the real name of the user in some form Das Passwort enthält Teile des Klarnamens des Benutzers - + The password contains forbidden words in some form Das Passwort enthält verbotene Wörter - + The password contains less than %1 digits Das Passwort hat weniger als %1 Stellen - + The password contains too few digits Das Passwort hat zu wenige Stellen - + The password contains less than %1 uppercase letters Das Passwort enthält weniger als %1 Großbuchstaben - + The password contains too few uppercase letters Das Passwort enthält zu wenige Großbuchstaben - + The password contains less than %1 lowercase letters Das Passwort enthält weniger als %1 Kleinbuchstaben - + The password contains too few lowercase letters Das Passwort enthält zu wenige Kleinbuchstaben - + The password contains less than %1 non-alphanumeric characters Das Passwort enthält weniger als %1 nicht-alphanumerische Zeichen - + The password contains too few non-alphanumeric characters Das Passwort enthält zu wenige nicht-alphanumerische Zeichen - + The password is shorter than %1 characters Das Passwort hat weniger als %1 Stellen - + The password is too short Das Passwort ist zu kurz - + The password is just rotated old one Das Passwort wurde schon einmal verwendet - + The password contains less than %1 character classes Das Passwort enthält weniger als %1 verschiedene Zeichenarten - + The password does not contain enough character classes Das Passwort enthält nicht genügend verschiedene Zeichenarten - + The password contains more than %1 same characters consecutively Das Passwort enthält mehr als %1 gleiche Zeichen am Stück - + The password contains too many same characters consecutively Das Passwort enthält zu viele gleiche Zeichen am Stück - + The password contains more than %1 characters of the same class consecutively Das Passwort enthält mehr als %1 gleiche Zeichenarten am Stück - + The password contains too many characters of the same class consecutively Das Passwort enthält zu viele gleiche Zeichenarten am Stück - + The password contains monotonic sequence longer than %1 characters Das Passwort enthält eine gleichartige Sequenz von mehr als %1 Zeichen - + The password contains too long of a monotonic character sequence Das Passwort enthält eine gleichartige Sequenz von zu großer Länge - + No password supplied Kein Passwort angegeben - + Cannot obtain random numbers from the RNG device Zufallszahlen konnten nicht vom Zufallszahlengenerator abgerufen werden - + Password generation failed - required entropy too low for settings Passwortgeneration fehlgeschlagen - Zufallszahlen zu schwach für die gewählten Einstellungen - + The password fails the dictionary check - %1 Das Passwort besteht den Wörterbuch-Test nicht - %1 - + The password fails the dictionary check Das Passwort besteht den Wörterbuch-Test nicht - + Unknown setting - %1 Unbekannte Einstellung - %1 - + Unknown setting Unbekannte Einstellung - + Bad integer value of setting - %1 Fehlerhafter Integerwert der Einstellung - %1 - + Bad integer value Fehlerhafter Integerwert - + Setting %1 is not of integer type Die Einstellung %1 ist kein Integerwert - + Setting is not of integer type Die Einstellung ist kein Integerwert - + Setting %1 is not of string type Die Einstellung %1 ist keine Zeichenkette - + Setting is not of string type Die Einstellung ist keine Zeichenkette - + Opening the configuration file failed Öffnen der Konfigurationsdatei fehlgeschlagen - + The configuration file is malformed Die Konfigurationsdatei ist falsch strukturiert - + Fatal failure Fataler Fehler - + Unknown error Unbekannter Fehler + + + Password is empty + Passwort ist leer + PackageChooserPage @@ -1923,7 +1937,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Product Name - + Produktname @@ -1933,17 +1947,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Long Product Description - + Lange Produktbeschreibung Package Selection - + Paketauswahl Please pick a product from the list. The selected product will be installed. - + Bitte wählen Sie ein Produkt aus der Liste aus. Das ausgewählte Produkt wird installiert. @@ -1951,7 +1965,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Packages - + Pakete @@ -2008,12 +2022,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Your Full Name - + Ihr vollständiger Name login - + Anmeldung @@ -2023,29 +2037,29 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Computer Name - + Computername Password - + Passwort Repeat Password - + Passwort wiederholen When this box is checked, password-strength checking is done and you will not be able to use a weak password. - + Wenn dieses Kontrollkästchen aktiviert ist, wird eine Überprüfung der Kennwortstärke durchgeführt und Sie können kein schwaches Kennwort verwenden. Require strong passwords. - + Erfordert sichere Passwörter. @@ -2518,12 +2532,12 @@ Ausgabe: No product - + Kein Produkt No description provided. - + Keine Beschreibung vorhanden. @@ -2532,22 +2546,22 @@ Ausgabe: File not found - + Datei nicht gefunden Path <pre>%1</pre> must be an absolute path. - + Pfad <pre>%1</pre> muss ein absoluter Pfad sein. Could not create new random file <pre>%1</pre>. - + Es konnte keine neue Zufallsdatei <pre>%1</pre> erstellt werden. Could not read random file <pre>%1</pre>. - + Konnte keine zufällige Datei <pre>%1</pre> lesen. @@ -3194,32 +3208,32 @@ Ausgabe: <small>Falls dieser Computer von mehr als einer Person benutzt werden soll, können weitere Benutzerkonten nach der Installation eingerichtet werden.</small> - + Your username is too long. Ihr Nutzername ist zu lang. - - - Your username must start with a lowercase letter or underscore. - - + Your username must start with a lowercase letter or underscore. + Ihr Benutzername muss mit einem Kleinbuchstaben oder Unterstrich beginnen. + + + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Es sind nur Kleinbuchstaben, Zahlen, Unterstrich und Bindestrich erlaubt. - + Only letters, numbers, underscore and hyphen are allowed. - + Es sind nur Buchstaben, Zahlen, Unter- und Bindestriche erlaubt. - + Your hostname is too short. Ihr Hostname ist zu kurz. - + Your hostname is too long. Ihr Hostname ist zu lang. @@ -3242,7 +3256,7 @@ Ausgabe: Key - + Schlüssel @@ -3314,32 +3328,32 @@ Ausgabe: Select application and system language - + Anwendung und Systemsprache auswählen Open donations website - + Öffene Spenden-Website &Donate - + Spen&den Open help and support website - + Öffnen Sie die Webseite für Hilfe und Support Open issues and bug-tracking website - + Offene Probleme und Bug-Tracking-Webseite Open release notes website - + Öffnen Sie die Webseite mit den Versionshinweisen diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 691282dd6..44f9fefe9 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. Η οθόνη είναι πολύ μικρή για να απεικονίσει το πρόγραμμα εγκατάστασης + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. Το όνομα χρήστη είναι πολύ μακρύ. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Το όνομα υπολογιστή είναι πολύ σύντομο. - + Your hostname is too long. Το όνομα υπολογιστή είναι πολύ μακρύ. diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index d5d5afac3..149b1f2cb 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1290,6 +1290,14 @@ The installer will quit and all changes will be lost. The screen is too small to display the installer. + + HostInfoJob + + + Collecting information about your machine. + Collecting information about your machine. + + IDJob @@ -1674,245 +1682,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Password is too short - + Password is too long Password is too long - + Password is too weak Password is too weak - + Memory allocation error when setting '%1' Memory allocation error when setting '%1' - + Memory allocation error Memory allocation error - + The password is the same as the old one The password is the same as the old one - + The password is a palindrome The password is a palindrome - + The password differs with case changes only The password differs with case changes only - + The password is too similar to the old one The password is too similar to the old one - + The password contains the user name in some form The password contains the user name in some form - + The password contains words from the real name of the user in some form The password contains words from the real name of the user in some form - + The password contains forbidden words in some form The password contains forbidden words in some form - + The password contains less than %1 digits The password contains less than %1 digits - + The password contains too few digits The password contains too few digits - + The password contains less than %1 uppercase letters The password contains less than %1 uppercase letters - + The password contains too few uppercase letters The password contains too few uppercase letters - + The password contains less than %1 lowercase letters The password contains less than %1 lowercase letters - + The password contains too few lowercase letters The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters The password is shorter than %1 characters - + The password is too short The password is too short - + The password is just rotated old one The password is just rotated old one - + The password contains less than %1 character classes The password contains less than %1 character classes - + The password does not contain enough character classes The password does not contain enough character classes - + The password contains more than %1 same characters consecutively The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence The password contains too long of a monotonic character sequence - + No password supplied No password supplied - + Cannot obtain random numbers from the RNG device Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 The password fails the dictionary check - %1 - + The password fails the dictionary check The password fails the dictionary check - + Unknown setting - %1 Unknown setting - %1 - + Unknown setting Unknown setting - + Bad integer value of setting - %1 Bad integer value of setting - %1 - + Bad integer value Bad integer value - + Setting %1 is not of integer type Setting %1 is not of integer type - + Setting is not of integer type Setting is not of integer type - + Setting %1 is not of string type Setting %1 is not of string type - + Setting is not of string type Setting is not of string type - + Opening the configuration file failed Opening the configuration file failed - + The configuration file is malformed The configuration file is malformed - + Fatal failure Fatal failure - + Unknown error Unknown error + + + Password is empty + Password is empty + PackageChooserPage @@ -3195,32 +3208,32 @@ Output: <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Your username is too long. - + Your username must start with a lowercase letter or underscore. Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index f52bb7d49..049093900 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. The screen is too small to display the installer. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Password is too short - + Password is too long Password is too long - + Password is too weak Password is too weak - + Memory allocation error when setting '%1' Memory allocation error when setting '%1' - + Memory allocation error Memory allocation error - + The password is the same as the old one The password is the same as the old one - + The password is a palindrome The password is a palindrome - + The password differs with case changes only The password differs with case changes only - + The password is too similar to the old one The password is too similar to the old one - + The password contains the user name in some form The password contains the user name in some form - + The password contains words from the real name of the user in some form The password contains words from the real name of the user in some form - + The password contains forbidden words in some form The password contains forbidden words in some form - + The password contains less than %1 digits The password contains less than %1 digits - + The password contains too few digits The password contains too few digits - + The password contains less than %1 uppercase letters The password contains less than %1 uppercase letters - + The password contains too few uppercase letters The password contains too few uppercase letters - + The password contains less than %1 lowercase letters The password contains less than %1 lowercase letters - + The password contains too few lowercase letters The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters The password is shorter than %1 characters - + The password is too short The password is too short - + The password is just rotated old one The password is just rotated old one - + The password contains less than %1 character classes The password contains less than %1 character classes - + The password does not contain enough character classes The password does not contain enough character classes - + The password contains more than %1 same characters consecutively The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence The password contains too long of a monotonic character sequence - + No password supplied No password supplied - + Cannot obtain random numbers from the RNG device Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 The password fails the dictionary check - %1 - + The password fails the dictionary check The password fails the dictionary check - + Unknown setting - %1 Unknown setting - %1 - + Unknown setting Unknown setting - + Bad integer value of setting - %1 Bad integer value of setting - %1 - + Bad integer value Bad integer value - + Setting %1 is not of integer type Setting %1 is not of integer type - + Setting is not of integer type Setting is not of integer type - + Setting %1 is not of string type Setting %1 is not of string type - + Setting is not of string type Setting is not of string type - + Opening the configuration file failed Opening the configuration file failed - + The configuration file is malformed The configuration file is malformed - + Fatal failure Fatal failure - + Unknown error Unknown error + + + Password is empty + + PackageChooserPage @@ -3193,32 +3206,32 @@ Output: - + Your username is too long. Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index 963c949da..f7b0c8700 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -117,7 +117,7 @@ Set up - + Aranĝu @@ -229,13 +229,13 @@ &Back - + &Reen &Next - + &Sekva @@ -301,12 +301,12 @@ &Set up now - + &Aranĝu nun &Set up - + &Aranĝu @@ -376,7 +376,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Go &back - + Iru &Reen @@ -482,7 +482,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Select storage de&vice: - + Elektita &tenada aparato @@ -670,7 +670,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Create a Partition - + Kreiu Subdisko @@ -680,57 +680,57 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Partition &Type: - + &Speco de Subdisko: &Primary - + &Ĉefsubdisko E&xtended - + &Kromsubdisko Fi&le System: - + &Dosiersistemo: LVM LV name - + LVM LV nomo Flags: - + Flagoj: &Mount Point: - + &Muntopunkto: Si&ze: - + &Grandeco: En&crypt - + &Ĉifras Logical - + Logika Primary - + Ĉefa @@ -740,7 +740,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Mountpoint already in use. Please select another one. - + Muntopunkto jam utiliĝi. Bonvolu elektu alian. @@ -1017,7 +1017,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. &Keep - + &Tenu @@ -1032,12 +1032,12 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. &Mount Point: - + &Muntopunkto: Si&ze: - + &Grandeco: @@ -1047,17 +1047,17 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Fi&le System: - + &Dosiersistemo: Flags: - + &Flagoj: Mountpoint already in use. Please select another one. - + Muntopunkto jam utiliĝi. Bonvolu elektu alian. @@ -1070,7 +1070,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. En&crypt system - + &Ĉifru la sistemo @@ -1141,7 +1141,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. &Restart now - + &Restartigu nun @@ -1288,6 +1288,14 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1397,7 +1405,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. &OK - + &Daŭrigu @@ -1532,7 +1540,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. &Change... - + &Ŝanĝu... @@ -1643,7 +1651,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Ba&tch: - + &Baĉo @@ -1672,245 +1680,250 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -2157,12 +2170,12 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Storage de&vice: - + &Tenada aparato &Revert All Changes - + &Malfari Sanĝojn @@ -2172,17 +2185,17 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. Cre&ate - + &Kreiu &Edit - + &Redaktu &Delete - + &Forviŝu @@ -2478,7 +2491,7 @@ Output: extended - + kromsubdisko @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 23b023857..3c87a2036 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -1289,6 +1289,14 @@ Saldrá del instalador y se perderán todos los cambios. La pantalla es demasiado pequeña para mostrar el instalador. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1673,245 +1681,250 @@ Saldrá del instalador y se perderán todos los cambios. PWQ - + Password is too short La contraseña es demasiado corta - + Password is too long La contraseña es demasiado larga - + Password is too weak La contraseña es demasiado débil - + Memory allocation error when setting '%1' Error de asignación de memoria al establecer '%1' - + Memory allocation error Error de asignación de memoria - + The password is the same as the old one La contraseña es la misma que la antigua - + The password is a palindrome La contraseña es un palíndromo - + The password differs with case changes only La contraseña difiere sólo en cambios de mayúsculas/minúsculas - + The password is too similar to the old one La contraseña es demasiado similar a la antigua - + The password contains the user name in some form La contraseña contiene el nombre de usuario de alguna forma - + The password contains words from the real name of the user in some form La contraseña contiene palabras procedentes del nombre real del usuario de alguna forma - + The password contains forbidden words in some form La contraseña contiene palabras prohibidas de alguna forma - + The password contains less than %1 digits La contraseña contiene menos de %1 dígitos - + The password contains too few digits La contraseña contiene demasiado pocos dígitos - + The password contains less than %1 uppercase letters La contraseña contiene menos de %1 letras mayúsculas - + The password contains too few uppercase letters La contraseña contiene demasiado pocas letras mayúsculas - + The password contains less than %1 lowercase letters La contraseña contiene menos de %1 letras mayúsculas - + The password contains too few lowercase letters La contraseña contiene demasiado pocas letras minúsculas - + The password contains less than %1 non-alphanumeric characters La contraseña contiene menos de %1 caracteres alfanuméricos - + The password contains too few non-alphanumeric characters La contraseña contiene demasiado pocos caracteres alfanuméricos - + The password is shorter than %1 characters La contraseña tiene menos de %1 caracteres - + The password is too short La contraseña es demasiado corta - + The password is just rotated old one La contraseña sólo es la antigua invertida - + The password contains less than %1 character classes La contraseña contiene menos de %1 clases de caracteres - + The password does not contain enough character classes La contraseña no contiene suficientes clases de caracteres - + The password contains more than %1 same characters consecutively La contraseña contiene más de %1 caracteres iguales consecutivamente - + The password contains too many same characters consecutively La contraseña contiene demasiados caracteres iguales consecutivamente - + The password contains more than %1 characters of the same class consecutively La contraseña contiene más de %1 caracteres de la misma clase consecutivamente - + The password contains too many characters of the same class consecutively La contraseña contiene demasiados caracteres de la misma clase consecutivamente - + The password contains monotonic sequence longer than %1 characters La contraseña contiene una secuencia monótona de más de %1 caracteres - + The password contains too long of a monotonic character sequence La contraseña contiene una secuencia monótona de caracteres demasiado larga - + No password supplied No se proporcionó contraseña - + Cannot obtain random numbers from the RNG device No se puede obtener números aleatorios del dispositivo RNG (generador de números aleatorios) - + Password generation failed - required entropy too low for settings La generación de contraseña falló - la entropía requerida es demasiado baja para la configuración - + The password fails the dictionary check - %1 La contraseña no paso el test de diccionario - %1 - + The password fails the dictionary check La contraseña no pasó el test de diccionario - + Unknown setting - %1 Configuración desconocida - %1 - + Unknown setting Configuración desconocida - + Bad integer value of setting - %1 Valor entero de la configuración erróneo - %1 - + Bad integer value Valor entero erróneo - + Setting %1 is not of integer type La configuración %1 no es de tipo entero - + Setting is not of integer type La configuración no es de tipo entero - + Setting %1 is not of string type La configuración %1 no es de tipo cadena de caracteres - + Setting is not of string type La configuración no es de tipo cadena de caracteres - + Opening the configuration file failed No se pudo abrir el fichero de configuración - + The configuration file is malformed El fichero de configuración está mal formado - + Fatal failure Fallo fatal - + Unknown error Error desconocido + + + Password is empty + + PackageChooserPage @@ -3194,32 +3207,32 @@ Salida: - + Your username is too long. Su nombre de usuario es demasiado largo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. El nombre del Host es demasiado corto. - + Your hostname is too long. El nombre del Host es demasiado largo. diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index 01a0c0eb1..38a1ca28f 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -1290,6 +1290,14 @@ El instalador terminará y se perderán todos los cambios. La pantalla es muy pequeña para mostrar el instalador + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1674,245 +1682,250 @@ El instalador terminará y se perderán todos los cambios. PWQ - + Password is too short La contraseña es muy corta - + Password is too long La contraseña es muy larga - + Password is too weak La contraseña es muy débil - + Memory allocation error when setting '%1' Error de asignación de memoria al configurar '%1' - + Memory allocation error Error en la asignación de memoria - + The password is the same as the old one La contraseña es la misma que la anterior - + The password is a palindrome La contraseña es un Palíndromo - + The password differs with case changes only La contraseña solo difiere en cambios de mayúsculas y minúsculas - + The password is too similar to the old one La contraseña es muy similar a la anterior. - + The password contains the user name in some form La contraseña contiene el nombre de usuario de alguna forma - + The password contains words from the real name of the user in some form La contraseña contiene palabras del nombre real del usuario de alguna forma - + The password contains forbidden words in some form La contraseña contiene palabras prohibidas de alguna forma - + The password contains less than %1 digits La contraseña contiene menos de %1 dígitos - + The password contains too few digits La contraseña contiene muy pocos dígitos - + The password contains less than %1 uppercase letters La contraseña contiene menos de %1 letras mayúsculas - + The password contains too few uppercase letters La contraseña contiene muy pocas letras mayúsculas - + The password contains less than %1 lowercase letters La contraseña continee menos de %1 letras minúsculas - + The password contains too few lowercase letters La contraseña contiene muy pocas letras minúsculas - + The password contains less than %1 non-alphanumeric characters La contraseña contiene menos de %1 caracteres no alfanuméricos - + The password contains too few non-alphanumeric characters La contraseña contiene muy pocos caracteres alfanuméricos - + The password is shorter than %1 characters La contraseña es mas corta que %1 caracteres - + The password is too short La contraseña es muy corta - + The password is just rotated old one La contraseña solo es la rotación de la anterior - + The password contains less than %1 character classes La contraseña contiene menos de %1 tipos de caracteres - + The password does not contain enough character classes La contraseña no contiene suficientes tipos de caracteres - + The password contains more than %1 same characters consecutively La contraseña contiene más de %1 caracteres iguales consecutivamente - + The password contains too many same characters consecutively La contraseña contiene muchos caracteres iguales repetidos consecutivamente - + The password contains more than %1 characters of the same class consecutively La contraseña contiene mas de %1 caracteres de la misma clase consecutivamente - + The password contains too many characters of the same class consecutively La contraseña contiene muchos caracteres de la misma clase consecutivamente - + The password contains monotonic sequence longer than %1 characters La contraseña contiene secuencias monotónicas mas larga que %1 caracteres - + The password contains too long of a monotonic character sequence La contraseña contiene secuencias monotónicas muy largas - + No password supplied Contraseña no suministrada - + Cannot obtain random numbers from the RNG device No pueden obtenerse números aleatorios del dispositivo RING - + Password generation failed - required entropy too low for settings Generación de contraseña fallida - entropía requerida muy baja para los ajustes - + The password fails the dictionary check - %1 La contraseña falla el chequeo del diccionario %1 - + The password fails the dictionary check La contraseña falla el chequeo del diccionario - + Unknown setting - %1 Configuración desconocida - %1 - + Unknown setting Configuración desconocida - + Bad integer value of setting - %1 Valor entero de configuración incorrecto - %1 - + Bad integer value Valor entero incorrecto - + Setting %1 is not of integer type Ajuste de % 1 no es de tipo entero - + Setting is not of integer type Ajuste no es de tipo entero - + Setting %1 is not of string type El ajuste %1 no es de tipo cadena - + Setting is not of string type El ajuste no es de tipo cadena - + Opening the configuration file failed Apertura del archivo de configuración fallida - + The configuration file is malformed El archivo de configuración está malformado - + Fatal failure Falla fatal - + Unknown error Error desconocido + + + Password is empty + + PackageChooserPage @@ -3196,32 +3209,32 @@ Salida <small>Si más de una persona usará esta computadora, puede crear varias cuentas después de la instalación.</small> - + Your username is too long. Tu nombre de usuario es demasiado largo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. El nombre de tu equipo es demasiado corto. - + Your hostname is too long. El nombre de tu equipo es demasiado largo. diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 6bdef0a1a..c12732c58 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index 9094260df..fc8df547f 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -1288,6 +1288,14 @@ Paigaldaja sulgub ning kõik muutused kaovad. Ekraan on paigaldaja kuvamiseks liiga väike. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Paigaldaja sulgub ning kõik muutused kaovad. PWQ - + Password is too short Parool on liiga lühike - + Password is too long Parool on liiga pikk - + Password is too weak Parool on liiga nõrk - + Memory allocation error when setting '%1' Mälu eraldamise viga valikut "%1" määrates - + Memory allocation error Mälu eraldamise viga - + The password is the same as the old one Parool on sama mis enne - + The password is a palindrome Parool on palindroom - + The password differs with case changes only Parool erineb ainult suurtähtede poolest - + The password is too similar to the old one Parool on eelmisega liiga sarnane - + The password contains the user name in some form Parool sisaldab mingil kujul kasutajanime - + The password contains words from the real name of the user in some form Parool sisaldab mingil kujul sõnu kasutaja pärisnimest - + The password contains forbidden words in some form Parool sisaldab mingil kujul sobimatuid sõnu - + The password contains less than %1 digits Parool sisaldab vähem kui %1 numbrit - + The password contains too few digits Parool sisaldab liiga vähe numbreid - + The password contains less than %1 uppercase letters Parool sisaldab vähem kui %1 suurtähte - + The password contains too few uppercase letters Parool sisaldab liiga vähe suurtähti - + The password contains less than %1 lowercase letters Parool sisaldab vähem kui %1 väiketähte - + The password contains too few lowercase letters Parool sisaldab liiga vähe väiketähti - + The password contains less than %1 non-alphanumeric characters Parool sisaldab vähem kui %1 mitte-tähestikulist märki - + The password contains too few non-alphanumeric characters Parool sisaldab liiga vähe mitte-tähestikulisi märke - + The password is shorter than %1 characters Parool on lühem kui %1 tähemärki - + The password is too short Parool on liiga lühike - + The password is just rotated old one Parool on lihtsalt pööratud eelmine parool - + The password contains less than %1 character classes Parool sisaldab vähem kui %1 tähemärgiklassi - + The password does not contain enough character classes Parool ei sisalda piisavalt tähemärgiklasse - + The password contains more than %1 same characters consecutively Parool sisaldab järjest rohkem kui %1 sama tähemärki - + The password contains too many same characters consecutively Parool sisaldab järjest liiga palju sama tähemärki - + The password contains more than %1 characters of the same class consecutively Parool sisaldab järjest samast klassist rohkem kui %1 tähemärki - + The password contains too many characters of the same class consecutively Parool sisaldab järjest liiga palju samast klassist tähemärke - + The password contains monotonic sequence longer than %1 characters Parool sisaldab monotoonset jada, mis on pikem kui %1 tähemärki - + The password contains too long of a monotonic character sequence Parool sisaldab liiga pikka monotoonsete tähemärkide jada - + No password supplied Parooli ei sisestatud - + Cannot obtain random numbers from the RNG device RNG seadmest ei saanud hankida juhuslikke numbreid - + Password generation failed - required entropy too low for settings Parooligenereerimine ebaõnnestus - nõutud entroopia on seadete jaoks liiga vähe - + The password fails the dictionary check - %1 Parool põrub sõnastikukontrolli - %1 - + The password fails the dictionary check Parool põrub sõnastikukontrolli - + Unknown setting - %1 Tundmatu valik - %1 - + Unknown setting Tundmatu valik - + Bad integer value of setting - %1 Halb täisarvuline väärtus valikul - %1 - + Bad integer value Halb täisarvuväärtus - + Setting %1 is not of integer type Valik %1 pole täisarvu tüüpi - + Setting is not of integer type Valik ei ole täisarvu tüüpi - + Setting %1 is not of string type Valik %1 ei ole string-tüüpi - + Setting is not of string type Valik ei ole string-tüüpi - + Opening the configuration file failed Konfiguratsioonifaili avamine ebaõnnestus - + The configuration file is malformed Konfiguratsioonifail on rikutud - + Fatal failure Saatuslik viga - + Unknown error Tundmatu viga + + + Password is empty + + PackageChooserPage @@ -3193,32 +3206,32 @@ Väljund: - + Your username is too long. Sinu kasutajanimi on liiga pikk. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Sinu hostinimi on liiga lühike. - + Your hostname is too long. Sinu hostinimi on liiga pikk. diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index b093a4713..c19581766 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -1288,6 +1288,14 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Pantaila txikiegia da instalatzailea erakusteko. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. PWQ - + Password is too short Pasahitza laburregia da - + Password is too long Pasahitza luzeegia da - + Password is too weak Pasahitza ahulegia da - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one Pasahitza aurreko zahar baten berdina da - + The password is a palindrome Pasahitza palindromoa da - + The password differs with case changes only - + The password is too similar to the old one Pasahitza aurreko zahar baten oso antzerakoa da - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits Pasahitzak %1 baino zenbaki gutxiago ditu - + The password contains too few digits Pasahitzak zenbaki gutxiegi ditu - + The password contains less than %1 uppercase letters Pasahitzak %1 baino maiuskula gutxiago ditu - + The password contains too few uppercase letters Pasahitzak maiuskula gutxiegi ditu - + The password contains less than %1 lowercase letters Pasahitzak %1 baino minuskula gutxiago ditu - + The password contains too few lowercase letters Pasahitzak minuskula gutxiegi ditu - + The password contains less than %1 non-alphanumeric characters Pasahitzak alfabetokoak ez diren %1 baino karaktere gutxiago ditu - + The password contains too few non-alphanumeric characters Pasahitzak alfabetokoak ez diren karaktere gutxiegi ditu - + The password is shorter than %1 characters Pasahitza %1 karaktere baino motzagoa da. - + The password is too short Pasahitza motzegia da - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed Ezin izan da konfigurazio fitxategia zabaldu. - + The configuration file is malformed Konfigurazio fitxategia ez dago ondo eginda. - + Fatal failure Hutsegite larria - + Unknown error Hutsegite ezezaguna + + + Password is empty + + PackageChooserPage @@ -3192,32 +3205,32 @@ Irteera: - + Your username is too long. Zure erabiltzaile-izena luzeegia da. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Zure ostalari-izena laburregia da. - + Your hostname is too long. Zure ostalari-izena luzeegia da. diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 871712846..ab7405444 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 7bb831557..02fc59b47 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -1290,6 +1290,14 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Näyttö on liian pieni asentajan näyttämiseksi. + + HostInfoJob + + + Collecting information about your machine. + Kerätään tietoja laitteesta. + + IDJob @@ -1674,245 +1682,250 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. PWQ - + Password is too short Salasana on liian lyhyt - + Password is too long Salasana on liian pitkä - + Password is too weak Salasana on liian heikko - + Memory allocation error when setting '%1' Muistin varausvirhe asetettaessa '%1' - + Memory allocation error Muistin varausvirhe - + The password is the same as the old one Salasana on sama kuin vanha - + The password is a palindrome Salasana on palindromi - + The password differs with case changes only Salasana eroaa vain vähäisin muutoksin - + The password is too similar to the old one Salasana on liian samanlainen kuin vanha - + The password contains the user name in some form Salasana sisältää jonkin käyttäjänimen - + The password contains words from the real name of the user in some form Salasana sisältää sanoja käyttäjän todellisesta nimestä jossain muodossa - + The password contains forbidden words in some form Salasana sisältää kiellettyjä sanoja - + The password contains less than %1 digits Salasana sisältää vähemmän kuin %1 numeroa - + The password contains too few digits Salasana sisältää liian vähän numeroita - + The password contains less than %1 uppercase letters Salasana sisältää vähemmän kuin %1 isoja kirjaimia - + The password contains too few uppercase letters Salasana sisältää liian vähän isoja kirjaimia - + The password contains less than %1 lowercase letters Salasana sisältää vähemmän kuin %1 pieniä kirjaimia - + The password contains too few lowercase letters Salasana sisältää liian vähän pieniä kirjaimia - + The password contains less than %1 non-alphanumeric characters Salasanassa on vähemmän kuin %1 erikoismerkkiä - + The password contains too few non-alphanumeric characters Salasana sisältää liian vähän erikoismerkkejä - + The password is shorter than %1 characters Salasana on lyhyempi kuin %1 merkkiä - + The password is too short Salasana on liian lyhyt - + The password is just rotated old one Salasana on vain vanhan pyöritystä - + The password contains less than %1 character classes Salasana sisältää vähemmän kuin %1 merkkiluokkaa - + The password does not contain enough character classes Salasana ei sisällä tarpeeksi merkkiluokkia - + The password contains more than %1 same characters consecutively Salasana sisältää enemmän kuin %1 samaa merkkiä peräkkäin - + The password contains too many same characters consecutively Salasana sisältää liian monta samaa merkkiä peräkkäin - + The password contains more than %1 characters of the same class consecutively Salasana sisältää enemmän kuin %1 merkkiä samasta luokasta peräkkäin - + The password contains too many characters of the same class consecutively Salasana sisältää liian monta saman luokan merkkiä peräkkäin - + The password contains monotonic sequence longer than %1 characters Salasana sisältää monotonisen merkkijonon, joka on pidempi kuin %1 merkkiä - + The password contains too long of a monotonic character sequence Salasanassa on liian pitkä monotoninen merkkijono - + No password supplied Salasanaa ei annettu - + Cannot obtain random numbers from the RNG device Satunnaislukuja ei voi saada RNG-laitteesta - + Password generation failed - required entropy too low for settings Salasanojen luonti epäonnistui - pakollinen vähimmäistaso liian alhainen asetuksia varten - + The password fails the dictionary check - %1 Salasana epäonnistui sanaston tarkistuksessa -%1 - + The password fails the dictionary check Salasana epäonnistui sanaston tarkistuksessa - + Unknown setting - %1 Tuntematon asetus - %1 - + Unknown setting Tuntematon asetus - + Bad integer value of setting - %1 Asetuksen virheellinen kokonaisluku - %1 - + Bad integer value Virheellinen kokonaisluku - + Setting %1 is not of integer type Asetus %1 ei ole kokonaisluku - + Setting is not of integer type Asetus ei ole kokonaisluku - + Setting %1 is not of string type Asetus %1 ei ole merkkijono - + Setting is not of string type Asetus ei ole merkkijono - + Opening the configuration file failed Määritystiedoston avaaminen epäonnistui - + The configuration file is malformed Määritystiedosto on väärin muotoiltu - + Fatal failure Vakava virhe - + Unknown error Tuntematon virhe + + + Password is empty + Salasana on tyhjä + PackageChooserPage @@ -3196,32 +3209,32 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.<small>Jos useampi kuin yksi henkilö käyttää tätä tietokonetta, voit luoda useita tilejä asennuksen jälkeen.</small> - + Your username is too long. Käyttäjänimesi on liian pitkä. - + Your username must start with a lowercase letter or underscore. Käyttäjätunnuksesi täytyy alkaa pienillä kirjaimilla tai alaviivoilla. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Vain pienet kirjaimet, numerot, alaviivat ja tavuviivat ovat sallittuja. - + Only letters, numbers, underscore and hyphen are allowed. Vain kirjaimet, numerot, alaviivat ja tavuviivat ovat sallittuja. - + Your hostname is too short. Isäntänimesi on liian lyhyt. - + Your hostname is too long. Isäntänimesi on liian pitkä. diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index 958253f61..c5b055f5a 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -1290,6 +1290,14 @@ L'installateur se fermera et les changements seront perdus. L'écran est trop petit pour afficher l'installateur. + + HostInfoJob + + + Collecting information about your machine. + Récupération des informations à propos de la machine. + + IDJob @@ -1601,7 +1609,7 @@ L'installateur se fermera et les changements seront perdus. No root mount point is set for MachineId. - + Aucun point de montage racine n'est défini pour MachineId. @@ -1674,245 +1682,250 @@ L'installateur se fermera et les changements seront perdus. PWQ - + Password is too short Le mot de passe est trop court - + Password is too long Le mot de passe est trop long - + Password is too weak Le mot de passe est trop faible - + Memory allocation error when setting '%1' Erreur d'allocation mémoire lors du paramétrage de '%1' - + Memory allocation error Erreur d'allocation mémoire - + The password is the same as the old one Le mot de passe est identique au précédent - + The password is a palindrome Le mot de passe est un palindrome - + The password differs with case changes only Le mot de passe ne diffère que sur la casse - + The password is too similar to the old one Le mot de passe est trop similaire à l'ancien - + The password contains the user name in some form Le mot de passe contient le nom d'utilisateur sous une certaine forme - + The password contains words from the real name of the user in some form Le mot de passe contient des mots provenant du nom d'utilisateur sous une certaine forme - + The password contains forbidden words in some form Le mot de passe contient des mots interdits sous une certaine forme - + The password contains less than %1 digits Le mot de passe contient moins de %1 chiffres - + The password contains too few digits Le mot de passe ne contient pas assez de chiffres - + The password contains less than %1 uppercase letters Le mot de passe contient moins de %1 lettres majuscules - + The password contains too few uppercase letters Le mot de passe ne contient pas assez de lettres majuscules - + The password contains less than %1 lowercase letters Le mot de passe contient moins de %1 lettres minuscules - + The password contains too few lowercase letters Le mot de passe ne contient pas assez de lettres minuscules - + The password contains less than %1 non-alphanumeric characters Le mot de passe contient moins de %1 caractères spéciaux - + The password contains too few non-alphanumeric characters Le mot de passe ne contient pas assez de caractères spéciaux - + The password is shorter than %1 characters Le mot de passe fait moins de %1 caractères - + The password is too short Le mot de passe est trop court - + The password is just rotated old one Le mot de passe saisit correspond avec un de vos anciens mot de passe - + The password contains less than %1 character classes Le mot de passe contient moins de %1 classes de caractères - + The password does not contain enough character classes Le mot de passe ne contient pas assez de classes de caractères - + The password contains more than %1 same characters consecutively Le mot de passe contient plus de %1 fois le même caractère à la suite - + The password contains too many same characters consecutively Le mot de passe contient trop de fois le même caractère à la suite - + The password contains more than %1 characters of the same class consecutively Le mot de passe contient plus de %1 caractères de la même classe consécutivement - + The password contains too many characters of the same class consecutively Le mot de passe contient trop de caractères de la même classe consécutivement - + The password contains monotonic sequence longer than %1 characters Le mot de passe contient une séquence de caractères monotones de %1 caractères - + The password contains too long of a monotonic character sequence Le mot de passe contient une trop longue séquence de caractères monotones - + No password supplied Aucun mot de passe saisi - + Cannot obtain random numbers from the RNG device Impossible d'obtenir des nombres aléatoires depuis le générateur de nombres aléatoires - + Password generation failed - required entropy too low for settings La génération du mot de passe a échoué - L'entropie minimum nécessaire n'est pas satisfaite par les paramètres - + The password fails the dictionary check - %1 Le mot de passe a échoué le contrôle de qualité par dictionnaire - %1 - + The password fails the dictionary check Le mot de passe a échoué le contrôle de qualité par dictionnaire - + Unknown setting - %1 Paramètre inconnu - %1 - + Unknown setting Paramètre inconnu - + Bad integer value of setting - %1 Valeur incorrect du paramètre - %1 - + Bad integer value Mauvaise valeur d'entier - + Setting %1 is not of integer type Le paramètre %1 n'est pas de type entier - + Setting is not of integer type Le paramètre n'est pas de type entier - + Setting %1 is not of string type Le paramètre %1 n'est pas une chaîne de caractères - + Setting is not of string type Le paramètre n'est pas une chaîne de caractères - + Opening the configuration file failed L'ouverture du fichier de configuration a échouée - + The configuration file is malformed Le fichier de configuration est mal formé - + Fatal failure Erreur fatale - + Unknown error Erreur inconnue + + + Password is empty + Le mot de passe est vide + PackageChooserPage @@ -2009,12 +2022,12 @@ L'installateur se fermera et les changements seront perdus. Your Full Name - + Nom complet login - + identifiant @@ -2024,29 +2037,29 @@ L'installateur se fermera et les changements seront perdus. Computer Name - + Nom de l'ordinateur Password - + Mot de passe Repeat Password - + Répéter le mot de passe When this box is checked, password-strength checking is done and you will not be able to use a weak password. - + Quand cette case est cochée, la vérification de la puissance du mot de passe est activée et vous ne pourrez pas utiliser de mot de passe faible. Require strong passwords. - + Nécessite un mot de passe fort. @@ -2534,22 +2547,22 @@ Sortie File not found - + Fichier non trouvé Path <pre>%1</pre> must be an absolute path. - + Le chemin <pre>%1</pre> doit être un chemin absolu. Could not create new random file <pre>%1</pre>. - + Impossible de créer le nouveau fichier aléatoire <pre>%1</pre>. Could not read random file <pre>%1</pre>. - + Impossible de lire le fichier aléatoire <pre>%1</pre>. @@ -3196,32 +3209,32 @@ Sortie <small>si plusieurs personnes utilisent cet ordinateur, vous pourrez créer plusieurs comptes après l'installation.</small> - + Your username is too long. Votre nom d'utilisateur est trop long. - - - Your username must start with a lowercase letter or underscore. - - + Your username must start with a lowercase letter or underscore. + Votre nom d'utilisateur doit commencer avec une lettre minuscule ou un underscore. + + + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Seuls les minuscules, nombres, underscores et tirets sont autorisés. - + Only letters, numbers, underscore and hyphen are allowed. - + Seuls les lettres, nombres, underscores et tirets sont autorisés. - + Your hostname is too short. Le nom d'hôte est trop petit. - + Your hostname is too long. Le nom d'hôte est trop long. diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 7a6e89dd4..50604f03f 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index f1daf325b..4b98e819f 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -1289,6 +1289,14 @@ O instalador pecharase e perderanse todos os cambios. A pantalla é demasiado pequena para mostrar o instalador. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1673,245 +1681,250 @@ O instalador pecharase e perderanse todos os cambios. PWQ - + Password is too short O contrasinal é demasiado curto - + Password is too long O contrasinal é demasiado longo - + Password is too weak O contrasinal é moi feble - + Memory allocation error when setting '%1' Erro de asignación de memoria ao configurar «%1» - + Memory allocation error Erro de asignación de memoria - + The password is the same as the old one O contrasinal é o mesmo que o anterior - + The password is a palindrome O contrasinal é un palíndromo - + The password differs with case changes only O contrasinal difire só no uso de maiúsculas - + The password is too similar to the old one O contrasinal é demasiado semellante ao anterior - + The password contains the user name in some form O contrasinal contén o nome do usuario ou unha variante - + The password contains words from the real name of the user in some form O contrasinal contén palabras do nome real do usuario ou unha variante - + The password contains forbidden words in some form O contrasinal contén palabras prohibidas ou unha variante - + The password contains less than %1 digits O contrasinal contén menos de %1 díxitos - + The password contains too few digits O contrasinal contén moi poucos díxitos - + The password contains less than %1 uppercase letters O contrasinal contén menos de %1 maiúsculas - + The password contains too few uppercase letters O contrasinal contén moi poucas maiúsculas - + The password contains less than %1 lowercase letters O contrasinal contén menos de %1 minúsculas - + The password contains too few lowercase letters O contrasinal contén moi poucas minúsculas - + The password contains less than %1 non-alphanumeric characters O contrasinal contén menos de %1 caracteres alfanuméricos - + The password contains too few non-alphanumeric characters O contrasinal contén moi poucos caracteres non alfanuméricos - + The password is shorter than %1 characters O contrasinal ten menos de %1 caracteres - + The password is too short O contrasinal é moi curto - + The password is just rotated old one O contrasinal é un anterior reutilizado - + The password contains less than %1 character classes O contrasinal contén menos de %1 clases de caracteres - + The password does not contain enough character classes O contrasinal non contén suficientes clases de caracteres - + The password contains more than %1 same characters consecutively O contrasinal contén máis de %1 caracteres iguais consecutivos - + The password contains too many same characters consecutively O contrasinal contén demasiados caracteres iguais consecutivos - + The password contains more than %1 characters of the same class consecutively O contrasinal contén máis de %1 caracteres consecutivos da mesma clase - + The password contains too many characters of the same class consecutively O contrasinal contén demasiados caracteres da mesma clase consecutivos - + The password contains monotonic sequence longer than %1 characters O contrasinal contén unha secuencia monotónica de máis de %1 caracteres - + The password contains too long of a monotonic character sequence O contrasinal contén unha secuencia de caracteres monotónica demasiado longa - + No password supplied Non se indicou o contrasinal - + Cannot obtain random numbers from the RNG device Non é posíbel obter números aleatorios do servizo de RNG - + Password generation failed - required entropy too low for settings Fallou a xeración do contrasinal - a entropía requirida é demasiado baixa para a configuración - + The password fails the dictionary check - %1 O contrasinal falla a comprobación do dicionario - %1 - + The password fails the dictionary check O contrasinal falla a comprobación do dicionario - + Unknown setting - %1 Configuración descoñecida - %1 - + Unknown setting Configuración descoñecida - + Bad integer value of setting - %1 Valor enteiro incorrecto de opción - %1 - + Bad integer value Valor enteiro incorrecto - + Setting %1 is not of integer type A opción %1 non é de tipo enteiro - + Setting is not of integer type A opción non é de tipo enteiro - + Setting %1 is not of string type A opción %1 non é de tipo cadea - + Setting is not of string type A opción non é de tipo cadea - + Opening the configuration file failed Non foi posíbel abrir o ficheiro de configuración - + The configuration file is malformed O ficheiro de configuración está mal escrito - + Fatal failure Fallo fatal - + Unknown error Erro descoñecido + + + Password is empty + + PackageChooserPage @@ -3194,32 +3207,32 @@ Saída: - + Your username is too long. O nome de usuario é demasiado longo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. O nome do computador é demasiado curto. - + Your hostname is too long. O nome do computador é demasiado longo. diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index 06cac47a0..dc182c84f 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 209ffe0c4..7261ef830 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -1290,6 +1290,14 @@ The installer will quit and all changes will be lost. גודל המסך קטן מכדי להציג את תכנית ההתקנה. + + HostInfoJob + + + Collecting information about your machine. + נאספים נתונים על המכונה שלך. + + IDJob @@ -1674,245 +1682,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short הססמה קצרה מדי - + Password is too long הססמה ארוכה מדי - + Password is too weak הססמה חלשה מדי - + Memory allocation error when setting '%1' שגיאת הקצאת זיכרון בעת הגדרת ‚%1’ - + Memory allocation error שגיאת הקצאת זיכרון - + The password is the same as the old one הססמה זהה לישנה - + The password is a palindrome הססמה היא פלינדרום - + The password differs with case changes only מורכבות הססמה טמונה בשינויי סוגי אותיות בלבד - + The password is too similar to the old one הססמה דומה מדי לישנה - + The password contains the user name in some form הססמה מכילה את שם המשתמש בצורה כלשהי - + The password contains words from the real name of the user in some form הססמה מכילה מילים מהשם האמתי של המשתמש בצורה זו או אחרת - + The password contains forbidden words in some form הססמה מכילה מילים אסורות בצורה כלשהי - + The password contains less than %1 digits הססמה מכילה פחות מ־%1 ספרות - + The password contains too few digits הססמה לא מכילה מספיק ספרות - + The password contains less than %1 uppercase letters הססמה מכילה פחות מ־%1 אותיות גדולות - + The password contains too few uppercase letters הססמה מכילה מעט מדי אותיות גדולות - + The password contains less than %1 lowercase letters הססמה מכילה פחות מ־%1 אותיות קטנות - + The password contains too few lowercase letters הססמה אינה מכילה מספיק אותיות קטנות - + The password contains less than %1 non-alphanumeric characters הססמה מכילה פחות מ־%1 תווים שאינם אלפאנומריים - + The password contains too few non-alphanumeric characters הססמה מכילה מעט מדי תווים שאינם אלפאנומריים - + The password is shorter than %1 characters אורך הססמה קצר מ־%1 תווים - + The password is too short הססמה קצרה מדי - + The password is just rotated old one הססמה היא פשוט סיכול של ססמה קודמת - + The password contains less than %1 character classes הססמה מכילה פחות מ־%1 סוגי תווים - + The password does not contain enough character classes הססמה לא מכילה מספיק סוגי תווים - + The password contains more than %1 same characters consecutively הססמה מכילה יותר מ־%1 תווים זהים ברצף - + The password contains too many same characters consecutively הססמה מכילה יותר מדי תווים זהים ברצף - + The password contains more than %1 characters of the same class consecutively הססמה מכילה יותר מ־%1 תווים מאותו הסוג ברצף - + The password contains too many characters of the same class consecutively הססמה מכילה יותר מדי תווים מאותו הסוג ברצף - + The password contains monotonic sequence longer than %1 characters הססמה מכילה רצף תווים מונוטוני של יותר מ־%1 תווים - + The password contains too long of a monotonic character sequence הססמה מכילה רצף תווים מונוטוני ארוך מדי - + No password supplied לא צוינה ססמה - + Cannot obtain random numbers from the RNG device לא ניתן לקבל מספרים אקראיים מהתקן ה־RNG - + Password generation failed - required entropy too low for settings יצירת הססמה נכשלה - רמת האקראיות הנדרשת נמוכה ביחס להגדרות - + The password fails the dictionary check - %1 הססמה נכשלה במבחן המילון - %1 - + The password fails the dictionary check הססמה נכשלה במבחן המילון - + Unknown setting - %1 הגדרה לא מוכרת - %1 - + Unknown setting הגדרה לא מוכרת - + Bad integer value of setting - %1 ערך מספרי שגוי להגדרה - %1 - + Bad integer value ערך מספרי שגוי - + Setting %1 is not of integer type ההגדרה %1 אינה מסוג מספר שלם - + Setting is not of integer type ההגדרה אינה מסוג מספר שלם - + Setting %1 is not of string type ההגדרה %1 אינה מסוג מחרוזת - + Setting is not of string type ההגדרה אינה מסוג מחרוזת - + Opening the configuration file failed פתיחת קובץ התצורה נכשלה - + The configuration file is malformed קובץ התצורה פגום - + Fatal failure כשל מכריע - + Unknown error שגיאה לא ידועה + + + Password is empty + הססמה ריקה + PackageChooserPage @@ -3195,32 +3208,32 @@ Output: <small>אם מחשב זה מיועד לשימוש לטובת למעלה ממשתמש אחד, ניתן ליצור מגוון חשבונות לאחר ההתקנה.</small> - + Your username is too long. שם המשתמש ארוך מדי. - + Your username must start with a lowercase letter or underscore. שם המשתמש שלך חייב להתחיל באות קטנה או בקו תחתי. - + Only lowercase letters, numbers, underscore and hyphen are allowed. מותר להשתמש רק באותיות קטנות, ספרות, קווים תחתיים ומינוסים. - + Only letters, numbers, underscore and hyphen are allowed. מותר להשתמש רק באותיות, ספרות, קווים תחתיים ומינוסים. - + Your hostname is too short. שם המחשב קצר מדי. - + Your hostname is too long. שם המחשב ארוך מדי. diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index df0b96eb8..6457384d9 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -1289,6 +1289,14 @@ The installer will quit and all changes will be lost. इंस्टॉलर प्रदर्शित करने हेतु स्क्रीन काफ़ी छोटी है। + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1673,245 +1681,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short कूटशब्द काफ़ी छोटा है - + Password is too long कूटशब्द काफ़ी लंबा है - + Password is too weak कूटशब्द काफ़ी कमज़ोर है - + Memory allocation error when setting '%1' '%1' सेट करते समय मेमोरी आवंटन त्रुटि - + Memory allocation error मेमोरी आवंटन त्रुटि - + The password is the same as the old one यह कूटशब्द पुराने वाला ही है - + The password is a palindrome कूटशब्द एक विलोमपद है - + The password differs with case changes only इसमें और पिछले कूटशब्द में केवल lower/upper case का फर्क है - + The password is too similar to the old one यह कूटशब्द पुराने वाले जैसा ही है - + The password contains the user name in some form इस कूटशब्द में किसी रूप में उपयोक्ता नाम है - + The password contains words from the real name of the user in some form इस कूटशब्द में किसी रूप में उपयोक्ता के असली नाम के शब्द शामिल है - + The password contains forbidden words in some form इस कूटशब्द में किसी रूप में वर्जित शब्द है - + The password contains less than %1 digits इस कूटशब्द में %1 से कम अंक हैं - + The password contains too few digits इस कूटशब्द में काफ़ी कम अंक हैं - + The password contains less than %1 uppercase letters इस कूटशब्द में %1 से कम uppercase अक्षर हैं - + The password contains too few uppercase letters इस कूटशब्द में काफ़ी कम uppercase अक्षर हैं - + The password contains less than %1 lowercase letters इस कूटशब्द में %1 से कम lowercase अक्षर हैं - + The password contains too few lowercase letters इस कूटशब्द में काफ़ी कम lowercase अक्षर हैं - + The password contains less than %1 non-alphanumeric characters इस कूटशब्द में %1 से कम ऐसे अक्षर हैं जो अक्षरांक नहीं हैं - + The password contains too few non-alphanumeric characters इस कूटशब्द में काफ़ी कम अक्षरांक हैं - + The password is shorter than %1 characters कूटशब्द %1 अक्षरों से छोटा है - + The password is too short कूटशब्द काफ़ी छोटा है - + The password is just rotated old one यह कूटशब्द पुराने वाला ही है, बस घुमा रखा है - + The password contains less than %1 character classes इस कूटशब्द में %1 से कम अक्षर classes हैं - + The password does not contain enough character classes इस कूटशब्द में नाकाफ़ी अक्षर classes हैं - + The password contains more than %1 same characters consecutively कूटशब्द में %1 से अधिक समान अक्षर लगातार हैं - + The password contains too many same characters consecutively कूटशब्द में काफ़ी ज्यादा समान अक्षर लगातार हैं - + The password contains more than %1 characters of the same class consecutively कूटशब्द में %1 से अधिक समान अक्षर classes लगातार हैं - + The password contains too many characters of the same class consecutively कूटशब्द में काफ़ी ज्यादा एक ही class के अक्षर लगातार हैं - + The password contains monotonic sequence longer than %1 characters कूटशब्द में %1 अक्षरों से लंबा monotonic अनुक्रम है - + The password contains too long of a monotonic character sequence कूटशब्द में काफ़ी बड़ा monotonic अनुक्रम है - + No password supplied कोई कूटशब्द नहीं दिया गया - + Cannot obtain random numbers from the RNG device RNG डिवाइस से यादृच्छिक अंक नहीं मिल सके - + Password generation failed - required entropy too low for settings कूटशब्द बनाना विफल रहा - सेटिंग्स के लिए आवश्यक एन्ट्रापी काफ़ी कम है - + The password fails the dictionary check - %1 कूटशब्द शब्दकोश की जाँच में विफल रहा - %1 - + The password fails the dictionary check कूटशब्द शब्दकोश की जाँच में विफल रहा - + Unknown setting - %1 अज्ञात सेटिंग- %1 - + Unknown setting अज्ञात सेटिंग - + Bad integer value of setting - %1 सेटिंग का गलत पूर्णांक मान - %1 - + Bad integer value गलत पूर्णांक मान - + Setting %1 is not of integer type सेटिंग %1 पूर्णांक नहीं है - + Setting is not of integer type सेटिंग पूर्णांक नहीं है - + Setting %1 is not of string type सेटिंग %1 स्ट्रिंग नहीं है - + Setting is not of string type सेटिंग स्ट्रिंग नहीं है - + Opening the configuration file failed विन्यास फ़ाइल खोलने में विफल - + The configuration file is malformed विन्यास फाइल ख़राब है - + Fatal failure गंभीर विफलता - + Unknown error अज्ञात त्रुटि + + + Password is empty + + PackageChooserPage @@ -3194,32 +3207,32 @@ Output: <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप इंस्टॉल के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> - + Your username is too long. आपका उपयोक्ता नाम काफ़ी लंबा है। - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. आपका होस्ट नाम काफ़ी छोटा है। - + Your hostname is too long. आपका होस्ट नाम काफ़ी लंबा है। diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index a0604ca08..5aa64c25f 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -1290,6 +1290,14 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Zaslon je premalen za prikaz instalacijskog programa. + + HostInfoJob + + + Collecting information about your machine. + Prikupljanje podataka o vašem stroju. + + IDJob @@ -1674,245 +1682,250 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. PWQ - + Password is too short Lozinka je prekratka - + Password is too long Lozinka je preduga - + Password is too weak Lozinka je preslaba - + Memory allocation error when setting '%1' Pogreška u dodjeli memorije prilikom postavljanja '%1' - + Memory allocation error Pogreška u dodjeli memorije - + The password is the same as the old one Lozinka je ista prethodnoj - + The password is a palindrome Lozinka je palindrom - + The password differs with case changes only Lozinka se razlikuje samo u promjenama velikog i malog slova - + The password is too similar to the old one Lozinka je slična prethodnoj - + The password contains the user name in some form Lozinka u nekoj formi sadrži korisničko ime - + The password contains words from the real name of the user in some form Lozinka u nekoj formi sadrži stvarno ime korisnika - + The password contains forbidden words in some form Lozinka u nekoj formi sadrži zabranjene rijeći - + The password contains less than %1 digits Lozinka sadrži manje od %1 brojeva - + The password contains too few digits Lozinka sadrži premalo brojeva - + The password contains less than %1 uppercase letters Lozinka sadrži manje od %1 velikih slova - + The password contains too few uppercase letters Lozinka sadrži premalo velikih slova - + The password contains less than %1 lowercase letters Lozinka sadrži manje od %1 malih slova - + The password contains too few lowercase letters Lozinka sadrži premalo malih slova - + The password contains less than %1 non-alphanumeric characters Lozinka sadrži manje od %1 ne-alfanumeričkih znakova. - + The password contains too few non-alphanumeric characters Lozinka sadrži premalo ne-alfanumeričkih znakova - + The password is shorter than %1 characters Lozinka je kraća od %1 znakova - + The password is too short Lozinka je prekratka - + The password is just rotated old one Lozinka je jednaka rotiranoj prethodnoj - + The password contains less than %1 character classes Lozinka sadrži manje od %1 razreda znakova - + The password does not contain enough character classes Lozinka ne sadrži dovoljno razreda znakova - + The password contains more than %1 same characters consecutively Lozinka sadrži više od %1 uzastopnih znakova - + The password contains too many same characters consecutively Lozinka sadrži previše uzastopnih znakova - + The password contains more than %1 characters of the same class consecutively Lozinka sadrži više od %1 uzastopnih znakova iz istog razreda - + The password contains too many characters of the same class consecutively Lozinka sadrži previše uzastopnih znakova iz istog razreda - + The password contains monotonic sequence longer than %1 characters Lozinka sadrži monotonu sekvencu dužu od %1 znakova - + The password contains too long of a monotonic character sequence Lozinka sadrži previše monotonu sekvencu znakova - + No password supplied Nema isporučene lozinke - + Cannot obtain random numbers from the RNG device Ne mogu dobiti slučajne brojeve od RNG uređaja - + Password generation failed - required entropy too low for settings Generiranje lozinke nije uspjelo - potrebna entropija je premala za postavke - + The password fails the dictionary check - %1 Nije uspjela provjera rječnika za lozinku - %1 - + The password fails the dictionary check Nije uspjela provjera rječnika za lozinku - + Unknown setting - %1 Nepoznate postavke - %1 - + Unknown setting Nepoznate postavke - + Bad integer value of setting - %1 Loša cjelobrojna vrijednost postavke - %1 - + Bad integer value Loša cjelobrojna vrijednost - + Setting %1 is not of integer type Postavka %1 nije cjelobrojnog tipa - + Setting is not of integer type Postavka nije cjelobrojnog tipa - + Setting %1 is not of string type Postavka %1 nije tipa znakovnog niza - + Setting is not of string type Postavka nije tipa znakovnog niza - + Opening the configuration file failed Nije uspjelo otvaranje konfiguracijske datoteke - + The configuration file is malformed Konfiguracijska datoteka je oštećena - + Fatal failure Fatalna pogreška - + Unknown error Nepoznata greška + + + Password is empty + Lozinka je prazna + PackageChooserPage @@ -3195,32 +3208,32 @@ Izlaz: <small>Ako će više osoba koristiti ovo računalo, možete postaviti više korisničkih računa poslije instalacije.</small> - + Your username is too long. Vaše korisničko ime je predugačko. - + Your username must start with a lowercase letter or underscore. Vaše korisničko ime mora započeti malim slovom ili podvlakom. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Dopuštena su samo mala slova, brojevi, podvlake i crtice. - + Only letters, numbers, underscore and hyphen are allowed. Dopuštena su samo slova, brojevi, podvlake i crtice. - + Your hostname is too short. Ime računala je kratko. - + Your hostname is too long. Ime računala je predugačko. diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index b3afa208b..a3b9f0689 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -1289,6 +1289,14 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. A képernyőméret túl kicsi a telepítő megjelenítéséhez. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1673,245 +1681,250 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. PWQ - + Password is too short Túl rövid jelszó - + Password is too long Túl hosszú jelszó - + Password is too weak A jelszó túl gyenge - + Memory allocation error when setting '%1' Memóriafoglalási hiba a(z) „%1” beállításakor - + Memory allocation error Memóriafoglalási hiba - + The password is the same as the old one A jelszó ugyanaz, mint a régi - + The password is a palindrome A jelszó egy palindrom - + The password differs with case changes only A jelszó csak kis- és nagybetűben tér el - + The password is too similar to the old one A jelszó túlságosan hasonlít a régire - + The password contains the user name in some form A jelszó tartalmazza felhasználónevet valamilyen formában - + The password contains words from the real name of the user in some form A jelszó tartalmazza a felhasználó valódi nevét valamilyen formában - + The password contains forbidden words in some form A jelszó tiltott szavakat tartalmaz valamilyen formában - + The password contains less than %1 digits A jelszó kevesebb mint %1 számjegyet tartalmaz - + The password contains too few digits A jelszó túl kevés számjegyet tartalmaz - + The password contains less than %1 uppercase letters A jelszó kevesebb mint %1 nagybetűt tartalmaz - + The password contains too few uppercase letters A jelszó túl kevés nagybetűt tartalmaz - + The password contains less than %1 lowercase letters A jelszó kevesebb mint %1 kisbetűt tartalmaz - + The password contains too few lowercase letters A jelszó túl kevés kisbetűt tartalmaz - + The password contains less than %1 non-alphanumeric characters A jelszó kevesebb mint %1 nem alfanumerikus karaktert tartalmaz - + The password contains too few non-alphanumeric characters A jelszó túl kevés nem alfanumerikus karaktert tartalmaz - + The password is shorter than %1 characters A jelszó rövidebb mint %1 karakter - + The password is too short A jelszó túl rövid - + The password is just rotated old one A jelszó egy újra felhasznált régi jelszó - + The password contains less than %1 character classes A jelszó kevesebb mint %1 karaktert tartalmaz - + The password does not contain enough character classes A jelszó nem tartalmaz elég karakterosztályt - + The password contains more than %1 same characters consecutively A jelszó több mint %1 egyező karaktert tartalmaz egymás után - + The password contains too many same characters consecutively A jelszó túl sok egyező karaktert tartalmaz egymás után - + The password contains more than %1 characters of the same class consecutively A jelszó több mint %1 karaktert tartalmaz ugyanabból a karakterosztályból egymás után - + The password contains too many characters of the same class consecutively A jelszó túl sok karaktert tartalmaz ugyanabból a karakterosztályból egymás után - + The password contains monotonic sequence longer than %1 characters A jelszó %1 karakternél hosszabb monoton sorozatot tartalmaz - + The password contains too long of a monotonic character sequence A jelszó túl hosszú monoton karaktersorozatot tartalmaz - + No password supplied Nincs jelszó megadva - + Cannot obtain random numbers from the RNG device Nem nyerhetőek ki véletlenszámok az RNG eszközből - + Password generation failed - required entropy too low for settings A jelszó előállítás meghiúsult – a szükséges entrópia túl alacsony a beállításokhoz - + The password fails the dictionary check - %1 A jelszó megbukott a szótárellenőrzésen – %1 - + The password fails the dictionary check A jelszó megbukott a szótárellenőrzésen - + Unknown setting - %1 Ismeretlen beállítás – %1 - + Unknown setting Ismeretlen beállítás - + Bad integer value of setting - %1 Hibás egész érték a beállításnál – %1 - + Bad integer value Hibás egész érték - + Setting %1 is not of integer type A(z) %1 beállítás nem egész típusú - + Setting is not of integer type A beállítás nem egész típusú - + Setting %1 is not of string type A(z) %1 beállítás nem karakterlánc típusú - + Setting is not of string type A beállítás nem karakterlánc típusú - + Opening the configuration file failed A konfigurációs fájl megnyitása meghiúsult - + The configuration file is malformed A konfigurációs fájl rosszul formázott - + Fatal failure Végzetes hiba - + Unknown error Ismeretlen hiba + + + Password is empty + + PackageChooserPage @@ -3196,32 +3209,32 @@ Calamares hiba %1. <small>Ha egynél több személy használja a számítógépet akkor létrehozhat több felhasználói fiókot telepítés után.</small> - + Your username is too long. A felhasználónév túl hosszú. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. A hálózati név túl rövid. - + Your hostname is too long. A hálózati név túl hosszú. diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index fa8dbb84c..a1be501a6 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -1288,6 +1288,14 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Layar terlalu kecil untuk menampilkan installer. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Instalasi akan ditutup dan semua perubahan akan hilang. PWQ - + Password is too short Kata sandi terlalu pendek - + Password is too long Kata sandi terlalu panjang - + Password is too weak kata sandi terlalu lemah - + Memory allocation error when setting '%1' Kesalahan alokasi memori saat menyetel '%1' - + Memory allocation error Kesalahan alokasi memori - + The password is the same as the old one Kata sandi sama dengan yang lama - + The password is a palindrome Kata sandi palindrom - + The password differs with case changes only Kata sandi berbeda hanya dengan perubahan huruf saja - + The password is too similar to the old one Kata sandi terlalu mirip dengan yang lama - + The password contains the user name in some form Kata sandi berisi nama pengguna dalam beberapa form - + The password contains words from the real name of the user in some form Kata sandi berisi kata-kata dari nama asli pengguna dalam beberapa form - + The password contains forbidden words in some form Password mengandung kata yang dilarang pada beberapa bagian form - + The password contains less than %1 digits Password setidaknya berisi 1 digit karakter - + The password contains too few digits Kata sandi terkandung terlalu sedikit digit - + The password contains less than %1 uppercase letters Kata sandi terkandung kurang dari %1 huruf besar - + The password contains too few uppercase letters Kata sandi terkandung terlalu sedikit huruf besar - + The password contains less than %1 lowercase letters Kata sandi terkandung kurang dari %1 huruf kecil - + The password contains too few lowercase letters Kata sandi terkandung terlalu sedikit huruf kecil - + The password contains less than %1 non-alphanumeric characters Kata sandi terkandung kurang dari %1 karakter non-alfanumerik - + The password contains too few non-alphanumeric characters Kata sandi terkandung terlalu sedikit non-alfanumerik - + The password is shorter than %1 characters Kata sandi terlalu pendek dari %1 karakter - + The password is too short Password terlalu pendek - + The password is just rotated old one Kata sandi hanya terotasi satu kali - + The password contains less than %1 character classes Kata sandi terkandung kurang dari %1 kelas karakter - + The password does not contain enough character classes Kata sandi tidak terkandung kelas karakter yang cukup - + The password contains more than %1 same characters consecutively Kata sandi terkandung lebih dari %1 karakter berurutan yang sama - + The password contains too many same characters consecutively Kata sandi terkandung terlalu banyak karakter berurutan yang sama - + The password contains more than %1 characters of the same class consecutively Kata sandi terkandung lebih dari %1 karakter dari kelas berurutan yang sama - + The password contains too many characters of the same class consecutively Kata sandi terkandung terlalu banyak karakter dari kelas berurutan yang sama - + The password contains monotonic sequence longer than %1 characters Kata sandi terkandung rangkaian monoton yang lebih panjang dari %1 karakter - + The password contains too long of a monotonic character sequence Kata sandi terkandung rangkaian karakter monoton yang panjang - + No password supplied Tidak ada kata sandi yang dipasok - + Cannot obtain random numbers from the RNG device Tidak dapat memperoleh angka acak dari piranti RNG - + Password generation failed - required entropy too low for settings Penghasilan kata sandi gagal - entropi yang diperlukan terlalu rendah untuk pengaturan - + The password fails the dictionary check - %1 Kata sandi gagal memeriksa kamus - %1 - + The password fails the dictionary check Kata sandi gagal memeriksa kamus - + Unknown setting - %1 Pengaturan tidak diketahui - %1 - + Unknown setting pengaturan tidak diketahui - + Bad integer value of setting - %1 Nilai bilangan bulat buruk dari pengaturan - %1 - + Bad integer value Nilai integer jelek - + Setting %1 is not of integer type Pengaturan %1 tidak termasuk tipe integer - + Setting is not of integer type Pengaturan tidak termasuk tipe integer - + Setting %1 is not of string type Pengaturan %1 tidak termasuk tipe string - + Setting is not of string type Pengaturan tidak termasuk tipe string - + Opening the configuration file failed Ada kesalahan saat membuka berkas konfigurasi - + The configuration file is malformed Kesalahan format pada berkas konfigurasi - + Fatal failure Kegagalan fatal - + Unknown error Ada kesalahan yang tidak diketahui + + + Password is empty + + PackageChooserPage @@ -3195,32 +3208,32 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. - + Your username is too long. Nama pengguna Anda terlalu panjang. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Hostname Anda terlalu pendek. - + Your hostname is too long. Hostname Anda terlalu panjang. diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 2b2437a14..39e283550 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -1288,6 +1288,14 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Skjárinn er of lítill til að birta uppsetningarforritið. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. PWQ - + Password is too short Lykilorðið þitt er of stutt - + Password is too long Lykilorðið þitt er of langt - + Password is too weak Lykilorðið þitt er of veikt - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short Lykilorðið er of stutt - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error Óþekkt villa + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. Notandanafnið þitt er of langt. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Notandanafnið þitt er of stutt. - + Your hostname is too long. Notandanafnið þitt er of langt. diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index adb4db93f..6ee635240 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -1288,6 +1288,14 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Schermo troppo piccolo per mostrare il programma d'installazione. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno PWQ - + Password is too short Password troppo corta - + Password is too long Password troppo lunga - + Password is too weak Password troppo debole - + Memory allocation error when setting '%1' Errore di allocazione della memoria quando si imposta '%1' - + Memory allocation error Errore di allocazione di memoria - + The password is the same as the old one La password coincide con la precedente - + The password is a palindrome La password è un palindromo - + The password differs with case changes only La password differisce solo per lettere minuscole e maiuscole - + The password is too similar to the old one La password è troppo simile a quella precedente - + The password contains the user name in some form La password contiene il nome utente in qualche campo - + The password contains words from the real name of the user in some form La password contiene parti del nome utente reale in qualche campo - + The password contains forbidden words in some form La password contiene parole vietate in alcuni campi - + The password contains less than %1 digits La password contiene meno di %1 cifre - + The password contains too few digits La password contiene poche cifre - + The password contains less than %1 uppercase letters La password contiene meno di %1 lettere maiuscole - + The password contains too few uppercase letters La password contiene poche lettere maiuscole - + The password contains less than %1 lowercase letters La password contiene meno di %1 lettere minuscole - + The password contains too few lowercase letters La password contiene poche lettere minuscole - + The password contains less than %1 non-alphanumeric characters La password contiene meno di %1 caratteri non alfanumerici - + The password contains too few non-alphanumeric characters La password contiene pochi caratteri non alfanumerici - + The password is shorter than %1 characters La password ha meno di %1 caratteri - + The password is too short La password è troppo corta - + The password is just rotated old one La password è solo una rotazione della precedente - + The password contains less than %1 character classes La password contiene meno di %1 classi di caratteri - + The password does not contain enough character classes La password non contiene classi di caratteri sufficienti - + The password contains more than %1 same characters consecutively La password contiene più di %1 caratteri uguali consecutivi - + The password contains too many same characters consecutively La password contiene troppi caratteri uguali consecutivi - + The password contains more than %1 characters of the same class consecutively La password contiene più di %1 caratteri consecutivi della stessa classe - + The password contains too many characters of the same class consecutively La password contiene molti caratteri consecutivi della stessa classe - + The password contains monotonic sequence longer than %1 characters La password contiene una sequenza monotona più lunga di %1 caratteri - + The password contains too long of a monotonic character sequence La password contiene una sequenza di caratteri monotona troppo lunga - + No password supplied Nessuna password fornita - + Cannot obtain random numbers from the RNG device Impossibile ottenere numeri casuali dal dispositivo RNG - + Password generation failed - required entropy too low for settings Generazione della password fallita - entropia richiesta troppo bassa per le impostazioni - + The password fails the dictionary check - %1 La password non supera il controllo del dizionario - %1 - + The password fails the dictionary check La password non supera il controllo del dizionario - + Unknown setting - %1 Impostazioni sconosciute - %1 - + Unknown setting Impostazione sconosciuta - + Bad integer value of setting - %1 Valore intero non valido per l'impostazione - %1 - + Bad integer value Valore intero non valido - + Setting %1 is not of integer type Impostazione %1 non è di tipo intero - + Setting is not of integer type Impostazione non è di tipo intero - + Setting %1 is not of string type Impostazione %1 non è di tipo stringa - + Setting is not of string type Impostazione non è di tipo stringa - + Opening the configuration file failed Apertura del file di configurazione fallita - + The configuration file is malformed Il file di configurazione non è corretto - + Fatal failure Errore fatale - + Unknown error Errore sconosciuto + + + Password is empty + + PackageChooserPage @@ -3193,32 +3206,32 @@ Output: - + Your username is too long. Il nome utente è troppo lungo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Hostname è troppo corto. - + Your hostname is too long. Hostname è troppo lungo. diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 0cc1a84be..abb3a4fe3 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -1291,6 +1291,14 @@ The installer will quit and all changes will be lost. インストーラーを表示するためには、画面が小さすぎます。 + + HostInfoJob + + + Collecting information about your machine. + マシンの情報を収集しています。 + + IDJob @@ -1675,245 +1683,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short パスワードが短すぎます - + Password is too long パスワードが長すぎます - + Password is too weak パスワードが弱すぎます - + Memory allocation error when setting '%1' '%1' の設定の際にメモリーアロケーションエラーが発生しました - + Memory allocation error メモリーアロケーションエラー - + The password is the same as the old one パスワードが以前のものと同じです。 - + The password is a palindrome パスワードが回文です - + The password differs with case changes only パスワードの変更が大文字、小文字の変更のみです - + The password is too similar to the old one パスワードが以前のものと酷似しています - + The password contains the user name in some form パスワードにユーザー名が含まれています - + The password contains words from the real name of the user in some form パスワードにユーザーの実名が含まれています - + The password contains forbidden words in some form パスワードに禁句が含まれています - + The password contains less than %1 digits パスワードに含まれている数字が %1 字以下です - + The password contains too few digits パスワードに含まれる数字の数が少なすぎます - + The password contains less than %1 uppercase letters パスワードに含まれている大文字が %1 字以下です - + The password contains too few uppercase letters パスワードに含まれる大文字の数が少なすぎます - + The password contains less than %1 lowercase letters パスワードに含まれている小文字が %1 字以下です - + The password contains too few lowercase letters パスワードに含まれる小文字の数が少なすぎます - + The password contains less than %1 non-alphanumeric characters パスワードに含まれる非アルファベット文字が %1 字以下です - + The password contains too few non-alphanumeric characters パスワードに含まれる非アルファベット文字の数が少なすぎます - + The password is shorter than %1 characters パスワードの長さが %1 字より短いです - + The password is too short パスワードが短すぎます - + The password is just rotated old one パスワードが古いものの使いまわしです - + The password contains less than %1 character classes パスワードに含まれている文字クラスは %1 以下です。 - + The password does not contain enough character classes パスワードには十分な文字クラスが含まれていません - + The password contains more than %1 same characters consecutively パスワードで同じ文字が %1 字以上連続しています。 - + The password contains too many same characters consecutively パスワードで同じ文字を続けすぎています - + The password contains more than %1 characters of the same class consecutively パスワードで同じ文字クラスが %1 以上連続しています。 - + The password contains too many characters of the same class consecutively パスワードで同じ文字クラスの文字を続けすぎています - + The password contains monotonic sequence longer than %1 characters パスワードに %1 文字以上の単調な文字列が含まれています - + The password contains too long of a monotonic character sequence パスワードに限度を超えた単調な文字列が含まれています - + No password supplied パスワードがありません - + Cannot obtain random numbers from the RNG device RNGデバイスから乱数を取得できません - + Password generation failed - required entropy too low for settings パスワード生成に失敗 - 設定のためのエントロピーが低すぎます - + The password fails the dictionary check - %1 パスワードの辞書チェックに失敗しました - %1 - + The password fails the dictionary check パスワードの辞書チェックに失敗しました - + Unknown setting - %1 未設定- %1 - + Unknown setting 未設定 - + Bad integer value of setting - %1 不適切な設定値 - %1 - + Bad integer value 不適切な設定値 - + Setting %1 is not of integer type 設定値 %1 は整数ではありません - + Setting is not of integer type 設定値は整数ではありません - + Setting %1 is not of string type 設定値 %1 は文字列ではありません - + Setting is not of string type 設定値は文字列ではありません - + Opening the configuration file failed 設定ファイルが開けませんでした - + The configuration file is malformed 設定ファイルが不正な形式です - + Fatal failure 致命的な失敗 - + Unknown error 未知のエラー + + + Password is empty + パスワードが空です + PackageChooserPage @@ -3196,32 +3209,32 @@ Output: <small>もし複数の人間がこのコンピュータを使用する場合、インストールの後で複数のアカウントを作成できます。</small> - + Your username is too long. ユーザー名が長すぎます。 - + Your username must start with a lowercase letter or underscore. ユーザー名はアルファベットの小文字または _ で始めてください。 - + Only lowercase letters, numbers, underscore and hyphen are allowed. 使用できるのはアルファベットの小文字と数字と _ と - だけです。 - + Only letters, numbers, underscore and hyphen are allowed. 使用できるのはアルファベットと数字と _ と - だけです。 - + Your hostname is too short. ホスト名が短すぎます。 - + Your hostname is too long. ホスト名が長過ぎます。 diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 80da74d20..24db00620 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 0ea32e9a7..f79a6491a 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 72d58c4b3..4a123f5e9 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -1289,6 +1289,14 @@ The installer will quit and all changes will be lost. 설치 관리자를 표시하기에 화면이 너무 작습니다. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1673,245 +1681,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short 암호가 너무 짧습니다 - + Password is too long 암호가 너무 깁니다 - + Password is too weak 암호가 너무 취약합니다 - + Memory allocation error when setting '%1' '%1'을 설정하는 중 메모리 할당 오류 - + Memory allocation error 메모리 할당 오류 - + The password is the same as the old one 암호가 이전과 같습니다 - + The password is a palindrome 암호가 앞뒤로 동일해 보이는 단어입니다 - + The password differs with case changes only 암호가 대소문자만 다릅니다 - + The password is too similar to the old one 암호가 이전 암호와 너무 유사합니다 - + The password contains the user name in some form 암호가 사용자 이름의 일부를 포함하고 있습니다. - + The password contains words from the real name of the user in some form 암호가 사용자 실명의 일부를 포함하고 있습니다 - + The password contains forbidden words in some form 암호가 금지된 단어를 포함하고 있습니다 - + The password contains less than %1 digits 암호가 %1개 미만의 숫자를 포함하고 있습니다 - + The password contains too few digits 암호가 너무 적은 개수의 숫자들을 포함하고 있습니다 - + The password contains less than %1 uppercase letters 암호가 %1개 미만의 대문자를 포함하고 있습니다 - + The password contains too few uppercase letters 암호가 너무 적은 개수의 대문자를 포함하고 있습니다 - + The password contains less than %1 lowercase letters 암호가 %1개 미만의 소문자를 포함하고 있습니다 - + The password contains too few lowercase letters 암호가 너무 적은 개수의 소문자를 포함하고 있습니다 - + The password contains less than %1 non-alphanumeric characters 암호가 %1개 미만의 영숫자가 아닌 문자를 포함하고 있습니다 - + The password contains too few non-alphanumeric characters 암호가 너무 적은 개수의 영숫자가 아닌 문자를 포함하고 있습니다 - + The password is shorter than %1 characters 암호가 %1 문자보다 짧습니다 - + The password is too short 암호가 너무 짧습니다 - + The password is just rotated old one 암호가 이전 암호로 바뀌었습니다 - + The password contains less than %1 character classes 암호에 포함된 문자 클래스가 %1개 미만입니다 - + The password does not contain enough character classes 암호에 문자 클래스가 충분하지 않습니다 - + The password contains more than %1 same characters consecutively 암호에 동일 문자가 %1개 이상 연속해 있습니다 - + The password contains too many same characters consecutively 암호에 너무 많은 동일 문자가 연속해 있습니다 - + The password contains more than %1 characters of the same class consecutively 암호에 동일 문자 클래스가 %1개 이상 연속해 있습니다. - + The password contains too many characters of the same class consecutively 암호에 동일 문자 클래스가 너무 많이 연속해 있습니다. - + The password contains monotonic sequence longer than %1 characters 암호에 %1개 이상의 단순 문자열이 포함되어 있습니다 - + The password contains too long of a monotonic character sequence 암호에 너무 길게 단순 문자열이 포함되어 있습니다 - + No password supplied 암호가 제공 되지 않음 - + Cannot obtain random numbers from the RNG device RNG 장치에서 임의의 번호를 가져올 수 없습니다. - + Password generation failed - required entropy too low for settings 암호 생성 실패 - 설정에 필요한 엔트로피가 너무 작음 - + The password fails the dictionary check - %1 암호가 사전 검사에 실패했습니다 - %1 - + The password fails the dictionary check 암호가 사전 검사에 실패했습니다. - + Unknown setting - %1 설정되지 않음 - %1 - + Unknown setting 설정되지 않음 - + Bad integer value of setting - %1 설정의 잘못된 정수 값 - %1 - + Bad integer value 잘못된 정수 값 - + Setting %1 is not of integer type 설정값 %1은 정수 유형이 아닙니다. - + Setting is not of integer type 설정값이 정수 형식이 아닙니다 - + Setting %1 is not of string type 설정값 %1은 문자열 유형이 아닙니다. - + Setting is not of string type 설정값이 문자열 유형이 아닙니다. - + Opening the configuration file failed 구성 파일을 열지 못했습니다. - + The configuration file is malformed 구성 파일의 형식이 잘못되었습니다. - + Fatal failure 치명적인 실패 - + Unknown error 알 수 없는 오류 + + + Password is empty + + PackageChooserPage @@ -3194,32 +3207,32 @@ Output: <small>둘 이상의 사용자가 이 컴퓨터를 사용할 경우 설치 후 계정을 여러 개 만들 수 있습니다.</small> - + Your username is too long. 사용자 이름이 너무 깁니다. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. 호스트 이름이 너무 짧습니다. - + Your hostname is too long. 호스트 이름이 너무 깁니다. diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 21d4d3744..881e690ea 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 3032f5765..76550756b 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -1290,6 +1290,14 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Ekranas yra per mažas, kad būtų parodyta diegimo programa. + + HostInfoJob + + + Collecting information about your machine. + Renkama informacija apie jūsų kompiuterį. + + IDJob @@ -1601,7 +1609,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. No root mount point is set for MachineId. - + Nenustatytas joks šaknies prijungimo taškas, skirtas MachineId. @@ -1674,245 +1682,250 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. PWQ - + Password is too short Slaptažodis yra per trumpas - + Password is too long Slaptažodis yra per ilgas - + Password is too weak Slaptažodis yra per silpnas - + Memory allocation error when setting '%1' Atminties paskirstymo klaida, nustatant "%1" - + Memory allocation error Atminties paskirstymo klaida - + The password is the same as the old one Slaptažodis yra toks pats kaip ir senas - + The password is a palindrome Slaptažodis yra palindromas - + The password differs with case changes only Slaptažodyje skiriasi tik raidžių dydis - + The password is too similar to the old one Slaptažodis pernelyg panašus į senąjį - + The password contains the user name in some form Slaptažodyje tam tikru pavidalu yra naudotojo vardas - + The password contains words from the real name of the user in some form Slaptažodyje tam tikra forma yra žodžiai iš tikrojo naudotojo vardo - + The password contains forbidden words in some form Slaptažodyje tam tikra forma yra uždrausti žodžiai - + The password contains less than %1 digits Slaptažodyje yra mažiau nei %1 skaitmenys - + The password contains too few digits Slaptažodyje yra per mažai skaitmenų - + The password contains less than %1 uppercase letters Slaptažodyje yra mažiau nei %1 didžiosios raidės - + The password contains too few uppercase letters Slaptažodyje yra per mažai didžiųjų raidžių - + The password contains less than %1 lowercase letters Slaptažodyje yra mažiau nei %1 mažosios raidės - + The password contains too few lowercase letters Slaptažodyje yra per mažai mažųjų raidžių - + The password contains less than %1 non-alphanumeric characters Slaptažodyje yra mažiau nei %1 neraidiniai ir neskaitiniai simboliai - + The password contains too few non-alphanumeric characters Slaptažodyje yra per mažai neraidinių ir neskaitinių simbolių - + The password is shorter than %1 characters Slaptažodyje yra mažiau nei %1 simboliai - + The password is too short Slaptažodis yra per trumpas - + The password is just rotated old one Slaptažodis yra toks pats kaip ir senas, tik apverstas - + The password contains less than %1 character classes Slaptažodyje yra mažiau nei %1 simbolių klasės - + The password does not contain enough character classes Slaptažodyje nėra pakankamai simbolių klasių - + The password contains more than %1 same characters consecutively Slaptažodyje yra daugiau nei %1 tokie patys simboliai iš eilės - + The password contains too many same characters consecutively Slaptažodyje yra per daug tokių pačių simbolių iš eilės - + The password contains more than %1 characters of the same class consecutively Slaptažodyje yra daugiau nei %1 tos pačios klasės simboliai iš eilės - + The password contains too many characters of the same class consecutively Slaptažodyje yra per daug tos pačios klasės simbolių iš eilės - + The password contains monotonic sequence longer than %1 characters Slaptažodyje yra ilgesnė nei %1 simbolių monotoninė seka - + The password contains too long of a monotonic character sequence Slaptažodyje yra per ilga monotoninių simbolių seka - + No password supplied Nepateiktas joks slaptažodis - + Cannot obtain random numbers from the RNG device Nepavyksta gauti atsitiktinių skaičių iš RNG įrenginio - + Password generation failed - required entropy too low for settings Slaptažodžio generavimas nepavyko - reikalinga entropija nustatymams yra per maža - + The password fails the dictionary check - %1 Slaptažodis nepraeina žodyno patikros - %1 - + The password fails the dictionary check Slaptažodis nepraeina žodyno patikros - + Unknown setting - %1 Nežinomas nustatymas - %1 - + Unknown setting Nežinomas nustatymas - + Bad integer value of setting - %1 Bloga nustatymo sveikojo skaičiaus reikšmė - %1 - + Bad integer value Bloga sveikojo skaičiaus reikšmė - + Setting %1 is not of integer type Nustatymas %1 nėra sveikojo skaičiaus tipo - + Setting is not of integer type Nustatymas nėra sveikojo skaičiaus tipo - + Setting %1 is not of string type Nustatymas %1 nėra eilutės tipo - + Setting is not of string type Nustatymas nėra eilutės tipo - + Opening the configuration file failed Konfigūracijos failo atvėrimas nepavyko - + The configuration file is malformed Konfigūracijos failas yra netaisyklingas - + Fatal failure Lemtingoji klaida - + Unknown error Nežinoma klaida + + + Password is empty + Slaptažodis yra tuščias + PackageChooserPage @@ -2014,7 +2027,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. login - + prisijungimas @@ -2024,7 +2037,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Computer Name - + Kompiuterio vardas @@ -2041,12 +2054,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. When this box is checked, password-strength checking is done and you will not be able to use a weak password. - + Pažymėjus šį langelį, bus atliekamas slaptažodžio stiprumo tikrinimas ir negalėsite naudoti silpną slaptažodį. Require strong passwords. - + Reikalauti stiprių slaptažodžių. @@ -2538,12 +2551,12 @@ Išvestis: Path <pre>%1</pre> must be an absolute path. - + Kelias <pre>%1</pre> privalo būti absoliutus kelias. Could not create new random file <pre>%1</pre>. - + Nepavyko sukurti naujo atsitiktinio failo <pre>%1</pre>. @@ -3195,32 +3208,32 @@ Išvestis: <small>Jei šiuo kompiuteriu naudosis keli žmonės, po diegimo galite sukurti papildomas paskyras.</small> - + Your username is too long. Jūsų naudotojo vardas yra pernelyg ilgas. - - - Your username must start with a lowercase letter or underscore. - - + Your username must start with a lowercase letter or underscore. + Jūsų naudotojo vardas privalo prasidėti mažąja raide arba pabraukimo brūkšniu. + + + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Yra leidžiamos tik mažosios raidės, skaitmenys, pabraukimo brūkšniai ir brūkšneliai. - + Only letters, numbers, underscore and hyphen are allowed. - + Yra leidžiamos tik raidės, skaitmenys, pabraukimo brūkšniai ir brūkšneliai. - + Your hostname is too short. Jūsų kompiuterio vardas yra pernelyg trumpas. - + Your hostname is too long. Jūsų kompiuterio vardas yra pernelyg ilgas. diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index fde5c1416..f735ed7af 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index 542698448..900ad109c 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -1290,6 +1290,14 @@ The installer will quit and all changes will be lost. ഇൻസ്റ്റാളർ കാണിക്കാൻ തക്ക വലുപ്പം സ്ക്രീനിനില്ല. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1674,245 +1682,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short രഹസ്യവാക്ക് വളരെ ചെറുതാണ് - + Password is too long രഹസ്യവാക്ക് വളരെ വലുതാണ് - + Password is too weak രഹസ്യവാക്ക് വളരെ ദുർബലമാണ് - + Memory allocation error when setting '%1' '%1' ക്രമീക്കരിക്കുന്നതിൽ മെമ്മറി പങ്കുവയ്ക്കൽ പിഴവ് - + Memory allocation error മെമ്മറി വിന്യസിക്കുന്നതിൽ പിഴവ് - + The password is the same as the old one രഹസ്യവാക്ക് പഴയയതുതന്നെ ആണ് - + The password is a palindrome രഹസ്യവാക്ക് ഒരു അനുലോമവിലോമപദമാണ് - + The password differs with case changes only പാസ്‌വേഡ് അക്ഷരങ്ങളുടെ കേസ് മാറ്റങ്ങളിൽ മാത്രം വ്യത്യാസപ്പെട്ടിരിക്കുന്നു - + The password is too similar to the old one രഹസ്യവാക്ക് പഴയതിനോട് വളരെ സമാനമാണ് - + The password contains the user name in some form രഹസ്യവാക്ക് ഏതെങ്കിലും രൂപത്തിൽ ഉപയോക്തൃനാമം അടങ്ങിയിരിക്കുന്നു - + The password contains words from the real name of the user in some form രഹസ്യവാക്കിൽഏതെങ്കിലും രൂപത്തിൽ ഉപയോക്താവിന്റെ യഥാർത്ഥ പേരിൽ നിന്നുള്ള വാക്കുകൾ അടങ്ങിയിരിക്കുന്നു - + The password contains forbidden words in some form രഹസ്യവാക്കിൽ ഏതെങ്കിലും രൂപത്തിൽ വിലക്കപ്പെട്ട വാക്കുകൾ അടങ്ങിയിരിക്കുന്നു - + The password contains less than %1 digits രഹസ്യവാക്ക് %1 അക്കത്തിൽ കുറവാണ് - + The password contains too few digits രഹസ്യവാക്കിൽ വളരെ കുറച്ച് അക്കങ്ങൾ അടങ്ങിയിരിക്കുന്നു - + The password contains less than %1 uppercase letters രഹസ്യവാക്കിൽ %1 വലിയക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്നു - + The password contains too few uppercase letters രഹസ്യവാക്കിൽ വളരെ കുറച്ചു വലിയക്ഷരങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളു - + The password contains less than %1 lowercase letters രഹസ്യവാക്കിൽ %1 -ൽ താഴെ ചെറിയ അക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്നു - + The password contains too few lowercase letters രഹസ്യവാക്കിൽ വളരെ കുറച്ചു ചെറിയക്ഷരങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളു - + The password contains less than %1 non-alphanumeric characters രഹസ്യവാക്കിൽ ആൽഫാന്യൂമെറിക് ഇതര പ്രതീകങ്ങൾ %1 -ൽ കുറവാണ് - + The password contains too few non-alphanumeric characters രഹസ്യവാക്കിൽ ആൽഫാന്യൂമെറിക് ഇതര പ്രതീകങ്ങൾ വളരെ കുറവാണ് - + The password is shorter than %1 characters പാസ്‌വേഡ് %1 പ്രതീകങ്ങളേക്കാൾ ചെറുതാണ് - + The password is too short രഹസ്യവാക്ക് വളരെ ചെറുതാണ് - + The password is just rotated old one രഹസ്യവാക്ക് പഴയതുതന്നെ തിരിച്ചിട്ടതാണ് - + The password contains less than %1 character classes പാസ്‌വേഡിൽ പ്രതീക ക്ലാസുകൾ %1 ൽ കുറവാണ് - + The password does not contain enough character classes രഹസ്യവാക്കിൽ ആവശ്യത്തിനു അക്ഷരങ്ങൾ ഇല്ല - + The password contains more than %1 same characters consecutively രഹസ്സ്യവാക്കിൽ അടുത്തടുത്തായി ഒരേ പ്രതീകം %1 കൂടുതൽ തവണ അടങ്ങിയിരിക്കുന്നു - + The password contains too many same characters consecutively രഹസ്സ്യവാക്കിൽ അടുത്തടുത്തായി ഒരേ പ്രതീകം ഒരുപാട് തവണ അടങ്ങിയിരിക്കുന്നു. - + The password contains more than %1 characters of the same class consecutively രഹസ്യവാക്കിൽ %1 തവണ ഒരേ തരം അക്ഷരം ആവർത്തിക്കുന്നു - + The password contains too many characters of the same class consecutively രഹസ്യവാക്കിൽ ഒരുപാട് തവണ ഒരേ തരം അക്ഷരം ആവർത്തിക്കുന്നു - + The password contains monotonic sequence longer than %1 characters പാസ്‌വേഡിൽ %1 പ്രതീകങ്ങളേക്കാൾ ദൈർഘ്യമുള്ള മോണോടോണിക് ശ്രേണി അടങ്ങിയിരിക്കുന്നു - + The password contains too long of a monotonic character sequence പാസ്‌വേഡിൽ വളരെ ദൈർഘ്യമുള്ള ഒരു മോണോടോണിക് പ്രതീക ശ്രേണിയുണ്ട് - + No password supplied രഹസ്യവാക്ക് ഒന്നും നല്‍കിയിട്ടില്ല - + Cannot obtain random numbers from the RNG device RNG ഉപകരണത്തിൽ നിന്ന് ആകസ്‌മിക സംഖ്യകൾ എടുക്കാൻ പറ്റുന്നില്ല. - + Password generation failed - required entropy too low for settings രഹസ്യവാക്ക് സൃഷ്ടിക്കുന്നതിൽ പരാജയപ്പെട്ടു - ആവശ്യത്തിനു entropy ഇല്ല. - + The password fails the dictionary check - %1 രഹസ്യവാക്ക് നിഘണ്ടു പരിശോധനയിൽ പരാജയപ്പെടുന്നു - %1 - + The password fails the dictionary check രഹസ്യവാക്ക് നിഘണ്ടു പരിശോധനയിൽ പരാജയപ്പെടുന്നു - + Unknown setting - %1 അജ്ഞാതമായ ക്രമീകരണം - %1 - + Unknown setting അപരിചിതമായ സജ്ജീകരണം - + Bad integer value of setting - %1 ക്രമീകരണത്തിന്റെ ശരിയല്ലാത്ത സംഖ്യാമൂല്യം - %1 - + Bad integer value തെറ്റായ സംഖ്യ - + Setting %1 is not of integer type %1 സജ്ജീകരണം സംഖ്യയല്ല - + Setting is not of integer type സജ്ജീകരണം സംഖ്യയല്ല - + Setting %1 is not of string type %1 സജ്ജീകരണം ഒരു വാക്കല്ലാ - + Setting is not of string type സജ്ജീകരണം ഒരു വാക്കല്ലാ - + Opening the configuration file failed ക്രമീകരണ ഫയൽ തുറക്കുന്നതിൽ പരാജയപ്പെട്ടു - + The configuration file is malformed ക്രമീകരണ ഫയൽ പാഴാണു - + Fatal failure അപകടകരമായ പിഴവ് - + Unknown error അപരിചിതമായ പിശക് + + + Password is empty + + PackageChooserPage @@ -3195,32 +3208,32 @@ Output: <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് ഇൻസ്റ്റളേഷന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> - + Your username is too long. നിങ്ങളുടെ ഉപയോക്തൃനാമം വളരെ വലുതാണ്. - + Your username must start with a lowercase letter or underscore. താങ്കളുടെ ഉപയോക്തൃനാമം ഒരു ചെറിയ അക്ഷരമോ അണ്ടർസ്കോറോ ഉപയോഗിച്ച് വേണം തുടങ്ങാൻ. - + Only lowercase letters, numbers, underscore and hyphen are allowed. ചെറിയ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അണ്ടർസ്കോർ, ഹൈഫൺ എന്നിവയേ അനുവദിച്ചിട്ടുള്ളൂ. - + Only letters, numbers, underscore and hyphen are allowed. അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അണ്ടർസ്കോർ, ഹൈഫൺ എന്നിവയേ അനുവദിച്ചിട്ടുള്ളൂ. - + Your hostname is too short. നിങ്ങളുടെ ഹോസ്റ്റ്നാമം വളരെ ചെറുതാണ് - + Your hostname is too long. നിങ്ങളുടെ ഹോസ്റ്റ്നാമം ദൈർഘ്യമേറിയതാണ് diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 932468b03..4dcdef53f 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short परवलीशब्द खूप लहान आहे - + Password is too long परवलीशब्द खूप लांब आहे - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. तुमचा वापरकर्तानाव खूप लांब आहे - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. तुमचा संगणकनाव खूप लहान आहे - + Your hostname is too long. तुमचा संगणकनाव खूप लांब आहे diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 0b2773837..f5e19308c 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -1288,6 +1288,14 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. PWQ - + Password is too short Passordet er for kort - + Password is too long Passordet er for langt - + Password is too weak Passordet er for svakt - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one Passordet er det samme som det gamle - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one Passordet likner for mye på det gamle - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters Passordet inneholder mindre enn %1 store bokstaver - + The password contains too few uppercase letters Passordet inneholder for få store bokstaver - + The password contains less than %1 lowercase letters Passordet inneholder mindre enn %1 små bokstaver - + The password contains too few lowercase letters Passordet inneholder for få små bokstaver - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short Passordet er for kort - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively Passordet inneholder for mange like tegn etter hverandre - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type Innstillingen er ikke av type streng - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error Ukjent feil + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. Brukernavnet ditt er for langt. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index 1642ded42..03bb50c71 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index 3e42ff54e..3920d4901 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -1288,6 +1288,14 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Het schem is te klein on het installatieprogramma te vertonen. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. PWQ - + Password is too short Het wachtwoord is te kort - + Password is too long Het wachtwoord is te lang - + Password is too weak Wachtwoord is te zwak - + Memory allocation error when setting '%1' Foute geheugentoewijzing bij het instellen van %1. - + Memory allocation error Foute geheugentoewijzing - + The password is the same as the old one Het wachtwoord is hetzelfde als het oude wachtwoord - + The password is a palindrome Het wachtwoord is een palindroom - + The password differs with case changes only Het wachtwoord verschilt slechts in hoofdlettergebruik - + The password is too similar to the old one Het wachtwoord lijkt te veel op het oude wachtwoord - + The password contains the user name in some form Het wachtwoord bevat de gebruikersnaam op een of andere manier - + The password contains words from the real name of the user in some form Het wachtwoord bevat woorden van de echte naam van de gebruiker in één of andere vorm. - + The password contains forbidden words in some form Het wachtwoord bevat verboden woorden in één of andere vorm. - + The password contains less than %1 digits Het wachtwoord bevat minder dan %1 cijfers - + The password contains too few digits Het wachtwoord bevat te weinig cijfers - + The password contains less than %1 uppercase letters Het wachtwoord bevat minder dan %1 hoofdletters. - + The password contains too few uppercase letters Het wachtwoord bevat te weinig hoofdletters. - + The password contains less than %1 lowercase letters Het wachtwoord bevat minder dan %1 kleine letters. - + The password contains too few lowercase letters Het wachtwoord bevat te weinig kleine letters. - + The password contains less than %1 non-alphanumeric characters Het wachtwoord bevat minder dan %1 niet-alfanumerieke symbolen. - + The password contains too few non-alphanumeric characters Het wachtwoord bevat te weinig niet-alfanumerieke symbolen. - + The password is shorter than %1 characters Het wachtwoord is korter dan %1 karakters. - + The password is too short Het wachtwoord is te kort. - + The password is just rotated old one Het wachtwoord is enkel omgedraaid. - + The password contains less than %1 character classes Het wachtwoord bevat minder dan %1 karaktergroepen - + The password does not contain enough character classes Het wachtwoord bevat te weinig karaktergroepen - + The password contains more than %1 same characters consecutively Het wachtwoord bevat meer dan %1 dezelfde karakters na elkaar - + The password contains too many same characters consecutively Het wachtwoord bevat te veel dezelfde karakters na elkaar - + The password contains more than %1 characters of the same class consecutively Het wachtwoord bevat meer dan %1 karakters van dezelfde groep na elkaar - + The password contains too many characters of the same class consecutively Het wachtwoord bevat te veel karakters van dezelfde groep na elkaar - + The password contains monotonic sequence longer than %1 characters Het wachtwoord bevat een monotone sequentie van meer dan %1 karakters - + The password contains too long of a monotonic character sequence Het wachtwoord bevat een te lange monotone sequentie van karakters - + No password supplied Geen wachtwoord opgegeven - + Cannot obtain random numbers from the RNG device Kan geen willekeurige nummers verkrijgen van het RNG apparaat - + Password generation failed - required entropy too low for settings Wachtwoord aanmaken mislukt - te weinig wanorde voor de instellingen - + The password fails the dictionary check - %1 Het wachtwoord faalt op de woordenboektest - %1 - + The password fails the dictionary check Het wachtwoord faalt op de woordenboektest - + Unknown setting - %1 Onbekende instelling - %1 - + Unknown setting Onbekende instelling - + Bad integer value of setting - %1 Ongeldige gehele waarde voor instelling - %1 - + Bad integer value Ongeldige gehele waarde - + Setting %1 is not of integer type Instelling %1 is niet van het type integer - + Setting is not of integer type Instelling is niet van het type integer - + Setting %1 is not of string type Instelling %1 is niet van het type string - + Setting is not of string type Instelling is niet van het type string - + Opening the configuration file failed Openen van het configuratiebestand is mislukt - + The configuration file is malformed Het configuratiebestand is ongeldig - + Fatal failure Fatale fout - + Unknown error Onbekende fout + + + Password is empty + + PackageChooserPage @@ -3193,32 +3206,32 @@ Uitvoer: - + Your username is too long. De gebruikersnaam is te lang. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. De hostnaam is te kort. - + Your hostname is too long. De hostnaam is te lang. diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 6c0b60b9d..ba91b7d8d 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -1288,6 +1288,14 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Zbyt niska rozdzielczość ekranu, aby wyświetlić instalator. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. PWQ - + Password is too short Hasło jest zbyt krótkie - + Password is too long Hasło jest zbyt długie - + Password is too weak Hasło jest zbyt słabe - + Memory allocation error when setting '%1' Wystąpił błąd przydzielania pamięci przy ustawieniu '%1' - + Memory allocation error Błąd przydzielania pamięci - + The password is the same as the old one Hasło jest takie samo jak poprzednie - + The password is a palindrome Hasło jest palindromem - + The password differs with case changes only Hasła różnią się tylko wielkością znaków - + The password is too similar to the old one Hasło jest zbyt podobne do poprzedniego - + The password contains the user name in some form Hasło zawiera nazwę użytkownika - + The password contains words from the real name of the user in some form Hasło zawiera fragment pełnej nazwy użytkownika - + The password contains forbidden words in some form Hasło zawiera jeden z niedozwolonych wyrazów - + The password contains less than %1 digits Hasło składa się z mniej niż %1 znaków - + The password contains too few digits Hasło zawiera zbyt mało znaków - + The password contains less than %1 uppercase letters Hasło składa się z mniej niż %1 wielkich liter - + The password contains too few uppercase letters Hasło zawiera zbyt mało wielkich liter - + The password contains less than %1 lowercase letters Hasło składa się z mniej niż %1 małych liter - + The password contains too few lowercase letters Hasło zawiera zbyt mało małych liter - + The password contains less than %1 non-alphanumeric characters Hasło składa się z mniej niż %1 znaków niealfanumerycznych - + The password contains too few non-alphanumeric characters Hasło zawiera zbyt mało znaków niealfanumerycznych - + The password is shorter than %1 characters Hasło zawiera mniej niż %1 znaków - + The password is too short Hasło jest zbyt krótkie - + The password is just rotated old one Hasło jest odwróceniem poprzedniego - + The password contains less than %1 character classes Hasło składa się z mniej niż %1 rodzajów znaków - + The password does not contain enough character classes Hasło zawiera zbyt mało rodzajów znaków - + The password contains more than %1 same characters consecutively Hasło zawiera ponad %1 powtarzających się tych samych znaków - + The password contains too many same characters consecutively Hasło zawiera zbyt wiele powtarzających się znaków - + The password contains more than %1 characters of the same class consecutively Hasło zawiera więcej niż %1 znaków tego samego rodzaju - + The password contains too many characters of the same class consecutively Hasło składa się ze zbyt wielu znaków tego samego rodzaju - + The password contains monotonic sequence longer than %1 characters Hasło zawiera jednakowy ciąg dłuższy niż %1 znaków - + The password contains too long of a monotonic character sequence Hasło zawiera zbyt długi ciąg jednakowych znaków - + No password supplied Nie podano hasła - + Cannot obtain random numbers from the RNG device Nie można uzyskać losowych znaków z urządzenia RNG - + Password generation failed - required entropy too low for settings Błąd tworzenia hasła - wymagana entropia jest zbyt niska dla ustawień - + The password fails the dictionary check - %1 Hasło nie przeszło pomyślnie sprawdzenia słownikowego - %1 - + The password fails the dictionary check Hasło nie przeszło pomyślnie sprawdzenia słownikowego - + Unknown setting - %1 Nieznane ustawienie - %1 - + Unknown setting Nieznane ustawienie - + Bad integer value of setting - %1 Błędna wartość liczby całkowitej ustawienia - %1 - + Bad integer value Błędna wartość liczby całkowitej - + Setting %1 is not of integer type Ustawienie %1 nie jest liczbą całkowitą - + Setting is not of integer type Ustawienie nie jest liczbą całkowitą - + Setting %1 is not of string type Ustawienie %1 nie jest ciągiem znaków - + Setting is not of string type Ustawienie nie jest ciągiem znaków - + Opening the configuration file failed Nie udało się otworzyć pliku konfiguracyjnego - + The configuration file is malformed Plik konfiguracyjny jest uszkodzony - + Fatal failure Błąd krytyczny - + Unknown error Nieznany błąd + + + Password is empty + + PackageChooserPage @@ -3194,32 +3207,32 @@ i nie uruchomi się - + Your username is too long. Twoja nazwa użytkownika jest za długa. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Twoja nazwa komputera jest za krótka. - + Your hostname is too long. Twoja nazwa komputera jest za długa. diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index 83e459bbe..d4bf6aa45 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -1290,6 +1290,14 @@ O instalador será fechado e todas as alterações serão perdidas.A tela é muito pequena para exibir o instalador. + + HostInfoJob + + + Collecting information about your machine. + Coletando informações sobre a sua máquina. + + IDJob @@ -1674,245 +1682,250 @@ O instalador será fechado e todas as alterações serão perdidas. PWQ - + Password is too short A senha é muito curta - + Password is too long A senha é muito longa - + Password is too weak A senha é muito fraca - + Memory allocation error when setting '%1' Erro de alocação de memória ao definir '% 1' - + Memory allocation error Erro de alocação de memória - + The password is the same as the old one A senha é a mesma que a antiga - + The password is a palindrome A senha é um palíndromo - + The password differs with case changes only A senha difere apenas com mudanças entre maiúsculas ou minúsculas - + The password is too similar to the old one A senha é muito semelhante à antiga - + The password contains the user name in some form A senha contém o nome de usuário em alguma forma - + The password contains words from the real name of the user in some form A senha contém palavras do nome real do usuário - + The password contains forbidden words in some form A senha contém palavras proibidas de alguma forma - + The password contains less than %1 digits A senha contém menos de %1 dígitos - + The password contains too few digits A senha contém poucos dígitos - + The password contains less than %1 uppercase letters A senha contém menos que %1 letras maiúsculas - + The password contains too few uppercase letters A senha contém poucas letras maiúsculas - + The password contains less than %1 lowercase letters A senha contém menos que %1 letras minúsculas - + The password contains too few lowercase letters A senha contém poucas letras minúsculas - + The password contains less than %1 non-alphanumeric characters A senha contém menos que %1 caracteres não alfanuméricos - + The password contains too few non-alphanumeric characters A senha contém poucos caracteres não alfanuméricos - + The password is shorter than %1 characters A senha é menor que %1 caracteres - + The password is too short A senha é muito curta - + The password is just rotated old one A senha é apenas uma antiga modificada - + The password contains less than %1 character classes A senha contém menos de %1 tipos de caracteres - + The password does not contain enough character classes A senha não contém tipos suficientes de caracteres - + The password contains more than %1 same characters consecutively A senha contém mais que %1 caracteres iguais consecutivamente - + The password contains too many same characters consecutively A senha contém muitos caracteres iguais consecutivamente - + The password contains more than %1 characters of the same class consecutively A senha contém mais que %1 caracteres do mesmo tipo consecutivamente - + The password contains too many characters of the same class consecutively A senha contém muitos caracteres da mesma classe consecutivamente - + The password contains monotonic sequence longer than %1 characters A senha contém uma sequência monotônica com mais de %1 caracteres - + The password contains too long of a monotonic character sequence A senha contém uma sequência de caracteres monotônicos muito longa - + No password supplied Nenhuma senha fornecida - + Cannot obtain random numbers from the RNG device Não é possível obter números aleatórios do dispositivo RNG - + Password generation failed - required entropy too low for settings A geração de senha falhou - a entropia requerida é muito baixa para as configurações - + The password fails the dictionary check - %1 A senha falhou na verificação do dicionário - %1 - + The password fails the dictionary check A senha falhou na verificação do dicionário - + Unknown setting - %1 Configuração desconhecida - %1 - + Unknown setting Configuração desconhecida - + Bad integer value of setting - %1 Valor de número inteiro errado na configuração - %1 - + Bad integer value Valor de número inteiro errado - + Setting %1 is not of integer type A configuração %1 não é do tipo inteiro - + Setting is not of integer type A configuração não é de tipo inteiro - + Setting %1 is not of string type A configuração %1 não é do tipo string - + Setting is not of string type A configuração não é do tipo string - + Opening the configuration file failed Falha ao abrir o arquivo de configuração - + The configuration file is malformed O arquivo de configuração está defeituoso - + Fatal failure Falha fatal - + Unknown error Erro desconhecido + + + Password is empty + A senha está em branco + PackageChooserPage @@ -3195,32 +3208,32 @@ Saída: <small>Se mais de uma pessoa for utilizar este computador, você poderá criar múltiplas contas após terminar de instalar.</small> - + Your username is too long. O nome de usuário é grande demais. - + Your username must start with a lowercase letter or underscore. Seu nome de usuário deve começar com uma letra maiúscula ou com um sublinhado. - + Only lowercase letters, numbers, underscore and hyphen are allowed. É permitido apenas letras minúsculas, números, sublinhado e hífen. - + Only letters, numbers, underscore and hyphen are allowed. É permitido apenas letras, números, sublinhado e hífen. - + Your hostname is too short. O nome da máquina é muito curto. - + Your hostname is too long. O nome da máquina é muito grande. diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index e87298414..283e31a32 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -1290,6 +1290,14 @@ O instalador será encerrado e todas as alterações serão perdidas.O ecrã tem um tamanho demasiado pequeno para mostrar o instalador. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1674,245 +1682,250 @@ O instalador será encerrado e todas as alterações serão perdidas. PWQ - + Password is too short A palavra-passe é demasiado curta - + Password is too long A palavra-passe é demasiado longa - + Password is too weak A palavra-passe é demasiado fraca - + Memory allocation error when setting '%1' Erro de alocação de memória quando definido '%1' - + Memory allocation error Erro de alocação de memória - + The password is the same as the old one A palavra-passe é a mesma que a antiga - + The password is a palindrome A palavra-passe é um palíndromo - + The password differs with case changes only A palavra-passe difere com apenas diferenças de maiúsculas e minúsculas - + The password is too similar to the old one A palavra-passe é demasiado semelhante à antiga - + The password contains the user name in some form A palavra passe contém de alguma forma o nome do utilizador - + The password contains words from the real name of the user in some form A palavra passe contém de alguma forma palavras do nome real do utilizador - + The password contains forbidden words in some form A palavra-passe contém de alguma forma palavras proibidas - + The password contains less than %1 digits A palavra-passe contém menos de %1 dígitos - + The password contains too few digits A palavra-passe contém muito poucos dígitos - + The password contains less than %1 uppercase letters A palavra-passe contém menos de %1 letras maiúsculas - + The password contains too few uppercase letters A palavra-passe contém muito poucas letras maiúsculas - + The password contains less than %1 lowercase letters A palavra-passe contém menos de %1 letras minúsculas - + The password contains too few lowercase letters A palavra-passe contém muito poucas letras minúsculas - + The password contains less than %1 non-alphanumeric characters A palavra-passe contém menos de %1 carateres não-alfanuméricos - + The password contains too few non-alphanumeric characters A palavra-passe contém muito pouco carateres não alfa-numéricos - + The password is shorter than %1 characters A palavra-passe é menor do que %1 carateres - + The password is too short A palavra-passe é demasiado pequena - + The password is just rotated old one A palavra-passe é apenas uma antiga alternada - + The password contains less than %1 character classes A palavra-passe contém menos de %1 classe de carateres - + The password does not contain enough character classes A palavra-passe não contém classes de carateres suficientes - + The password contains more than %1 same characters consecutively A palavra-passe contém apenas mais do que %1 carateres iguais consecutivos - + The password contains too many same characters consecutively A palavra-passe contém demasiados carateres iguais consecutivos - + The password contains more than %1 characters of the same class consecutively A palavra-passe contém mais do que %1 carateres consecutivos da mesma classe - + The password contains too many characters of the same class consecutively A palavra-passe contém demasiados carateres consecutivos da mesma classe - + The password contains monotonic sequence longer than %1 characters A palavra-passe contém sequência mono tónica mais longa do que %1 carateres - + The password contains too long of a monotonic character sequence A palavra-passe contém uma sequência mono tónica de carateres demasiado longa - + No password supplied Nenhuma palavra-passe fornecida - + Cannot obtain random numbers from the RNG device Não é possível obter sequência aleatória de números a partir do dispositivo RNG - + Password generation failed - required entropy too low for settings Geração de palavra-passe falhada - entropia obrigatória demasiado baixa para definições - + The password fails the dictionary check - %1 A palavra-passe falha a verificação do dicionário - %1 - + The password fails the dictionary check A palavra-passe falha a verificação do dicionário - + Unknown setting - %1 Definição desconhecida - %1 - + Unknown setting Definição desconhecida - + Bad integer value of setting - %1 Valor inteiro incorreto para definição - %1 - + Bad integer value Valor inteiro incorreto - + Setting %1 is not of integer type Definição %1 não é do tipo inteiro - + Setting is not of integer type Definição não é do tipo inteiro - + Setting %1 is not of string type Definição %1 não é do tipo cadeia de carateres - + Setting is not of string type Definição não é do tipo cadeira de carateres - + Opening the configuration file failed Abertura da configuração de ficheiro falhou - + The configuration file is malformed O ficheiro de configuração está mal formado - + Fatal failure Falha fatal - + Unknown error Erro desconhecido + + + Password is empty + + PackageChooserPage @@ -3195,32 +3208,32 @@ Saída de Dados: <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a instalação.</small> - + Your username is too long. O seu nome de utilizador é demasiado longo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. O nome da sua máquina é demasiado curto. - + Your hostname is too long. O nome da sua máquina é demasiado longo. diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index f0a677325..8dec90353 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -1288,6 +1288,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Ecranu este prea mic pentru a afișa instalatorul. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,102 +1680,102 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. PWQ - + Password is too short Parola este prea scurtă - + Password is too long Parola este prea lungă - + Password is too weak Parola este prea slabă - + Memory allocation error when setting '%1' Eroare de alocare a memorie in timpul setării '%1' - + Memory allocation error Eroare de alocare a memoriei - + The password is the same as the old one Parola este aceeasi a si cea veche - + The password is a palindrome Parola este un palindrom - + The password differs with case changes only Parola diferă doar prin schimbăarii ale majusculelor - + The password is too similar to the old one Parola este prea similară cu cea vehe - + The password contains the user name in some form Parola contine numele de utilizator intr-o anume formă - + The password contains words from the real name of the user in some form Parola contine cuvinte din numele real al utilizatorului intr-o anumita formă - + The password contains forbidden words in some form Parola contine cuvinte interzise int-o anumita formă - + The password contains less than %1 digits Parola contine mai putin de %1 caractere - + The password contains too few digits Parola contine prea putine caractere - + The password contains less than %1 uppercase letters Parola contine mai putin de %1 litera cu majusculă - + The password contains too few uppercase letters Parola contine prea putine majuscule - + The password contains less than %1 lowercase letters Parola contine mai putin de %1 minuscule - + The password contains too few lowercase letters Parola contine prea putine minuscule - + The password contains less than %1 non-alphanumeric characters Parola contine mai putin de %1 caractere non-alfanumerice - + The password contains too few non-alphanumeric characters Parola contine prea putine caractere non-alfanumerice @@ -1775,145 +1783,150 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + The password is shorter than %1 characters Parola este mai scurta de %1 caractere - + The password is too short Parola este prea mica - + The password is just rotated old one Parola este doar cea veche rasturnata - + The password contains less than %1 character classes Parola contine mai putin de %1 clase de caractere - + The password does not contain enough character classes Parola nu contine destule clase de caractere - + The password contains more than %1 same characters consecutively Parola ontine mai mult de %1 caractere identice consecutiv - + The password contains too many same characters consecutively Parola ontine prea multe caractere identice consecutive - + The password contains more than %1 characters of the same class consecutively Parola contine mai mult de %1 caractere ale aceleiaşi clase consecutive - + The password contains too many characters of the same class consecutively Parola contine prea multe caractere ale aceleiaşi clase consecutive - + The password contains monotonic sequence longer than %1 characters Parola ontine o secventa monotonica mai lunga de %1 caractere - + The password contains too long of a monotonic character sequence Parola contine o secventa de caractere monotonica prea lunga - + No password supplied Nicio parola nu a fost furnizata - + Cannot obtain random numbers from the RNG device Nu s-a putut obtine un numar aleator de la dispozitivul RNG - + Password generation failed - required entropy too low for settings Generarea parolei a esuat - necesita entropie prea mica pentru setari - + The password fails the dictionary check - %1 Parola a esuat verificarea dictionarului - %1 - + The password fails the dictionary check Parola a esuat verificarea dictionarului - + Unknown setting - %1 Setare necunoscuta - %1 - + Unknown setting Setare necunoscuta - + Bad integer value of setting - %1 Valoare gresita integrala a setari - %1 - + Bad integer value Valoare gresita integrala a setari - + Setting %1 is not of integer type Setarea %1 nu este de tip integral - + Setting is not of integer type Setarea nu este de tipul integral - + Setting %1 is not of string type Setarea %1 nu este de tipul şir - + Setting is not of string type Setarea nu este de tipul şir - + Opening the configuration file failed Deschiderea fisierului de configuratie a esuat - + The configuration file is malformed Fisierul de configuratie este malformat - + Fatal failure Esec fatal - + Unknown error Eroare necunoscuta + + + Password is empty + + PackageChooserPage @@ -3196,32 +3209,32 @@ Output - + Your username is too long. Numele de utilizator este prea lung. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Hostname este prea scurt. - + Your hostname is too long. Hostname este prea lung. diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 60a0ce306..48a66cfd3 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. Слишком маленький экран для окна установщика. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Слишком короткий пароль - + Password is too long Слишком длинный пароль - + Password is too weak Пароль слишком слабый - + Memory allocation error when setting '%1' Ошибка выделения памяти при установке «%1» - + Memory allocation error Ошибка выделения памяти - + The password is the same as the old one Пароль такой же, как и старый - + The password is a palindrome Пароль является палиндромом - + The password differs with case changes only Пароль отличается только регистром символов - + The password is too similar to the old one Пароль слишком похож на старый - + The password contains the user name in some form Пароль содержит имя пользователя - + The password contains words from the real name of the user in some form Пароль содержит слова из реального имени пользователя - + The password contains forbidden words in some form Пароль содержит запрещённые слова - + The password contains less than %1 digits Пароль содержит менее %1 цифр - + The password contains too few digits В пароле слишком мало цифр - + The password contains less than %1 uppercase letters Пароль содержит менее %1 заглавных букв - + The password contains too few uppercase letters В пароле слишком мало заглавных букв - + The password contains less than %1 lowercase letters Пароль содержит менее %1 строчных букв - + The password contains too few lowercase letters В пароле слишком мало строчных букв - + The password contains less than %1 non-alphanumeric characters Пароль содержит менее %1 не буквенно-цифровых символов - + The password contains too few non-alphanumeric characters В пароле слишком мало не буквенно-цифровых символов - + The password is shorter than %1 characters Пароль короче %1 символов - + The password is too short Пароль слишком короткий - + The password is just rotated old one Новый пароль — это просто перевёрнутый старый - + The password contains less than %1 character classes Пароль содержит менее %1 классов символов - + The password does not contain enough character classes Пароль содержит недостаточно классов символов - + The password contains more than %1 same characters consecutively Пароль содержит более %1 одинаковых последовательных символов - + The password contains too many same characters consecutively Пароль содержит слишком много одинаковых последовательных символов - + The password contains more than %1 characters of the same class consecutively Пароль содержит более %1 символов одного и того же класса последовательно - + The password contains too many characters of the same class consecutively Пароль содержит слишком длинную последовательность символов одного и того же класса - + The password contains monotonic sequence longer than %1 characters Пароль содержит монотонную последовательность длиннее %1 символов - + The password contains too long of a monotonic character sequence Пароль содержит слишком длинную монотонную последовательность символов - + No password supplied Не задан пароль - + Cannot obtain random numbers from the RNG device Не удаётся получить случайные числа с устройства RNG - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 Пароль не прошёл проверку на использование словарных слов - %1 - + The password fails the dictionary check Пароль не прошёл проверку на использование словарных слов - + Unknown setting - %1 Неизвестная настройка - %1 - + Unknown setting Неизвестная настройка - + Bad integer value of setting - %1 Недопустимое целое значение свойства - %1 - + Bad integer value Недопустимое целое значение - + Setting %1 is not of integer type Настройка %1 не является целым числом - + Setting is not of integer type Настройка не является целым числом - + Setting %1 is not of string type Настройка %1 не является строкой - + Setting is not of string type Настройка не является строкой - + Opening the configuration file failed Не удалось открыть конфигурационный файл - + The configuration file is malformed Ошибка в структуре конфигурационного файла - + Fatal failure Фатальный сбой - + Unknown error Неизвестная ошибка + + + Password is empty + + PackageChooserPage @@ -3193,32 +3206,32 @@ Output: <small>Если этот компьютер используется несколькими людьми, Вы сможете создать соответствующие учетные записи сразу после установки.</small> - + Your username is too long. Ваше имя пользователя слишком длинное. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Имя вашего компьютера слишком коротко. - + Your hostname is too long. Имя вашего компьютера слишком длинное. diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 7db0e7c5a..dee982553 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -164,7 +164,7 @@ Run command '%1'. - + Spustenie príkazu „%1“. @@ -261,7 +261,7 @@ Would you like to paste the install log to the web? - + Chceli by ste vložiť záznam z inštalácie na web? @@ -1289,6 +1289,14 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Obrazovka je príliš malá na to, aby bolo možné zobraziť inštalátor. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1595,7 +1603,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Configuration Error - + Chyba konfigurácie @@ -1644,7 +1652,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Ba&tch: - + H&romadne: @@ -1673,245 +1681,250 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. PWQ - + Password is too short Heslo je príliš krátke - + Password is too long Heslo je príliš dlhé - + Password is too weak Heslo je príliš slabé - + Memory allocation error when setting '%1' Chyba počas vyhradzovania pamäte pri nastavovaní „%1“ - + Memory allocation error Chyba počas vyhradzovania pamäte - + The password is the same as the old one Heslo je rovnaké ako to staré - + The password is a palindrome Heslo je palindróm - + The password differs with case changes only Heslo sa odlišuje iba vo veľkosti písmen - + The password is too similar to the old one Heslo je príliš podobné ako to staré - + The password contains the user name in some form Heslo obsahuje v nejakom tvare používateľské meno - + The password contains words from the real name of the user in some form Heslo obsahuje v nejakom tvare slová zo skutočného mena používateľa - + The password contains forbidden words in some form Heslo obsahuje zakázané slová v určitom tvare - + The password contains less than %1 digits Heslo obsahuje menej ako %1 číslic - + The password contains too few digits Heslo tiež obsahuje pár číslic - + The password contains less than %1 uppercase letters Heslo obsahuje menej ako %1 veľkých písmen - + The password contains too few uppercase letters Heslo obsahuje príliš málo veľkých písmen - + The password contains less than %1 lowercase letters Heslo obsahuje menej ako %1 malých písmen - + The password contains too few lowercase letters Heslo obsahuje príliš málo malých písmen - + The password contains less than %1 non-alphanumeric characters Heslo obsahuje menej ako% 1 nealfanumerických znakov - + The password contains too few non-alphanumeric characters Heslo obsahuje príliš málo nealfanumerických znakov - + The password is shorter than %1 characters Heslo je kratšie ako %1 znakov - + The password is too short Heslo je príliš krátke - + The password is just rotated old one Heslo je iba obrátené staré heslo - + The password contains less than %1 character classes Heslo obsahuje menej ako %1 triedy znakov - + The password does not contain enough character classes Heslo neobsahuje dostatok tried znakov - + The password contains more than %1 same characters consecutively Heslo obsahuje viac ako% 1 rovnakých znakov za sebou - + The password contains too many same characters consecutively Heslo obsahuje príliš veľa rovnakých znakov - + The password contains more than %1 characters of the same class consecutively Heslo obsahuje postupne viac ako% 1 znakov toho istého typu - + The password contains too many characters of the same class consecutively Heslo obsahuje postupne príliš veľa znakov toho istého typu - + The password contains monotonic sequence longer than %1 characters Heslo obsahuje monotónnu sekvenciu dlhšiu ako %1 znakov - + The password contains too long of a monotonic character sequence Heslo obsahuje príliš dlhú sekvenciu monotónnych znakov - + No password supplied Nebolo poskytnuté žiadne heslo - + Cannot obtain random numbers from the RNG device Nedajú sa získať náhodné čísla zo zariadenia RNG - + Password generation failed - required entropy too low for settings Generovanie hesla zlyhalo - potrebná entropia je príliš nízka na nastavenie - + The password fails the dictionary check - %1 Heslo zlyhalo pri slovníkovej kontrole - %1 - + The password fails the dictionary check Heslo zlyhalo pri slovníkovej kontrole - + Unknown setting - %1 Neznáme nastavenie - %1 - + Unknown setting Neznáme nastavenie - + Bad integer value of setting - %1 Nesprávna celočíselná hodnota nastavenia - %1 - + Bad integer value Nesprávna celočíselná hodnota - + Setting %1 is not of integer type Nastavenie %1 nie je celé číslo - + Setting is not of integer type Nastavenie nie je celé číslo - + Setting %1 is not of string type Nastavenie %1 nie je reťazec - + Setting is not of string type Nastavenie nie je reťazec - + Opening the configuration file failed Zlyhalo otváranie konfiguračného súboru - + The configuration file is malformed Konfiguračný súbor je poškodený - + Fatal failure Závažné zlyhanie - + Unknown error Neznáma chyba + + + Password is empty + Heslo je prázdne + PackageChooserPage @@ -2008,12 +2021,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Your Full Name - + Vaše celé meno login - + prihlásenie @@ -2023,19 +2036,19 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Computer Name - + Názov počítača Password - + Heslo Repeat Password - + Zopakovanie hesla @@ -2532,22 +2545,22 @@ Výstup: File not found - + Súbor sa nenašiel Path <pre>%1</pre> must be an absolute path. - + Cesta <pre>%1</pre> musí byť úplnou cestou. Could not create new random file <pre>%1</pre>. - + Nepodarilo sa vytvoriť nový náhodný súbor <pre>%1</pre>. Could not read random file <pre>%1</pre>. - + Nepodarilo sa čítať náhodný súbor <pre>%1</pre>. @@ -3194,32 +3207,32 @@ Výstup: <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> - + Your username is too long. Vaše používateľské meno je príliš dlhé. - + Your username must start with a lowercase letter or underscore. - + Vaše používateľské meno musí začínať malým písmenom alebo podčiarkovníkom. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Váš názov hostiteľa je príliš krátky. - + Your hostname is too long. Váš názov hostiteľa je príliš dlhý. @@ -3334,12 +3347,12 @@ Výstup: Open issues and bug-tracking website - + Otvoriť webovú stránku s problémami a chybami Open release notes website - + Otvoriť webovú stránku s poznámkami k vydaniu diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 32888463b..72eb60265 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -1288,6 +1288,14 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index 683069ad5..d07467162 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -1290,6 +1290,14 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Ekrani është shumë i vogël për shfaqjen e instaluesit. + + HostInfoJob + + + Collecting information about your machine. + Po grumbullohen të dhëna rreth makinës tuaj. + + IDJob @@ -1674,245 +1682,250 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. PWQ - + Password is too short Fjalëkalimi është shumë i shkurtër - + Password is too long Fjalëkalimi është shumë i gjatë - + Password is too weak Fjalëkalimi është shumë i dobët - + Memory allocation error when setting '%1' Gabim caktimi kujtese kur rregullohej '%1' - + Memory allocation error Gabim caktimi kujtese - + The password is the same as the old one Fjalëkalimi është i njëjtë me të vjetrin - + The password is a palindrome Fjalëkalimi është një palindromë - + The password differs with case changes only Fjalëkalimet ndryshojnë vetëm nga shkronja të mëdha apo të vogla - + The password is too similar to the old one Fjalëkalimi është shumë i ngjashëm me të vjetrin - + The password contains the user name in some form Fjalëkalimi, në një farë mënyre, përmban emrin e përdoruesit - + The password contains words from the real name of the user in some form Fjalëkalimi, në një farë mënyre, përmban fjalë nga emri i vërtetë i përdoruesit - + The password contains forbidden words in some form Fjalëkalimi, në një farë mënyre, përmban fjalë të ndaluara - + The password contains less than %1 digits Fjalëkalimi përmban më pak se %1 shifra - + The password contains too few digits Fjalëkalimi përmban shumë pak shifra - + The password contains less than %1 uppercase letters Fjalëkalimi përmban më pak se %1 shkronja të mëdha - + The password contains too few uppercase letters Fjalëkalimi përmban pak shkronja të mëdha - + The password contains less than %1 lowercase letters Fjalëkalimi përmban më pak se %1 shkronja të vogla - + The password contains too few lowercase letters Fjalëkalimi përmban pak shkronja të vogla - + The password contains less than %1 non-alphanumeric characters Fjalëkalimi përmban më pak se %1 shenja jo alfanumerike - + The password contains too few non-alphanumeric characters Fjalëkalimi përmban pak shenja jo alfanumerike - + The password is shorter than %1 characters Fjalëkalimi është më i shkurtër se %1 shenja - + The password is too short Fjalëkalimi është shumë i shkurtër - + The password is just rotated old one Fjalëkalimi është i vjetri i ricikluar - + The password contains less than %1 character classes Fjalëkalimi përmban më pak se %1 klasa shenjash - + The password does not contain enough character classes Fjalëkalimi nuk përmban klasa të mjaftueshme shenjash - + The password contains more than %1 same characters consecutively Fjalëkalimi përmban më shumë se %1 shenja të njëjta njëra pas tjetrës - + The password contains too many same characters consecutively Fjalëkalimi përmban shumë shenja të njëjta njëra pas tjetrës - + The password contains more than %1 characters of the same class consecutively Fjalëkalimi përmban më shumë se %1 shenja të së njëjtës klasë njëra pas tjetrës - + The password contains too many characters of the same class consecutively Fjalëkalimi përmban shumë shenja të së njëjtës klasë njëra pas tjetrës - + The password contains monotonic sequence longer than %1 characters Fjalëkalimi përmban varg monoton më të gjatë se %1 shenja - + The password contains too long of a monotonic character sequence Fjalëkalimi përmban varg monoton shumë të gjatë shenjash - + No password supplied S’u dha fjalëkalim - + Cannot obtain random numbers from the RNG device S’merren dot numra të rëndomtë nga pajisja RNG - + Password generation failed - required entropy too low for settings Prodhimi i fjalëkalimit dështoi - entropi e domosdoshme për rregullimin shumë e ulët - + The password fails the dictionary check - %1 Fjalëkalimi s’kaloi dot kontrollin kundrejt fjalorit - %1 - + The password fails the dictionary check Fjalëkalimi s’kaloi dot kontrollin kundrejt fjalorit - + Unknown setting - %1 Rregullim i panjohur - %1 - + Unknown setting Rregullim i panjohur - + Bad integer value of setting - %1 Vlerë e plotë e gabuar për rregullimin - %1 - + Bad integer value Vlerë e plotë e gabuar - + Setting %1 is not of integer type Rregullimi për %1 s’është numër i plotë - + Setting is not of integer type Rregullimi s’është numër i plotë - + Setting %1 is not of string type Rregullimi për %1 s’është i llojit varg - + Setting is not of string type Rregullimi s’është i llojit varg - + Opening the configuration file failed Dështoi hapja e kartelës së formësimit - + The configuration file is malformed Kartela e formësimit është e keqformuar - + Fatal failure Dështim fatal - + Unknown error Gabim i panjohur + + + Password is empty + Fjalëkalimi është i zbrazët + PackageChooserPage @@ -3195,32 +3208,32 @@ Përfundim: <small>Nëse këtë kompjuter do ta përdorë më shumë se një person, mund të krijoni disa llogari, pas instalimit.</small> - + Your username is too long. Emri juaj i përdoruesit është shumë i gjatë. - + Your username must start with a lowercase letter or underscore. Emri juaj i përdoruesit duhet të fillojë me një shkronjë të vogël ose nënvijë. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Lejohen vetëm shkronja të vogla, numra, nënvijë dhe vijë ndarëse. - + Only letters, numbers, underscore and hyphen are allowed. Lejohen vetëm shkronja, numra, nënvijë dhe vijë ndarëse. - + Your hostname is too short. Strehëemri juaj është shumë i shkurtër. - + Your hostname is too long. Strehëemri juaj është shumë i gjatë. diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 2df711eac..254bf876a 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. Ваше корисничко име је предугачко. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Име вашег "домаћина" - hostname је прекратко. - + Your hostname is too long. Ваше име домаћина је предуго - hostname diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index aa634442c..5692700ab 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -1288,6 +1288,14 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 99e5ecd45..4860479ef 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -1288,6 +1288,14 @@ Alla ändringar kommer att gå förlorade. Skärmen är för liten för att visa installationshanteraren. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ Alla ändringar kommer att gå förlorade. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när installationen är klar.</small> - + Your username is too long. Ditt användarnamn är för långt. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Ditt värdnamn är för kort. - + Your hostname is too long. Ditt värdnamn är för långt. diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 60fcd0fa7..46f9f27c7 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,245 +1680,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3190,32 +3203,32 @@ Output: - + Your username is too long. ชื่อผู้ใช้ของคุณยาวเกินไป - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. ชื่อโฮสต์ของคุณสั้นเกินไป - + Your hostname is too long. ชื่อโฮสต์ของคุณยาวเกินไป diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 68ccb7e99..bf1766a12 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -1292,6 +1292,14 @@ Sistem güç kaynağına bağlı değil. Ekran, sistem yükleyiciyi görüntülemek için çok küçük. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1676,245 +1684,250 @@ Sistem güç kaynağına bağlı değil. PWQ - + Password is too short Şifre çok kısa - + Password is too long Şifre çok uzun - + Password is too weak Şifre çok zayıf - + Memory allocation error when setting '%1' '%1' ayarlanırken bellek ayırma hatası - + Memory allocation error Bellek ayırma hatası - + The password is the same as the old one Şifre eski şifreyle aynı - + The password is a palindrome Parola eskilerden birinin ters okunuşu olabilir - + The password differs with case changes only Parola sadece vaka değişiklikleri ile farklılık gösterir - + The password is too similar to the old one Parola eski parolaya çok benzer - + The password contains the user name in some form Parola kullanıcı adını bir biçimde içeriyor - + The password contains words from the real name of the user in some form Şifre, kullanıcının gerçek adına ait kelimeleri bazı biçimde içerir - + The password contains forbidden words in some form Şifre, bazı biçimde yasak kelimeler içeriyor - + The password contains less than %1 digits Şifre %1 den az hane içeriyor - + The password contains too few digits Parola çok az basamak içeriyor - + The password contains less than %1 uppercase letters Parola %1 den az büyük harf içeriyor - + The password contains too few uppercase letters Parola çok az harf içermektedir - + The password contains less than %1 lowercase letters Parola %1 den daha küçük harf içermektedir - + The password contains too few lowercase letters Parola çok az küçük harf içeriyor - + The password contains less than %1 non-alphanumeric characters Şifre %1 den az alfasayısal olmayan karakter içeriyor - + The password contains too few non-alphanumeric characters Parola çok az sayıda alfasayısal olmayan karakter içeriyor - + The password is shorter than %1 characters Parola %1 karakterden kısa - + The password is too short Parola çok kısa - + The password is just rotated old one Şifre önceden kullanıldı - + The password contains less than %1 character classes Parola %1 den az karakter sınıfı içeriyor - + The password does not contain enough character classes Parola yeterli sayıda karakter sınıfı içermiyor - + The password contains more than %1 same characters consecutively Şifre, %1 den fazla aynı karakteri ardışık olarak içeriyor - + The password contains too many same characters consecutively Parola ardışık olarak aynı sayıda çok karakter içeriyor - + The password contains more than %1 characters of the same class consecutively Parola, aynı sınıftan %1 den fazla karakter ardışık olarak içeriyor - + The password contains too many characters of the same class consecutively Parola aynı sınıfta çok fazla karakter içeriyor - + The password contains monotonic sequence longer than %1 characters Şifre, %1 karakterden daha uzun monoton dizilim içeriyor - + The password contains too long of a monotonic character sequence Parola çok uzun monoton karakter dizisi içeriyor - + No password supplied Parola sağlanmadı - + Cannot obtain random numbers from the RNG device RNG cihazından rastgele sayılar elde edemiyor - + Password generation failed - required entropy too low for settings Şifre üretimi başarısız oldu - ayarlar için entropi çok düşük gerekli - + The password fails the dictionary check - %1 Parola, sözlüğü kontrolü başarısız - %1 - + The password fails the dictionary check Parola, sözlük onayı başarısız - + Unknown setting - %1 Bilinmeyen ayar - %1 - + Unknown setting Bilinmeyen ayar - + Bad integer value of setting - %1 Ayarın bozuk tam sayı değeri - %1 - + Bad integer value Yanlış tamsayı değeri - + Setting %1 is not of integer type %1 ayarı tamsayı tipi değil - + Setting is not of integer type Ayar tamsayı tipi değil - + Setting %1 is not of string type Ayar %1, dize tipi değil - + Setting is not of string type Ayar, dize tipi değil - + Opening the configuration file failed Yapılandırma dosyasını açma başarısız oldu - + The configuration file is malformed Yapılandırma dosyası hatalı biçimlendirildi - + Fatal failure Ölümcül arıza - + Unknown error Bilinmeyen hata + + + Password is empty + + PackageChooserPage @@ -3200,32 +3213,32 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.<small>Bu bilgisayarı birden fazla kişi kullanacaksa, yükleme bittikten sonra birden fazla kullanıcı hesabı oluşturabilirsiniz.</small> - + Your username is too long. Kullanıcı adınız çok uzun. - + Your username must start with a lowercase letter or underscore. Kullanıcı adınız küçük harf veya alt çizgi ile başlamalıdır. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Sadece küçük harflere, sayılara, alt çizgi ve kısa çizgilere izin verilir. - + Only letters, numbers, underscore and hyphen are allowed. Sadece harfler, rakamlar, alt çizgi ve kısa çizgi izin verilir. - + Your hostname is too short. Makine adınız çok kısa. - + Your hostname is too long. Makine adınız çok uzun. diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 7fb619950..50abd8696 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -1288,6 +1288,14 @@ The installer will quit and all changes will be lost. Екран замалий для відображення установника. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1672,246 +1680,251 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short Пароль занадто короткий - + Password is too long Пароль задовгий - + Password is too weak Пароль надто ненадійний - + Memory allocation error when setting '%1' - + Memory allocation error Помилка виділення пам'яті - + The password is the same as the old one Цей пароль такий же як і старий - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one Цей пароль надто схожий на попередній - + The password contains the user name in some form Цей пароль якимось чином містить ім'я користувача - + The password contains words from the real name of the user in some form Цей пароль містить слова зі справжнього імені користувача в якійсь із форм - + The password contains forbidden words in some form - + The password contains less than %1 digits Цей пароль містить менше ніж %1 символ - + The password contains too few digits Цей пароль містить замало символів - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short Цей пароль занадто короткий - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure Фатальна помилка - + Unknown error Невідома помилка + + + Password is empty + + PackageChooserPage @@ -3191,32 +3204,32 @@ Output: - + Your username is too long. Ваше ім'я задовге. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Ім'я машини занадто коротке. - + Your hostname is too long. Ім'я машини задовге. diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index a926ddd07..682616aed 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index 777e7e1d9..2889a9112 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -1287,6 +1287,14 @@ The installer will quit and all changes will be lost. + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1671,245 +1679,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short - + Password is too long - + Password is too weak - + Memory allocation error when setting '%1' - + Memory allocation error - + The password is the same as the old one - + The password is a palindrome - + The password differs with case changes only - + The password is too similar to the old one - + The password contains the user name in some form - + The password contains words from the real name of the user in some form - + The password contains forbidden words in some form - + The password contains less than %1 digits - + The password contains too few digits - + The password contains less than %1 uppercase letters - + The password contains too few uppercase letters - + The password contains less than %1 lowercase letters - + The password contains too few lowercase letters - + The password contains less than %1 non-alphanumeric characters - + The password contains too few non-alphanumeric characters - + The password is shorter than %1 characters - + The password is too short - + The password is just rotated old one - + The password contains less than %1 character classes - + The password does not contain enough character classes - + The password contains more than %1 same characters consecutively - + The password contains too many same characters consecutively - + The password contains more than %1 characters of the same class consecutively - + The password contains too many characters of the same class consecutively - + The password contains monotonic sequence longer than %1 characters - + The password contains too long of a monotonic character sequence - + No password supplied - + Cannot obtain random numbers from the RNG device - + Password generation failed - required entropy too low for settings - + The password fails the dictionary check - %1 - + The password fails the dictionary check - + Unknown setting - %1 - + Unknown setting - + Bad integer value of setting - %1 - + Bad integer value - + Setting %1 is not of integer type - + Setting is not of integer type - + Setting %1 is not of string type - + Setting is not of string type - + Opening the configuration file failed - + The configuration file is malformed - + Fatal failure - + Unknown error + + + Password is empty + + PackageChooserPage @@ -3189,32 +3202,32 @@ Output: - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 796710b0e..d477b66f1 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -100,12 +100,12 @@ Reload Stylesheet - + 重载样式表 Widget Tree - + 树形控件 @@ -118,7 +118,7 @@ Set up - + 建立 @@ -131,7 +131,7 @@ Job failed (%1) - + 任务失败(%1) @@ -1290,6 +1290,14 @@ The installer will quit and all changes will be lost. 屏幕不能完整显示安装器。 + + HostInfoJob + + + Collecting information about your machine. + + + IDJob @@ -1674,245 +1682,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short 密码太短 - + Password is too long 密码太长 - + Password is too weak 密码强度太弱 - + Memory allocation error when setting '%1' 设置“%1”时发生内存分配错误 - + Memory allocation error 内存分配错误 - + The password is the same as the old one 新密码和老密码一致 - + The password is a palindrome 新密码为回文 - + The password differs with case changes only 新密码和老密码只有大小写区别 - + The password is too similar to the old one 新密码和老密码过于相似 - + The password contains the user name in some form 新密码包含用户名 - + The password contains words from the real name of the user in some form 新密码包含用户真实姓名 - + The password contains forbidden words in some form 新密码包含不允许使用的词组 - + The password contains less than %1 digits 新密码包含少于 %1 个数字 - + The password contains too few digits 新密码包含太少数字 - + The password contains less than %1 uppercase letters 新密码包含少于 %1 个大写字母 - + The password contains too few uppercase letters 新密码包含太少大写字母 - + The password contains less than %1 lowercase letters 新密码包含少于 %1 个小写字母 - + The password contains too few lowercase letters 新密码包含太少小写字母 - + The password contains less than %1 non-alphanumeric characters 新密码包含少于 %1 个非字母/数字字符 - + The password contains too few non-alphanumeric characters 新密码包含太少非字母/数字字符 - + The password is shorter than %1 characters 新密码短于 %1 位 - + The password is too short 新密码过短 - + The password is just rotated old one 新密码仅对老密码作了字序调整 - + The password contains less than %1 character classes 新密码包含少于 %1 个字符类型 - + The password does not contain enough character classes 新密码包含太少字符类型 - + The password contains more than %1 same characters consecutively 新密码包含超过 %1 个连续的相同字符 - + The password contains too many same characters consecutively 新密码包含过多连续的相同字符 - + The password contains more than %1 characters of the same class consecutively 新密码包含超过 %1 个连续的同类型字符 - + The password contains too many characters of the same class consecutively 新密码包含过多连续的同类型字符 - + The password contains monotonic sequence longer than %1 characters 新密码包含超过 %1 个字符长度的单调序列 - + The password contains too long of a monotonic character sequence 新密码包含过长的单调序列 - + No password supplied 未输入密码 - + Cannot obtain random numbers from the RNG device 无法从随机数生成器 (RNG) 设备获取随机数 - + Password generation failed - required entropy too low for settings 无法生成密码 - 熵值过低 - + The password fails the dictionary check - %1 新密码无法通过字典检查 - %1 - + The password fails the dictionary check 新密码无法通过字典检查 - + Unknown setting - %1 未知设置 - %1 - + Unknown setting 未知设置 - + Bad integer value of setting - %1 设置的整数值非法 - %1 - + Bad integer value 设置的整数值非法 - + Setting %1 is not of integer type 设定值 %1 不是整数类型 - + Setting is not of integer type 设定值不是整数类型 - + Setting %1 is not of string type 设定值 %1 不是字符串类型 - + Setting is not of string type 设定值不是字符串类型 - + Opening the configuration file failed 无法打开配置文件 - + The configuration file is malformed 配置文件格式不正确 - + Fatal failure 致命错误 - + Unknown error 未知错误 + + + Password is empty + + PackageChooserPage @@ -3195,32 +3208,32 @@ Output: - + Your username is too long. 用户名太长。 - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. 主机名太短。 - + Your hostname is too long. 主机名太长。 diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index ee4598b65..fef09fd59 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -1290,6 +1290,14 @@ The installer will quit and all changes will be lost. 螢幕太小了,沒辦法顯示安裝程式。 + + HostInfoJob + + + Collecting information about your machine. + 正在蒐集關於您機器的資訊。 + + IDJob @@ -1674,245 +1682,250 @@ The installer will quit and all changes will be lost. PWQ - + Password is too short 密碼太短 - + Password is too long 密碼太長 - + Password is too weak 密碼太弱 - + Memory allocation error when setting '%1' 當設定「%1」時記憶體分配錯誤 - + Memory allocation error 記憶體分配錯誤 - + The password is the same as the old one 密碼與舊的相同 - + The password is a palindrome 此密碼為迴文 - + The password differs with case changes only 密碼僅大小寫不同 - + The password is too similar to the old one 密碼與舊的太過相似 - + The password contains the user name in some form 密碼包含某種形式的使用者名稱 - + The password contains words from the real name of the user in some form 密碼包含了某種形式的使用者真實姓名 - + The password contains forbidden words in some form 密碼包含了某種形式的無效文字 - + The password contains less than %1 digits 密碼中的數字少於 %1 個 - + The password contains too few digits 密碼包含的數字太少了 - + The password contains less than %1 uppercase letters 密碼包含少於 %1 個大寫字母 - + The password contains too few uppercase letters 密碼包含的大寫字母太少了 - + The password contains less than %1 lowercase letters 密碼包含少於 %1 個小寫字母 - + The password contains too few lowercase letters 密碼包含的小寫字母太少了 - + The password contains less than %1 non-alphanumeric characters 密碼包含了少於 %1 個非字母與數字的字元 - + The password contains too few non-alphanumeric characters 密碼包含的非字母與數字的字元太少了 - + The password is shorter than %1 characters 密碼短於 %1 個字元 - + The password is too short 密碼太短 - + The password is just rotated old one 密碼只是輪換過的舊密碼 - + The password contains less than %1 character classes 密碼包含了少於 %1 種字元類型 - + The password does not contain enough character classes 密碼未包含足夠的字元類型 - + The password contains more than %1 same characters consecutively 密碼包含了連續超過 %1 個相同字元 - + The password contains too many same characters consecutively 密碼包含連續太多個相同的字元 - + The password contains more than %1 characters of the same class consecutively 密碼包含了連續多於 %1 個相同的字元類型 - + The password contains too many characters of the same class consecutively 密碼包含了連續太多相同類型的字元 - + The password contains monotonic sequence longer than %1 characters 密碼包含了長度超過 %1 個字元的單調序列 - + The password contains too long of a monotonic character sequence 密碼包含了長度過長的單調字元序列 - + No password supplied 未提供密碼 - + Cannot obtain random numbers from the RNG device 無法從 RNG 裝置中取得隨機數 - + Password generation failed - required entropy too low for settings 密碼生成失敗,設定的必要熵太低 - + The password fails the dictionary check - %1 密碼在字典檢查時失敗 - %1 - + The password fails the dictionary check 密碼在字典檢查時失敗 - + Unknown setting - %1 未知的設定 - %1 - + Unknown setting 未知的設定 - + Bad integer value of setting - %1 整數值設定不正確 - %1 - + Bad integer value 整數值不正確 - + Setting %1 is not of integer type 設定 %1 不是整數類型 - + Setting is not of integer type 設定不是整數類型 - + Setting %1 is not of string type 設定 %1 不是字串類型 - + Setting is not of string type 設定不是字串類型 - + Opening the configuration file failed 開啟設定檔失敗 - + The configuration file is malformed 設定檔格式不正確 - + Fatal failure 無法挽回的失敗 - + Unknown error 未知的錯誤 + + + Password is empty + 密碼為空 + PackageChooserPage @@ -3195,32 +3208,32 @@ Output: <small>如果將會有多於一人使用這臺電腦,您可以在安裝後設定多個帳號。</small> - + Your username is too long. 您的使用者名稱太長了。 - + Your username must start with a lowercase letter or underscore. 您的使用者名稱必須以小寫字母或底線開頭。 - + Only lowercase letters, numbers, underscore and hyphen are allowed. 僅允許小寫字母、數字、底線與連接號。 - + Only letters, numbers, underscore and hyphen are allowed. 僅允許字母、數字、底線與連接號。 - + Your hostname is too short. 您的主機名稱太短了。 - + Your hostname is too long. 您的主機名稱太長了。 From aa789fed467f2fa0a6b7df618e752f243468ad4f Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 28 Nov 2019 15:45:33 +0100 Subject: [PATCH 535/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 2 +- lang/python/ar/LC_MESSAGES/python.po | 2 +- lang/python/ast/LC_MESSAGES/python.po | 2 +- lang/python/be/LC_MESSAGES/python.po | 2 +- lang/python/bg/LC_MESSAGES/python.po | 2 +- lang/python/ca/LC_MESSAGES/python.po | 2 +- lang/python/ca@valencia/LC_MESSAGES/python.po | 2 +- lang/python/cs_CZ/LC_MESSAGES/python.po | 2 +- lang/python/da/LC_MESSAGES/python.po | 2 +- lang/python/de/LC_MESSAGES/python.po | 2 +- lang/python/el/LC_MESSAGES/python.po | 2 +- lang/python/en_GB/LC_MESSAGES/python.po | 2 +- lang/python/eo/LC_MESSAGES/python.po | 2 +- lang/python/es/LC_MESSAGES/python.po | 2 +- lang/python/es_MX/LC_MESSAGES/python.po | 2 +- lang/python/es_PR/LC_MESSAGES/python.po | 2 +- lang/python/et/LC_MESSAGES/python.po | 2 +- lang/python/eu/LC_MESSAGES/python.po | 2 +- lang/python/fa/LC_MESSAGES/python.po | 2 +- lang/python/fi_FI/LC_MESSAGES/python.po | 2 +- lang/python/fr/LC_MESSAGES/python.po | 2 +- lang/python/fr_CH/LC_MESSAGES/python.po | 2 +- lang/python/gl/LC_MESSAGES/python.po | 2 +- lang/python/gu/LC_MESSAGES/python.po | 2 +- lang/python/he/LC_MESSAGES/python.po | 2 +- lang/python/hi/LC_MESSAGES/python.po | 2 +- lang/python/hr/LC_MESSAGES/python.po | 2 +- lang/python/hu/LC_MESSAGES/python.po | 2 +- lang/python/id/LC_MESSAGES/python.po | 2 +- lang/python/is/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.po | 2 +- lang/python/kk/LC_MESSAGES/python.po | 2 +- lang/python/kn/LC_MESSAGES/python.po | 2 +- lang/python/ko/LC_MESSAGES/python.po | 2 +- lang/python/lo/LC_MESSAGES/python.po | 2 +- lang/python/lt/LC_MESSAGES/python.po | 2 +- lang/python/mk/LC_MESSAGES/python.po | 2 +- lang/python/ml/LC_MESSAGES/python.po | 2 +- lang/python/mr/LC_MESSAGES/python.po | 2 +- lang/python/nb/LC_MESSAGES/python.po | 2 +- lang/python/ne_NP/LC_MESSAGES/python.po | 2 +- lang/python/nl/LC_MESSAGES/python.po | 2 +- lang/python/pl/LC_MESSAGES/python.po | 2 +- lang/python/pt_BR/LC_MESSAGES/python.po | 2 +- lang/python/pt_PT/LC_MESSAGES/python.po | 2 +- lang/python/ro/LC_MESSAGES/python.po | 2 +- lang/python/ru/LC_MESSAGES/python.po | 2 +- lang/python/sk/LC_MESSAGES/python.mo | Bin 2656 -> 2712 bytes lang/python/sk/LC_MESSAGES/python.po | 8 ++++---- lang/python/sl/LC_MESSAGES/python.po | 2 +- lang/python/sq/LC_MESSAGES/python.po | 2 +- lang/python/sr/LC_MESSAGES/python.po | 2 +- lang/python/sr@latin/LC_MESSAGES/python.po | 2 +- lang/python/sv/LC_MESSAGES/python.po | 2 +- lang/python/th/LC_MESSAGES/python.po | 2 +- lang/python/tr_TR/LC_MESSAGES/python.po | 2 +- lang/python/uk/LC_MESSAGES/python.po | 2 +- lang/python/ur/LC_MESSAGES/python.po | 2 +- lang/python/uz/LC_MESSAGES/python.po | 2 +- lang/python/zh_CN/LC_MESSAGES/python.po | 2 +- lang/python/zh_TW/LC_MESSAGES/python.po | 2 +- 62 files changed, 64 insertions(+), 64 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 063ef58af..bffa78301 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index cebb7e4f2..8e8618632 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index c7dbf218e..1bae26123 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index e159aea05..529232df5 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Zmicer Turok , 2019\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index b92e7f6af..1c0243dce 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index 9f9597adb..374e1e5fb 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index 99c3ef8f4..0a80fecdd 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 6e6b3b423..aa53f6a1d 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index 17726e7f7..1b6d19d66 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: scootergrisen, 2019\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index 80f66cd03..39cd34fc3 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index ce517e5e2..15559cb9e 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 2e8638e62..16cd7b3c5 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index 990836f33..540ed464e 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 34d3d6dae..5fb4ed9ed 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adolfo Jayme-Barrientos, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index 67ea83131..db5c5bb3e 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index 13bfb9d6b..110d03ac2 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index 9dced42ff..dc237f9d2 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Madis Otenurm, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 9cd3ae62f..448f6ba93 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index 016338938..f61e74567 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index ba09fc580..9a7761088 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kimmo Kujansuu , 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index cb2e50346..65f2a232d 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Arnaud Ferraris , 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index e54a3e0af..afe3e2b09 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index d3bfda1f1..ab6a30218 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 29adc9aa3..78f447d4c 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 43fa460f4..bffcaf3c3 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index f76c22bdd..90bec6ff5 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Panwar108 , 2019\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index e54e17fa2..ac5d226d6 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 1b9b0afdb..87353e392 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lajos Pasztor , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index 0aeecb6b9..c5aa3f262 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 08c970938..7aa34b548 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index 7a8f08231..be850430d 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index 1fe12205b..19a7f5da4 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: UTUMI Hirosi , 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index 252d6df9f..cf698330b 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index 3bbbfe809..b1f815062 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index 57b31a8bd..38dc9e4c1 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 이정희 , 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index ec31384d9..5520cad3a 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index c8874696c..9566485b0 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Mindaugas , 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index 824efe3b4..0b94bc9b2 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" diff --git a/lang/python/ml/LC_MESSAGES/python.po b/lang/python/ml/LC_MESSAGES/python.po index 89ca8a207..1a57b2c02 100644 --- a/lang/python/ml/LC_MESSAGES/python.po +++ b/lang/python/ml/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Balasankar C , 2019\n" "Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index 79488f4ea..48a7b7c44 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index 1202a2780..0ec1bf1b0 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index 8fcac114a..b63e7d6b8 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index 24210d996..1d928be3b 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index a1e83a47e..d00704461 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Piotr Strębski , 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 4ecb5e26a..55d421e18 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index 1512cd42c..c0f6933d3 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Hugo Carvalho , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index d4ad039b4..1ee4f97a9 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index de343f959..386918c4d 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" diff --git a/lang/python/sk/LC_MESSAGES/python.mo b/lang/python/sk/LC_MESSAGES/python.mo index ec4bdf41b86ec5aa6b4813ba7cab7e131989e5f8..618d7fde77ba737ee860afb278c7a7c35b8c7207 100644 GIT binary patch delta 542 zcmY+=J4*vW5Ww-dOEkWsF)u8Pi6|&&Ac+qMb{?W1z*2-LYC=K+hl-+bg`HJU1T8EC z8w;xxw&DY^u&@`2SX(Pr{wKM{g}LAE-QMi%)WfF{=RN2>5k`dQCmx6xQ8IWi>ez=L zIE24Aj02{~2wJG?B8ISv<9La^_=;itbp3JP`#mC)B96qFXyQfGL_4U7&v6DHaSRQw zND7mv`<79QKENl6I>S-cxmJ-WJj7|d#Vmfi>$I;~XdY9XFZ)d5Y`AuPK~409QH-{U z>|qi!c!d-AhI&AtU1S00F^yFut=ysRo9z%8#BHR`MpyXM9817CjTY&f0HL?iR?;cq zQsO80SAv8N8X`T7nMfyg6VxJH@ZabAEUQJU|%a3R;iFppGW+68G^Q*KmMkjD`L0_At+U zhA$kZiL1;95osIGv5I%Ni|@gljQTl8xWsgB;sKO03yMsy dIGecGL?v&&tS7f;cWi6Ntxi>J_c~e#{R0NbDvSUC diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 8c3cda1ec..09aac3647 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Dušan Kazik , 2018 +# Dušan Kazik , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Dušan Kazik , 2018\n" +"Last-Translator: Dušan Kazik , 2019\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,7 +39,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 "Chyba konfigurácie" #: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:172 diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 0a4d6476f..78e6c3b54 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index 2e2ede3d2..e7901576f 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 043818228..85ed4da58 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index c601ae9cc..a92769139 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 40929be1b..9903ab729 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jan-Olof Svensson, 2019\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index bc4329aae..76bc6d834 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 3e0055973..048e088e4 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Demiray Muhterem , 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 549ac1082..113eaeada 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 243ff2cf4..16097fa3e 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 01634548b..750ea2fc3 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index b7c8c8756..1d1fd08fe 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 8498a5882..3c80b1c10 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-01 17:38+0100\n" +"POT-Creation-Date: 2019-11-08 15:08+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 黃柏諺 , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" From 3bf1fbba658f912e1d0dc1a233ed2b82e2580165 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 15:55:15 +0100 Subject: [PATCH 536/626] CI: ignore changes in location (e.g. source-line changes of strings) for string freeze --- ci/txcheck.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/txcheck.sh b/ci/txcheck.sh index be984d22d..46b9959c1 100644 --- a/ci/txcheck.sh +++ b/ci/txcheck.sh @@ -39,6 +39,7 @@ tx_sum() git worktree add $WORKTREE_NAME $WORKTREE_TAG > /dev/null 2>&1 || { echo "! Could not create worktree." ; exit 1 ; } ( cd $WORKTREE_NAME && sh ci/txpush.sh --no-tx ) > /dev/null 2>&1 || { echo "! Could not re-create translations." ; exit 1 ; } + ( cd $WORKTREE_NAME && sed -i'' -e '/ Date: Thu, 28 Nov 2019 15:58:02 +0100 Subject: [PATCH 537/626] CI: allow cleaning up a string-freeze-check independently --- ci/txcheck.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/ci/txcheck.sh b/ci/txcheck.sh index 46b9959c1..a28caaee9 100644 --- a/ci/txcheck.sh +++ b/ci/txcheck.sh @@ -5,6 +5,23 @@ # a translations push, which works for the current development # workflow .. but it could be improved by looking for one of # the typical txpush log messages instead of the tag. +# +# Use --cleanup as an argument to clean things up. + +tx_cleanup() +{ + # Cleanup artifacs of checking + git worktree remove --force build-txcheck-head + git worktree remove --force build-txcheck-prev + git branch -D build-txcheck-head > /dev/null 2>&1 +} + +if test "x$1" = "x--cleanup" ; then + tx_cleanup + exit 0 +fi +test -z "$1" || { echo "! Usage: txcheck.sh [--cleanup]" ; exit 1 ; } + if git describe translation > /dev/null 2>&1 ; then : else @@ -63,9 +80,6 @@ else exit 1 fi -# Cleanup artifacs of checking -git worktree remove --force build-txcheck-head -git worktree remove --force build-txcheck-prev -git branch -D build-txcheck-head > /dev/null 2>&1 +tx_cleanup exit 0 From b4e9ec7eb146f71d7c61d996fb2c083f81e04e99 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 16:10:01 +0100 Subject: [PATCH 538/626] [hostinfo] There is no config file for this module - the empty config file would fail in tests - move the documentation part of it to CMakeLists.txt --- src/modules/hostinfo/CMakeLists.txt | 19 +++++++++++++++++++ src/modules/hostinfo/hostinfo.conf | 20 -------------------- 2 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 src/modules/hostinfo/hostinfo.conf diff --git a/src/modules/hostinfo/CMakeLists.txt b/src/modules/hostinfo/CMakeLists.txt index 5236d30ef..cc9b0bbac 100644 --- a/src/modules/hostinfo/CMakeLists.txt +++ b/src/modules/hostinfo/CMakeLists.txt @@ -1,3 +1,22 @@ +# Configuration for hostinfo +# +# There isn't anything to configure for the hostinfo module. +# +# Hostinfo puts information about the host system into Calamares +# GlobalStorage. This information is generally unchanging. Put +# this module somewhere early in the exec: section to pick up +# the variables. Use a contextualprocess module later to +# react to the values, if needed. +# +# GlobalStorage keys: +# +# - *hostOS* the OS this module was built under; value is "Linux" or +# "FreeBSD" or blank. +# - *hostOSName* the NAME value from /etc/os-release if it exists, +# otherwise the same as *hostOS*. +# - *hostCPU* the make (brand) of the CPU, if it can be determined. +# Values are "Intel" or "AMD" or blank. + calamares_add_plugin( hostinfo TYPE job EXPORT_MACRO PLUGINDLLEXPORT_PRO diff --git a/src/modules/hostinfo/hostinfo.conf b/src/modules/hostinfo/hostinfo.conf deleted file mode 100644 index 47287b3cd..000000000 --- a/src/modules/hostinfo/hostinfo.conf +++ /dev/null @@ -1,20 +0,0 @@ -# Configuration for hostinfo -# -# There isn't anything to configure for the hostinfo module. -# -# Hostinfo puts information about the host system into Calamares -# GlobalStorage. This information is generally unchanging. Put -# this module somewhere early in the exec: section to pick up -# the variables. Use a contextualprocess module later to -# react to the values, if needed. -# -# GlobalStorage keys: -# -# - *hostOS* the OS this module was built under; value is "Linux" or -# "FreeBSD" or blank. -# - *hostOSName* the NAME value from /etc/os-release if it exists, -# otherwise the same as *hostOS*. -# - *hostCPU* the make (brand) of the CPU, if it can be determined. -# Values are "Intel" or "AMD" or blank. ---- -# There is no configuration to be done. From cb659555a2045b6b9aad60b4068b9ba6b8dfd9d4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 16:49:08 +0100 Subject: [PATCH 539/626] CI: don't accidentally push lightweight translation tag --- ci/RELEASE.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/RELEASE.sh b/ci/RELEASE.sh index b3c6592b1..ed1669ef7 100755 --- a/ci/RELEASE.sh +++ b/ci/RELEASE.sh @@ -151,7 +151,7 @@ rm -rf "$TMPDIR" # From tarball # cat < Date: Thu, 28 Nov 2019 16:51:07 +0100 Subject: [PATCH 540/626] Changes: post-release housekeeping --- CHANGES | 12 ++++++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 915ec75f3..2fdba5375 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,18 @@ 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.18 (unreleased) # + +This release contains contributions from (alphabetically by first name): + - No other contributors this time around. + +## Core ## + - No changes to core functionality. + +## Modules ## + - No changes to modules. + + # 3.2.17 (2019-11-28) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index f272d7e53..0d5da92c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.17 + VERSION 3.2.18 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 2e22bdd7dc1f3e61cd37856fb577ecc61d8a44cb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 16:51:57 +0100 Subject: [PATCH 541/626] i18n: update the english translation files for once --- lang/calamares_en.ts | 58 ++++--- lang/python.pot | 163 ++++++++---------- .../dummypythonqt/lang/dummypythonqt.pot | 18 +- 3 files changed, 116 insertions(+), 123 deletions(-) diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 149b1f2cb..08595d4e0 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1,4 +1,6 @@ - + + + BootInfoWidget @@ -210,12 +212,18 @@ Waiting for %n module(s). - Waiting for %n module(s).Waiting for %n module(s). + + Waiting for %n module(s). + Waiting for %n module(s). + (%n second(s)) - (%n second(s))(%n second(s)) + + (%n second(s)) + (%n second(s)) + @@ -1423,22 +1431,22 @@ The installer will quit and all changes will be lost. I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1922,7 +1930,7 @@ The installer will quit and all changes will be lost. Unknown error - + Password is empty Password is empty @@ -2782,37 +2790,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: For best results, please ensure that this computer: - + System requirements System requirements @@ -3198,47 +3206,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Your username is too long. - + Your username must start with a lowercase letter or underscore. Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. - + Your passwords do not match! Your passwords do not match! @@ -3424,4 +3432,4 @@ Output: Welcome - \ No newline at end of file + diff --git a/lang/python.pot b/lang/python.pot index bffa78301..939e2c2a9 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -2,29 +2,29 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/modules/grubcfg/main.py:37 msgid "Configure GRUB." -msgstr "Configure GRUB." +msgstr "" #: src/modules/mount/main.py:38 msgid "Mounting partitions." -msgstr "Mounting partitions." +msgstr "" #: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -36,317 +36,302 @@ msgstr "Mounting partitions." #: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "Configuration Error" +msgstr "" #: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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
{!s}
to use." -msgstr "No partitions are defined for
{!s}
to use." +msgstr "" #: src/modules/services-systemd/main.py:35 msgid "Configure systemd services" -msgstr "Configure systemd services" +msgstr "" #: src/modules/services-systemd/main.py:68 #: src/modules/services-openrc/main.py:102 msgid "Cannot modify service" -msgstr "Cannot modify service" +msgstr "" #: src/modules/services-systemd/main.py:69 msgid "" "systemctl {arg!s} call in chroot returned error code {num!s}." msgstr "" -"systemctl {arg!s} call in chroot returned error code {num!s}." #: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:76 msgid "Cannot enable systemd service {name!s}." -msgstr "Cannot enable systemd service {name!s}." +msgstr "" #: src/modules/services-systemd/main.py:74 msgid "Cannot enable systemd target {name!s}." -msgstr "Cannot enable systemd target {name!s}." +msgstr "" #: src/modules/services-systemd/main.py:78 msgid "Cannot disable systemd target {name!s}." -msgstr "Cannot disable systemd target {name!s}." +msgstr "" #: src/modules/services-systemd/main.py:80 msgid "Cannot mask systemd unit {name!s}." -msgstr "Cannot mask systemd unit {name!s}." +msgstr "" #: src/modules/services-systemd/main.py:82 msgid "" -"Unknown systemd commands {command!s} and " -"{suffix!s} for unit {name!s}." +"Unknown systemd commands {command!s} and {suffix!s} for unit {name!s}." msgstr "" -"Unknown systemd commands {command!s} and " -"{suffix!s} for unit {name!s}." #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "Unmount file systems." +msgstr "" #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "Filling up filesystems." +msgstr "" #: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." -msgstr "rsync failed with error code {}." +msgstr "" #: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" -msgstr "Failed to unpack image \"{}\"" +msgstr "" #: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" -"Failed to find unsquashfs, make sure you have the squashfs-tools package " -"installed" #: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" -msgstr "No mount point for root partition" +msgstr "" #: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -msgstr "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" +msgstr "" #: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" -msgstr "Bad mount point for root partition" +msgstr "" #: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" -msgstr "rootMountPoint is \"{}\", which does not exist, doing nothing" +msgstr "" #: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 #: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" -msgstr "Bad unsquash configuration" +msgstr "" #: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" -msgstr "The filesystem for \"{}\" ({}) is not supported" +msgstr "" #: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" -msgstr "The source filesystem \"{}\" does not exist" +msgstr "" #: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" -msgstr "The destination \"{}\" in the target system is not a directory" +msgstr "" #: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" -msgstr "Cannot write KDM configuration file" +msgstr "" #: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" -msgstr "KDM config file {!s} does not exist" +msgstr "" #: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" -msgstr "Cannot write LXDM configuration file" +msgstr "" #: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" -msgstr "LXDM config file {!s} does not exist" +msgstr "" #: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" -msgstr "Cannot write LightDM configuration file" +msgstr "" #: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" -msgstr "LightDM config file {!s} does not exist" +msgstr "" #: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" -msgstr "Cannot configure LightDM" +msgstr "" #: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." -msgstr "No LightDM greeter installed." +msgstr "" #: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" -msgstr "Cannot write SLIM configuration file" +msgstr "" #: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" -msgstr "SLIM config file {!s} does not exist" +msgstr "" #: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." -msgstr "No display managers selected for the displaymanager module." +msgstr "" #: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" -"The displaymanagers list is empty or undefined in bothglobalstorage and " -"displaymanager.conf." #: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" -msgstr "Display manager configuration was incomplete" +msgstr "" #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." -msgstr "Configuring mkinitcpio." +msgstr "" #: src/modules/initcpiocfg/main.py:192 -#: src/modules/luksopenswaphookcfg/main.py:100 -#: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 -#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/fstab/main.py:329 -#: src/modules/localecfg/main.py:145 src/modules/networkcfg/main.py:49 +#: src/modules/luksopenswaphookcfg/main.py:100 src/modules/machineid/main.py:50 +#: src/modules/initramfscfg/main.py:99 src/modules/openrcdmcryptcfg/main.py:83 +#: 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
{!s}
to use." -msgstr "No root mount point is given for
{!s}
to use." +msgstr "" #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." -msgstr "Configuring encrypted swap." +msgstr "" #: src/modules/rawfs/main.py:35 msgid "Installing data." -msgstr "Installing data." +msgstr "" #: src/modules/services-openrc/main.py:38 msgid "Configure OpenRC services" -msgstr "Configure OpenRC services" +msgstr "" #: src/modules/services-openrc/main.py:66 msgid "Cannot add service {name!s} to run-level {level!s}." -msgstr "Cannot add service {name!s} to run-level {level!s}." +msgstr "" #: src/modules/services-openrc/main.py:68 msgid "Cannot remove service {name!s} from run-level {level!s}." -msgstr "Cannot remove service {name!s} from run-level {level!s}." +msgstr "" #: src/modules/services-openrc/main.py:70 msgid "" "Unknown service-action {arg!s} for service {name!s} in run-" "level {level!s}." msgstr "" -"Unknown service-action {arg!s} for service {name!s} in run-" -"level {level!s}." #: src/modules/services-openrc/main.py:103 msgid "" "rc-update {arg!s} call in chroot returned error code {num!s}." msgstr "" -"rc-update {arg!s} call in chroot returned error code {num!s}." #: src/modules/services-openrc/main.py:110 msgid "Target runlevel does not exist" -msgstr "Target runlevel does not exist" +msgstr "" #: src/modules/services-openrc/main.py:111 msgid "" "The path for runlevel {level!s} is {path!s}, which does not " "exist." msgstr "" -"The path for runlevel {level!s} is {path!s}, which does not " -"exist." #: src/modules/services-openrc/main.py:119 msgid "Target service does not exist" -msgstr "Target service does not exist" +msgstr "" #: src/modules/services-openrc/main.py:120 msgid "" -"The path for service {name!s} is {path!s}, which does not " -"exist." +"The path for service {name!s} is {path!s}, which does not exist." msgstr "" -"The path for service {name!s} is {path!s}, which does not " -"exist." #: src/modules/plymouthcfg/main.py:36 msgid "Configure Plymouth theme" -msgstr "Configure Plymouth theme" +msgstr "" #: src/modules/machineid/main.py:36 msgid "Generate machine-id." -msgstr "Generate machine-id." +msgstr "" #: src/modules/packages/main.py:62 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Processing packages (%(count)d / %(total)d)" +msgstr "" #: src/modules/packages/main.py:64 src/modules/packages/main.py:74 msgid "Install packages." -msgstr "Install packages." +msgstr "" #: src/modules/packages/main.py:67 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "Installing one package." -msgstr[1] "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" #: src/modules/packages/main.py:70 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "Removing one package." -msgstr[1] "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" #: src/modules/bootloader/main.py:51 msgid "Install bootloader." -msgstr "Install bootloader." +msgstr "" #: src/modules/removeuser/main.py:34 msgid "Remove live user from target system" -msgstr "Remove live user from target system" +msgstr "" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." -msgstr "Setting hardware clock." +msgstr "" #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." -msgstr "Creating initramfs with dracut." +msgstr "" #: src/modules/dracut/main.py:58 msgid "Failed to run dracut on the target" -msgstr "Failed to run dracut on the target" +msgstr "" #: src/modules/dracut/main.py:59 msgid "The exit code was {}" -msgstr "The exit code was {}" +msgstr "" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." -msgstr "Configuring initramfs." +msgstr "" #: src/modules/openrcdmcryptcfg/main.py:34 msgid "Configuring OpenRC dmcrypt service." -msgstr "Configuring OpenRC dmcrypt service." +msgstr "" #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "Writing fstab." +msgstr "" #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "Dummy python job." +msgstr "" #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Dummy python step {}" +msgstr "" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "Configuring locales." +msgstr "" #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "Saving network configuration." +msgstr "" diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index bb87a856f..dd46fa0ce 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -2,41 +2,41 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-18 07:46-0400\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "Click me!" +msgstr "" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "A new QLabel." +msgstr "" #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "Dummy PythonQt ViewStep" +msgstr "" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "The Dummy PythonQt Job" +msgstr "" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "This is the Dummy PythonQt Job. The dummy job says: {}" +msgstr "" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "A status message for Dummy PythonQt Job." +msgstr "" From 344445b437d65f78ffc2e862cb563a2dc969f376 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Fri, 8 Nov 2019 05:38:39 -0500 Subject: [PATCH 542/626] housekeeping - logging for CreateUser Job --- src/modules/users/CreateUserJob.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index b107fb0bb..53b8e1521 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -74,6 +74,8 @@ CreateUserJob::exec() if ( gs->contains( "sudoersGroup" ) && !gs->value( "sudoersGroup" ).toString().isEmpty() ) { + cDebug() << "[CREATEUSER]: preparing sudoers"; + QFileInfo sudoersFi( destDir.absoluteFilePath( "etc/sudoers.d/10-installer" ) ); if ( !sudoersFi.absoluteDir().exists() ) @@ -96,6 +98,8 @@ CreateUserJob::exec() return Calamares::JobResult::error( tr( "Cannot chmod sudoers file." ) ); } + cDebug() << "[CREATEUSER]: preparing groups"; + QFileInfo groupsFi( destDir.absoluteFilePath( "etc/group" ) ); QFile groupsFile( groupsFi.absoluteFilePath() ); if ( !groupsFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) @@ -141,6 +145,8 @@ CreateUserJob::exec() } } + cDebug() << "[CREATEUSER]: creating user"; + QStringList useradd { "useradd", "-m", "-U" }; QString shell = gs->value( "userShell" ).toString(); if ( !shell.isEmpty() ) From ac75c63001eb5a1ec24a53d4a0848088f1a0e2b2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 17:24:55 +0100 Subject: [PATCH 543/626] [libcalamares] Reduce warnings with Clang 9 (Boost::Python) - The boost headers fall foul of tons of Clang warnings, so introduce a mechanism like moc-headers for turning off most of those warnings. --- src/libcalamares/PythonHelper.cpp | 5 +++++ src/libcalamares/PythonHelper.h | 6 ++++++ src/libcalamares/PythonJobApi.cpp | 5 +++++ src/libcalamares/utils/boost-warnings.h | 8 ++++++++ 4 files changed, 24 insertions(+) create mode 100644 src/libcalamares/utils/boost-warnings.h diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index 670390d6c..26a57ec14 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -26,8 +26,13 @@ #include #undef slots +#include "utils/boost-warnings.h" #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + namespace bp = boost::python; namespace CalamaresPython diff --git a/src/libcalamares/PythonHelper.h b/src/libcalamares/PythonHelper.h index 667a08614..9035ba6d4 100644 --- a/src/libcalamares/PythonHelper.h +++ b/src/libcalamares/PythonHelper.h @@ -25,10 +25,16 @@ #include #undef slots +#include "utils/boost-warnings.h" + #include #include #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + namespace CalamaresPython { diff --git a/src/libcalamares/PythonJobApi.cpp b/src/libcalamares/PythonJobApi.cpp index 610003492..7b65e979c 100644 --- a/src/libcalamares/PythonJobApi.cpp +++ b/src/libcalamares/PythonJobApi.cpp @@ -32,8 +32,13 @@ #include #undef slots +#include "utils/boost-warnings.h" #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + namespace bp = boost::python; static int diff --git a/src/libcalamares/utils/boost-warnings.h b/src/libcalamares/utils/boost-warnings.h new file mode 100644 index 000000000..65a66b0f6 --- /dev/null +++ b/src/libcalamares/utils/boost-warnings.h @@ -0,0 +1,8 @@ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-id-macro" +#pragma clang diagnostic ignored "-Wold-style-cast" +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#pragma clang diagnostic ignored "-Wextra-semi-stmt" +#pragma clang diagnostic ignored "-Wall" +#endif From 3c1b0e6730391a039e63c0334dca7248015ea6d7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 17:33:25 +0100 Subject: [PATCH 544/626] [libcalamares] Reduce warnings with Clang 9 (yaml.h) --- src/libcalamares/utils/Yaml.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcalamares/utils/Yaml.h b/src/libcalamares/utils/Yaml.h index 6b786aef8..fd6537be6 100644 --- a/src/libcalamares/utils/Yaml.h +++ b/src/libcalamares/utils/Yaml.h @@ -34,6 +34,7 @@ class QFileInfo; #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" #pragma clang diagnostic ignored "-Wshadow" +#pragma clang diagnostic ignored "-Wfloat-equal" #endif #include From c2ebfbf6aee64cc5156a3552d70b2717ddbb5672 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 23:19:39 +0100 Subject: [PATCH 545/626] [users] Remove unused parameter (reduces warnings) --- src/modules/users/UsersPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 2a7516589..a7c72ce69 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -97,7 +97,7 @@ UsersPage::UsersPage( QWidget* parent ) connect( ui->textBoxUserVerifiedPassword, &QLineEdit::textChanged, this, &UsersPage::onPasswordTextChanged ); connect( ui->textBoxRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); connect( ui->textBoxVerifiedRootPassword, &QLineEdit::textChanged, this, &UsersPage::onRootPasswordTextChanged ); - connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, this, [this]( int checked ) + connect( ui->checkBoxValidatePassword, &QCheckBox::stateChanged, this, [this]( int ) { onPasswordTextChanged( ui->textBoxUserPassword->text() ); onRootPasswordTextChanged( ui->textBoxRootPassword->text() ); From a70b7ad89e09c712e44403b1e65b3c286465c18b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 23:29:09 +0100 Subject: [PATCH 546/626] [welcome] Chase deprecations in Qt (screen geometry) --- .../welcome/checker/GeneralRequirements.cpp | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp index 1881558b8..6e8e66d5d 100644 --- a/src/modules/welcome/checker/GeneralRequirements.cpp +++ b/src/modules/welcome/checker/GeneralRequirements.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include #include //geteuid @@ -59,9 +60,28 @@ GeneralRequirements::GeneralRequirements( QObject* parent ) { } +static QSize +biggestSingleScreen() +{ + QSize s; + for ( const auto* screen : QGuiApplication::screens() ) + { + QSize thisScreen = screen->availableSize(); + if ( !s.isValid() ) + { + s = thisScreen; + } + else if ( s.width() * s.height() < thisScreen.width() * thisScreen.height() ) + { + s = thisScreen; + } + } + return s; +} + Calamares::RequirementsList GeneralRequirements::checkRequirements() { - QSize availableSize = qApp->desktop()->availableGeometry().size(); + QSize availableSize = biggestSingleScreen(); bool enoughStorage = false; bool enoughRam = false; From bd5b63b02e013c0ee2d330821114836ef16b89d5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 23:31:00 +0100 Subject: [PATCH 547/626] [summary][calamares] Chase deprecations in Qt (QWidget::background()) --- src/calamares/progresstree/ProgressTreeDelegate.cpp | 2 +- src/modules/summary/SummaryPage.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calamares/progresstree/ProgressTreeDelegate.cpp b/src/calamares/progresstree/ProgressTreeDelegate.cpp index 5fb9dbf8b..9db508c6e 100644 --- a/src/calamares/progresstree/ProgressTreeDelegate.cpp +++ b/src/calamares/progresstree/ProgressTreeDelegate.cpp @@ -96,7 +96,7 @@ ProgressTreeDelegate::paintViewStep( QPainter* painter, = Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarTextHighlight ); if ( textHighlight.isEmpty() ) { - painter->setBrush( CalamaresApplication::instance()->mainWindow()->palette().background() ); + painter->setBrush( CalamaresApplication::instance()->mainWindow()->palette().window() ); } else { diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index 997a7bb9f..61a9c2ec2 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -184,7 +184,7 @@ SummaryPage::createBodyLabel( const QString& text ) const QLabel* label = new QLabel; label->setMargin( CalamaresUtils::defaultFontHeight() / 2 ); QPalette pal( palette() ); - pal.setColor( QPalette::Background, palette().background().color().lighter( 108 ) ); + pal.setColor( QPalette::Background, palette().window().color().lighter( 108 ) ); label->setAutoFillBackground( true ); label->setPalette( pal ); label->setText( text ); From 8b4bd52a26fef01b9ff129b33d16f8fdafec3acc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 28 Nov 2019 23:31:50 +0100 Subject: [PATCH 548/626] [machineid][hostinfo] Reduce warnings - stray ; - clang-tidy had re-ordered the moc-warnings.h header, needs to go **before** the .moc so split into its own group --- src/modules/hostinfo/Tests.cpp | 3 ++- src/modules/machineid/Tests.cpp | 3 ++- src/modules/machineid/Workers.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/hostinfo/Tests.cpp b/src/modules/hostinfo/Tests.cpp index 32fce19ed..8241ef022 100644 --- a/src/modules/hostinfo/Tests.cpp +++ b/src/modules/hostinfo/Tests.cpp @@ -65,5 +65,6 @@ HostInfoTests::testHostOS() QTEST_GUILESS_MAIN( HostInfoTests ) -#include "Tests.moc" #include "utils/moc-warnings.h" + +#include "Tests.moc" diff --git a/src/modules/machineid/Tests.cpp b/src/modules/machineid/Tests.cpp index cfd96bbdd..273645e22 100644 --- a/src/modules/machineid/Tests.cpp +++ b/src/modules/machineid/Tests.cpp @@ -104,5 +104,6 @@ MachineIdTests::testPoolSize() QTEST_GUILESS_MAIN( MachineIdTests ) -#include "Tests.moc" #include "utils/moc-warnings.h" + +#include "Tests.moc" diff --git a/src/modules/machineid/Workers.cpp b/src/modules/machineid/Workers.cpp index e6379f3f1..178f03de5 100644 --- a/src/modules/machineid/Workers.cpp +++ b/src/modules/machineid/Workers.cpp @@ -192,7 +192,7 @@ createDBusMachineId( const QString& rootMountPoint, const QString& fileName ) Calamares::JobResult createDBusLink( const QString& rootMountPoint, const QString& fileName, const QString& systemdFileName ) { - Q_UNUSED( rootMountPoint ); + Q_UNUSED( rootMountPoint ) return runCmd( QStringList { QStringLiteral( "ln" ), QStringLiteral( "-s" ), systemdFileName, fileName } ); } From 7510e883b8ad57cc10326db8026ac9b82c1f167f Mon Sep 17 00:00:00 2001 From: bill-auger Date: Mon, 11 Nov 2019 01:47:10 -0500 Subject: [PATCH 549/626] pre-select default item in packagechooser --- .../packagechooser/PackageChooserPage.cpp | 10 ++++++++ .../packagechooser/PackageChooserPage.h | 3 +++ .../packagechooser/PackageChooserViewStep.cpp | 25 +++++++++++++++++++ .../packagechooser/PackageChooserViewStep.h | 2 ++ .../packagechooser/packagechooser.conf | 4 +++ 5 files changed, 44 insertions(+) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index b4d9f99af..1997c6dcf 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -140,6 +140,16 @@ PackageChooserPage::setModel( QAbstractItemModel* model ) &PackageChooserPage::updateLabels ); } +void +PackageChooserPage::setSelection( const QModelIndex& index ) +{ + if ( index.isValid() ) + { + ui->products->selectionModel()->select( index, QItemSelectionModel::Select ); + currentChanged( index ); + } +} + bool PackageChooserPage::hasSelection() const { diff --git a/src/modules/packagechooser/PackageChooserPage.h b/src/modules/packagechooser/PackageChooserPage.h index 79b9fa69c..b4ef2169b 100644 --- a/src/modules/packagechooser/PackageChooserPage.h +++ b/src/modules/packagechooser/PackageChooserPage.h @@ -35,10 +35,13 @@ class PackageChooserPage : public QWidget public: explicit PackageChooserPage( PackageChooserMode mode, QWidget* parent = nullptr ); + /// @brief Sets the data model for the listview void setModel( QAbstractItemModel* model ); /// @brief Sets the introductory (no-package-selected) texts void setIntroduction( const PackageItem& item ); + /// @brief Selects a listview item + void setSelection( const QModelIndex& index ); /// @brief Is anything selected? bool hasSelection() const; /** @brief Get the list of selected ids diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 6fb29a4f7..36f6ae015 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -144,6 +144,12 @@ PackageChooserViewStep::isAtEnd() const return true; } +void +PackageChooserViewStep::onActivate() +{ + if ( !m_widget->hasSelection() ) + m_widget->setSelection( m_defaultIdx ); +} void PackageChooserViewStep::onLeave() @@ -198,6 +204,9 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap } } + QString default_item_id = CalamaresUtils::getString( configurationMap, "default" ); + m_defaultIdx = QModelIndex(); + bool first_time = !m_model; if ( configurationMap.contains( "items" ) ) { @@ -208,6 +217,22 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap { hookupModel(); } + + // find default item + if ( first_time && m_model && !default_item_id.isEmpty() ) + { + for (int item_n = 0; item_n < m_model->packageCount(); ++item_n) + { + QModelIndex item_idx = m_model->index( item_n, 0 ); + QVariant item_id = m_model->data( item_idx, PackageListModel::IdRole ); + + if ( item_id.toString() == default_item_id ) + { + m_defaultIdx = item_idx; + break; + } + } + } } void diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index 499571c12..29e65ef82 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -50,6 +50,7 @@ public: bool isAtBeginning() const override; bool isAtEnd() const override; + void onActivate() override; void onLeave() override; Calamares::JobList jobs() const override; @@ -67,6 +68,7 @@ private: PackageChooserMode m_mode; QString m_id; CalamaresUtils::Locale::TranslatedString* m_stepName; // As it appears in the sidebar + QModelIndex m_defaultIdx; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) diff --git a/src/modules/packagechooser/packagechooser.conf b/src/modules/packagechooser/packagechooser.conf index b82a52d3f..d48fa83ce 100644 --- a/src/modules/packagechooser/packagechooser.conf +++ b/src/modules/packagechooser/packagechooser.conf @@ -33,6 +33,10 @@ labels: step: "Packages" step[nl]: "Pakketten" +# (Optional) 'id' of pre-selected list-view item. +# Pre-selects one of the items below. +# default: kde + # Items to display in the chooser. In general, this should be a # pretty short list to avoid overwhelming the UI. This is a list # of objects, and the items are displayed in list order. From 1a13704c71dda7d2656ee12fef3f58d9603027e5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 30 Nov 2019 21:46:45 +0100 Subject: [PATCH 550/626] [grubcfg] HOTFIX typo in function call --- src/modules/grubcfg/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 667aa2d87..5d9428eeb 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -184,7 +184,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): else: # 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].startsdwith("#") + have_distributor_line = have_distributor_line or not lines[i].startswith("#") else: lines = [] From 5cb0ee6cc589a491f34d0f9ea70dd8b3e2293dbd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Dec 2019 11:42:32 +0100 Subject: [PATCH 551/626] [welcome] Simplify code - Kevin Kofler pointed out there was a redundant else-if - Only use size for comparison if it's valid --- src/modules/welcome/checker/GeneralRequirements.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp index 6e8e66d5d..2f1590590 100644 --- a/src/modules/welcome/checker/GeneralRequirements.cpp +++ b/src/modules/welcome/checker/GeneralRequirements.cpp @@ -67,11 +67,7 @@ biggestSingleScreen() for ( const auto* screen : QGuiApplication::screens() ) { QSize thisScreen = screen->availableSize(); - if ( !s.isValid() ) - { - s = thisScreen; - } - else if ( s.width() * s.height() < thisScreen.width() * thisScreen.height() ) + if ( !s.isValid() || ( s.width() * s.height() < thisScreen.width() * thisScreen.height() ) ) { s = thisScreen; } @@ -88,7 +84,7 @@ Calamares::RequirementsList GeneralRequirements::checkRequirements() bool hasPower = false; bool hasInternet = false; bool isRoot = false; - bool enoughScreen = (availableSize.width() >= CalamaresUtils::windowMinimumWidth) && (availableSize.height() >= CalamaresUtils::windowMinimumHeight); + bool enoughScreen = availableSize.isValid() && (availableSize.width() >= CalamaresUtils::windowMinimumWidth) && (availableSize.height() >= CalamaresUtils::windowMinimumHeight); qint64 requiredStorageB = CalamaresUtils::GiBtoBytes(m_requiredStorageGiB); cDebug() << "Need at least storage bytes:" << requiredStorageB; From 8988e05f886568f918b3e23de80c00a3facab37a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 2 Dec 2019 11:47:58 +0100 Subject: [PATCH 552/626] Changes: pre-release housekeeping --- CHANGES | 9 +++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 2fdba5375..1f721faca 100644 --- a/CHANGES +++ b/CHANGES @@ -15,6 +15,15 @@ This release contains contributions from (alphabetically by first name): - No changes to modules. +# 3.2.17.1 (2019-12-02) # + +This is a hotfix release for a bug in the grubcfg module. +Reported by Philip Mueller and Erik Dubois. + +## Modules ## + - The *grubcfg* module had a typo in it that made installations fail. + + # 3.2.17 (2019-11-28) # This release contains contributions from (alphabetically by first name): diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d5da92c9..edea611cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.18 + VERSION 3.2.17.1 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 111b05f3c9bd489acf1ae3a5acfe805f4c637dbf Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Tue, 3 Dec 2019 11:17:52 +0100 Subject: [PATCH 553/626] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 42 ++++++++++++++++---------------- lang/calamares_ast.ts | 42 ++++++++++++++++---------------- lang/calamares_be.ts | 42 ++++++++++++++++---------------- lang/calamares_bg.ts | 42 ++++++++++++++++---------------- lang/calamares_ca.ts | 42 ++++++++++++++++---------------- lang/calamares_ca@valencia.ts | 42 ++++++++++++++++---------------- lang/calamares_cs_CZ.ts | 42 ++++++++++++++++---------------- lang/calamares_da.ts | 42 ++++++++++++++++---------------- lang/calamares_de.ts | 42 ++++++++++++++++---------------- lang/calamares_el.ts | 42 ++++++++++++++++---------------- lang/calamares_en.ts | 16 +++--------- lang/calamares_en_GB.ts | 42 ++++++++++++++++---------------- lang/calamares_eo.ts | 42 ++++++++++++++++---------------- lang/calamares_es.ts | 42 ++++++++++++++++---------------- lang/calamares_es_MX.ts | 42 ++++++++++++++++---------------- lang/calamares_es_PR.ts | 42 ++++++++++++++++---------------- lang/calamares_et.ts | 42 ++++++++++++++++---------------- lang/calamares_eu.ts | 42 ++++++++++++++++---------------- lang/calamares_fa.ts | 42 ++++++++++++++++---------------- lang/calamares_fi_FI.ts | 42 ++++++++++++++++---------------- lang/calamares_fr.ts | 42 ++++++++++++++++---------------- lang/calamares_fr_CH.ts | 42 ++++++++++++++++---------------- lang/calamares_gl.ts | 42 ++++++++++++++++---------------- lang/calamares_gu.ts | 42 ++++++++++++++++---------------- lang/calamares_he.ts | 42 ++++++++++++++++---------------- lang/calamares_hi.ts | 42 ++++++++++++++++---------------- lang/calamares_hr.ts | 42 ++++++++++++++++---------------- lang/calamares_hu.ts | 42 ++++++++++++++++---------------- lang/calamares_id.ts | 42 ++++++++++++++++---------------- lang/calamares_is.ts | 42 ++++++++++++++++---------------- lang/calamares_it_IT.ts | 42 ++++++++++++++++---------------- lang/calamares_ja.ts | 42 ++++++++++++++++---------------- lang/calamares_kk.ts | 42 ++++++++++++++++---------------- lang/calamares_kn.ts | 42 ++++++++++++++++---------------- lang/calamares_ko.ts | 42 ++++++++++++++++---------------- lang/calamares_lo.ts | 42 ++++++++++++++++---------------- lang/calamares_lt.ts | 42 ++++++++++++++++---------------- lang/calamares_mk.ts | 42 ++++++++++++++++---------------- lang/calamares_ml.ts | 46 +++++++++++++++++------------------ lang/calamares_mr.ts | 42 ++++++++++++++++---------------- lang/calamares_nb.ts | 42 ++++++++++++++++---------------- lang/calamares_ne_NP.ts | 42 ++++++++++++++++---------------- lang/calamares_nl.ts | 42 ++++++++++++++++---------------- lang/calamares_pl.ts | 42 ++++++++++++++++---------------- lang/calamares_pt_BR.ts | 42 ++++++++++++++++---------------- lang/calamares_pt_PT.ts | 42 ++++++++++++++++---------------- lang/calamares_ro.ts | 42 ++++++++++++++++---------------- lang/calamares_ru.ts | 42 ++++++++++++++++---------------- lang/calamares_sk.ts | 42 ++++++++++++++++---------------- lang/calamares_sl.ts | 42 ++++++++++++++++---------------- lang/calamares_sq.ts | 42 ++++++++++++++++---------------- lang/calamares_sr.ts | 42 ++++++++++++++++---------------- lang/calamares_sr@latin.ts | 42 ++++++++++++++++---------------- lang/calamares_sv.ts | 42 ++++++++++++++++---------------- lang/calamares_th.ts | 42 ++++++++++++++++---------------- lang/calamares_tr_TR.ts | 46 +++++++++++++++++------------------ lang/calamares_uk.ts | 42 ++++++++++++++++---------------- lang/calamares_ur.ts | 42 ++++++++++++++++---------------- lang/calamares_uz.ts | 42 ++++++++++++++++---------------- lang/calamares_zh_CN.ts | 42 ++++++++++++++++---------------- lang/calamares_zh_TW.ts | 42 ++++++++++++++++---------------- 61 files changed, 1268 insertions(+), 1276 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 944ccfbba..fda046e72 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. أقبل الشّروط والأحكام أعلاه. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>اتّفاقيّة التّرخيص</h1>عمليّة الإعداد هذه ستثبّت برمجيّات مملوكة تخضع لشروط ترخيص. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. فضلًا راجع اتّفاقيّات رخص المستخدم النّهائيّ (EULA) أعلاه.<br/>إن لم تقبل الشّروط، فلن تتابع عمليّة الإعداد. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>اتّفاقيّة التّرخيص</h1>يمكن لعمليّة الإعداد تثبيت برمجيّات مملوكة تخضع لشروط ترخيص وذلك لتوفير مزايا إضافيّة وتحسين تجربة المستخدم. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. فضلًا راجع اتّفاقيّات رخص المستخدم النّهائيّ (EULA) أعلاه.<br/>إن لم تقبل الشّروط، فلن تُثبّت البرمجيّات المملوكة وستُستخدم تلك مفتوحة المصدر بدلها. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> لا يستوفِ هذا الحاسوب أدنى متطلّبات تثبيت %1.<br/>لا يمكن متابعة التّثبيت. <a href="#details">التّفاصيل...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. لا يستوفِ هذا الحاسوب بعض المتطلّبات المستحسنة لتثبيت %1.<br/>يمكن للمثبّت المتابعة، ولكن قد تكون بعض الميزات معطّلة. - + This program will ask you some questions and set up %2 on your computer. سيطرح البرنامج بعض الأسئلة عليك ويعدّ %2 على حاسوبك. - + For best results, please ensure that this computer: لأفضل النّتائج، تحقّق من أن الحاسوب: - + System requirements متطلّبات النّظام @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. اسم المستخدم طويل جدًّا. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. اسم المضيف قصير جدًّا. - + Your hostname is too long. اسم المضيف طويل جدًّا. - + Your passwords do not match! لا يوجد تطابق في كلمات السر! diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index 295054dd8..4c9d2894f 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -1422,22 +1422,22 @@ L'instalador va colar y van perdese tolos cambeos. Aceuto los términos y condiciones d'enriba. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Alcuerdu de llicencia</h1>Esti procedimientu d'instalación va instalar software privativu que ta suxetu a términos de llicencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Revisa los alcuerdos de llicencia d'usuariu final (EULAs) d'enriba, por favor.<br/>Si nun aceutes dalgún, el procedimientu d'instalación nun pue siguir. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Alcuerdu de llicencia</h1>Esti procedimientu d'instalación pue instalar software privativu que ta suxetu a términos de llicencia pa fornir carauterístiques adicionales y ameyorar la esperiencia del usuariu. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Revisa los alcuerdos de llicencia d'usuariu final (EULAs) d'enriba, por favor.<br/>Si nun aceutes dalgún, el software privativu nun va instalase y van usase les alternatives de códigu abiertu. @@ -1921,7 +1921,7 @@ L'instalador va colar y van perdese tolos cambeos. Desconozse'l fallu - + Password is empty @@ -2781,37 +2781,37 @@ Salida: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Esti ordenador nun satisfaz dalgún de los requirimientos mínimos pa configurar %1.<br/>La configuración nun pue siguir. <a href="#details">Detalles...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Esti ordenador nun satisfaz los requirimientos mínimos pa instalar %1.<br/>La instalación nun pue siguir. <a href="#details">Detalles...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Esti ordenador nun satisfaz dalgún de los requirimientos aconseyaos pa configurar %1.<br/>La configuración pue siguir pero dalgunes carauterístiques podríen desactivase. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Esti ordenador nun satisfaz dalgún requirimientu aconseyáu pa instalar %1.<br/>La instalación pue siguir pero podríen desactivase dalgunes carauterístiques. - + This program will ask you some questions and set up %2 on your computer. Esti programa va facete dalgunes entrugues y va configurar %2 nel ordenador. - + For best results, please ensure that this computer: Pa los meyores resultaos, asegúrate qu'esti ordenador: - + System requirements Requirimientos del sistema @@ -3197,47 +3197,47 @@ Salida: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Si va usar l'ordenador más d'una persona, pues crear más cuentes tres la configuración.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Si va usar l'ordenador más d'una persona, pues crear más cuentes tres la instalación.</small> - + Your username is too long. El nome d'usuariu ye perllargu. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. El nome d'agospiu ye percurtiu. - + Your hostname is too long. El nome d'agospiu ye perllargu. - + Your passwords do not match! ¡Les contraseñes nun concasen! diff --git a/lang/calamares_be.ts b/lang/calamares_be.ts index 717a15292..c2386219f 100644 --- a/lang/calamares_be.ts +++ b/lang/calamares_be.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index 08f76a296..3af0f4c2f 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. Приемам лицензионните условия. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Лицензионно Споразумение</h1>Тази процедура ще инсталира несвободен софтуер, който е обект на лицензионни условия. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Моля погледнете Лицензионните Условия за Крайния Потребител (ЛУКП).<br/>Ако не сте съгласни с условията, процедурата не може да продължи. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Лицензионно Споразумение</h1>Тази процедура може да инсталира несвободен софтуер, който е обект на лицензионни условия, за да предостави допълнителни функции и да подобри работата на потребителя. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Моля погледнете Лицензионните Условия за Крайния Потребител (ЛУКП).<br/>Ако не сте съгласни с условията, несвободния софтуер няма да бъде инсталиран и ще бъдат използвани безплатни алтернативи. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. Неизвестна грешка - + Password is empty @@ -2779,38 +2779,38 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Този компютър не отговаря на минималните изисквания за инсталиране %1.<br/>Инсталацията не може да продължи. <a href="#details">Детайли...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Този компютър не отговаря на някои от препоръчителните изисквания за инсталиране %1.<br/>Инсталацията може да продължи, но някои свойства могат да бъдат недостъпни. - + This program will ask you some questions and set up %2 on your computer. Тази програма ще ви зададе няколко въпроса и ще конфигурира %2 на вашия компютър. - + For best results, please ensure that this computer: За най-добри резултати, моля бъдете сигурни че този компютър: - + System requirements Системни изисквания @@ -3196,47 +3196,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Вашето потребителско име е твърде дълго. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Вашето име на хоста е твърде кратко. - + Your hostname is too long. Вашето име на хоста е твърде дълго. - + Your passwords do not match! Паролите Ви не съвпадат! diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index f6c3252ec..b484cf217 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -1423,22 +1423,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. Accepto els termes i les condicions anteriors. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acord de llicència</h1> Aquest procediment de configuració instal·larà programari de propietat subjecte a termes de llicència. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Si us plau, reviseu l'acord de llicència End User License Agreements (EULAs) anterior.<br/>Si no esteu d'acord en els termes, el procediment de configuració no pot continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acord de llicència</h1> Aquest procediment de configuració instal·larà programari de propietat subjecte a termes de llicència per tal de proporcionar característiques addicionals i millorar l'experiència de l'usuari. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Si us plau, reviseu l'acord de llicència End User License Agreements (EULAs) anterior.<br/>Si no esteu d'acord en els termes, no s'instal·larà el programari de propietat i es faran servir les alternatives de codi lliure. @@ -1922,7 +1922,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Error desconegut - + Password is empty La contrasenya és buida. @@ -2782,37 +2782,37 @@ Sortida: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Aquest ordinador no satisfà els requisits mínims per configurar-hi %1.<br/> La configuració no pot continuar. <a href="#details">Detalls...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Aquest ordinador no satisfà els requisits mínims per instal·lar-hi %1.<br/> La instal·lació no pot continuar. <a href="#details">Detalls...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Aquest ordinador no satisfà alguns dels requisits recomanats per configurar-hi %1.<br/>La configuració pot continuar, però algunes característiques podrien estar inhabilitades. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Aquest ordinador no satisfà alguns dels requisits recomanats per instal·lar-hi %1.<br/>La instal·lació pot continuar, però algunes característiques podrien estar inhabilitades. - + This program will ask you some questions and set up %2 on your computer. Aquest programa us farà unes quantes preguntes i instal·larà %2 al vostre ordinador. - + For best results, please ensure that this computer: Per obtenir els millors resultats, assegureu-vos, si us plau, que aquest ordinador... - + System requirements Requisits del sistema @@ -3198,47 +3198,47 @@ Sortida: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Si més d'una persona usarà aquest ordinador, podeu crear diversos comptes després de la configuració.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Si més d'una persona usarà aquest ordinador, podeu crear diversos comptes després de la instal·lació.</small> - + Your username is too long. El nom d'usuari és massa llarg. - + Your username must start with a lowercase letter or underscore. El nom d'usuari ha de començar amb una lletra en minúscula o una ratlla baixa. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Només es permeten lletres en minúscula, números, ratlles baixes i guions. - + Only letters, numbers, underscore and hyphen are allowed. Només es permeten lletres, números, ratlles baixes i guions. - + Your hostname is too short. El nom d'amfitrió és massa curt. - + Your hostname is too long. El nom d'amfitrió és massa llarg. - + Your passwords do not match! Les contrasenyes no coincideixen! diff --git a/lang/calamares_ca@valencia.ts b/lang/calamares_ca@valencia.ts index 27992e837..86873e7c5 100644 --- a/lang/calamares_ca@valencia.ts +++ b/lang/calamares_ca@valencia.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index cde260612..78d2f4c38 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -1423,22 +1423,22 @@ Instalační program bude ukončen a všechny změny ztraceny. Souhlasím s výše uvedenými podmínkami. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licenční ujednání</h1>Tato instalace nainstaluje také proprietární software, který podléhá licenčním podmínkám. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Projděte si výše uvedené „licenční smlouvy s koncovým uživatelem“ (EULA).<br/> Pokud s podmínkami v nich nesouhlasíte, ukončete instalační proces. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licenční ujednání</h1>Tento instalační postup může nainstalovat také proprietární software, který podléhá licenčním podmínkám, ale který poskytuje některé další funkce a zlepšuje uživatelskou přivětivost. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Projděte si výše uvedené „licenční smlouvy s koncovým uživatelem“ (EULA).<br/> Pokud s podmínkami v nich nesouhlasíte, místo proprietárního software budou použity open source alternativy. @@ -1922,7 +1922,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Neznámá chyba - + Password is empty Heslo není vyplněné @@ -2782,37 +2782,37 @@ Výstup: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Počítač nesplňuje minimální požadavky pro instalaci %1.<br/>Instalace nemůže pokračovat <a href="#details">Podrobnosti…</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Počítač nesplňuje minimální požadavky pro instalaci %1.<br/>Instalace nemůže pokračovat <a href="#details">Podrobnosti…</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Počítač nesplňuje některé doporučené požadavky pro instalaci %1.<br/>Instalace může pokračovat, ale některé funkce mohou být vypnuty. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Počítač nesplňuje některé doporučené požadavky pro instalaci %1.<br/>Instalace může pokračovat, ale některé funkce mohou být vypnuty. - + This program will ask you some questions and set up %2 on your computer. Tento program vám položí několik dotazů, aby na základě odpovědí příslušně nainstaloval %2 na váš počítač. - + For best results, please ensure that this computer: Nejlepších výsledků se dosáhne, pokud tento počítač bude: - + System requirements Požadavky na systém @@ -3198,47 +3198,47 @@ Výstup: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Pokud bude tento počítač používat více lidí, můžete přidat uživatelské účty po dokončení instalace.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Pokud bude tento počítač používat více lidí, můžete přidat uživatelské účty po dokončení instalace.</small> - + Your username is too long. Vaše uživatelské jméno je příliš dlouhé. - + Your username must start with a lowercase letter or underscore. Je třeba, aby uživatelské jméno začínalo na malé písmeno nebo podtržítko. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Je možné použít pouze malá písmena, číslice, podtržítko a spojovník. - + Only letters, numbers, underscore and hyphen are allowed. Je možné použít pouze písmena, číslice, podtržítko a spojovník. - + Your hostname is too short. Název stroje je příliš krátký. - + Your hostname is too long. Název stroje je příliš dlouhý. - + Your passwords do not match! Zadání hesla se neshodují! diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 029f88776..50c8cae6d 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -1423,22 +1423,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Jeg accepterer de ovenstående vilkår og betingelser. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licensaftale</h1>Opsætningsproceduren installerer proprietær software der er underlagt licenseringsvilkår. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Gennemgå venligst slutbrugerlicensaftalerne (EULA'er) ovenfor.<br/>Hvis du ikke er enig med disse vilkår, kan opsætningsproceduren ikke fortsætte. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licensaftale</h1>Opsætningsproceduren kan installere proprietær software der er underlagt licenseringsvilkår, for at kunne tilbyde yderligere funktionaliteter og forbedre brugeroplevelsen. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Gennemgå venligst slutbrugerlicensaftalerne (EULA'er) ovenfor.<br/>Hvis du ikke er enig med disse vilkår vil der ikke blive installeret proprietær software, og open source-alternativer vil blive brugt i stedet. @@ -1922,7 +1922,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Ukendt fejl - + Password is empty Adgangskoden er tom @@ -2782,37 +2782,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Computeren imødekommer ikke minimumsystemkravene for at opsætte %1.<br/>Opsætningen kan ikke fortsætte. <a href="#details">Detaljer ...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Computeren imødekommer ikke minimumsystemkravene for at installere %1.<br/>Installationen kan ikke fortsætte. <a href="#details">Detaljer ...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Computeren imødekommer ikke nogle af de anbefalede systemkrav for at opsætte %1.<br/>Opsætningen kan fortsætte, men nogle funktionaliteter kan være deaktiveret. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Computeren imødekommer ikke nogle af de anbefalede systemkrav for at installere %1.<br/>Installationen kan fortsætte, men nogle funktionaliteter kan være deaktiveret. - + This program will ask you some questions and set up %2 on your computer. Programmet vil stille dig nogle spørgsmål og opsætte %2 på din computer. - + For best results, please ensure that this computer: For at få det bedste resultat sørg venligst for at computeren: - + System requirements Systemkrav @@ -3198,47 +3198,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Hvis mere end én person bruger computeren, kan du oprette flere konti efter opsætningen.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Hvis mere end én person bruger computeren, kan du oprette flere konti efter installationen.</small> - + Your username is too long. Dit brugernavn er for langt. - + Your username must start with a lowercase letter or underscore. Dit brugernavn skal begynde med et bogstav med småt eller understregning. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Det er kun tilladt at bruge bogstaver med småt, tal, understregning og bindestreg. - + Only letters, numbers, underscore and hyphen are allowed. Det er kun tilladt at bruge bogstaver, tal, understregning og bindestreg. - + Your hostname is too short. Dit værtsnavn er for kort. - + Your hostname is too long. Dit værtsnavn er for langt. - + Your passwords do not match! Dine adgangskoder er ikke ens! diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index aa5d03a25..8b1bdce5c 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -1423,22 +1423,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Ich akzeptiere die obigen Allgemeinen Geschäftsbedingungen. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Lizenzvereinbarung</h1>Dieses Installationsprogramm wird proprietäre Software installieren, welche Lizenzbedingungen unterliegt. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Bitte überprüfen Sie die obigen Lizenzvereinbarungen für Endbenutzer (EULAs).<br/>Wenn Sie mit diesen Bedingungen nicht einverstanden sind, kann das Installationsprogramm nicht fortgesetzt werden. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1> Lizenzvereinbarung </ h1> Dieses Installationsprogramm kann proprietäre Software installieren, welche Lizenzbedingungen unterliegt, um zusätzliche Funktionen bereitzustellen und die Benutzerfreundlichkeit zu verbessern. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Bitte überprüfen Sie die obigen Lizenzvereinbarungen für Endbenutzer (EULAs).<br/>Wenn Sie mit diesen Bedingungen nicht einverstanden sind, wird keine proprietäre Software installiert werden. Stattdessen werden quelloffene Alternativen verwendet. @@ -1922,7 +1922,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Unbekannter Fehler - + Password is empty Passwort ist leer @@ -2782,37 +2782,37 @@ Ausgabe: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Dieser Computer erfüllt nicht die Mindestvoraussetzungen für die Installation von %1.<br/>Die Installation kann nicht fortgesetzt werden. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Dieser Computer erfüllt nicht die Mindestvoraussetzungen für die Installation von %1.<br/>Die Installation kann nicht fortgesetzt werden. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Dieser Computer erfüllt nicht alle Voraussetzungen für die Installation von %1.<br/>Die Installation kann fortgesetzt werden, aber es werden eventuell nicht alle Funktionen verfügbar sein. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Dieser Computer erfüllt nicht alle Voraussetzungen für die Installation von %1.<br/>Die Installation wird fortgesetzt, aber es werden eventuell nicht alle Funktionen verfügbar sein. - + This program will ask you some questions and set up %2 on your computer. Dieses Programm wird Ihnen einige Fragen stellen, um %2 auf Ihrem Computer zu installieren. - + For best results, please ensure that this computer: Für das beste Ergebnis stellen Sie bitte sicher, dass dieser Computer: - + System requirements Systemanforderungen @@ -3198,47 +3198,47 @@ Ausgabe: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Falls dieser Computer von mehr als einer Person benutzt werden soll, können weitere Benutzerkonten nach der Installation eingerichtet werden.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Falls dieser Computer von mehr als einer Person benutzt werden soll, können weitere Benutzerkonten nach der Installation eingerichtet werden.</small> - + Your username is too long. Ihr Nutzername ist zu lang. - + Your username must start with a lowercase letter or underscore. Ihr Benutzername muss mit einem Kleinbuchstaben oder Unterstrich beginnen. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Es sind nur Kleinbuchstaben, Zahlen, Unterstrich und Bindestrich erlaubt. - + Only letters, numbers, underscore and hyphen are allowed. Es sind nur Buchstaben, Zahlen, Unter- und Bindestriche erlaubt. - + Your hostname is too short. Ihr Hostname ist zu kurz. - + Your hostname is too long. Ihr Hostname ist zu lang. - + Your passwords do not match! Ihre Passwörter stimmen nicht überein! diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 44f9fefe9..1ad6e433a 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. Δέχομαι τους παραπάνω όρους και προϋποθέσεις. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Άδεια χρήσης</h1>Η διαδικασία ρύθμισης θα εγκαταστήσει ιδιόκτητο λογισμικό που υπόκειται στους όρους αδειών. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Άδεια χρήσης</h1>Η διαδικασία ρύθμισης θα εγκαταστήσει ιδιόκτητο λογισμικό που υπόκειται στους όρους αδειών προκειμένου να παρέχει πρόσθετες δυνατότητες και να ενισχύσει την εμπειρία του χρήστη. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Ο υπολογιστής δεν ικανοποιεί τις ελάχιστες απαιτήσεις για την εγκατάσταση του %1.<br/>Η εγκατάσταση δεν μπορεί να συνεχιστεί. <a href="#details">Λεπτομέριες...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Αυτός ο υπολογιστής δεν ικανοποιεί μερικές από τις συνιστώμενες απαιτήσεις για την εγκατάσταση του %1.<br/>Η εγκατάσταση μπορεί να συνεχιστεί, αλλά ορισμένες λειτουργίες μπορεί να απενεργοποιηθούν. - + This program will ask you some questions and set up %2 on your computer. Το πρόγραμμα θα σας κάνει μερικές ερωτήσεις και θα ρυθμίσει το %2 στον υπολογιστή σας. - + For best results, please ensure that this computer: Για καλύτερο αποτέλεσμα, παρακαλώ βεβαιωθείτε ότι ο υπολογιστής: - + System requirements Απαιτήσεις συστήματος @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Το όνομα χρήστη είναι πολύ μακρύ. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Το όνομα υπολογιστή είναι πολύ σύντομο. - + Your hostname is too long. Το όνομα υπολογιστή είναι πολύ μακρύ. - + Your passwords do not match! Οι κωδικοί πρόσβασης δεν ταιριάζουν! diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 08595d4e0..e88d97377 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1,6 +1,4 @@ - - - + BootInfoWidget @@ -212,18 +210,12 @@ Waiting for %n module(s). - - Waiting for %n module(s). - Waiting for %n module(s). - + Waiting for %n module(s).Waiting for %n module(s). (%n second(s)) - - (%n second(s)) - (%n second(s)) - + (%n second(s))(%n second(s)) @@ -3432,4 +3424,4 @@ Output: Welcome - + \ No newline at end of file diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 049093900..f0eb9799c 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. I accept the terms and conditions above. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. Unknown error - + Password is empty @@ -2780,37 +2780,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: For best results, please ensure that this computer: - + System requirements System requirements @@ -3196,47 +3196,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. - + Your passwords do not match! Your passwords do not match! diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index f7b0c8700..33bde53d5 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -1421,22 +1421,22 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 3c87a2036..a31b3d36a 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -1422,22 +1422,22 @@ Saldrá del instalador y se perderán todos los cambios. Acepto los términos y condiciones anteriores. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acuerdo de licencia</ h1> Este procedimiento de instalación instalará el software propietario que está sujeto a los términos de licencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor, revise los acuerdos de licencia de usuario final (EULAs) anterior. <br/>Si usted no está de acuerdo con los términos, el procedimiento de instalación no puede continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acuerdo de licencia</ h1> Este procedimiento de configuración se puede instalar el software propietario que está sujeta a condiciones de licencia con el fin de proporcionar características adicionales y mejorar la experiencia del usuario. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor, revise los acuerdos de licencia de usuario final (EULAs) anterior.<br/>Si usted no está de acuerdo con los términos, el software propietario no se instalará, y las alternativas de código abierto se utilizarán en su lugar. @@ -1921,7 +1921,7 @@ Saldrá del instalador y se perderán todos los cambios. Error desconocido - + Password is empty @@ -2781,37 +2781,37 @@ Salida: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Este ordenador no cumple los requisitos mínimos para la instalación. %1.<br/>La instalación no puede continuar. <a href="#details">Detalles...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Este ordenador no cumple alguno de los requisitos recomendados para la instalación %1.<br/>La instalación puede continuar, pero algunas funcionalidades podrían ser deshabilitadas. - + This program will ask you some questions and set up %2 on your computer. El programa le preguntará algunas cuestiones y configurará %2 en su ordenador. - + For best results, please ensure that this computer: Para obtener los mejores resultados, por favor asegúrese que este ordenador: - + System requirements Requisitos del sistema @@ -3197,47 +3197,47 @@ Salida: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Su nombre de usuario es demasiado largo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. El nombre del Host es demasiado corto. - + Your hostname is too long. El nombre del Host es demasiado largo. - + Your passwords do not match! ¡Sus contraseñas no coinciden! diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index 38a1ca28f..863b8ca91 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -1423,22 +1423,22 @@ El instalador terminará y se perderán todos los cambios. Acepto los terminos y condiciones anteriores. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acuerdo de Licencia</h1>Este procediemiento de configuración instalará software que está sujeto a terminos de la licencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor, revise el acuerdo de licencia de usuario final (EULAs) anterior. <br/>Si usted no está de acuerdo con los términos, el procedimiento de configuración no podrá continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acuerdo de licencia</ h1> Este procedimiento de configuración se puede instalar software privativo que está sujeto a condiciones de licencia con el fin de proporcionar características adicionales y mejorar la experiencia del usuario. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor revise los acuerdos de licencia de usuario final (EULAs) anterior.<br/>Si usted no está de acuerdo con los términos, el software privativo no se instalará, y las alternativas de código abierto se utilizarán en su lugar. @@ -1922,7 +1922,7 @@ El instalador terminará y se perderán todos los cambios. Error desconocido - + Password is empty @@ -2783,37 +2783,37 @@ Salida ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Este equipo no cumple los requisitos mínimos para la instalación. %1.<br/>La instalación no puede continuar. <a href="#details">Detalles...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Este equipo no cumple alguno de los requisitos recomendados para la instalación %1.<br/>La instalación puede continuar, pero algunas funcionalidades podrían ser deshabilitadas. - + This program will ask you some questions and set up %2 on your computer. El programa le hará algunas preguntas y configurará %2 en su ordenador. - + For best results, please ensure that this computer: Para mejores resultados, por favor verifique que esta computadora: - + System requirements Requisitos de sistema @@ -3199,47 +3199,47 @@ Salida UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Si más de una persona usará esta computadora, puede crear múltiples cuentas después de la configuración</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Si más de una persona usará esta computadora, puede crear varias cuentas después de la instalación.</small> - + Your username is too long. Tu nombre de usuario es demasiado largo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. El nombre de tu equipo es demasiado corto. - + Your hostname is too long. El nombre de tu equipo es demasiado largo. - + Your passwords do not match! Las contraseñas no coinciden! diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index c12732c58..bcc26fab5 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index fc8df547f..3e58daea3 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -1421,22 +1421,22 @@ Paigaldaja sulgub ning kõik muutused kaovad. Ma nõustun alljärgevate tingimustega. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Litsensileping</h1>See seadistusprotseduur paigaldab omandiõigusega tarkvara, mis vastab litsensitingimustele. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Palun loe läbi allolevad lõppkasutaja litsensilepingud (EULAd).<br/>Kui sa tingimustega ei nõustu, ei saa seadistusprotseduur jätkata. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Litsensileping</h1>See seadistusprotseduur võib paigaldada omandiõigusega tarkvara, mis vastab litsensitingimustele, et pakkuda lisafunktsioone ja täiendada kasutajakogemust. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Palun loe läbi allolevad lõppkasutaja litsensilepingud (EULAd).<br/>Kui sa tingimustega ei nõustu, ei paigaldata omandiõigusega tarkvara ning selle asemel kasutatakse avatud lähtekoodiga alternatiive. @@ -1920,7 +1920,7 @@ Paigaldaja sulgub ning kõik muutused kaovad. Tundmatu viga - + Password is empty @@ -2780,37 +2780,37 @@ Väljund: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> See arvuti ei rahulda %1 paigldamiseks vajalikke minimaaltingimusi.<br/>Paigaldamine ei saa jätkuda. <a href="#details">Detailid...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. See arvuti ei rahulda mõnda %1 paigaldamiseks soovitatud tingimust.<br/>Paigaldamine võib jätkuda, ent mõned funktsioonid võivad olla keelatud. - + This program will ask you some questions and set up %2 on your computer. See programm küsib sult mõned küsimused ja seadistab %2 sinu arvutisse. - + For best results, please ensure that this computer: Parimate tulemuste jaoks palun veendu, et see arvuti: - + System requirements Süsteeminõudmised @@ -3196,47 +3196,47 @@ Väljund: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Sinu kasutajanimi on liiga pikk. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Sinu hostinimi on liiga lühike. - + Your hostname is too long. Sinu hostinimi on liiga pikk. - + Your passwords do not match! Sinu paroolid ei ühti! diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index c19581766..a95c90977 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -1421,22 +1421,22 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Goiko baldintzak onartzen ditut. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ Instalatzailea irten egingo da eta aldaketa guztiak galduko dira. Hutsegite ezezaguna - + Password is empty @@ -2779,37 +2779,37 @@ Irteera: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Konputagailu honek ez dauzka gutxieneko eskakizunak %1 instalatzeko. <br/>Instalazioak ezin du jarraitu. <a href="#details">Xehetasunak...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Konputagailu honek ez du betetzen gomendatutako zenbait eskakizun %1 instalatzeko. <br/>Instalazioak jarraitu ahal du, baina zenbait ezaugarri desgaituko dira. - + This program will ask you some questions and set up %2 on your computer. Konputagailuan %2 ezartzeko programa honek hainbat galdera egingo dizkizu. - + For best results, please ensure that this computer: Emaitza egokienak lortzeko, ziurtatu ordenagailu honek baduela: - + System requirements Sistemaren betebeharrak @@ -3195,47 +3195,47 @@ Irteera: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Zure erabiltzaile-izena luzeegia da. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Zure ostalari-izena laburregia da. - + Your hostname is too long. Zure ostalari-izena luzeegia da. - + Your passwords do not match! Pasahitzak ez datoz bat! diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index ab7405444..277c58558 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 02fc59b47..b65b7cea1 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -1423,22 +1423,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Hyväksyn yllä olevat ehdot ja edellytykset. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Lisenssisopimus</h1>Tämä asennustoiminto asentaa ohjelmistoja, joihin sovelletaan lisenssiehtoja. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Katso yllä olevat käyttöoikeussopimukset (EULA).<br/>Jos et hyväksy ehtoja, asennus ei voi jatkua. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Lisenssisopimus</h1>Tämä asennustoiminto voi asentaa tekijänoikeuksin rajattua ohjelmistoja, joihin sovelletaan lisenssiehtoja, jotta voidaan tarjota lisäominaisuuksia ja parantaa käyttäjäkokemusta. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Katso yllä olevat käyttöoikeussopimukset (EULA).<br/>Jos et hyväksy ehtoja, tekijänoikeuksin rajattua ohjelmistoa ei asenneta, ja avoimen lähdekoodin vaihtoehtoja käytetään sen sijaan. @@ -1922,7 +1922,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Tuntematon virhe - + Password is empty Salasana on tyhjä @@ -2782,38 +2782,38 @@ Ulostulo: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Tämä tietokone ei täytä vähimmäisvaatimuksia, %1.<br/>Asennusta ei voi jatkaa. <a href="#details">Yksityiskohdat...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Tämä tietokone ei täytä asennuksen vähimmäisvaatimuksia, %1.<br/>Asennus ei voi jatkua. <a href="#details">Yksityiskohdat...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Tämä tietokone ei täytä joitakin suositeltuja vaatimuksia %1.<br/>Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Tämä tietokone ei täytä joitakin suositeltuja vaatimuksia %1. Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. - + This program will ask you some questions and set up %2 on your computer. Tämä ohjelma kysyy joitakin kysymyksiä %2 ja asentaa tietokoneeseen. - + For best results, please ensure that this computer: Saadaksesi parhaan lopputuloksen, tarkista että tämä tietokone: - + System requirements Järjestelmävaatimukset @@ -3199,47 +3199,47 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Jos useampi kuin yksi henkilö käyttää tätä tietokonetta, voit luoda useita tilejä asennuksen jälkeen.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Jos useampi kuin yksi henkilö käyttää tätä tietokonetta, voit luoda useita tilejä asennuksen jälkeen.</small> - + Your username is too long. Käyttäjänimesi on liian pitkä. - + Your username must start with a lowercase letter or underscore. Käyttäjätunnuksesi täytyy alkaa pienillä kirjaimilla tai alaviivoilla. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Vain pienet kirjaimet, numerot, alaviivat ja tavuviivat ovat sallittuja. - + Only letters, numbers, underscore and hyphen are allowed. Vain kirjaimet, numerot, alaviivat ja tavuviivat ovat sallittuja. - + Your hostname is too short. Isäntänimesi on liian lyhyt. - + Your hostname is too long. Isäntänimesi on liian pitkä. - + Your passwords do not match! Salasanasi eivät täsmää! diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index c5b055f5a..7404fee68 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -1423,22 +1423,22 @@ L'installateur se fermera et les changements seront perdus. J'accepte les termes et conditions ci-dessus. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Accord de licence</h1>Cette procédure de configuration va installer des logiciels propriétaire sujet à des termes de licence. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Merci de relire les Contrats de Licence Utilisateur Final (CLUF/EULA) ci-dessus.<br/>Si vous n'acceptez pas les termes, la procédure ne peut pas continuer. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Accord de licence</h1>Cette procédure peut installer des logiciels propriétaires qui sont soumis à des termes de licence afin d'ajouter des fonctionnalités et améliorer l'expérience utilisateur. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Merci de relire les Contrats de Licence Utilisateur Final (CLUF/EULA) ci-dessus.<br/>Si vous n'acceptez pas les termes, les logiciels propriétaires ne seront pas installés, et des alternatives open-source seront utilisées à la place. @@ -1922,7 +1922,7 @@ L'installateur se fermera et les changements seront perdus. Erreur inconnue - + Password is empty Le mot de passe est vide @@ -2783,37 +2783,37 @@ Sortie ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Cet ordinateur ne satisfait pas les minimum prérequis pour configurer %1.<br/>La configuration ne peut pas continuer. <a href="#details">Détails...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Cet ordinateur ne satisfait pas les minimum prérequis pour installer %1.<br/>L'installation ne peut pas continuer. <a href="#details">Détails...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Cet ordinateur ne satisfait pas certains des prérequis recommandés pour configurer %1.<br/>La configuration peut continuer, mais certaines fonctionnalités pourraient être désactivées. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Cet ordinateur ne satisfait pas certains des prérequis recommandés pour installer %1.<br/>L'installation peut continuer, mais certaines fonctionnalités pourraient être désactivées. - + This program will ask you some questions and set up %2 on your computer. Ce programme va vous poser quelques questions et configurer %2 sur votre ordinateur. - + For best results, please ensure that this computer: Pour de meilleur résultats, merci de s'assurer que cet ordinateur : - + System requirements Prérequis système @@ -3199,47 +3199,47 @@ Sortie UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>si plusieurs personnes utilisent cet ordinateur, vous pourrez créer plusieurs comptes après la configuration.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>si plusieurs personnes utilisent cet ordinateur, vous pourrez créer plusieurs comptes après l'installation.</small> - + Your username is too long. Votre nom d'utilisateur est trop long. - + Your username must start with a lowercase letter or underscore. Votre nom d'utilisateur doit commencer avec une lettre minuscule ou un underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Seuls les minuscules, nombres, underscores et tirets sont autorisés. - + Only letters, numbers, underscore and hyphen are allowed. Seuls les lettres, nombres, underscores et tirets sont autorisés. - + Your hostname is too short. Le nom d'hôte est trop petit. - + Your hostname is too long. Le nom d'hôte est trop long. - + Your passwords do not match! Vos mots de passe ne correspondent pas ! diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 50604f03f..1e77c7bb6 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index 4b98e819f..49990b796 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -1422,22 +1422,22 @@ O instalador pecharase e perderanse todos os cambios. Acepto os termos e condicións anteriores. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acordo de licencia</h1>Este proceso de configuración instalará programas privativos suxeito a termos de licencia. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se pode seguir co proceso de configuración. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acordo de licencia</h1>Este proceso de configuración pode instalar programas privativos suxeito a termos de licencia para fornecer características adicionaís e mellorala experiencia do usuario. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se instalará o programa privativo e no seu lugar usaranse alternativas de código aberto. @@ -1921,7 +1921,7 @@ O instalador pecharase e perderanse todos os cambios. Erro descoñecido - + Password is empty @@ -2781,37 +2781,37 @@ Saída: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Este ordenador non satisfai os requerimentos mínimos ara a instalación de %1.<br/>A instalación non pode continuar. <a href="#details">Máis información...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Este ordenador non satisfai algúns dos requisitos recomendados para instalar %1.<br/> A instalación pode continuar, pero pode que algunhas características sexan desactivadas. - + This program will ask you some questions and set up %2 on your computer. Este programa faralle algunhas preguntas mentres prepara %2 no seu ordenador. - + For best results, please ensure that this computer: Para os mellores resultados, por favor, asegúrese que este ordenador: - + System requirements Requisitos do sistema @@ -3197,47 +3197,47 @@ Saída: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. O nome de usuario é demasiado longo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. O nome do computador é demasiado curto. - + Your hostname is too long. O nome do computador é demasiado longo. - + Your passwords do not match! Os contrasinais non coinciden! diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index dc182c84f..9718c0450 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 7261ef830..311d76bc6 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -1423,22 +1423,22 @@ The installer will quit and all changes will be lost. התנאים וההגבלות שלמעלה מקובלים עלי. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>הסכם רישיון</h1>אשף התקנה זה יבצע התקנה של תכניות קנייניות אשר כפופות לתנאי רישיון. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. נא לעיין בהסכם משתמש הקצה (EULA) מעלה.<br/> אם התנאים אינם מקובלים עליך, תהליך ההתקנה יופסק. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>הסכם רישיון</h1>אשף התקנה זה יכול לבצע התקנה של תוכנות קנייניות אשר כפופות לתנאי רישיון בכדי לספק תכולות נוספות ולשדרג את חווית המשתמש. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. נא לעיין בהסכם משתמש הקצה (EULA) מעלה.<br/> אם התנאים אינם מקובלים עליך, לא תותקנה תכניות קנייניות, במקומן תותקנה תכניות חלופיות מבוססות קוד פתוח. @@ -1922,7 +1922,7 @@ The installer will quit and all changes will be lost. שגיאה לא ידועה - + Password is empty הססמה ריקה @@ -2782,37 +2782,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> המחשב לא עומד ברף הדרישות המזערי להתקנת %1. <br/>להתקנה אין אפשרות להמשיך. <a href="#details">פרטים…</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> המחשב לא עומד ברף דרישות המינימום להתקנת %1. <br/>ההתקנה לא יכולה להמשיך. <a href="#details"> פרטים...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. המחשב לא עומד בחלק מרף דרישות המזערי להתקנת %1.<br/> ההתקנה יכולה להמשיך, אך יתכן כי חלק מהתכונות יושבתו. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. המחשב לא עומד בחלק מרף דרישות המינימום להתקנת %1.<br/> ההתקנה יכולה להמשיך, אך יתכן כי חלק מהתכונות יושבתו. - + This program will ask you some questions and set up %2 on your computer. תכנית זו תשאל אותך מספר שאלות ותתקין את %2 על המחשב שלך. - + For best results, please ensure that this computer: לקבלת התוצאות הטובות ביותר, נא לוודא כי מחשב זה: - + System requirements דרישות מערכת @@ -3198,47 +3198,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>אם מחשב זה מיועד לשימוש לטובת למעלה ממשתמש אחד, ניתן ליצור מגוון חשבונות לאחר ההתקנה.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>אם מחשב זה מיועד לשימוש לטובת למעלה ממשתמש אחד, ניתן ליצור מגוון חשבונות לאחר ההתקנה.</small> - + Your username is too long. שם המשתמש ארוך מדי. - + Your username must start with a lowercase letter or underscore. שם המשתמש שלך חייב להתחיל באות קטנה או בקו תחתי. - + Only lowercase letters, numbers, underscore and hyphen are allowed. מותר להשתמש רק באותיות קטנות, ספרות, קווים תחתיים ומינוסים. - + Only letters, numbers, underscore and hyphen are allowed. מותר להשתמש רק באותיות, ספרות, קווים תחתיים ומינוסים. - + Your hostname is too short. שם המחשב קצר מדי. - + Your hostname is too long. שם המחשב ארוך מדי. - + Your passwords do not match! הססמאות לא תואמות! diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index 6457384d9..dcf86aae9 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -1422,22 +1422,22 @@ The installer will quit and all changes will be lost. मैं उपरोक्त नियम व शर्तें स्वीकार करता हूँ। - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>लाइसेंस अनुबंध</h1>यह लाइसेंस शर्तों के अधीन अमुक्त सॉफ्टवेयर को इंस्टॉल करेगा। - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. कृपया ऊपर दिए गए लक्षित उपयोक्ता लाइसेंस अनुबंध (EULAs) ध्यानपूर्वक पढ़ें।<br/> यदि आप शर्तों से असहमत है, तो सेटअप को ज़ारी नहीं रखा जा सकता। - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>लाइसेंस अनुबंध</h1> यह सेटअप प्रक्रिया अतिरिक्त सुविधाएँ प्रदान करने व उपयोक्ता अनुभव में वृद्धि हेतु लाइसेंस शर्तों के अधीन अमुक्त सॉफ्टवेयर को इंस्टॉल कर सकती है। - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. कृपया ऊपर दिए गए लक्षित उपयोक्ता लाइसेंस अनुबंध (EULAs) ध्यानपूर्वक पढ़ें।<br/> यदि आप शर्तों से असहमत है, तो अमुक्त सॉफ्टवेयर इंस्टाल नहीं किया जाएगा व उनके मुक्त विकल्प उपयोग किए जाएँगे। @@ -1921,7 +1921,7 @@ The installer will quit and all changes will be lost. अज्ञात त्रुटि - + Password is empty @@ -2781,37 +2781,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> यह कंप्यूटर %1 को सेटअप करने की न्यूनतम आवश्यकताओं को पूरा नहीं करता।<br/>सेटअप जारी नहीं रखा जा सकता।<a href="#details">विवरण...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> यह कंप्यूटर %1 को इंस्टॉल करने की न्यूनतम आवश्यकताओं को पूरा नहीं करता।<br/>इंस्टॉल जारी नहीं रखा जा सकता।<a href="#details">विवरण...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. यह कंप्यूटर %1 को सेटअप करने हेतु सुझाई गई आवश्यकताओं को पूरा नहीं करता।<br/>सेटअप जारी रखा जा सकता है, लेकिन कुछ विशेषताएँ को निष्क्रिय किया जा सकता हैं। - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. यह कंप्यूटर %1 को इंस्टॉल करने हेतु सुझाई गई आवश्यकताओं को पूरा नहीं करता।<br/>इंस्टॉल जारी रखा जा सकता है, लेकिन कुछ विशेषताएँ को निष्क्रिय किया जा सकता हैं। - + This program will ask you some questions and set up %2 on your computer. यह प्रोग्राम एक प्रश्नावली के आधार पर आपके कंप्यूटर पर %2 को सेट करेगा। - + For best results, please ensure that this computer: उत्तम परिणाम हेतु, कृपया सुनिश्चित करें कि यह कंप्यूटर : - + System requirements सिस्टम इंस्टॉल हेतु आवश्यकताएँ @@ -3197,47 +3197,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप सेटअप के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>यदि एक से अधिक व्यक्ति इस कंप्यूटर का उपयोग करेंगे, तो आप इंस्टॉल के उपरांत एकाधिक अकाउंट बना सकते हैं।</small> - + Your username is too long. आपका उपयोक्ता नाम काफ़ी लंबा है। - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. आपका होस्ट नाम काफ़ी छोटा है। - + Your hostname is too long. आपका होस्ट नाम काफ़ी लंबा है। - + Your passwords do not match! आपके कूटशब्द मेल नहीं खाते! diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 5aa64c25f..ad215ad99 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -1423,22 +1423,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Prihvaćam gore navedene uvjete i odredbe. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licencni ugovor</h1>Instalacijska procedura će instalirati vlasnički program koji podliježe uvjetima licenciranja. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Molimo vas da pogledate gore navedene End User License Agreements (EULAs).<br/>Ako se ne slažete s navedenim uvjetima, instalacijska procedura se ne može nastaviti. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licencni ugovor</h1>Instalacijska procedura može instalirati vlasnički program, koji podliježe uvjetima licenciranja, kako bi pružio dodatne mogućnosti i poboljšao korisničko iskustvo. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Molimo vas da pogledate gore navedene End User License Agreements (EULAs).<br/>Ako se ne slažete s navedenim uvjetima, vlasnički program se ne će instalirati te će se umjesto toga koristiti program otvorenog koda. @@ -1922,7 +1922,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Nepoznata greška - + Password is empty Lozinka je prazna @@ -2782,37 +2782,37 @@ Izlaz: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Ovo računalo ne zadovoljava minimalne zahtjeve za instalaciju %1.<br/>Instalacija se ne može nastaviti.<a href="#details">Detalji...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Ovo računalo ne zadovoljava minimalne uvijete za instalaciju %1.<br/>Instalacija se ne može nastaviti.<a href="#details">Detalji...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Računalo ne zadovoljava neke od preporučenih uvjeta za instalaciju %1.<br/>Instalacija se može nastaviti, ali neke značajke možda neće biti dostupne. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Računalo ne zadovoljava neke od preporučenih uvjeta za instalaciju %1.<br/>Instalacija se može nastaviti, ali neke značajke možda neće biti dostupne. - + This program will ask you some questions and set up %2 on your computer. Ovaj program će vam postaviti neka pitanja i instalirati %2 na vaše računalo. - + For best results, please ensure that this computer: Za najbolje rezultate, pobrinite se da ovo računalo: - + System requirements Zahtjevi sustava @@ -3198,47 +3198,47 @@ Izlaz: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Ako će više osoba koristiti ovo računalo, možete postaviti više korisničkih računa poslije instalacije.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Ako će više osoba koristiti ovo računalo, možete postaviti više korisničkih računa poslije instalacije.</small> - + Your username is too long. Vaše korisničko ime je predugačko. - + Your username must start with a lowercase letter or underscore. Vaše korisničko ime mora započeti malim slovom ili podvlakom. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Dopuštena su samo mala slova, brojevi, podvlake i crtice. - + Only letters, numbers, underscore and hyphen are allowed. Dopuštena su samo slova, brojevi, podvlake i crtice. - + Your hostname is too short. Ime računala je kratko. - + Your hostname is too long. Ime računala je predugačko. - + Your passwords do not match! Lozinke se ne podudaraju! diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index a3b9f0689..d723515dd 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -1422,22 +1422,22 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Elfogadom a fentebbi felhasználási feltételeket. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licensz</h1>A telepítő szabadalmaztatott szoftvert fog telepíteni. Információ a licenszben. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Kérlek, olvasd el a fenti végfelhasználói licenszfeltételeket (EULAs)<br/>Ha nem értesz egyet a feltételekkel, akkor a telepítés nem folytatódik. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licensz</h1>A telepítő szabadalmaztatott szoftvert fog telepíteni. Információ a licenszben. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Kérlek, olvasd el a fenti végfelhasználói licenszfeltételeket (EULAs)<br/>Ha nem értesz egyet a feltételekkel, akkor a szabadalmaztatott program telepítése nem folytatódik és nyílt forrású program lesz telepítve helyette. @@ -1921,7 +1921,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Ismeretlen hiba - + Password is empty @@ -2781,38 +2781,38 @@ Kimenet: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Ez a számítógép nem felel meg a minimum követelményeknek a %1 telepítéséhez. <br/>A telepítés nem folytatható. <a href="#details">Részletek...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Ez a számítógép nem felel meg a minimum követelményeknek a %1 telepítéséhez.<br/> Telepítés nem folytatható. <a href="#details">Részletek...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Ez a számítógép nem felel meg néhány követelménynek a %1 telepítéséhez. <br/>A telepítés folytatható de előfordulhat néhány képesség nem lesz elérhető. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Ez a számítógép nem felel meg a minimum követelményeknek a %1 telepítéséhez.<br/>Telepítés folytatható de néhány tulajdonság valószínűleg nem lesz elérhető. - + This program will ask you some questions and set up %2 on your computer. Ez a program fel fog tenni néhány kérdést és %2 -t telepíti a számítógépre. - + For best results, please ensure that this computer: A legjobb eredményért győződjünk meg, hogy ez a számítógép: - + System requirements Rendszer követelmények @@ -3199,47 +3199,47 @@ Calamares hiba %1. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Ha egynél több személy használja a számítógépet akkor létrehozhat több felhasználói fiókot telepítés után.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Ha egynél több személy használja a számítógépet akkor létrehozhat több felhasználói fiókot telepítés után.</small> - + Your username is too long. A felhasználónév túl hosszú. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. A hálózati név túl rövid. - + Your hostname is too long. A hálózati név túl hosszú. - + Your passwords do not match! A két jelszó nem egyezik! diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index a1be501a6..7515e0b57 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -1421,22 +1421,22 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Saya menyetujui segala persyaratan di atas. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Persetujuan Lisensi</h1>Prosedur ini akan memasang perangkat lunak berpemilik yang terkait dengan lisensi. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Mohon periksa End User License Agreements (EULA) di atas.<br/>Bila Anda tidak setuju, maka prosedur tidak bisa dilanjutkan. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Persetujuan Lisensi</h1>Prosedur ini dapat memasang perangkat lunak yang terkait dengan lisensi agar bisa menyediakan fitur tambahan dan meningkatkan pengalaman pengguna. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Mohon periksa End User License Agreements(EULA) di atas.<br/>Bila Anda tidak setuju, perangkat lunak proprietary tidak akan diinstal, dan alternatif open source akan diinstal sebagai gantinya @@ -1920,7 +1920,7 @@ Instalasi akan ditutup dan semua perubahan akan hilang. Ada kesalahan yang tidak diketahui - + Password is empty @@ -2780,39 +2780,39 @@ Keluaran: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Komputer ini tidak memenuhi syarat minimum untuk memasang %1. Installer tidak dapat dilanjutkan. <a href=" - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Komputer ini tidak memenuhi beberapa syarat yang dianjurkan untuk memasang %1. Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. - + This program will ask you some questions and set up %2 on your computer. Program ini akan mengajukan beberapa pertanyaan dan menyetel %2 pada komputer Anda. - + For best results, please ensure that this computer: Untuk hasil terbaik, mohon pastikan bahwa komputer ini: - + System requirements Kebutuhan sistem @@ -3198,47 +3198,47 @@ Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Nama pengguna Anda terlalu panjang. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Hostname Anda terlalu pendek. - + Your hostname is too long. Hostname Anda terlalu panjang. - + Your passwords do not match! Sandi Anda tidak sama! diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 39e283550..70b6b64b3 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -1421,22 +1421,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Ég samþykki skilyrði leyfissamningsins hér að ofan. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Óþekkt villa - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Þessi tölva uppfyllir ekki lágmarkskröfur um uppsetningu %1.<br/>Uppsetningin getur ekki haldið áfram. <a href="#details">Upplýsingar...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Þessi tölva uppfyllir ekki lágmarkskröfur um uppsetningu %1.<br/>Uppsetningin getur haldið áfram, en sumir eiginleikar gætu verið óvirk. - + This program will ask you some questions and set up %2 on your computer. Þetta forrit mun spyrja þig nokkurra spurninga og setja upp %2 á tölvunni þinni. - + For best results, please ensure that this computer: Fyrir bestu niðurstöður, skaltu tryggja að þessi tölva: - + System requirements Kerfiskröfur @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Notandanafnið þitt er of langt. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Notandanafnið þitt er of stutt. - + Your hostname is too long. Notandanafnið þitt er of langt. - + Your passwords do not match! Lykilorð passa ekki! diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 6ee635240..c8dc8186a 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -1421,22 +1421,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Accetto i termini e le condizioni sopra indicati. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Accordo di licenza</h1>Questa procedura di configurazione installerà software proprietario sottoposto a termini di licenza. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Leggere attentamente le licenze d'uso (EULA) riportate sopra.<br/>Se non ne accetti i termini, la procedura di configurazione non può proseguire. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Accordo di licenza</h1>Questa procedura di configurazione installerà software proprietario sottoposto a termini di licenza, per fornire caratteristiche aggiuntive e migliorare l'esperienza utente. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Si prega di leggere attentamente gli accordi di licenza dell'utente finale (EULA) riportati sopra.</br>Se non se ne accettano i termini, il software proprietario non verrà installato e al suo posto saranno utilizzate alternative open source. @@ -1920,7 +1920,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Errore sconosciuto - + Password is empty @@ -2780,37 +2780,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Questo computer non soddisfa i requisiti minimi per l'installazione di %1.<br/>L'installazione non può continuare. <a href="#details">Dettagli...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Questo computer non soddisfa i requisiti minimi per installare %1. <br/>L'installazione non può proseguire. <a href="#details">Dettagli...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Questo computer non soddisfa alcuni requisiti raccomandati per l'installazione di %1.<br/>L'installazione può continuare, ma alcune funzionalità potrebbero essere disabilitate. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Questo computer non soddisfa alcuni requisiti consigliati per l'installazione di %1. <br/>L'installazione può proseguire ma alcune funzionalità potrebbero non essere disponibili. - + This program will ask you some questions and set up %2 on your computer. Questo programma chiederà alcune informazioni e configurerà %2 sul computer. - + For best results, please ensure that this computer: Per ottenere prestazioni ottimali, assicurarsi che questo computer: - + System requirements Requisiti di sistema @@ -3196,47 +3196,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Il nome utente è troppo lungo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Hostname è troppo corto. - + Your hostname is too long. Hostname è troppo lungo. - + Your passwords do not match! Le password non corrispondono! diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index abb3a4fe3..cfb74f0ae 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -1424,22 +1424,22 @@ The installer will quit and all changes will be lost. 上記の項目及び条件に同意します。 - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>ライセンス契約条項</h1> このセットアップはライセンス条項に従うことが必要なプロプライエタリなソフトウェアをインストールします。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 上記のエンドユーザーライセンス条項 (EULAs) を確認してください。<br/>もしライセンス条項に同意できない場合、セットアップを続行することはできません。 - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>ライセンス契約条項</h1> このセットアップは、機能を追加し、ユーザーの使いやすさを向上させるために、ライセンス条項に従うことが必要なプロプライエタリなソフトウェアをインストールします。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 上記のエンドユーザーライセンス条項 (EULAs) を確認してください。<br/>もしライセンス条項に同意できない場合、プロプライエタリなソフトウェアはインストールされず、代わりにオープンソースのソフトウェアが使用されます。 @@ -1923,7 +1923,7 @@ The installer will quit and all changes will be lost. 未知のエラー - + Password is empty パスワードが空です @@ -2783,37 +2783,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> このコンピュータは %1 をセットアップするための最低要件を満たしていません。<br/>セットアップは続行できません。 <a href="#details">詳細...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> このコンピュータは %1 をインストールするための最低要件を満たしていません。<br/>インストールは続行できません。<a href="#details">詳細...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. このコンピュータは、 %1 をセットアップするための推奨条件をいくつか満たしていません。<br/>インストールは続行しますが、一部の機能が無効になる場合があります。 - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. このコンピュータは、 %1 をインストールするための推奨条件をいくつか満たしていません。<br/>インストールは続行しますが、一部の機能が無効になる場合があります。 - + This program will ask you some questions and set up %2 on your computer. このプログラムはあなたにいくつか質問をして、コンピュータに %2 を設定します。 - + For best results, please ensure that this computer: 良好な結果を得るために、このコンピュータについて以下の項目を確認してください: - + System requirements システム要件 @@ -3199,47 +3199,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>もし複数の人間がこのコンピュータを使用する場合、セットアップの後で複数のアカウントを作成できます。</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>もし複数の人間がこのコンピュータを使用する場合、インストールの後で複数のアカウントを作成できます。</small> - + Your username is too long. ユーザー名が長すぎます。 - + Your username must start with a lowercase letter or underscore. ユーザー名はアルファベットの小文字または _ で始めてください。 - + Only lowercase letters, numbers, underscore and hyphen are allowed. 使用できるのはアルファベットの小文字と数字と _ と - だけです。 - + Only letters, numbers, underscore and hyphen are allowed. 使用できるのはアルファベットと数字と _ と - だけです。 - + Your hostname is too short. ホスト名が短すぎます。 - + Your hostname is too long. ホスト名が長過ぎます。 - + Your passwords do not match! パスワードが一致していません! diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 24db00620..5231b1609 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index f79a6491a..33fc05e06 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 4a123f5e9..cef2eb1ff 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -1422,22 +1422,22 @@ The installer will quit and all changes will be lost. 상기 계약 조건을 모두 동의합니다. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>라이센스 동의</h1>이 설치 절차는 라이센스 조항의 적용을 받는 독점 소프트웨어를 설치합니다. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 상기 최종 사용자 라이센스 동의 (EULAs) 를 검토해주시길 바랍니다.<br/>조건에 동의하지 않는다면, 설치 절차를 계속할 수 없습니다. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>라이센스 동의</h1>이 설치 절차는 추가적인 기능들을 제공하고 사용자 환경을 개선하기 위한 독점 소프트웨어를 설치할 수 있으며, 이 소프트웨어는 라이센스 조항의 적용을 받습니다. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 상기 최종 사용자 라이센스 동의 (EULAs) 를 검토해주시길 바랍니다. <br/>조건에 동의하지 않는다면, 독점 소프트웨어는 설치되지 않을 것이며, 대체하여 사용할 수 있는 오픈 소스 소프트웨어가 사용될 것입니다. @@ -1921,7 +1921,7 @@ The installer will quit and all changes will be lost. 알 수 없는 오류 - + Password is empty @@ -2781,37 +2781,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> 이 컴퓨터는 %1 설치를 위한 최소 요구 사항을 충족하지 않습니다.<br/>설치를 계속할 수 없습니다.<a href="#details">세부 정보...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> 이 컴퓨터는 %1 설치를 위한 최소 요구 사항을 충족하지 않습니다.<br/>설치를 계속할 수 없습니다. <a href="#details">세부 사항입니다...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. 이 컴퓨터는 %1 설치를 위한 권장 요구 사항 중 일부를 충족하지 않습니다.<br/>설치를 계속할 수는 있지만 일부 기능을 사용하지 않도록 설정할 수도 있습니다. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. 이 컴퓨터는 %1 설치를 위한 권장 요구 사항 중 일부를 충족하지 않습니다.<br/>설치를 계속할 수 있지만 일부 기능을 사용하지 않도록 설정할 수 있습니다. - + This program will ask you some questions and set up %2 on your computer. 이 프로그램은 몇 가지 질문을 하고 컴퓨터에 %2을 설정합니다. - + For best results, please ensure that this computer: 최상의 결과를 얻으려면 이 컴퓨터가 다음 사항을 충족해야 합니다. - + System requirements 시스템 요구 사항 @@ -3197,47 +3197,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>둘 이상의 사용자가 이 컴퓨터를 사용할 경우, 설정 후 계정을 여러 개 만들 수 있습니다.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>둘 이상의 사용자가 이 컴퓨터를 사용할 경우 설치 후 계정을 여러 개 만들 수 있습니다.</small> - + Your username is too long. 사용자 이름이 너무 깁니다. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. 호스트 이름이 너무 짧습니다. - + Your hostname is too long. 호스트 이름이 너무 깁니다. - + Your passwords do not match! 암호가 일치하지 않습니다! diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 881e690ea..ec763b44c 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 76550756b..5bd78dd13 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -1423,22 +1423,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Sutinku su aukščiau išdėstytomis nuostatomis ir sąlygomis. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licencijos Sutartis</h1>Ši sąrankos procedūra įdiegs nuosavybinę programinę įrangą, kuriai yra taikomos licencijavimo nuostatos. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Prašome aukščiau peržiūrėti Galutinio Vartotojo Licencijos Sutartis (angl. EULA).<br/>Jeigu nesutiksite su nuostatomis, sąrankos procedūra negalės būti tęsiama. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licencijos Sutartis</h1>Tam, kad pateiktų papildomas ypatybes ir pagerintų naudotojo patirtį, ši sąrankos procedūra gali įdiegti nuosavybinę programinę įrangą, kuriai yra taikomos licencijavimo nuostatos. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Prašome aukščiau peržiūrėti Galutinio Vartotojo Licencijos Sutartis (angl. EULA).<br/>Jeigu nesutiksite su nuostatomis, tuomet nuosavybinė programinė įranga nebus įdiegta, o vietoj jos, bus naudojamos atviro kodo alternatyvos. @@ -1922,7 +1922,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nežinoma klaida - + Password is empty Slaptažodis yra tuščias @@ -2782,37 +2782,37 @@ Išvestis: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Šis kompiuteris netenkina minimalių %1 nustatymo reikalavimų.<br/>Sąranka negali būti tęsiama. <a href="#details">Išsamiau...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Šis kompiuteris netenkina minimalių %1 diegimo reikalavimų.<br/>Diegimas negali būti tęsiamas. <a href="#details">Išsamiau...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Šis kompiuteris netenkina kai kurių %1 nustatymui rekomenduojamų reikalavimų.<br/>Sąranką galima tęsti, tačiau kai kurios funkcijos gali būti išjungtos. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Šis kompiuteris netenkina kai kurių %1 diegimui rekomenduojamų reikalavimų.<br/>Diegimą galima tęsti, tačiau kai kurios funkcijos gali būti išjungtos. - + This program will ask you some questions and set up %2 on your computer. Programa užduos kelis klausimus ir padės įsidiegti %2. - + For best results, please ensure that this computer: Norėdami pasiekti geriausių rezultatų, įsitikinkite kad šis kompiuteris: - + System requirements Sistemos reikalavimai @@ -3198,47 +3198,47 @@ Išvestis: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Jei šiuo kompiuteriu naudosis keli žmonės, po sąrankos galite sukurti papildomas paskyras.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Jei šiuo kompiuteriu naudosis keli žmonės, po diegimo galite sukurti papildomas paskyras.</small> - + Your username is too long. Jūsų naudotojo vardas yra pernelyg ilgas. - + Your username must start with a lowercase letter or underscore. Jūsų naudotojo vardas privalo prasidėti mažąja raide arba pabraukimo brūkšniu. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Yra leidžiamos tik mažosios raidės, skaitmenys, pabraukimo brūkšniai ir brūkšneliai. - + Only letters, numbers, underscore and hyphen are allowed. Yra leidžiamos tik raidės, skaitmenys, pabraukimo brūkšniai ir brūkšneliai. - + Your hostname is too short. Jūsų kompiuterio vardas yra pernelyg trumpas. - + Your hostname is too long. Jūsų kompiuterio vardas yra pernelyg ilgas. - + Your passwords do not match! Jūsų slaptažodžiai nesutampa! diff --git a/lang/calamares_mk.ts b/lang/calamares_mk.ts index f735ed7af..956b0af4c 100644 --- a/lang/calamares_mk.ts +++ b/lang/calamares_mk.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_ml.ts b/lang/calamares_ml.ts index 900ad109c..2d18379e1 100644 --- a/lang/calamares_ml.ts +++ b/lang/calamares_ml.ts @@ -1295,7 +1295,7 @@ The installer will quit and all changes will be lost. Collecting information about your machine. - + താങ്കളുടെ മെഷീനെ പറ്റിയുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നു. @@ -1423,22 +1423,22 @@ The installer will quit and all changes will be lost. മുകളിലുള്ള നിബന്ധനകളും വ്യവസ്ഥകളും ഞാൻ അംഗീകരിക്കുന്നു. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>ലൈസൻസ് ഉടമ്പടി</h1>ഈ സജ്ജീകരണ നടപടിക്രമം ലൈസൻസിംഗ് നിബന്ധനകൾക്ക് വിധേയമായ കുത്തക സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യും. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. മുകളിലുള്ള അന്തിമ ഉപയോക്തൃ ലൈസൻസ് കരാറുകൾ (EULAs) അവലോകനം ചെയ്യുക.<br/>നിങ്ങൾ നിബന്ധനകളോട് യോജിക്കുന്നില്ലെങ്കിൽ, സജ്ജീകരണ നടപടിക്രമം തുടരാനാവില്ല. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>ലൈസൻസ് ഉടമ്പടി</h1>അധിക സവിശേഷതകൾ നൽകുന്നതിനും ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്തുന്നതിനും ഈ സജ്ജീകരണ നടപടിക്രമത്തിന് ലൈസൻസിംഗ് നിബന്ധനകൾക്ക് വിധേയമായ കുത്തക സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. മുകളിലുള്ള അന്തിമ ഉപയോക്തൃ ലൈസൻസ് കരാറുകൾ (EULAs) അവലോകനം ചെയ്യുക.<br/>നിങ്ങൾ നിബന്ധനകളോട് യോജിക്കുന്നില്ലെങ്കിൽ, പ്രൊപ്രൈറ്ററി സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യില്ല, പകരം ഓപ്പൺ സോഴ്‌സ് ഇതരമാർഗങ്ങൾ ഉപയോഗിക്കും. @@ -1922,9 +1922,9 @@ The installer will quit and all changes will be lost. അപരിചിതമായ പിശക് - + Password is empty - + രഹസ്യവാക്ക് ശൂന്യമാണ് @@ -2782,37 +2782,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> %1 സജ്ജീകരിക്കുന്നതിനുള്ള ഏറ്റവും കുറഞ്ഞ ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>സജ്ജീകരണം തുടരാനാവില്ല. <a href="#details">വിവരങ്ങൾ...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> %1 ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ഏറ്റവും കുറഞ്ഞ ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>ഇൻസ്റ്റളേഷൻ തുടരാനാവില്ല. <a href="#details">വിവരങ്ങൾ...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. %1 സജ്ജീകരിക്കുന്നതിനുള്ള ചില ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>സജ്ജീകരണം തുടരാം, പക്ഷേ ചില സവിശേഷതകൾ നിഷ്ക്രിയമായിരിക്കാം. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. %1 ഇൻസ്റ്റാൾ ചെയ്യാൻ ശുപാർശ ചെയ്യപ്പെട്ടിട്ടുള്ള ആവശ്യങ്ങൾ ഈ കമ്പ്യൂട്ടർ നിറവേറ്റുന്നില്ല.<br/>ഇൻസ്റ്റളേഷൻ തുടരാം, പക്ഷേ ചില സവിശേഷതകൾ നിഷ്ക്രിയമായിരിക്കാം. - + This program will ask you some questions and set up %2 on your computer. ഈ പ്രക്രിയ താങ്കളോട് ചില ചോദ്യങ്ങൾ ചോദിക്കുകയും %2 താങ്കളുടെ കമ്പ്യൂട്ടറിൽ സജ്ജീകരിക്കുകയും ചെയ്യും. - + For best results, please ensure that this computer: മികച്ച ഫലങ്ങൾക്കായി ഈ കമ്പ്യൂട്ടർ താഴെപ്പറയുന്നവ നിറവേറ്റുന്നു എന്നുറപ്പുവരുത്തുക: - + System requirements സിസ്റ്റം ആവശ്യകതകൾ @@ -3198,47 +3198,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് സജ്ജീകരണത്തിന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>ഒന്നിലധികം ആളുകൾ ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമെങ്കിൽ, താങ്കൾക്ക് ഇൻസ്റ്റളേഷന് ശേഷം നിരവധി അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാം.</small> - + Your username is too long. നിങ്ങളുടെ ഉപയോക്തൃനാമം വളരെ വലുതാണ്. - + Your username must start with a lowercase letter or underscore. താങ്കളുടെ ഉപയോക്തൃനാമം ഒരു ചെറിയ അക്ഷരമോ അണ്ടർസ്കോറോ ഉപയോഗിച്ച് വേണം തുടങ്ങാൻ. - + Only lowercase letters, numbers, underscore and hyphen are allowed. ചെറിയ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അണ്ടർസ്കോർ, ഹൈഫൺ എന്നിവയേ അനുവദിച്ചിട്ടുള്ളൂ. - + Only letters, numbers, underscore and hyphen are allowed. അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അണ്ടർസ്കോർ, ഹൈഫൺ എന്നിവയേ അനുവദിച്ചിട്ടുള്ളൂ. - + Your hostname is too short. നിങ്ങളുടെ ഹോസ്റ്റ്നാമം വളരെ ചെറുതാണ് - + Your hostname is too long. നിങ്ങളുടെ ഹോസ്റ്റ്നാമം ദൈർഘ്യമേറിയതാണ് - + Your passwords do not match! നിങ്ങളുടെ പാസ്‌വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല! diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 4dcdef53f..e6477c073 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements प्रणालीची आवशक्यता @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. तुमचा वापरकर्तानाव खूप लांब आहे - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. तुमचा संगणकनाव खूप लहान आहे - + Your hostname is too long. तुमचा संगणकनाव खूप लांब आहे - + Your passwords do not match! तुमचा परवलीशब्द जुळत नाही diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index f5e19308c..0f937c093 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -1421,22 +1421,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Ukjent feil - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Denne datamaskinen oppfyller ikke minimumskravene for installering %1.<br/> Installeringen kan ikke fortsette. <a href="#details">Detaljer..</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements Systemkrav @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Brukernavnet ditt er for langt. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_ne_NP.ts b/lang/calamares_ne_NP.ts index 03bb50c71..da257191f 100644 --- a/lang/calamares_ne_NP.ts +++ b/lang/calamares_ne_NP.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index 3920d4901..a35297828 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -1421,22 +1421,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Ik aanvaard de bovenstaande algemene voorwaarden. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licentieovereenkomst</h1>Deze installatieprocedure zal propriëtaire software installeren die onderworpen is aan licentievoorwaarden. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Gelieve bovenstaande licentieovereenkomsten voor eindgebruikers (EULA's) na te kijken.<br/>Indien je de voorwaarden niet aanvaardt, kan de installatie niet doorgaan. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licentieovereenkomst</h1>Deze installatieprocedure kan mogelijk propriëtaire software, onderworpen aan licentievoorwaarden, installeren om bijkomende functies aan te bieden of de gebruikservaring te verbeteren. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Gelieve bovenstaande licentieovereenkomsten voor eindgebruikers (EULA's) na te kijken.<br/>Indien je de voorwaarden niet aanvaardt zal de propriëtaire software vervangen worden door openbron alternatieven. @@ -1920,7 +1920,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Onbekende fout - + Password is empty @@ -2780,37 +2780,37 @@ Uitvoer: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Deze computer voldoet niet aan de minimumvereisten om %1 te installeren.<br/>De installatie kan niet doorgaan. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Deze computer voldoet niet aan enkele van de aanbevolen specificaties om %1 te installeren.<br/>De installatie kan doorgaan, maar sommige functies kunnen uitgeschakeld zijn. - + This program will ask you some questions and set up %2 on your computer. Dit programma stelt je enkele vragen en installeert %2 op jouw computer. - + For best results, please ensure that this computer: Voor de beste resultaten is het aangeraden dat deze computer: - + System requirements Systeemvereisten @@ -3196,47 +3196,47 @@ Uitvoer: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. De gebruikersnaam is te lang. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. De hostnaam is te kort. - + Your hostname is too long. De hostnaam is te lang. - + Your passwords do not match! Je wachtwoorden komen niet overeen! diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index ba91b7d8d..b5eafd6aa 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -1421,22 +1421,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Akceptuję powyższe warunki korzystania. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Umowy licencyjne</h1>Ten etap instalacji zainstaluje własnościowe oprogramowanie, którego dotyczą zasady licencji. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Przeczytaj znajdujące się poniżej Umowy Licencyjne Końcowego Użytkownika (EULA).<br/>Jeżeli nie zgadzasz się z tymi warunkami, nie możesz kontynuować. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Umowy licencyjne</h1>Ten etap instalacji pozwoli zainstalować własnościowe oprogramowanie, którego dotyczą zasady licencji w celu poprawienia doświadczenia i zapewnienia dodatkowych funkcji. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Przeczytaj znajdujące się poniżej Umowy Licencyjne Końcowego Użytkownika (EULA).<br/>Jeżeli nie zaakceptujesz tych warunków, własnościowe oprogramowanie nie zostanie zainstalowane, zamiast tego zostaną użyte otwartoźródłowe odpowiedniki. @@ -1920,7 +1920,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Nieznany błąd - + Password is empty @@ -2781,37 +2781,37 @@ i nie uruchomi się ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Ten komputer nie spełnia minimalnych wymagań, niezbędnych do instalacji %1.<br/>Instalacja nie może być kontynuowana. <a href="#details">Szczegóły...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Ten komputer nie spełnia wszystkich, zalecanych do instalacji %1 wymagań.<br/>Instalacja może być kontynuowana, ale niektóre opcje mogą być niedostępne. - + This program will ask you some questions and set up %2 on your computer. Ten program zada Ci garść pytań i ustawi %2 na Twoim komputerze. - + For best results, please ensure that this computer: Dla osiągnięcia najlepszych rezultatów upewnij się, że ten komputer: - + System requirements Wymagania systemowe @@ -3197,47 +3197,47 @@ i nie uruchomi się UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Twoja nazwa użytkownika jest za długa. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Twoja nazwa komputera jest za krótka. - + Your hostname is too long. Twoja nazwa komputera jest za długa. - + Your passwords do not match! Twoje hasła nie są zgodne! diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index d4bf6aa45..ce5dc315f 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -1423,22 +1423,22 @@ O instalador será fechado e todas as alterações serão perdidas.Aceito os termos e condições acima. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Termos de licença</h1>Este procedimento de configuração irá instalar software proprietário, que está sujeito aos termos de licenciamento. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor, revise os acordos de licença de usuário final (EULAs) acima.<br/>Se você não concordar com os termos, o procedimento de configuração não pode continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Termos de licença</h1>Este procedimento de instalação pode instalar o software proprietário, que está sujeito a termos de licenciamento, a fim de fornecer recursos adicionais e melhorar a experiência do usuário. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor, revise os acordos de licença de usuário final (EULAs) acima.<br/>Se você não concordar com os termos, o software proprietário não será instalado e as alternativas de código aberto serão utilizadas em seu lugar. @@ -1922,7 +1922,7 @@ O instalador será fechado e todas as alterações serão perdidas.Erro desconhecido - + Password is empty A senha está em branco @@ -2782,37 +2782,37 @@ Saída: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Este computador não satisfaz os requerimentos mínimos para configurar %1.<br/>A configuração não pode continuar. <a href="#details">Detalhes...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Este computador não satisfaz os requisitos mínimos para instalar %1.<br/>A instalação não pode continuar. <a href="#details">Detalhes...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Este computador não satisfaz alguns dos requerimentos recomendados para configurar %1.<br/>A configuração pode continuar, mas algumas funções podem ser desativadas. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Este computador não satisfaz alguns dos requisitos recomendados para instalar %1.<br/>A instalação pode continuar, mas alguns recursos podem ser desativados. - + This program will ask you some questions and set up %2 on your computer. Este programa irá fazer-lhe algumas perguntas e configurar %2 no computador. - + For best results, please ensure that this computer: Para melhores resultados, por favor, certifique-se de que este computador: - + System requirements Requisitos do sistema @@ -3198,47 +3198,47 @@ Saída: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Se mais de uma pessoa for utilizar este computador, você poderá criar múltiplas contas após terminar a configuração.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Se mais de uma pessoa for utilizar este computador, você poderá criar múltiplas contas após terminar de instalar.</small> - + Your username is too long. O nome de usuário é grande demais. - + Your username must start with a lowercase letter or underscore. Seu nome de usuário deve começar com uma letra maiúscula ou com um sublinhado. - + Only lowercase letters, numbers, underscore and hyphen are allowed. É permitido apenas letras minúsculas, números, sublinhado e hífen. - + Only letters, numbers, underscore and hyphen are allowed. É permitido apenas letras, números, sublinhado e hífen. - + Your hostname is too short. O nome da máquina é muito curto. - + Your hostname is too long. O nome da máquina é muito grande. - + Your passwords do not match! As senhas não estão iguais! diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 283e31a32..91bafc2c4 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -1423,22 +1423,22 @@ O instalador será encerrado e todas as alterações serão perdidas.Aceito os termos e condições acima descritos. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acordo de Licença</h1>Este procedimento instalará programas proprietários que estão sujeitos a termos de licenciamento. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Por favor reveja o Acordo de Utilização do Utilizador Final (EULA) acima.<br/>Se não concordar com os termos, o procedimento de instalação não pode continuar. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acordo de Licença</h1>Este procedimento pode instalar programas proprietários que estão sujeitos a termos de licenciamento com vista a proporcionar funcionalidades adicionais e melhorar a experiência do utilizador. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Por favor reveja o Acordo de Utilização do Utilizador Final (EULA) acima.<br/>Se não concordar com os termos, programas proprietários não serão instalados, e em vez disso serão usadas soluções alternativas de código aberto. @@ -1922,7 +1922,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Erro desconhecido - + Password is empty @@ -2782,37 +2782,37 @@ Saída de Dados: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Este computador não satisfaz os requisitos mínimos para instalar %1.<br/>A instalação não pode continuar. <a href="#details">Detalhes...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Este computador não satisfaz alguns dos requisitos recomendados para instalar %1.<br/>A instalação pode continuar, mas algumas funcionalidades poderão ser desativadas. - + This program will ask you some questions and set up %2 on your computer. Este programa vai fazer-lhe algumas perguntas e configurar o %2 no seu computador. - + For best results, please ensure that this computer: Para melhores resultados, por favor certifique-se que este computador: - + System requirements Requisitos de sistema @@ -3198,47 +3198,47 @@ Saída de Dados: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a configuração.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Se mais de uma pessoa usar este computador, você pode criar várias contas após a instalação.</small> - + Your username is too long. O seu nome de utilizador é demasiado longo. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. O nome da sua máquina é demasiado curto. - + Your hostname is too long. O nome da sua máquina é demasiado longo. - + Your passwords do not match! As suas palavras-passe não coincidem! diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 8dec90353..261088b5c 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -1421,22 +1421,22 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Sunt de acord cu termenii și condițiile de mai sus. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Acord de licențiere</h1>Această procedură va instala software proprietar supus unor termeni de licențiere. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Vă rugăm să citiți Licența de utilizare (EULA) de mai sus.<br>Dacă nu sunteți de acord cu termenii, procedura de instalare nu poate continua. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Acord de licențiere</h1>Această procedură de instalare poate instala software proprietar supus unor termeni de licențiere, pentru a putea oferi funcții suplimentare și pentru a îmbunătăți experiența utilizatorilor. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Vă rugăm să citiți Licența de utilizare (EULA) de mai sus.<br/>Dacă nu sunteți de acord cu termenii, softwareul proprietar nu va fi instalat și se vor folosi alternative open-source în loc. @@ -1923,7 +1923,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Eroare necunoscuta - + Password is empty @@ -2783,37 +2783,37 @@ Output ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Acest calculator nu satisface cerințele minimale pentru instalarea %1.<br/>Instalarea nu poate continua. <a href="#details">Detalii...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Acest calculator nu satisface unele din cerințele recomandate pentru instalarea %1.<br/>Instalarea poate continua, dar unele funcții ar putea fi dezactivate. - + This program will ask you some questions and set up %2 on your computer. Acest program vă va pune mai multe întrebări și va seta %2 pe calculatorul dumneavoastră. - + For best results, please ensure that this computer: Pentru rezultate optime, asigurați-vă că acest calculator: - + System requirements Cerințe de sistem @@ -3199,47 +3199,47 @@ Output UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Numele de utilizator este prea lung. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Hostname este prea scurt. - + Your hostname is too long. Hostname este prea lung. - + Your passwords do not match! Parolele nu se potrivesc! diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 48a66cfd3..ef565bf0b 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. Я принимаю приведенные выше условия. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Лицензионное соглашение</h1>На этом этапе будет установлено программное обеспечение с проприетарной лицензией. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Ознакомьтесь с приведенными выше Лицензионными соглашениями пользователя (EULA).<br/>Если не согласны с условиями, продолжение установки невозможно. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Лицензионное соглашение</h1>На этом этапе можно установить программное обеспечение с проприетарной лицензией, дающее дополнительные возможности и повышающее удобство работы. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Ознакомьтесь выше, с Лицензионными соглашениями конечного пользователя (EULA).<br/>Если вы не согласны с условиями, проприетарное программное обеспечение будет заменено на альтернативное открытое программное обеспечение. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. Неизвестная ошибка - + Password is empty @@ -2780,37 +2780,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Этот компьютер не соответствует минимальным требованиям для установки %1.<br/>Невозможно продолжить установку. <a href="#details">Подробнее...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Этот компьютер не соответствует минимальным требованиям для установки %1.<br/>Невозможно продолжить установку. <a href="#details">Подробнее...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Этот компьютер соответствует не всем рекомендуемым требованиям для установки %1.<br/>Можно продолжить установку, но некоторые возможности могут быть недоступны. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Этот компьютер соответствует не всем рекомендуемым требованиям для установки %1.<br/>Можно продолжить установку, но некоторые возможности могут быть недоступны. - + This program will ask you some questions and set up %2 on your computer. Эта программа задаст вам несколько вопросов и поможет установить %2 на ваш компьютер. - + For best results, please ensure that this computer: Для наилучших результатов, убедитесь, что этот компьютер: - + System requirements Системные требования @@ -3196,47 +3196,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Если этот компьютер будет использоваться несколькими людьми, вы сможете создать учетные записи для них после установки.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Если этот компьютер используется несколькими людьми, Вы сможете создать соответствующие учетные записи сразу после установки.</small> - + Your username is too long. Ваше имя пользователя слишком длинное. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Имя вашего компьютера слишком коротко. - + Your hostname is too long. Имя вашего компьютера слишком длинное. - + Your passwords do not match! Пароли не совпадают! diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index dee982553..43d4c9a6e 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -1422,22 +1422,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Prijímam podmienky vyššie. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licenčné podmienky</h1>Tento proces inštalácie môže nainštalovať uzavretý softvér, ktorý je predmetom licenčných podmienok. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Prosím, prečítajte si licenčnú zmluvu koncového používateľa (EULAs) vyššie.<br/>Ak nesúhlasíte s podmienkami, proces inštalácie nemôže pokračovať. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licenčné podmienky</h1>Tento proces inštalácie môže nainštalovať uzavretý softvér, ktorý je predmetom licenčných podmienok v rámci poskytovania dodatočných funkcií a vylepšenia používateľských skúseností. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Prosím, prečítajte si licenčnú zmluvu koncového používateľa (EULAs) vyššie.<br/>Ak nesúhlasíte s podmienkami, uzavretý softvér nebude nainštalovaný a namiesto neho budú použité alternatívy s otvoreným zdrojom. @@ -1921,7 +1921,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Neznáma chyba - + Password is empty Heslo je prázdne @@ -2781,37 +2781,37 @@ Výstup: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Tento počítač nespĺňa minimálne požiadavky pre inštaláciu distribúcie %1.<br/>Inštalácia nemôže pokračovať. <a href="#details">Podrobnosti...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Tento počítač nespĺňa minimálne požiadavky pre inštaláciu distribúcie %1.<br/>Inštalácia nemôže pokračovať. <a href="#details">Podrobnosti...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Tento počítač nespĺňa niektoré z odporúčaných požiadaviek pre inštaláciu distribúcie %1.<br/>Inštalácia môže pokračovať, ale niektoré funkcie môžu byť zakázané. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Tento počítač nespĺňa niektoré z odporúčaných požiadaviek pre inštaláciu distribúcie %1.<br/>Inštalácia môže pokračovať, ale niektoré funkcie môžu byť zakázané. - + This program will ask you some questions and set up %2 on your computer. Tento program vám položí niekoľko otázok a nainštaluje distribúciu %2 do vášho počítača. - + For best results, please ensure that this computer: Pre čo najlepší výsledok, sa prosím, uistite, že tento počítač: - + System requirements Systémové požiadavky @@ -3197,47 +3197,47 @@ Výstup: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Ak bude tento počítač používať viac ako jedna osoba, môžete nastaviť viacero účtov po inštalácii.</small> - + Your username is too long. Vaše používateľské meno je príliš dlhé. - + Your username must start with a lowercase letter or underscore. Vaše používateľské meno musí začínať malým písmenom alebo podčiarkovníkom. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Váš názov hostiteľa je príliš krátky. - + Your hostname is too long. Váš názov hostiteľa je príliš dlhý. - + Your passwords do not match! Vaše heslá sa nezhodujú! diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 72eb60265..648c58aae 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -1421,22 +1421,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: Za najboljše rezultate se prepričajte, da vaš računalnik izpolnjuje naslednje zahteve: - + System requirements @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index d07467162..3624931ce 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -1423,22 +1423,22 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. I pranoj termat dhe kushtet më sipër. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Marrëveshje Licence</h1>Kjo procedurë rregullimi do të instalojë software pronësor që është subjekt kushtesh licencimi. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Ju lutemi, shqyrtoni Marrëveshje Licencimi Për Përdorues të Thjeshtë (EULAs) më sipër.<br/>Nëse nuk pajtohemi me kushtet, procedura e rregullimit s’mund të shkojë më tej. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Marrëveshje Licence</h1>Që të furnizojë veçori shtesë dhe të përmirësojë punën e përdoruesit, kjo procedurë rregullimi mundet të instalojë software pronësor që është subjekt kushtesh licencimi. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Ju lutemi, shqyrtoni Marrëveshje Licencimi Për Përdorues të Thjeshtë (EULAs) më sipër.<br/>Nëse nuk pajtohemi me kushtet, nuk do të instalohet software pronësor, dhe në vend të tij do të përdoren alternativa nga burimi i hapët. @@ -1922,7 +1922,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Gabim i panjohur - + Password is empty Fjalëkalimi është i zbrazët @@ -2782,37 +2782,37 @@ Përfundim: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Ky kompjuter s’i plotëson kërkesat minimum për rregullimin e %1.<br/>Rregullimi s’mund të vazhdojë. <a href=\"#details\">Hollësi…</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Ky kompjuter s’i plotëson kërkesat minimum për instalimin e %1.<br/>Instalimi s’mund të vazhdojë. <a href=\"#details\">Hollësi…</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Ky kompjuter s’i plotëson disa nga domosdoshmëritë e rekomanduara për rregullimin e %1.<br/>Rregullimi mund të vazhdojë, por disa veçori mund të përfundojnë të çaktivizuara. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Ky kompjuter s’i plotëson disa nga domosdoshmëritë e rekomanduara për instalimin e %1.<br/>Instalimi mund të vazhdojë, por disa veçori mund të përfundojnë të çaktivizuara. - + This program will ask you some questions and set up %2 on your computer. Ky program do t’ju bëjë disa pyetje dhe do të rregullojë %2 në kompjuterin tuaj. - + For best results, please ensure that this computer: Për përfundime më të mira, ju lutemi, garantoni që ky kompjuter: - + System requirements Sistem i domosdoshëm @@ -3198,47 +3198,47 @@ Përfundim: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Nëse këtë kompjuter do ta përdorë më shumë se një person, mund të krijoni disa llogari, pas rregullimit.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Nëse këtë kompjuter do ta përdorë më shumë se një person, mund të krijoni disa llogari, pas instalimit.</small> - + Your username is too long. Emri juaj i përdoruesit është shumë i gjatë. - + Your username must start with a lowercase letter or underscore. Emri juaj i përdoruesit duhet të fillojë me një shkronjë të vogël ose nënvijë. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Lejohen vetëm shkronja të vogla, numra, nënvijë dhe vijë ndarëse. - + Only letters, numbers, underscore and hyphen are allowed. Lejohen vetëm shkronja, numra, nënvijë dhe vijë ndarëse. - + Your hostname is too short. Strehëemri juaj është shumë i shkurtër. - + Your hostname is too long. Strehëemri juaj është shumë i gjatë. - + Your passwords do not match! Fjalëkalimet tuaj s’përputhen! diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 254bf876a..a54ea6c72 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: За најбоље резултате обезбедите да овај рачунар: - + System requirements Системски захтеви @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Ваше корисничко име је предугачко. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Име вашег "домаћина" - hostname је прекратко. - + Your hostname is too long. Ваше име домаћина је предуго - hostname - + Your passwords do not match! Лозинке се не поклапају! diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 5692700ab..a610f2266 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -1421,22 +1421,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: Za najbolje rezultate, uvjetite se da li ovaj računar: - + System requirements @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! Vaše lozinke se ne poklapaju diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 4860479ef..a40c8849c 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -1421,22 +1421,22 @@ Alla ändringar kommer att gå förlorade. Jag accepterar villkoren och avtalet ovan. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Licensavtal</h1>Denna installationsprocedur kommer att installera proprietär mjukvara som omfattas av licensvillkor. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Läs igenom End User Agreements (EULA:s) ovan.<br/>Om du inte accepterar villkoren kan inte installationsproceduren fortsätta. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Licensavtal</h1>Denna installationsprocedur kan installera proprietär mjukvara som omfattas av licensvillkor för att tillhandahålla ytterligare funktioner och förbättra användarupplevelsen. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ Alla ändringar kommer att gå förlorade. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Datorn uppfyller inte minimikraven för inställning av %1.<br/>Inga inställningar kan inte göras. <a href="#details">Detaljer...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Denna dator uppfyller inte minimikraven för att installera %1.<br/>Installationen kan inte fortsätta. <a href="#details">Detaljer...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Några av kraven för inställning av %1 uppfylls inte av datorn.<br/>Inställningarna kan ändå göras men vissa funktioner kommer kanske inte att kunna användas. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Denna dator uppfyller inte alla rekommenderade krav för att installera %1.<br/>Installationen kan fortsätta, men alla alternativ och funktioner kanske inte kan användas. - + This program will ask you some questions and set up %2 on your computer. Detta program kommer att ställa dig några frågor och installera %2 på din dator. - + For best results, please ensure that this computer: För bästa resultat, vänligen se till att datorn: - + System requirements Systemkrav @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när inställningarna är klara.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Om mer än en person skall använda datorn så kan du skapa flera användarkonton när installationen är klar.</small> - + Your username is too long. Ditt användarnamn är för långt. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Ditt värdnamn är för kort. - + Your hostname is too long. Ditt värdnamn är för långt. - + Your passwords do not match! Lösenorden överensstämmer inte! diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 46f9f27c7..0c24d7669 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1920,7 +1920,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2777,37 +2777,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> ขณะที่กำลังติดตั้ง ตัวติดตั้งฟ้องว่า คอมพิวเตอร์นี้มีความต้องการไม่เพียงพอที่จะติดตั้ง %1.<br/>ไม่สามารถทำการติดตั้งต่อไปได้ <a href="#details">รายละเอียด...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. ขณะที่กำลังติดตั้ง ตัวติดตั้งฟ้องว่า คอมพิวเตอร์มีความต้องการไม่เพียงพอที่จะติดตั้ง %1<br/>ไม่สามารถทำการติดตั้งต่อไปได้ และฟีเจอร์บางอย่างจะถูกปิดไว้ - + This program will ask you some questions and set up %2 on your computer. โปรแกรมนี้จะถามคุณบางอย่าง เพื่อติดตั้ง %2 ไว้ในคอมพิวเตอร์ของคุณ - + For best results, please ensure that this computer: สำหรับผลลัพธ์ที่ดีขึ้น โปรดตรวจสอบให้แน่ใจว่าคอมพิวเตอร์เครื่องนี้: - + System requirements ความต้องการของระบบ @@ -3193,47 +3193,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. ชื่อผู้ใช้ของคุณยาวเกินไป - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. ชื่อโฮสต์ของคุณสั้นเกินไป - + Your hostname is too long. ชื่อโฮสต์ของคุณยาวเกินไป - + Your passwords do not match! รหัสผ่านของคุณไม่ตรงกัน! diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index bf1766a12..0fc3c054f 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -1297,7 +1297,7 @@ Sistem güç kaynağına bağlı değil. Collecting information about your machine. - + Makineniz hakkında bilgi toplama. @@ -1425,22 +1425,22 @@ Sistem güç kaynağına bağlı değil. Yukarıdaki şartları ve koşulları kabul ediyorum. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Lisans Anlaşması</h1> Sistem yükleyici uygulaması belli lisans şartlarına bağlıdır ve şimdi sisteminizi kuracaktır. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Yukarıdaki son kullanıcı lisans sözleşmesini (EULA) gözden geçiriniz.<br/>Şartları kabul etmiyorsanız kurulum devam etmeyecektir. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Lisans Sözleşmesi</h1>Bu kurulum işlemi kullanıcı deneyimini ölçümlemek, ek özellikler sağlamak ve geliştirmek amacıyla lisansa tabi özel yazılım yükleyebilir. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Yukarıdaki Son Kullanıcı Lisans Sözleşmelerini (EULA) gözden geçirin.<br/>Eğer şartları kabul etmiyorsanız kapalı kaynak yazılımların yerine açık kaynak alternatifleri yüklenecektir. @@ -1924,9 +1924,9 @@ Sistem güç kaynağına bağlı değil. Bilinmeyen hata - + Password is empty - + Şifre boş @@ -2785,39 +2785,39 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> Bu bilgisayar %1 kurulumu için minimum gereksinimleri karşılamıyor.<br/>Kurulum devam etmeyecek. <a href="#details">Detaylar...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Bu bilgisayara %1 yüklemek için minimum gereksinimler karşılanamadı. Kurulum devam edemiyor. <a href="#detaylar">Detaylar...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. Bu bilgisayar %1 kurulumu için önerilen gereksinimlerin bazılarına uymuyor. Kurulum devam edebilirsiniz ancak bazı özellikler devre dışı bırakılabilir. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Bu bilgisayara %1 yüklemek için önerilen gereksinimlerin bazıları karşılanamadı.<br/> Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. - + This program will ask you some questions and set up %2 on your computer. Bu program size bazı sorular soracak ve bilgisayarınıza %2 kuracak. - + For best results, please ensure that this computer: En iyi sonucu elde etmek için bilgisayarınızın aşağıdaki gereksinimleri karşıladığından emin olunuz: - + System requirements Sistem gereksinimleri @@ -3203,47 +3203,47 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>Bu bilgisayarı birden fazla kişi kullanacaksa, kurulumdan sonra birden fazla kullanıcı hesabı oluşturabilirsiniz.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>Bu bilgisayarı birden fazla kişi kullanacaksa, yükleme bittikten sonra birden fazla kullanıcı hesabı oluşturabilirsiniz.</small> - + Your username is too long. Kullanıcı adınız çok uzun. - + Your username must start with a lowercase letter or underscore. Kullanıcı adınız küçük harf veya alt çizgi ile başlamalıdır. - + Only lowercase letters, numbers, underscore and hyphen are allowed. Sadece küçük harflere, sayılara, alt çizgi ve kısa çizgilere izin verilir. - + Only letters, numbers, underscore and hyphen are allowed. Sadece harfler, rakamlar, alt çizgi ve kısa çizgi izin verilir. - + Your hostname is too short. Makine adınız çok kısa. - + Your hostname is too long. Makine adınız çok uzun. - + Your passwords do not match! Parolanız eşleşmiyor! diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 50abd8696..50221dd87 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -1421,22 +1421,22 @@ The installer will quit and all changes will be lost. Я приймаю положення та умови, що наведені вище. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>Ліцензійна угода</h1>Процедура встановить пропрієтарне програмне забезпечення, яке підлягає умовам ліцензування. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. Будь-ласка, перегляньте Ліцензійні Угоди Кінцевого Користувача (EULAs), що наведені вище.<br/>Якщо ви не згодні з умовами, процедуру встановлення не можна продовжити. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>Ліцензійна угода</h1>Для надання додаткових можливостей та з метою покращення користувацького досвіду, процедура може встановити пропрієтарне програмне забезпечення, яке підлягає умовам ліцензування. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. Будь-ласка, перегляньте Ліцензійні Угоди Кінцевого Користувача (EULAs), що наведені вище.<br/>Якщо ви не згодні з умовами, пропрієтарне програмне забезпечення не буде встановлено, та замість нього буде використано альтернативи з відкритим сирцевим кодом. @@ -1921,7 +1921,7 @@ The installer will quit and all changes will be lost. Невідома помилка - + Password is empty @@ -2778,37 +2778,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> Цей комп'ютер не задовільняє мінімальним вимогам для встановлення %1.<br/>Встановлення неможливо продовжити. <a href="#details">Докладніше...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. Цей комп'ютер не задовільняє рекомендованим вимогам для встановлення %1.<br/>Встановлення можна продовжити, але деякі особливості можуть бути вимкненими. - + This program will ask you some questions and set up %2 on your computer. Ця програма поставить кілька питань та встановить %2 на ваш комп'ютер. - + For best results, please ensure that this computer: Щоб отримати найкращий результат, будь-ласка переконайтеся, що цей комп'ютер: - + System requirements Системні вимоги @@ -3194,47 +3194,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. Ваше ім'я задовге. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. Ім'я машини занадто коротке. - + Your hostname is too long. Ім'я машини задовге. - + Your passwords do not match! Паролі не збігаються! diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 682616aed..52414fc36 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index 2889a9112..a93944322 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -1420,22 +1420,22 @@ The installer will quit and all changes will be lost. - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. @@ -1919,7 +1919,7 @@ The installer will quit and all changes will be lost. - + Password is empty @@ -2776,37 +2776,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - + This program will ask you some questions and set up %2 on your computer. - + For best results, please ensure that this computer: - + System requirements @@ -3192,47 +3192,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. - + Your hostname is too long. - + Your passwords do not match! diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index d477b66f1..b6d05aaab 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -1423,22 +1423,22 @@ The installer will quit and all changes will be lost. 我同意如上条款。 - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>许可协定</h1>此安装程序将会安装受授权条款所限制的专有软件。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 请仔细上方的最终用户许可协定 (EULA)。<br/>若您不同意上述条款,安装程序将不会继续。 - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>许可协定</h1>此安装程序可以安装受授权条款限制的专有软件,以提供额外的功能并增强用户体验。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 请仔细上方的最终用户许可协定 (EULA)。<br/>若您不同意上述条款,将不会安装专有软件,而会使用其开源替代品。 @@ -1922,7 +1922,7 @@ The installer will quit and all changes will be lost. 未知错误 - + Password is empty @@ -2782,37 +2782,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> 此电脑未满足安装 %1 的最低需求。<br/>安装无法继续。<a href="#details">详细信息...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. 此电脑未满足一些安装 %1 的推荐需求。<br/>可以继续安装,但一些功能可能会被停用。 - + This program will ask you some questions and set up %2 on your computer. 本程序将会问您一些问题并在您的电脑上安装及设置 %2 。 - + For best results, please ensure that this computer: 为了更好的体验,请确保这台电脑: - + System requirements 系统需求 @@ -3198,47 +3198,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> - + Your username is too long. 用户名太长。 - + Your username must start with a lowercase letter or underscore. - + Only lowercase letters, numbers, underscore and hyphen are allowed. - + Only letters, numbers, underscore and hyphen are allowed. - + Your hostname is too short. 主机名太短。 - + Your hostname is too long. 主机名太长。 - + Your passwords do not match! 密码不匹配! diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index fef09fd59..89c88dfb7 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -1423,22 +1423,22 @@ The installer will quit and all changes will be lost. 我接受上述的條款與條件。 - + <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. <h1>授權協定</h1>此安裝程式將會安裝受授權條款所限制的專有軟體。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. 請仔細上方的最終用戶授權協定 (EULA)。<br/>若您不同意上述條款,安裝程式將不會繼續。 - + <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. <h1>授權協定</h1>此安裝程式可以安裝受授權條款限制的專有軟體,以提供額外的功農與增強使用者體驗。 - + Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. 請仔細上方的最終用戶授權協定 (EULA)。<br/>若您不同意上述條款,將不會安裝專有軟體,而會使用其開放原始螞碼版本作為替代。 @@ -1922,7 +1922,7 @@ The installer will quit and all changes will be lost. 未知的錯誤 - + Password is empty 密碼為空 @@ -2782,37 +2782,37 @@ Output: ResultsListWidget - + This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a> 此電腦未滿足安裝 %1 的最低配備。<br/>設定無法繼續。<a href="#details">詳細資訊...</a> - + This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> 此電腦未滿足安裝 %1 的最低配備。<br/>安裝無法繼續。<a href="#details">詳細資訊...</a> - + This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled. 此電腦未滿足一些安裝 %1 的推薦需求。<br/>設定可以繼續,但部份功能可能會被停用。 - + This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. 此電腦未滿足一些安裝 %1 的推薦需求。<br/>安裝可以繼續,但部份功能可能會被停用。 - + This program will ask you some questions and set up %2 on your computer. 本程式會問您一些問題,然後在您的電腦安裝及設定 %2。 - + For best results, please ensure that this computer: 為了得到最佳的結果,請確保此電腦: - + System requirements 系統需求 @@ -3198,47 +3198,47 @@ Output: UsersPage - + <small>If more than one person will use this computer, you can create multiple accounts after setup.</small> <small>如果將會有多於一人使用這臺電腦,您可以在安裝後設定多個帳號。</small> - + <small>If more than one person will use this computer, you can create multiple accounts after installation.</small> <small>如果將會有多於一人使用這臺電腦,您可以在安裝後設定多個帳號。</small> - + Your username is too long. 您的使用者名稱太長了。 - + Your username must start with a lowercase letter or underscore. 您的使用者名稱必須以小寫字母或底線開頭。 - + Only lowercase letters, numbers, underscore and hyphen are allowed. 僅允許小寫字母、數字、底線與連接號。 - + Only letters, numbers, underscore and hyphen are allowed. 僅允許字母、數字、底線與連接號。 - + Your hostname is too short. 您的主機名稱太短了。 - + Your hostname is too long. 您的主機名稱太長了。 - + Your passwords do not match! 密碼不符! From a034b1a9abb8b207fdbe89a9e0d7029daca9c30a Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Tue, 3 Dec 2019 11:17:52 +0100 Subject: [PATCH 554/626] i18n: [dummypythonqt] Automatic merge of Transifex translations --- src/modules/dummypythonqt/lang/dummypythonqt.pot | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index dd46fa0ce..88dbde612 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -12,31 +12,31 @@ msgstr "" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "" +msgstr "Click me!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "" +msgstr "A new QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "" +msgstr "The Dummy PythonQt Job" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "" +msgstr "This is the Dummy PythonQt Job. The dummy job says: {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "" +msgstr "A status message for Dummy PythonQt Job." From 0c128d42d2f6b23384b0f563556e4ed3b03f739e Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Tue, 3 Dec 2019 11:17:53 +0100 Subject: [PATCH 555/626] i18n: [python] Automatic merge of Transifex translations --- lang/python.pot | 161 ++++++++++-------- lang/python/ar/LC_MESSAGES/python.po | 2 +- lang/python/ast/LC_MESSAGES/python.po | 2 +- lang/python/be/LC_MESSAGES/python.po | 2 +- lang/python/bg/LC_MESSAGES/python.po | 2 +- lang/python/ca/LC_MESSAGES/python.po | 2 +- lang/python/ca@valencia/LC_MESSAGES/python.po | 2 +- lang/python/cs_CZ/LC_MESSAGES/python.po | 2 +- lang/python/da/LC_MESSAGES/python.po | 2 +- lang/python/de/LC_MESSAGES/python.po | 2 +- lang/python/el/LC_MESSAGES/python.po | 2 +- lang/python/en_GB/LC_MESSAGES/python.po | 2 +- lang/python/eo/LC_MESSAGES/python.po | 2 +- lang/python/es/LC_MESSAGES/python.po | 2 +- lang/python/es_MX/LC_MESSAGES/python.po | 2 +- lang/python/es_PR/LC_MESSAGES/python.po | 2 +- lang/python/et/LC_MESSAGES/python.po | 2 +- lang/python/eu/LC_MESSAGES/python.po | 2 +- lang/python/fa/LC_MESSAGES/python.po | 2 +- lang/python/fi_FI/LC_MESSAGES/python.po | 2 +- lang/python/fr/LC_MESSAGES/python.po | 2 +- lang/python/fr_CH/LC_MESSAGES/python.po | 2 +- lang/python/gl/LC_MESSAGES/python.po | 2 +- lang/python/gu/LC_MESSAGES/python.po | 2 +- lang/python/he/LC_MESSAGES/python.po | 2 +- lang/python/hi/LC_MESSAGES/python.po | 2 +- lang/python/hr/LC_MESSAGES/python.po | 2 +- lang/python/hu/LC_MESSAGES/python.po | 2 +- lang/python/id/LC_MESSAGES/python.po | 2 +- lang/python/is/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.po | 2 +- lang/python/kk/LC_MESSAGES/python.po | 2 +- lang/python/kn/LC_MESSAGES/python.po | 2 +- lang/python/ko/LC_MESSAGES/python.po | 2 +- lang/python/lo/LC_MESSAGES/python.po | 2 +- lang/python/lt/LC_MESSAGES/python.po | 2 +- lang/python/mk/LC_MESSAGES/python.po | 2 +- lang/python/ml/LC_MESSAGES/python.po | 2 +- lang/python/mr/LC_MESSAGES/python.po | 2 +- lang/python/nb/LC_MESSAGES/python.po | 2 +- lang/python/ne_NP/LC_MESSAGES/python.po | 2 +- lang/python/nl/LC_MESSAGES/python.po | 2 +- lang/python/pl/LC_MESSAGES/python.po | 2 +- lang/python/pt_BR/LC_MESSAGES/python.po | 2 +- lang/python/pt_PT/LC_MESSAGES/python.po | 2 +- lang/python/ro/LC_MESSAGES/python.po | 2 +- lang/python/ru/LC_MESSAGES/python.po | 2 +- lang/python/sk/LC_MESSAGES/python.po | 2 +- lang/python/sl/LC_MESSAGES/python.po | 2 +- lang/python/sq/LC_MESSAGES/python.po | 2 +- lang/python/sr/LC_MESSAGES/python.po | 2 +- lang/python/sr@latin/LC_MESSAGES/python.po | 2 +- lang/python/sv/LC_MESSAGES/python.po | 2 +- lang/python/th/LC_MESSAGES/python.po | 2 +- lang/python/tr_TR/LC_MESSAGES/python.po | 2 +- lang/python/uk/LC_MESSAGES/python.po | 2 +- lang/python/ur/LC_MESSAGES/python.po | 2 +- lang/python/uz/LC_MESSAGES/python.po | 2 +- lang/python/zh_CN/LC_MESSAGES/python.po | 2 +- lang/python/zh_TW/LC_MESSAGES/python.po | 2 +- 61 files changed, 148 insertions(+), 133 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 939e2c2a9..ebd00315a 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -12,19 +12,19 @@ msgstr "" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/modules/grubcfg/main.py:37 msgid "Configure GRUB." -msgstr "" +msgstr "Configure GRUB." #: src/modules/mount/main.py:38 msgid "Mounting partitions." -msgstr "" +msgstr "Mounting partitions." #: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:187 #: src/modules/initcpiocfg/main.py:191 @@ -36,302 +36,317 @@ msgstr "" #: src/modules/fstab/main.py:328 src/modules/localecfg/main.py:144 #: src/modules/networkcfg/main.py:48 msgid "Configuration Error" -msgstr "" +msgstr "Configuration Error" #: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:188 #: 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
{!s}
to use." -msgstr "" +msgstr "No partitions are defined for
{!s}
to use." #: src/modules/services-systemd/main.py:35 msgid "Configure systemd services" -msgstr "" +msgstr "Configure systemd services" #: src/modules/services-systemd/main.py:68 #: src/modules/services-openrc/main.py:102 msgid "Cannot modify service" -msgstr "" +msgstr "Cannot modify service" #: src/modules/services-systemd/main.py:69 msgid "" "systemctl {arg!s} call in chroot returned error code {num!s}." msgstr "" +"systemctl {arg!s} call in chroot returned error code {num!s}." #: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:76 msgid "Cannot enable systemd service {name!s}." -msgstr "" +msgstr "Cannot enable systemd service {name!s}." #: src/modules/services-systemd/main.py:74 msgid "Cannot enable systemd target {name!s}." -msgstr "" +msgstr "Cannot enable systemd target {name!s}." #: src/modules/services-systemd/main.py:78 msgid "Cannot disable systemd target {name!s}." -msgstr "" +msgstr "Cannot disable systemd target {name!s}." #: src/modules/services-systemd/main.py:80 msgid "Cannot mask systemd unit {name!s}." -msgstr "" +msgstr "Cannot mask systemd unit {name!s}." #: src/modules/services-systemd/main.py:82 msgid "" -"Unknown systemd commands {command!s} and {suffix!s} for unit {name!s}." +"Unknown systemd commands {command!s} and " +"{suffix!s} for unit {name!s}." msgstr "" +"Unknown systemd commands {command!s} and " +"{suffix!s} for unit {name!s}." #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "" +msgstr "Unmount file systems." #: src/modules/unpackfs/main.py:41 msgid "Filling up filesystems." -msgstr "" +msgstr "Filling up filesystems." #: src/modules/unpackfs/main.py:180 msgid "rsync failed with error code {}." -msgstr "" +msgstr "rsync failed with error code {}." #: src/modules/unpackfs/main.py:241 src/modules/unpackfs/main.py:264 msgid "Failed to unpack image \"{}\"" -msgstr "" +msgstr "Failed to unpack image \"{}\"" #: src/modules/unpackfs/main.py:242 msgid "" "Failed to find unsquashfs, make sure you have the squashfs-tools package " "installed" msgstr "" +"Failed to find unsquashfs, make sure you have the squashfs-tools package " +"installed" #: src/modules/unpackfs/main.py:366 msgid "No mount point for root partition" -msgstr "" +msgstr "No mount point for root partition" #: src/modules/unpackfs/main.py:367 msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" -msgstr "" +msgstr "globalstorage does not contain a \"rootMountPoint\" key, doing nothing" #: src/modules/unpackfs/main.py:372 msgid "Bad mount point for root partition" -msgstr "" +msgstr "Bad mount point for root partition" #: src/modules/unpackfs/main.py:373 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" -msgstr "" +msgstr "rootMountPoint is \"{}\", which does not exist, doing nothing" #: src/modules/unpackfs/main.py:385 src/modules/unpackfs/main.py:389 #: src/modules/unpackfs/main.py:403 msgid "Bad unsquash configuration" -msgstr "" +msgstr "Bad unsquash configuration" #: src/modules/unpackfs/main.py:386 msgid "The filesystem for \"{}\" ({}) is not supported" -msgstr "" +msgstr "The filesystem for \"{}\" ({}) is not supported" #: src/modules/unpackfs/main.py:390 msgid "The source filesystem \"{}\" does not exist" -msgstr "" +msgstr "The source filesystem \"{}\" does not exist" #: src/modules/unpackfs/main.py:404 msgid "The destination \"{}\" in the target system is not a directory" -msgstr "" +msgstr "The destination \"{}\" in the target system is not a directory" #: src/modules/displaymanager/main.py:515 msgid "Cannot write KDM configuration file" -msgstr "" +msgstr "Cannot write KDM configuration file" #: src/modules/displaymanager/main.py:516 msgid "KDM config file {!s} does not exist" -msgstr "" +msgstr "KDM config file {!s} does not exist" #: src/modules/displaymanager/main.py:577 msgid "Cannot write LXDM configuration file" -msgstr "" +msgstr "Cannot write LXDM configuration file" #: src/modules/displaymanager/main.py:578 msgid "LXDM config file {!s} does not exist" -msgstr "" +msgstr "LXDM config file {!s} does not exist" #: src/modules/displaymanager/main.py:661 msgid "Cannot write LightDM configuration file" -msgstr "" +msgstr "Cannot write LightDM configuration file" #: src/modules/displaymanager/main.py:662 msgid "LightDM config file {!s} does not exist" -msgstr "" +msgstr "LightDM config file {!s} does not exist" #: src/modules/displaymanager/main.py:736 msgid "Cannot configure LightDM" -msgstr "" +msgstr "Cannot configure LightDM" #: src/modules/displaymanager/main.py:737 msgid "No LightDM greeter installed." -msgstr "" +msgstr "No LightDM greeter installed." #: src/modules/displaymanager/main.py:768 msgid "Cannot write SLIM configuration file" -msgstr "" +msgstr "Cannot write SLIM configuration file" #: src/modules/displaymanager/main.py:769 msgid "SLIM config file {!s} does not exist" -msgstr "" +msgstr "SLIM config file {!s} does not exist" #: src/modules/displaymanager/main.py:895 msgid "No display managers selected for the displaymanager module." -msgstr "" +msgstr "No display managers selected for the displaymanager module." #: src/modules/displaymanager/main.py:896 msgid "" "The displaymanagers list is empty or undefined in bothglobalstorage and " "displaymanager.conf." msgstr "" +"The displaymanagers list is empty or undefined in bothglobalstorage and " +"displaymanager.conf." #: src/modules/displaymanager/main.py:978 msgid "Display manager configuration was incomplete" -msgstr "" +msgstr "Display manager configuration was incomplete" #: src/modules/initcpiocfg/main.py:36 msgid "Configuring mkinitcpio." -msgstr "" +msgstr "Configuring mkinitcpio." #: src/modules/initcpiocfg/main.py:192 -#: src/modules/luksopenswaphookcfg/main.py:100 src/modules/machineid/main.py:50 -#: src/modules/initramfscfg/main.py:99 src/modules/openrcdmcryptcfg/main.py:83 -#: src/modules/fstab/main.py:329 src/modules/localecfg/main.py:145 -#: src/modules/networkcfg/main.py:49 +#: src/modules/luksopenswaphookcfg/main.py:100 +#: src/modules/machineid/main.py:50 src/modules/initramfscfg/main.py:99 +#: src/modules/openrcdmcryptcfg/main.py:83 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
{!s}
to use." -msgstr "" +msgstr "No root mount point is given for
{!s}
to use." #: src/modules/luksopenswaphookcfg/main.py:35 msgid "Configuring encrypted swap." -msgstr "" +msgstr "Configuring encrypted swap." #: src/modules/rawfs/main.py:35 msgid "Installing data." -msgstr "" +msgstr "Installing data." #: src/modules/services-openrc/main.py:38 msgid "Configure OpenRC services" -msgstr "" +msgstr "Configure OpenRC services" #: src/modules/services-openrc/main.py:66 msgid "Cannot add service {name!s} to run-level {level!s}." -msgstr "" +msgstr "Cannot add service {name!s} to run-level {level!s}." #: src/modules/services-openrc/main.py:68 msgid "Cannot remove service {name!s} from run-level {level!s}." -msgstr "" +msgstr "Cannot remove service {name!s} from run-level {level!s}." #: src/modules/services-openrc/main.py:70 msgid "" "Unknown service-action {arg!s} for service {name!s} in run-" "level {level!s}." msgstr "" +"Unknown service-action {arg!s} for service {name!s} in run-" +"level {level!s}." #: src/modules/services-openrc/main.py:103 msgid "" "rc-update {arg!s} call in chroot returned error code {num!s}." msgstr "" +"rc-update {arg!s} call in chroot returned error code {num!s}." #: src/modules/services-openrc/main.py:110 msgid "Target runlevel does not exist" -msgstr "" +msgstr "Target runlevel does not exist" #: src/modules/services-openrc/main.py:111 msgid "" "The path for runlevel {level!s} is {path!s}, which does not " "exist." msgstr "" +"The path for runlevel {level!s} is {path!s}, which does not " +"exist." #: src/modules/services-openrc/main.py:119 msgid "Target service does not exist" -msgstr "" +msgstr "Target service does not exist" #: src/modules/services-openrc/main.py:120 msgid "" -"The path for service {name!s} is {path!s}, which does not exist." +"The path for service {name!s} is {path!s}, which does not " +"exist." msgstr "" +"The path for service {name!s} is {path!s}, which does not " +"exist." #: src/modules/plymouthcfg/main.py:36 msgid "Configure Plymouth theme" -msgstr "" +msgstr "Configure Plymouth theme" #: src/modules/machineid/main.py:36 msgid "Generate machine-id." -msgstr "" +msgstr "Generate machine-id." #: src/modules/packages/main.py:62 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" +msgstr "Processing packages (%(count)d / %(total)d)" #: src/modules/packages/main.py:64 src/modules/packages/main.py:74 msgid "Install packages." -msgstr "" +msgstr "Install packages." #: src/modules/packages/main.py:67 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Installing one package." +msgstr[1] "Installing %(num)d packages." #: src/modules/packages/main.py:70 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Removing one package." +msgstr[1] "Removing %(num)d packages." #: src/modules/bootloader/main.py:51 msgid "Install bootloader." -msgstr "" +msgstr "Install bootloader." #: src/modules/removeuser/main.py:34 msgid "Remove live user from target system" -msgstr "" +msgstr "Remove live user from target system" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." -msgstr "" +msgstr "Setting hardware clock." #: src/modules/dracut/main.py:36 msgid "Creating initramfs with dracut." -msgstr "" +msgstr "Creating initramfs with dracut." #: src/modules/dracut/main.py:58 msgid "Failed to run dracut on the target" -msgstr "" +msgstr "Failed to run dracut on the target" #: src/modules/dracut/main.py:59 msgid "The exit code was {}" -msgstr "" +msgstr "The exit code was {}" #: src/modules/initramfscfg/main.py:41 msgid "Configuring initramfs." -msgstr "" +msgstr "Configuring initramfs." #: src/modules/openrcdmcryptcfg/main.py:34 msgid "Configuring OpenRC dmcrypt service." -msgstr "" +msgstr "Configuring OpenRC dmcrypt service." #: src/modules/fstab/main.py:38 msgid "Writing fstab." -msgstr "" +msgstr "Writing fstab." #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Dummy python step {}" #: src/modules/localecfg/main.py:39 msgid "Configuring locales." -msgstr "" +msgstr "Configuring locales." #: src/modules/networkcfg/main.py:37 msgid "Saving network configuration." -msgstr "" +msgstr "Saving network configuration." diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index 8e8618632..043d609ef 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: aboodilankaboot, 2019\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index 1bae26123..11cab6997 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: enolp , 2019\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" diff --git a/lang/python/be/LC_MESSAGES/python.po b/lang/python/be/LC_MESSAGES/python.po index 529232df5..4e7bd0b47 100644 --- a/lang/python/be/LC_MESSAGES/python.po +++ b/lang/python/be/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Zmicer Turok , 2019\n" "Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n" diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 1c0243dce..6d486db2f 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Georgi Georgiev , 2018\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index 374e1e5fb..6017b5d1a 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Davidmp , 2019\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" diff --git a/lang/python/ca@valencia/LC_MESSAGES/python.po b/lang/python/ca@valencia/LC_MESSAGES/python.po index 0a80fecdd..1b632c8f8 100644 --- a/lang/python/ca@valencia/LC_MESSAGES/python.po +++ b/lang/python/ca@valencia/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index aa53f6a1d..3687be0a0 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pavel Borecki , 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index 1b6d19d66..b5552a8ff 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: scootergrisen, 2019\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index 39cd34fc3..f90c4ccb5 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Andreas Eitel , 2019\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index 15559cb9e..71f3e2800 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 16cd7b3c5..0882788c1 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jason Collins , 2018\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" diff --git a/lang/python/eo/LC_MESSAGES/python.po b/lang/python/eo/LC_MESSAGES/python.po index 540ed464e..81fbde1b3 100644 --- a/lang/python/eo/LC_MESSAGES/python.po +++ b/lang/python/eo/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kurt Ankh Phoenix , 2018\n" "Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n" diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 5fb4ed9ed..1aa22db98 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adolfo Jayme-Barrientos, 2019\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index db5c5bb3e..8340b7aee 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Logan 8192 , 2018\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index 110d03ac2..ef52c83d7 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index dc237f9d2..f2cabea7f 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Madis Otenurm, 2019\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 448f6ba93..91c43dd37 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Ander Elortondo, 2019\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index f61e74567..953f05494 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index 9a7761088..caa90ad3e 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kimmo Kujansuu , 2019\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 65f2a232d..35811e6d7 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Arnaud Ferraris , 2019\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index afe3e2b09..ad1e6e10c 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index ab6a30218..4ed2b9414 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Xosé, 2018\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 78f447d4c..b5da5797c 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index bffcaf3c3..c0d0ba96c 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Yaron Shahrabani , 2019\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index 90bec6ff5..c2cf6a48a 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Panwar108 , 2019\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index ac5d226d6..916cdab64 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lovro Kudelić , 2019\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 87353e392..e3508552a 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Lajos Pasztor , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index c5aa3f262..866eac25f 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Wantoyo , 2018\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 7aa34b548..7246cefd4 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Kristján Magnússon, 2018\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index be850430d..0f77ddd4a 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Pierfrancesco Passerini , 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index 19a7f5da4..61ce7a838 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: UTUMI Hirosi , 2019\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index cf698330b..466e6b56c 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index b1f815062..e92b8153d 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index 38dc9e4c1..dd4ab1807 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 이정희 , 2019\n" "Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n" diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index 5520cad3a..a4619e2eb 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 9566485b0..7a740715f 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Mindaugas , 2019\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" diff --git a/lang/python/mk/LC_MESSAGES/python.po b/lang/python/mk/LC_MESSAGES/python.po index 0b94bc9b2..679efcf24 100644 --- a/lang/python/mk/LC_MESSAGES/python.po +++ b/lang/python/mk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Martin Ristovski , 2018\n" "Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n" diff --git a/lang/python/ml/LC_MESSAGES/python.po b/lang/python/ml/LC_MESSAGES/python.po index 1a57b2c02..937388f97 100644 --- a/lang/python/ml/LC_MESSAGES/python.po +++ b/lang/python/ml/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Balasankar C , 2019\n" "Language-Team: Malayalam (https://www.transifex.com/calamares/teams/20061/ml/)\n" diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index 48a7b7c44..57d2e4ee4 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index 0ec1bf1b0..44a42e763 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Tyler Moss , 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" diff --git a/lang/python/ne_NP/LC_MESSAGES/python.po b/lang/python/ne_NP/LC_MESSAGES/python.po index b63e7d6b8..d8ee5133e 100644 --- a/lang/python/ne_NP/LC_MESSAGES/python.po +++ b/lang/python/ne_NP/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Nepali (Nepal) (https://www.transifex.com/calamares/teams/20061/ne_NP/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index 1d928be3b..59593f43f 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Adriaan de Groot , 2019\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index d00704461..cc892f839 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Piotr Strębski , 2019\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.po b/lang/python/pt_BR/LC_MESSAGES/python.po index 55d421e18..b414efd85 100644 --- a/lang/python/pt_BR/LC_MESSAGES/python.po +++ b/lang/python/pt_BR/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Guilherme , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index c0f6933d3..06b6e7355 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Hugo Carvalho , 2019\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index 1ee4f97a9..03ba3971d 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Sebastian Brici , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 386918c4d..72e00c105 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Aleksey Kabanov , 2018\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 09aac3647..9794e591a 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Dušan Kazik , 2019\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 78e6c3b54..cf0d3be5d 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index e7901576f..f32d4cf24 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Besnik , 2019\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 85ed4da58..ea6fb5f2f 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Slobodan Simić , 2019\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index a92769139..2edb835b7 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 9903ab729..e6e0a943d 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Jan-Olof Svensson, 2019\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index 76bc6d834..f6b491c76 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 048e088e4..978775296 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Demiray Muhterem , 2019\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 113eaeada..7ff597bd5 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: Paul S , 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 16097fa3e..8a7a63407 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 750ea2fc3..cf3b0147a 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index 1d1fd08fe..14e358903 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: leonfeng , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 3c80b1c10..faf332736 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-08 15:08+0100\n" +"POT-Creation-Date: 2019-11-28 16:51+0100\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" "Last-Translator: 黃柏諺 , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" From 1fc31cde32df061d9021c890b72869bed2ec8d3a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 3 Dec 2019 11:29:46 +0100 Subject: [PATCH 556/626] CI: make tag consistent between txpush and txcheck --- ci/txpush.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/txpush.sh b/ci/txpush.sh index 15b301109..890026417 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -40,7 +40,7 @@ else # tx is the regular transifex command # txtag is used to tag in git to measure changes txtag() { - git tag -f translations + git tag -f translation } fi From 0eb666c56abf3b2113ce304c09034ac9e82b3306 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 3 Dec 2019 11:37:28 +0100 Subject: [PATCH 557/626] CMake: support TWEAK releases in version-information --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index edea611cf..691f8245d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -449,6 +449,10 @@ add_feature_info( ExampleDistro ${mksquashfs_FOUND} "Create example-distro targe ### CALAMARES PROPER # set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) +# In rare cases we have hotfix-releases with a tweak +if( CALAMARES_VERSION_TWEAK ) + set( CALAMARES_VERSION "${CALAMARES_VERSION}.${CALAMARES_VERSION_TWEAK}" ) +endif() set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" ) if( CALAMARES_VERSION_RC ) set( CALAMARES_VERSION ${CALAMARES_VERSION}rc${CALAMARES_VERSION_RC} ) From 162ab2129e1ceae03900f8a6c6fdd1eae684ee88 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 3 Dec 2019 11:57:25 +0100 Subject: [PATCH 558/626] Changes: post-release housekeeping --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 691f8245d..2b823ccbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,10 @@ cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) project( CALAMARES - VERSION 3.2.17.1 + VERSION 3.2.18 LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development ### OPTIONS # From 72ee9742f3404439acb83705b8b38fa49c170a6c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 3 Dec 2019 12:24:47 +0100 Subject: [PATCH 559/626] [tracking] Correct the example URLs --- src/modules/tracking/tracking.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/tracking/tracking.conf b/src/modules/tracking/tracking.conf index 84c3f553f..46ba7fed6 100644 --- a/src/modules/tracking/tracking.conf +++ b/src/modules/tracking/tracking.conf @@ -50,7 +50,7 @@ # If blank or commented out, no link is displayed on the tracking # page. It is recommended to either provide policy URLs for each # area, *or* one general link, and not to mix them. -policy: "https://github.com/calamares/calamares/wiki/Users-Guide#installation-tracking" +policy: "https://github.com/calamares/calamares/wiki/Use-Guide#installation-tracking" # This is the default level to enable for tracking. If commented out, # empty, or otherwise invalid, "none" is used, so no tracking by default. @@ -71,7 +71,7 @@ default: user # module then. install: enabled: false - policy: "https://github.com/calamares/calamares/wiki/Users-Guide#installation-tracking" + policy: "https://github.com/calamares/calamares/wiki/Use-Guide#installation-tracking" # url: "https://example.com/install.php?c=$CPU&m=$MEMORY" # The machine area has one specific configuration key: From 0b126b2c62d7a8f31a5d116895645fd05665f087 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 3 Dec 2019 12:49:11 +0100 Subject: [PATCH 560/626] [license] Massage the messages some more - split shared

message off - do some string-concatenation, but only of whole sentences - shave off some vertical space by dropping the mainsubtext item --- src/modules/license/LicensePage.cpp | 25 ++++++++++++++++--------- src/modules/license/LicensePage.ui | 10 ---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 45205dcd4..915b396a7 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -144,7 +144,7 @@ LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) m_allLicensesOptional &= !entry.isRequired(); } - ui->acceptCheckBox->setChecked(false); + ui->acceptCheckBox->setChecked( false ); checkAcceptance( false ); } @@ -152,20 +152,27 @@ void LicensePage::retranslate() { ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); + + QString header = tr( "

License Agreement

" ); + QString review = tr( "Please review the End User License Agreements (EULAs)." ); + const auto br = QStringLiteral( "
" ); + if ( !m_allLicensesOptional ) { - ui->mainText->setText( tr( "

License Agreement

" - "This setup procedure will install proprietary " - "software that is subject to licensing terms." ) ); + ui->mainText->setText( header + + tr( "This setup procedure will install proprietary " + "software that is subject to licensing terms." ) + + br + review ); ui->additionalText->setText( tr( "If you do not agree with the terms, the setup procedure cannot continue." ) ); } else { - ui->mainText->setText( tr( "

License Agreement

" - "This setup procedure can install proprietary " - "software that is subject to licensing terms " - "in order to provide additional features and enhance the user " - "experience." ) ); + ui->mainText->setText( header + + tr( "This setup procedure can install proprietary " + "software that is subject to licensing terms " + "in order to provide additional features and enhance the user " + "experience." ) + + br + review ); ui->additionalText->setText( tr( "If you do not agree with the terms, proprietary software will not " "be installed, and open source alternatives will be used instead." ) ); } diff --git a/src/modules/license/LicensePage.ui b/src/modules/license/LicensePage.ui index c5857a716..13c4d94b1 100644 --- a/src/modules/license/LicensePage.ui +++ b/src/modules/license/LicensePage.ui @@ -32,16 +32,6 @@ - - - - - - - Please review the End User License Agreements (EULAs). - - - From 9fa021e3c6b5d92bfdb7a1758573ee3637489ead Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 3 Dec 2019 13:00:12 +0100 Subject: [PATCH 561/626] [license] Reduce margins hugely - Move layouting code into the .ui file - Reduce margins hugely -- atop the title block, around the scroll area, etc -- so that more license is visible at once. --- src/modules/license/LicensePage.cpp | 26 ++++++++------------------ src/modules/license/LicensePage.ui | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 915b396a7..fc90d843c 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -98,21 +98,14 @@ LicensePage::LicensePage( QWidget* parent ) { ui->setupUi( this ); - ui->verticalLayout->insertSpacing( 1, CalamaresUtils::defaultFontHeight() ); + // ui->verticalLayout->insertSpacing( 1, CalamaresUtils::defaultFontHeight() ); + CalamaresUtils::unmarginLayout( ui->verticalLayout ); - ui->mainText->setAlignment( Qt::AlignCenter ); ui->mainText->setWordWrap( true ); ui->mainText->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ); ui->additionalText->setWordWrap( true ); - ui->verticalLayout->insertSpacing( 4, CalamaresUtils::defaultFontHeight() / 2 ); - - ui->verticalLayout->setContentsMargins( CalamaresUtils::defaultFontHeight(), - CalamaresUtils::defaultFontHeight() * 3, - CalamaresUtils::defaultFontHeight(), - CalamaresUtils::defaultFontHeight() ); - ui->acceptFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain ); ui->acceptFrame->setStyleSheet( "#acceptFrame { border: 1px solid red;" "background-color: #fff6f6;" @@ -153,25 +146,22 @@ LicensePage::retranslate() { ui->acceptCheckBox->setText( tr( "I accept the terms and conditions above." ) ); - QString header = tr( "

License Agreement

" ); QString review = tr( "Please review the End User License Agreements (EULAs)." ); const auto br = QStringLiteral( "
" ); if ( !m_allLicensesOptional ) { - ui->mainText->setText( header - + tr( "This setup procedure will install proprietary " - "software that is subject to licensing terms." ) + ui->mainText->setText( tr( "This setup procedure will install proprietary " + "software that is subject to licensing terms." ) + br + review ); ui->additionalText->setText( tr( "If you do not agree with the terms, the setup procedure cannot continue." ) ); } else { - ui->mainText->setText( header - + tr( "This setup procedure can install proprietary " - "software that is subject to licensing terms " - "in order to provide additional features and enhance the user " - "experience." ) + ui->mainText->setText( tr( "This setup procedure can install proprietary " + "software that is subject to licensing terms " + "in order to provide additional features and enhance the user " + "experience." ) + br + review ); ui->additionalText->setText( tr( "If you do not agree with the terms, proprietary software will not " "be installed, and open source alternatives will be used instead." ) ); diff --git a/src/modules/license/LicensePage.ui b/src/modules/license/LicensePage.ui index 13c4d94b1..a81fae2b8 100644 --- a/src/modules/license/LicensePage.ui +++ b/src/modules/license/LicensePage.ui @@ -16,6 +16,16 @@ + + + + <h1>License Agreement</h1> + + + Qt::AlignCenter + + + @@ -30,6 +40,12 @@ <Calamares license text> + + Qt::AlignCenter + + + true + @@ -71,7 +87,7 @@ 0 0 765 - 86 + 81
From 6e1504fafc947aa7ca53e75bafd60577352e05ef Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 14:52:54 +0100 Subject: [PATCH 562/626] [license] Use just one button - replace the text plus toolbutton (which has an ambiguous arrow in it) by a single button with text saying what it will do. --- src/modules/license/LicenseWidget.cpp | 62 ++++++--------------------- src/modules/license/LicenseWidget.h | 6 +-- 2 files changed, 16 insertions(+), 52 deletions(-) diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index a4c1dfaaa..0d4190d57 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -27,13 +27,9 @@ #include #include #include -#include +#include #include -static constexpr const auto ArrowOpenExternalLink = Qt::RightArrow; -static constexpr const auto ArrowLocalLicenseIsCollapsed = Qt::UpArrow; -static constexpr const auto ArrowLocalLicenseIsExpanded = Qt::DownArrow; - static QString loadLocalFile( const QUrl& u ) { @@ -56,9 +52,9 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) : QWidget( parent ) , m_entry( std::move( entry ) ) , m_label( new QLabel( this ) ) - , m_viewLicenseLabel( new QLabel( this ) ) - , m_expandLicenseButton( nullptr ) + , m_viewLicenseButton( new QPushButton( this ) ) , m_fullText( nullptr ) + , m_isExpanded( m_entry.expandByDefault() ) { QPalette pal( palette() ); pal.setColor( QPalette::Background, palette().window().color().lighter( 108 ) ); @@ -76,46 +72,28 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) m_label->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); wiLayout->addWidget( m_label ); - m_viewLicenseLabel->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ); - m_viewLicenseLabel->setAlignment( Qt::AlignVCenter | Qt::AlignRight ); - wiLayout->addWidget( m_viewLicenseLabel ); + m_viewLicenseButton->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); + wiLayout->addWidget( m_viewLicenseButton ); - m_expandLicenseButton = new QToolButton( this ); - wiLayout->addWidget( m_expandLicenseButton ); if ( m_entry.isLocal() ) { QVBoxLayout* vLayout = new QVBoxLayout; - - m_expandLicenseButton->setArrowType( ArrowLocalLicenseIsCollapsed ); - connect( m_expandLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::expandClicked ); - vLayout->addLayout( wiLayout ); m_fullText = new QLabel( this ); m_fullText->setText( loadLocalFile( m_entry.m_url ) ); - m_fullText->hide(); m_fullText->setStyleSheet( "border-top: 1px solid black; margin-top: 1em; padding-top: 1em;" ); m_fullText->setObjectName( "licenseItemFullText" ); + m_fullText->setHidden( !m_isExpanded ); + vLayout->addWidget( m_fullText ); setLayout( vLayout ); - - if ( m_entry.expandByDefault() ) - { - // Since we started in a collapsed state, toggle it to expand. - // This can only be done once the full text has been added. - expandClicked(); - } + connect( m_viewLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::expandClicked ); } else { - m_expandLicenseButton->setArrowType( ArrowOpenExternalLink ); - connect( m_expandLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::viewClicked ); - - // Normally setOpenExternalLinks( true ) would do, but we need the - // open code anyway for the toolbutton, let's share it. - connect( m_viewLicenseLabel, &QLabel::linkActivated, this, &LicenseWidget::viewClicked ); - setLayout( wiLayout ); // Only the horizontal layout needed + connect( m_viewLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::viewClicked ); } retranslateUi(); @@ -174,19 +152,11 @@ LicenseWidget::retranslateUi() void LicenseWidget::expandClicked() { - if ( m_expandLicenseButton->arrowType() == ArrowLocalLicenseIsExpanded ) - { - m_expandLicenseButton->setArrowType( ArrowLocalLicenseIsCollapsed ); - } - else - { - m_expandLicenseButton->setArrowType( ArrowLocalLicenseIsExpanded ); - } - + m_isExpanded = !m_isExpanded; // Show/hide based on the new arrow direction. if ( m_fullText ) { - m_fullText->setHidden( m_expandLicenseButton->arrowType() == ArrowLocalLicenseIsCollapsed ); + m_fullText->setHidden( !m_isExpanded ); } updateExpandToolTip(); @@ -198,17 +168,11 @@ LicenseWidget::updateExpandToolTip() { if ( m_entry.isLocal() ) { - const bool isNowCollapsed = m_expandLicenseButton->arrowType() == ArrowLocalLicenseIsCollapsed; - - m_expandLicenseButton->setToolTip( isNowCollapsed ? tr( "Shows the complete license text" ) - : tr( "Hide license text" ) ); - m_viewLicenseLabel->setText( isNowCollapsed ? tr( "Show license agreement" ) : tr( "Hide license agreement" ) ); + m_viewLicenseButton->setText( m_isExpanded ? tr( "Hide license text" ) : tr( "Show the license text" ) ); } else { - m_expandLicenseButton->setToolTip( tr( "Opens the license agreement in a browser window." ) ); - m_viewLicenseLabel->setText( - tr( "View license agreement" ).arg( m_entry.m_url.toString() ) ); + m_viewLicenseButton->setText( tr( "Open license agreement in browser." ) ); } } diff --git a/src/modules/license/LicenseWidget.h b/src/modules/license/LicenseWidget.h index e11d7a746..600516d6d 100644 --- a/src/modules/license/LicenseWidget.h +++ b/src/modules/license/LicenseWidget.h @@ -27,7 +27,7 @@ #include #include -class QToolButton; +class QPushButton; class LicenseWidget : public QWidget { @@ -44,8 +44,8 @@ private: LicenseEntry m_entry; QLabel* m_label; - QLabel* m_viewLicenseLabel; - QToolButton* m_expandLicenseButton; + QPushButton* m_viewLicenseButton; QLabel* m_fullText; + bool m_isExpanded; }; #endif From 7330afd96ad90d4cc0999aca7a220ed5aa9bb614 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 16:49:43 +0100 Subject: [PATCH 563/626] [license] Massage display of buttons - try to keep them the same height - show the URL that will be opened --- src/modules/license/LicenseWidget.cpp | 48 +++++++++++++++++---------- src/modules/license/LicenseWidget.h | 3 +- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 0d4190d57..0d6ef76d6 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -53,7 +53,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) , m_entry( std::move( entry ) ) , m_label( new QLabel( this ) ) , m_viewLicenseButton( new QPushButton( this ) ) - , m_fullText( nullptr ) + , m_licenceTextLabel( new QLabel( this ) ) , m_isExpanded( m_entry.expandByDefault() ) { QPalette pal( palette() ); @@ -69,33 +69,40 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) QHBoxLayout* wiLayout = new QHBoxLayout; m_label->setWordWrap( true ); - m_label->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); + m_label->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); wiLayout->addWidget( m_label ); - m_viewLicenseButton->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); + wiLayout->addSpacing( 1 ); + m_viewLicenseButton->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); wiLayout->addWidget( m_viewLicenseButton ); + QVBoxLayout* vLayout = new QVBoxLayout; + vLayout->addLayout( wiLayout ); + m_licenceTextLabel->setStyleSheet( "border-top: 1px solid black; margin-top: 0px; padding-top: 1em;" ); + m_licenceTextLabel->setObjectName( "licenseItemFullText" ); + if ( m_entry.isLocal() ) { - QVBoxLayout* vLayout = new QVBoxLayout; - vLayout->addLayout( wiLayout ); - m_fullText = new QLabel( this ); - m_fullText->setText( loadLocalFile( m_entry.m_url ) ); - m_fullText->setStyleSheet( "border-top: 1px solid black; margin-top: 1em; padding-top: 1em;" ); - m_fullText->setObjectName( "licenseItemFullText" ); - - m_fullText->setHidden( !m_isExpanded ); - - vLayout->addWidget( m_fullText ); - setLayout( vLayout ); + m_fullTextContents = loadLocalFile( m_entry.m_url ); + if ( m_isExpanded ) + { + m_licenceTextLabel->setText( m_fullTextContents ); + } + else + { + m_licenceTextLabel->setText( tr( "URL: %1" ).arg( m_entry.m_url.toDisplayString() ) ); + } connect( m_viewLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::expandClicked ); } else { - setLayout( wiLayout ); // Only the horizontal layout needed + m_licenceTextLabel->setText( tr( "URL: %1" ).arg( m_entry.m_url.toDisplayString() ) ); connect( m_viewLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::viewClicked ); } + vLayout->addWidget( m_licenceTextLabel ); + setLayout( vLayout ); + retranslateUi(); } @@ -154,9 +161,16 @@ LicenseWidget::expandClicked() { m_isExpanded = !m_isExpanded; // Show/hide based on the new arrow direction. - if ( m_fullText ) + if ( !m_fullTextContents.isEmpty() ) { - m_fullText->setHidden( !m_isExpanded ); + if ( m_isExpanded ) + { + m_licenceTextLabel->setText( m_fullTextContents ); + } + else + { + m_licenceTextLabel->setText( tr( "URL: %1" ).arg( m_entry.m_url.toDisplayString() ) ); + } } updateExpandToolTip(); diff --git a/src/modules/license/LicenseWidget.h b/src/modules/license/LicenseWidget.h index 600516d6d..ffbb9d3c3 100644 --- a/src/modules/license/LicenseWidget.h +++ b/src/modules/license/LicenseWidget.h @@ -45,7 +45,8 @@ private: LicenseEntry m_entry; QLabel* m_label; QPushButton* m_viewLicenseButton; - QLabel* m_fullText; + QLabel* m_licenceTextLabel; + QString m_fullTextContents; bool m_isExpanded; }; #endif From 8a912e6ca1ead0b47c70ed3d9a34356151a05aaa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 17:08:35 +0100 Subject: [PATCH 564/626] [license] Fix the height of each item - needs a qwidget to put the top-items (license name, button) in - fixes issue where the gap between the button and the hrule would change depending on what is expanded --- src/modules/license/LicenseWidget.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 0d6ef76d6..4fb338d46 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -66,18 +66,21 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ); setContentsMargins( 4, 4, 4, 4 ); + QVBoxLayout* vLayout = new QVBoxLayout; + QWidget* topPart = new QWidget( this ); + vLayout->addWidget( topPart ); + QHBoxLayout* wiLayout = new QHBoxLayout; + topPart->setLayout( wiLayout ); m_label->setWordWrap( true ); m_label->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); wiLayout->addWidget( m_label ); - wiLayout->addSpacing( 1 ); - m_viewLicenseButton->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); + wiLayout->addSpacing( 10 ); + m_viewLicenseButton->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Fixed ); wiLayout->addWidget( m_viewLicenseButton ); - QVBoxLayout* vLayout = new QVBoxLayout; - vLayout->addLayout( wiLayout ); m_licenceTextLabel->setStyleSheet( "border-top: 1px solid black; margin-top: 0px; padding-top: 1em;" ); m_licenceTextLabel->setObjectName( "licenseItemFullText" ); From c22022056369cee5c91804684c55d069420ca154 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 17:14:35 +0100 Subject: [PATCH 565/626] [license] Give stylesheets meaningful names --- src/modules/license/LicensePage.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index fc90d843c..8f6f700ca 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -44,6 +44,12 @@ #include +static const char mustAccept[] = "#acceptFrame { border: 1px solid red;" + "background-color: #fff6f6;" + "border-radius: 4px;" + "padding: 2px; }"; +static const char okAccept[] = "#acceptFrame { padding: 3px }"; + const NamedEnumTable< LicenseEntry::Type >& LicenseEntry::typeNames() { @@ -107,10 +113,7 @@ LicensePage::LicensePage( QWidget* parent ) ui->additionalText->setWordWrap( true ); ui->acceptFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain ); - ui->acceptFrame->setStyleSheet( "#acceptFrame { border: 1px solid red;" - "background-color: #fff6f6;" - "border-radius: 4px;" - "padding: 2px; }" ); + ui->acceptFrame->setStyleSheet( mustAccept ); ui->acceptFrame->layout()->setMargin( CalamaresUtils::defaultFontHeight() / 2 ); updateGlobalStorage( false ); // Have not agreed yet @@ -195,14 +198,11 @@ LicensePage::checkAcceptance( bool checked ) m_isNextEnabled = checked || m_allLicensesOptional; if ( !m_isNextEnabled ) { - ui->acceptFrame->setStyleSheet( "#acceptFrame { border: 1px solid red;" - "background-color: #fff8f8;" - "border-radius: 4px;" - "padding: 2px; }" ); + ui->acceptFrame->setStyleSheet( mustAccept ); } else { - ui->acceptFrame->setStyleSheet( "#acceptFrame { padding: 3px }" ); + ui->acceptFrame->setStyleSheet( okAccept ); } emit nextStatusChanged( m_isNextEnabled ); } From 59ea0417fc693adb45c4a4d72dc46a467f834f64 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 17:25:07 +0100 Subject: [PATCH 566/626] [license] Move a less-useful message to tooltip - the message about setup continuing can be a tooltip --- src/modules/license/LicensePage.cpp | 10 +++++----- src/modules/license/LicensePage.ui | 20 ++------------------ 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 8f6f700ca..526820920 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -110,8 +110,6 @@ LicensePage::LicensePage( QWidget* parent ) ui->mainText->setWordWrap( true ); ui->mainText->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ); - ui->additionalText->setWordWrap( true ); - ui->acceptFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain ); ui->acceptFrame->setStyleSheet( mustAccept ); ui->acceptFrame->layout()->setMargin( CalamaresUtils::defaultFontHeight() / 2 ); @@ -157,7 +155,8 @@ LicensePage::retranslate() ui->mainText->setText( tr( "This setup procedure will install proprietary " "software that is subject to licensing terms." ) + br + review ); - ui->additionalText->setText( tr( "If you do not agree with the terms, the setup procedure cannot continue." ) ); + QString mustAcceptText( tr( "If you do not agree with the terms, the setup procedure cannot continue." ) ); + ui->acceptCheckBox->setToolTip( mustAcceptText ); } else { @@ -166,8 +165,9 @@ LicensePage::retranslate() "in order to provide additional features and enhance the user " "experience." ) + br + review ); - ui->additionalText->setText( tr( "If you do not agree with the terms, proprietary software will not " - "be installed, and open source alternatives will be used instead." ) ); + QString okAcceptText( tr( "If you do not agree with the terms, proprietary software will not " + "be installed, and open source alternatives will be used instead." ) ); + ui->acceptCheckBox->setToolTip( okAcceptText ); } ui->retranslateUi( this ); diff --git a/src/modules/license/LicensePage.ui b/src/modules/license/LicensePage.ui index a81fae2b8..b5936d5de 100644 --- a/src/modules/license/LicensePage.ui +++ b/src/modules/license/LicensePage.ui @@ -15,7 +15,7 @@ - + @@ -87,7 +87,7 @@ 0 0 765 - 81 + 89 @@ -107,22 +107,6 @@
- - - - - 0 - 0 - - - - - - - <additionalText> - - - From ac1c0d97d2027507517c6e49704253d3b419ca7e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 17:34:46 +0100 Subject: [PATCH 567/626] [license] Prevent single item from expanding - the last item would expand vertically to fill the scroll area; add a spacer that pushes against it --- src/modules/license/LicensePage.cpp | 1 + src/modules/license/LicenseWidget.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 526820920..237e8d0dc 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -137,6 +137,7 @@ LicensePage::setEntries( const QList< LicenseEntry >& entriesList ) m_entries.append( w ); m_allLicensesOptional &= !entry.isRequired(); } + ui->licenseEntriesLayout->addSpacerItem( new QSpacerItem( 10, 10, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); ui->acceptCheckBox->setChecked( false ); checkAcceptance( false ); diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index 4fb338d46..b78972c00 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -68,6 +68,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) QVBoxLayout* vLayout = new QVBoxLayout; QWidget* topPart = new QWidget( this ); + topPart->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); vLayout->addWidget( topPart ); QHBoxLayout* wiLayout = new QHBoxLayout; @@ -102,6 +103,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) m_licenceTextLabel->setText( tr( "URL: %1" ).arg( m_entry.m_url.toDisplayString() ) ); connect( m_viewLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::viewClicked ); } + m_licenceTextLabel->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); vLayout->addWidget( m_licenceTextLabel ); setLayout( vLayout ); From 7d88b6d0cdf1e6cda60f308162917b0cdcd7e54d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 20:47:32 +0100 Subject: [PATCH 568/626] [license] Show filenames as filenames - Use File: to display filenames, rather than URL: plus a file:-scheme - Document the change in CHANGES --- CHANGES | 4 ++- src/modules/license/LicenseWidget.cpp | 36 +++++++++++++++------------ src/modules/license/LicenseWidget.h | 1 + 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/CHANGES b/CHANGES index 1f721faca..b82024769 100644 --- a/CHANGES +++ b/CHANGES @@ -12,7 +12,9 @@ This release contains contributions from (alphabetically by first name): - No changes to core functionality. ## Modules ## - - No changes to modules. + - The *license* module has seen a significant change to its looks. + Actions are now labeled more clearly, and the URL (or filename) + for each license is displayed. # 3.2.17.1 (2019-12-02) # diff --git a/src/modules/license/LicenseWidget.cpp b/src/modules/license/LicenseWidget.cpp index b78972c00..09d2230e5 100644 --- a/src/modules/license/LicenseWidget.cpp +++ b/src/modules/license/LicenseWidget.cpp @@ -88,14 +88,7 @@ LicenseWidget::LicenseWidget( LicenseEntry entry, QWidget* parent ) if ( m_entry.isLocal() ) { m_fullTextContents = loadLocalFile( m_entry.m_url ); - if ( m_isExpanded ) - { - m_licenceTextLabel->setText( m_fullTextContents ); - } - else - { - m_licenceTextLabel->setText( tr( "URL: %1" ).arg( m_entry.m_url.toDisplayString() ) ); - } + showLocalLicenseText(); connect( m_viewLicenseButton, &QAbstractButton::clicked, this, &LicenseWidget::expandClicked ); } else @@ -161,6 +154,24 @@ LicenseWidget::retranslateUi() updateExpandToolTip(); } +void +LicenseWidget::showLocalLicenseText() +{ + if ( m_isExpanded ) + { + m_licenceTextLabel->setText( m_fullTextContents ); + } + else + { + QString fileName = m_entry.m_url.toDisplayString(); + if ( fileName.startsWith( "file:" ) ) + { + fileName = fileName.remove( 0, 5 ); + } + m_licenceTextLabel->setText( tr( "File: %1" ).arg( fileName ) ); + } +} + void LicenseWidget::expandClicked() { @@ -168,14 +179,7 @@ LicenseWidget::expandClicked() // Show/hide based on the new arrow direction. if ( !m_fullTextContents.isEmpty() ) { - if ( m_isExpanded ) - { - m_licenceTextLabel->setText( m_fullTextContents ); - } - else - { - m_licenceTextLabel->setText( tr( "URL: %1" ).arg( m_entry.m_url.toDisplayString() ) ); - } + showLocalLicenseText(); } updateExpandToolTip(); diff --git a/src/modules/license/LicenseWidget.h b/src/modules/license/LicenseWidget.h index ffbb9d3c3..a386ae353 100644 --- a/src/modules/license/LicenseWidget.h +++ b/src/modules/license/LicenseWidget.h @@ -38,6 +38,7 @@ public: void retranslateUi(); private: + void showLocalLicenseText(); // Display (or hide) the local license text void expandClicked(); // "slot" to toggle show/hide of local license text void viewClicked(); // "slot" to open link void updateExpandToolTip(); From b2c2255f6a7c73e796397ecfa9e5886e8c6e9afb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 21:46:10 +0100 Subject: [PATCH 569/626] [libcalamares] Add a model of timezone regions --- src/libcalamares/locale/TimeZone.cpp | 86 ++++++++++++++++++++++++++++ src/libcalamares/locale/TimeZone.h | 23 ++++++++ 2 files changed, 109 insertions(+) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 420344ed7..75d1e8e38 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -18,8 +18,14 @@ #include "TimeZone.h" +#include +#include +#include + #include +static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab"; + namespace CalamaresUtils { namespace Locale @@ -27,6 +33,8 @@ namespace Locale CStringPair::CStringPair( CStringPair&& t ) + : m_human( nullptr ) + , m_key( nullptr ) { // My pointers are initialized to nullptr std::swap( m_human, t.m_human ); @@ -94,5 +102,83 @@ TZZone::tr() const return QObject::tr( m_human, "tz_names" ); } +TZRegionModel::TZRegionModel() +{ + + QFile file( TZ_DATA_FILE ); + if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { + return; + } + + QStringList regions; + + QTextStream in( &file ); + while ( !in.atEnd() ) + { + QString line = in.readLine().trimmed().split( '#', QString::KeepEmptyParts ).first().trimmed(); + if ( line.isEmpty() ) + { + continue; + } + + QStringList list = line.split( QRegExp( "[\t ]" ), QString::SkipEmptyParts ); + if ( list.size() < 3 ) + { + continue; + } + + QStringList timezoneParts = list.at( 2 ).split( '/', QString::SkipEmptyParts ); + if ( timezoneParts.size() < 2 ) + { + continue; + } + + QString region = timezoneParts.first().trimmed(); + ; + if ( region.isEmpty() ) + { + continue; + } + + if ( !regions.contains( region ) ) + { + regions.append( region ); + } + } + + m_regions.reserve( regions.length() ); + for ( int i = 0; i < regions.length(); ++i ) + { + m_regions.append( TZRegion( regions[ i ].toUtf8().data() ) ); + } +} + +TZRegionModel::~TZRegionModel() {} + +int +TZRegionModel::rowCount( const QModelIndex& parent ) const +{ + return m_regions.count(); +} + +QVariant +TZRegionModel::data( const QModelIndex& index, int role ) const +{ + if ( role != LabelRole ) + { + return QVariant(); + } + + if ( !index.isValid() ) + { + return QVariant(); + } + + const TZRegion& region = m_regions.at( index.row() ); + return region.tr(); +} + + } // namespace Locale } // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 8bba1c45d..c08aa6499 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -19,6 +19,9 @@ #ifndef LOCALE_TIMEZONE_H #define LOCALE_TIMEZONE_H +#include "DllMacro.h" + +#include #include #include @@ -72,6 +75,26 @@ public: QString tr() const override; }; +class DLLEXPORT TZRegionModel : public QAbstractListModel +{ +public: + enum + { + LabelRole = Qt::DisplayRole + }; + + /// @brief Create from the zone.tab file + TZRegionModel(); + virtual ~TZRegionModel() override; + + int rowCount( const QModelIndex& parent ) const override; + + QVariant data( const QModelIndex& index, int role ) const override; + +private: + QVector< TZRegion > m_regions; +}; + } // namespace Locale } // namespace CalamaresUtils From b29b89579e3ed49c90cb820fd20b8e386b4438f7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 15:55:04 -0500 Subject: [PATCH 570/626] [libcalamares] Present TZ regions in consistent order --- src/libcalamares/locale/TimeZone.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 75d1e8e38..9a8c605a1 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -146,6 +146,7 @@ TZRegionModel::TZRegionModel() regions.append( region ); } } + regions.sort(); m_regions.reserve( regions.length() ); for ( int i = 0; i < regions.length(); ++i ) From 1d17cf5c778ba497b906102efdb423dbf9c27279 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 17:20:46 -0400 Subject: [PATCH 571/626] [libcalamares] Accessors for key and complete region data --- src/libcalamares/locale/TimeZone.cpp | 9 +++++++++ src/libcalamares/locale/TimeZone.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 9a8c605a1..eb82bb3fa 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -180,6 +180,15 @@ TZRegionModel::data( const QModelIndex& index, int role ) const return region.tr(); } +const TZRegion& +TZRegionModel::region( int index ) const +{ + if ( ( index < 0 ) || ( index >= m_regions.count() ) ) + { + index = 0; + } + return m_regions[ index ]; +} } // namespace Locale } // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index c08aa6499..98d87b1b4 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -54,6 +54,8 @@ public: /// @brief Give the localized human-readable form virtual QString tr() const = 0; + const char* key() const { return m_key; } + protected: char* m_human = nullptr; char* m_key = nullptr; @@ -91,6 +93,8 @@ public: QVariant data( const QModelIndex& index, int role ) const override; + const TZRegion& region( int index ) const; + private: QVector< TZRegion > m_regions; }; From 97235e9b3d657f5e932b317209dff7984ea87c8f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 10:11:08 +0100 Subject: [PATCH 572/626] [libcalamares] Switch CStringPair key to QString - the key is used in various places as a key for Qt data structures, so it's more convenient to have QString than a bare char* --- src/libcalamares/locale/TimeZone.cpp | 7 +++---- src/libcalamares/locale/TimeZone.h | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index eb82bb3fa..e04423f8a 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -34,7 +34,7 @@ namespace Locale CStringPair::CStringPair( CStringPair&& t ) : m_human( nullptr ) - , m_key( nullptr ) + , m_key() { // My pointers are initialized to nullptr std::swap( m_human, t.m_human ); @@ -43,7 +43,7 @@ CStringPair::CStringPair( CStringPair&& t ) CStringPair::CStringPair( const CStringPair& t ) : m_human( t.m_human ? strdup( t.m_human ) : nullptr ) - , m_key( t.m_key ? strdup( t.m_key ) : nullptr ) + , m_key( t.m_key ) { } @@ -76,7 +76,7 @@ munge( const char* s ) CStringPair::CStringPair( const char* s1 ) : m_human( s1 ? munge( s1 ) : nullptr ) - , m_key( s1 ? strdup( s1 ) : nullptr ) + , m_key( s1 ? QString( s1 ) : QString() ) { } @@ -84,7 +84,6 @@ CStringPair::CStringPair( const char* s1 ) CStringPair::~CStringPair() { free( m_human ); - free( m_key ); } diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 98d87b1b4..844e94a47 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -54,11 +54,11 @@ public: /// @brief Give the localized human-readable form virtual QString tr() const = 0; - const char* key() const { return m_key; } + QString key() const { return m_key; } protected: char* m_human = nullptr; - char* m_key = nullptr; + QString m_key; }; /// @brief A pair of strings for timezone regions (e.g. "America") From 2625bb18df7b0a6a6edeb07220dcec71551a2a1a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 11:27:02 +0200 Subject: [PATCH 573/626] [libcalamares] TZRegionModel gets a data role --- src/libcalamares/locale/TimeZone.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index e04423f8a..97795ab84 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -165,7 +165,7 @@ TZRegionModel::rowCount( const QModelIndex& parent ) const QVariant TZRegionModel::data( const QModelIndex& index, int role ) const { - if ( role != LabelRole ) + if ( ( role != LabelRole ) && ( role != Qt::UserRole ) ) { return QVariant(); } @@ -176,7 +176,7 @@ TZRegionModel::data( const QModelIndex& index, int role ) const } const TZRegion& region = m_regions.at( index.row() ); - return region.tr(); + return role == LabelRole ? region.tr() : region.key(); } const TZRegion& From afb5430c42b127542c6d499c8454dc9041fb04e4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 11:30:48 +0200 Subject: [PATCH 574/626] [locale] Use TZRegionModel - instead of populating combo box with texts, use the model read in from zone.tab - this **partly** deprecates the LocaleGlobal stuff --- src/modules/locale/LocalePage.cpp | 20 +++++++------------- src/modules/locale/LocalePage.h | 5 +++++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index fc715e3f3..402351acf 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -28,6 +28,7 @@ #include "Settings.h" #include "locale/Label.h" +#include "locale/TimeZone.h" #include "utils/CalamaresUtilsGui.h" #include "utils/Logger.h" #include "utils/Retranslator.h" @@ -143,8 +144,8 @@ containsLocation( const QList< LocaleGlobal::Location >& locations, const QStrin void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { - m_regionCombo->blockSignals( true ); - m_zoneCombo->blockSignals( true ); + m_regionModel.reset( new CalamaresUtils::Locale::TZRegionModel ); + m_regionCombo->setModel( m_regionModel.get() ); // Setup locations QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); @@ -152,14 +153,6 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons QStringList keys = regions.keys(); keys.sort(); - foreach ( const QString& key, keys ) - { - m_regionCombo->addItem( LocaleGlobal::Location::pretty( key ), key ); - } - - m_regionCombo->blockSignals( false ); - m_zoneCombo->blockSignals( false ); - m_regionCombo->currentIndexChanged( m_regionCombo->currentIndex() ); if ( keys.contains( initialRegion ) && containsLocation( regions.value( initialRegion ), initialZone ) ) @@ -402,13 +395,14 @@ LocalePage::updateGlobalStorage() updateLocaleLabels(); } - void LocalePage::regionChanged( int currentIndex ) { Q_UNUSED( currentIndex ) + QString selectedRegion = m_regionCombo->currentData().toString(); + QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); - if ( !regions.contains( m_regionCombo->currentData().toString() ) ) + if ( !regions.contains( selectedRegion ) ) { return; } @@ -417,7 +411,7 @@ LocalePage::regionChanged( int currentIndex ) m_zoneCombo->clear(); - const QList< LocaleGlobal::Location > zones = regions.value( m_regionCombo->currentData().toString() ); + const QList< LocaleGlobal::Location > zones = regions.value( selectedRegion ); for ( const LocaleGlobal::Location& zone : zones ) { m_zoneCombo->addItem( LocaleGlobal::Location::pretty( zone.zone ), zone.zone ); diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 73097252b..f4d352ccf 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -24,9 +24,12 @@ #include "timezonewidget/localeglobal.h" #include "Job.h" +#include "locale/TimeZone.h" #include +#include + class QComboBox; class QLabel; class QPushButton; @@ -71,6 +74,8 @@ private: void changeLocale(); void changeFormats(); + std::unique_ptr< CalamaresUtils::Locale::TZRegionModel > m_regionModel; + TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; QComboBox* m_zoneCombo; From 01bba7b4668954ffdbb328da961e72bd21887c20 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 23:36:05 -1100 Subject: [PATCH 575/626] [libcalamares] Make explicit when a model comes from a file --- src/libcalamares/locale/TimeZone.cpp | 24 ++++++++++++++++++------ src/libcalamares/locale/TimeZone.h | 9 ++++++++- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 97795ab84..86ecd4097 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -101,13 +101,23 @@ TZZone::tr() const return QObject::tr( m_human, "tz_names" ); } -TZRegionModel::TZRegionModel() -{ +TZRegionModel::TZRegionModel() {} - QFile file( TZ_DATA_FILE ); +std::shared_ptr< TZRegionModel > +TZRegionModel::fromZoneTab() +{ + return TZRegionModel::fromFile( TZ_DATA_FILE ); +} + +std::shared_ptr< TZRegionModel > +TZRegionModel::fromFile( const char* fileName ) +{ + auto model = std::make_shared< TZRegionModel >(); + + QFile file( fileName ); if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) { - return; + return model; } QStringList regions; @@ -147,11 +157,13 @@ TZRegionModel::TZRegionModel() } regions.sort(); - m_regions.reserve( regions.length() ); + model->m_regions.reserve( regions.length() ); for ( int i = 0; i < regions.length(); ++i ) { - m_regions.append( TZRegion( regions[ i ].toUtf8().data() ) ); + model->m_regions.append( TZRegion( regions[ i ].toUtf8().data() ) ); } + + return model; } TZRegionModel::~TZRegionModel() {} diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 844e94a47..ef3ba2477 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -25,6 +25,8 @@ #include #include +#include + namespace CalamaresUtils { namespace Locale @@ -85,10 +87,15 @@ public: LabelRole = Qt::DisplayRole }; - /// @brief Create from the zone.tab file + /// @brief Create empty model (useless) TZRegionModel(); virtual ~TZRegionModel() override; + /// @brief Create model from a zone.tab-like file + static std::shared_ptr< TZRegionModel > fromFile( const char* fileName ); + /// @brief Calls fromFile with the standard zone.tab name + static std::shared_ptr< TZRegionModel > fromZoneTab(); + int rowCount( const QModelIndex& parent ) const override; QVariant data( const QModelIndex& index, int role ) const override; From 9f06903115ab46660154a3ce286320903fecc3fc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 9 Dec 2019 23:36:32 -1100 Subject: [PATCH 576/626] [local] Chase API change in TZRegionModel --- src/modules/locale/LocalePage.cpp | 2 +- src/modules/locale/LocalePage.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 402351acf..5dfad3516 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -144,7 +144,7 @@ containsLocation( const QList< LocaleGlobal::Location >& locations, const QStrin void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { - m_regionModel.reset( new CalamaresUtils::Locale::TZRegionModel ); + m_regionModel = CalamaresUtils::Locale::TZRegionModel::fromZoneTab(); m_regionCombo->setModel( m_regionModel.get() ); // Setup locations diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index f4d352ccf..e918076d9 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -74,7 +74,7 @@ private: void changeLocale(); void changeFormats(); - std::unique_ptr< CalamaresUtils::Locale::TZRegionModel > m_regionModel; + std::shared_ptr< CalamaresUtils::Locale::TZRegionModel > m_regionModel; TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; From 9a5e614172ccdbe213ab3a13bb9f5d9375289bbd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 17:24:33 +0630 Subject: [PATCH 577/626] [libcalamares] Build the TZRegion list in one pass - read the file and create the regions on-the-fly, then sort the resulting list (instead of building a string list and then building the regions afterwards) --- src/libcalamares/locale/TimeZone.cpp | 23 ++++++++++++----------- src/libcalamares/locale/TimeZone.h | 6 ++++-- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 86ecd4097..c03afd833 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -120,6 +120,7 @@ TZRegionModel::fromFile( const char* fileName ) return model; } + model->m_regions.reserve( 12 ); // There's 10 in the file right now QStringList regions; QTextStream in( &file ); @@ -153,20 +154,20 @@ TZRegionModel::fromFile( const char* fileName ) if ( !regions.contains( region ) ) { regions.append( region ); + model->m_regions.append( new TZRegion( region.toUtf8().data() ) ); } } - regions.sort(); - - model->m_regions.reserve( regions.length() ); - for ( int i = 0; i < regions.length(); ++i ) - { - model->m_regions.append( TZRegion( regions[ i ].toUtf8().data() ) ); - } + std::sort( model->m_regions.begin(), model->m_regions.end(), []( const TZRegion* l, const TZRegion* r ) { + return *l < *r; + } ); return model; } -TZRegionModel::~TZRegionModel() {} +TZRegionModel::~TZRegionModel() +{ + qDeleteAll( m_regions ); +} int TZRegionModel::rowCount( const QModelIndex& parent ) const @@ -187,11 +188,11 @@ TZRegionModel::data( const QModelIndex& index, int role ) const return QVariant(); } - const TZRegion& region = m_regions.at( index.row() ); - return role == LabelRole ? region.tr() : region.key(); + const TZRegion* region = m_regions.at( index.row() ); + return role == LabelRole ? region->tr() : region->key(); } -const TZRegion& +const TZRegion* TZRegionModel::region( int index ) const { if ( ( index < 0 ) || ( index >= m_regions.count() ) ) diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index ef3ba2477..db54292c9 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -69,6 +69,8 @@ class TZRegion : public CStringPair public: using CStringPair::CStringPair; QString tr() const override; + + bool operator<( const TZRegion& other ) const { return m_key < other.m_key; } }; /// @brief A pair of strings for specific timezone names (e.g. "New_York") @@ -100,10 +102,10 @@ public: QVariant data( const QModelIndex& index, int role ) const override; - const TZRegion& region( int index ) const; + const TZRegion* region( int index ) const; private: - QVector< TZRegion > m_regions; + QList< TZRegion* > m_regions; }; } // namespace Locale From da277fa7baec275ce95247f400d680971f9f2942 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 17:42:32 +0630 Subject: [PATCH 578/626] [libcalamares] Drop superfluous enum --- src/libcalamares/locale/TimeZone.cpp | 4 ++-- src/libcalamares/locale/TimeZone.h | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index c03afd833..8144a407b 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -178,7 +178,7 @@ TZRegionModel::rowCount( const QModelIndex& parent ) const QVariant TZRegionModel::data( const QModelIndex& index, int role ) const { - if ( ( role != LabelRole ) && ( role != Qt::UserRole ) ) + if ( ( role != Qt::DisplayRole ) && ( role != Qt::UserRole ) ) { return QVariant(); } @@ -189,7 +189,7 @@ TZRegionModel::data( const QModelIndex& index, int role ) const } const TZRegion* region = m_regions.at( index.row() ); - return role == LabelRole ? region->tr() : region->key(); + return role == Qt::DisplayRole ? region->tr() : region->key(); } const TZRegion* diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index db54292c9..4311997a4 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -84,11 +84,6 @@ public: class DLLEXPORT TZRegionModel : public QAbstractListModel { public: - enum - { - LabelRole = Qt::DisplayRole - }; - /// @brief Create empty model (useless) TZRegionModel(); virtual ~TZRegionModel() override; From f4509f3380ed67ce2ea0157676dafa7e533bb17d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 10:45:56 -0100 Subject: [PATCH 579/626] [libcalamares] Move loading to TZRegion - don't make the model load files, provide convenience functions for loading in the value classes - create model from lists of value pointers --- src/libcalamares/locale/TimeZone.cpp | 42 +++++++++++++++------------- src/libcalamares/locale/TimeZone.h | 32 ++++++++++++++++----- src/modules/locale/LocalePage.cpp | 8 ++++-- src/modules/locale/LocalePage.h | 3 +- 4 files changed, 55 insertions(+), 30 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 8144a407b..784d77b9c 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -94,25 +94,21 @@ TZRegion::tr() const return QObject::tr( m_human, "tz_regions" ); } -QString -TZZone::tr() const +TZRegion::~TZRegion() { - // NOTE: context name must match what's used in zone-extractor.py - return QObject::tr( m_human, "tz_names" ); + qDeleteAll( m_zones ); } -TZRegionModel::TZRegionModel() {} - -std::shared_ptr< TZRegionModel > -TZRegionModel::fromZoneTab() +TZRegionList +TZRegion::fromZoneTab() { - return TZRegionModel::fromFile( TZ_DATA_FILE ); + return TZRegion::fromFile( TZ_DATA_FILE ); } -std::shared_ptr< TZRegionModel > -TZRegionModel::fromFile( const char* fileName ) +TZRegionList +TZRegion::fromFile( const char* fileName ) { - auto model = std::make_shared< TZRegionModel >(); + TZRegionList model; QFile file( fileName ); if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) @@ -120,7 +116,6 @@ TZRegionModel::fromFile( const char* fileName ) return model; } - model->m_regions.reserve( 12 ); // There's 10 in the file right now QStringList regions; QTextStream in( &file ); @@ -154,21 +149,28 @@ TZRegionModel::fromFile( const char* fileName ) if ( !regions.contains( region ) ) { regions.append( region ); - model->m_regions.append( new TZRegion( region.toUtf8().data() ) ); + model.append( new TZRegion( region.toUtf8().data() ) ); } } - std::sort( model->m_regions.begin(), model->m_regions.end(), []( const TZRegion* l, const TZRegion* r ) { - return *l < *r; - } ); + std::sort( model.begin(), model.end(), []( const TZRegion* l, const TZRegion* r ) { return *l < *r; } ); return model; } -TZRegionModel::~TZRegionModel() +QString +TZZone::tr() const { - qDeleteAll( m_regions ); + // NOTE: context name must match what's used in zone-extractor.py + return QObject::tr( m_human, "tz_names" ); } +TZRegionModel::TZRegionModel( TZRegionList l ) + : m_regions( l ) +{ +} + +TZRegionModel::~TZRegionModel() {} + int TZRegionModel::rowCount( const QModelIndex& parent ) const { @@ -197,7 +199,7 @@ TZRegionModel::region( int index ) const { if ( ( index < 0 ) || ( index >= m_regions.count() ) ) { - index = 0; + return nullptr; } return m_regions[ index ]; } diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 4311997a4..ff92141fa 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -63,14 +63,35 @@ protected: QString m_key; }; +class TZZone; +class TZRegion; +using TZZoneList = QList< TZZone* >; +using TZRegionList = QList< TZRegion* >; + /// @brief A pair of strings for timezone regions (e.g. "America") class TZRegion : public CStringPair { public: using CStringPair::CStringPair; + virtual ~TZRegion(); QString tr() const override; bool operator<( const TZRegion& other ) const { return m_key < other.m_key; } + + /** @brief Create model from a zone.tab-like file + * + * Returns a list of all the regions; each region has a list + * of zones within that region. + * + * The list owns the regions, and the regions own their own list of zones. + * When getting rid of the list, remember to qDeleteAll() on it. + */ + static TZRegionList fromFile( const char* fileName ); + /// @brief Calls fromFile with the standard zone.tab name + static TZRegionList fromZoneTab(); + +private: + TZZoneList m_zones; }; /// @brief A pair of strings for specific timezone names (e.g. "New_York") @@ -84,15 +105,12 @@ public: class DLLEXPORT TZRegionModel : public QAbstractListModel { public: - /// @brief Create empty model (useless) + /// @brief Create empty model TZRegionModel(); + /// @brief Create model from list (non-owning) + TZRegionModel( TZRegionList ); virtual ~TZRegionModel() override; - /// @brief Create model from a zone.tab-like file - static std::shared_ptr< TZRegionModel > fromFile( const char* fileName ); - /// @brief Calls fromFile with the standard zone.tab name - static std::shared_ptr< TZRegionModel > fromZoneTab(); - int rowCount( const QModelIndex& parent ) const override; QVariant data( const QModelIndex& index, int role ) const override; @@ -100,7 +118,7 @@ public: const TZRegion* region( int index ) const; private: - QList< TZRegion* > m_regions; + TZRegionList m_regions; }; } // namespace Locale diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 5dfad3516..e5d14027f 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -110,7 +110,10 @@ LocalePage::LocalePage( QWidget* parent ) } -LocalePage::~LocalePage() {} +LocalePage::~LocalePage() +{ + qDeleteAll( m_regionList ); +} void @@ -144,7 +147,8 @@ containsLocation( const QList< LocaleGlobal::Location >& locations, const QStrin void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { - m_regionModel = CalamaresUtils::Locale::TZRegionModel::fromZoneTab(); + m_regionList = CalamaresUtils::Locale::TZRegion::fromZoneTab(); + m_regionModel = std::make_unique< CalamaresUtils::Locale::TZRegionModel >( m_regionList ); m_regionCombo->setModel( m_regionModel.get() ); // Setup locations diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index e918076d9..07f9fe0f2 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -74,7 +74,8 @@ private: void changeLocale(); void changeFormats(); - std::shared_ptr< CalamaresUtils::Locale::TZRegionModel > m_regionModel; + CalamaresUtils::Locale::TZRegionList m_regionList; + std::unique_ptr< CalamaresUtils::Locale::TZRegionModel > m_regionModel; TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; From 1a8439069e2706e25b9ef4bd09049d375b42d418 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 15:36:53 +0200 Subject: [PATCH 580/626] [libcalamares] Extend TZ with location and country --- src/libcalamares/locale/TimeZone.cpp | 60 ++++++++++++++++++++++++++++ src/libcalamares/locale/TimeZone.h | 17 ++++++++ 2 files changed, 77 insertions(+) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 784d77b9c..4bf23150a 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -18,6 +18,8 @@ #include "TimeZone.h" +#include "utils/Logger.h" + #include #include #include @@ -26,6 +28,35 @@ static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab"; +static double +getRightGeoLocation( QString str ) +{ + double sign = 1, num = 0.00; + + // Determine sign + if ( str.startsWith( '-' ) ) + { + sign = -1; + str.remove( 0, 1 ); + } + else if ( str.startsWith( '+' ) ) + { + str.remove( 0, 1 ); + } + + if ( str.length() == 4 || str.length() == 6 ) + { + num = str.mid( 0, 2 ).toDouble() + str.mid( 2, 2 ).toDouble() / 60.0; + } + else if ( str.length() == 5 || str.length() == 7 ) + { + num = str.mid( 0, 3 ).toDouble() + str.mid( 3, 2 ).toDouble() / 60.0; + } + + return sign * num; +} + + namespace CalamaresUtils { namespace Locale @@ -151,12 +182,34 @@ TZRegion::fromFile( const char* fileName ) regions.append( region ); model.append( new TZRegion( region.toUtf8().data() ) ); } + + QString countryCode = list.at( 0 ).trimmed(); + if ( countryCode.size() != 2 ) + { + continue; + } + + timezoneParts.removeFirst(); + TZZone z( timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ); + cDebug() << "Region" << region << z; } std::sort( model.begin(), model.end(), []( const TZRegion* l, const TZRegion* r ) { return *l < *r; } ); return model; } +TZZone::TZZone( const char* zoneName, const QString& country, QString position ) + : CStringPair( zoneName ) + , m_country( country ) +{ + int cooSplitPos = position.indexOf( QRegExp( "[-+]" ), 1 ); + if ( cooSplitPos > 0 ) + { + m_latitude = getRightGeoLocation( position.mid( 0, cooSplitPos ) ); + m_longitude = getRightGeoLocation( position.mid( cooSplitPos + 1 ) ); + } +} + QString TZZone::tr() const { @@ -164,6 +217,13 @@ TZZone::tr() const return QObject::tr( m_human, "tz_names" ); } +void +TZZone::print( QDebug& log ) const +{ + log << key() << '(' << m_country << ' ' << m_latitude << ',' << m_longitude << ')'; +} + + TZRegionModel::TZRegionModel( TZRegionList l ) : m_regions( l ) { diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index ff92141fa..6e4ba062d 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -21,6 +21,8 @@ #include "DllMacro.h" +#include "utils/Logger.h" + #include #include #include @@ -100,8 +102,23 @@ class TZZone : public CStringPair public: using CStringPair::CStringPair; QString tr() const override; + + TZZone( const char* zoneName, const QString& country, QString position ); + + void print( QDebug& ) const; + +protected: + QString m_country; + double m_latitude = 0.0, m_longitude = 0.0; }; +inline QDebug& +operator<<( QDebug& log, const TZZone& z ) +{ + z.print( log ); + return log; +} + class DLLEXPORT TZRegionModel : public QAbstractListModel { public: From fc8364ea549e2da518afcda2ee68074d75eb840f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 14:06:22 +0000 Subject: [PATCH 581/626] [libcalamares] Store zones with each region - move operator< to base class - add each zone to the list held by the region - sort zones at the end --- src/libcalamares/locale/TimeZone.cpp | 23 ++++++++++++++++------- src/libcalamares/locale/TimeZone.h | 4 ++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 4bf23150a..dd8ffbf41 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -147,8 +147,7 @@ TZRegion::fromFile( const char* fileName ) return model; } - QStringList regions; - + TZRegion* thisRegion = nullptr; QTextStream in( &file ); while ( !in.atEnd() ) { @@ -177,10 +176,16 @@ TZRegion::fromFile( const char* fileName ) continue; } - if ( !regions.contains( region ) ) + auto it + = std::find_if( model.begin(), model.end(), [®ion]( const TZRegion* r ) { return r->m_key == region; } ); + if ( it != model.end() ) { - regions.append( region ); - model.append( new TZRegion( region.toUtf8().data() ) ); + thisRegion = *it; + } + else + { + thisRegion = new TZRegion( region.toUtf8().data() ); + model.append( thisRegion ); } QString countryCode = list.at( 0 ).trimmed(); @@ -190,11 +195,15 @@ TZRegion::fromFile( const char* fileName ) } timezoneParts.removeFirst(); - TZZone z( timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ); - cDebug() << "Region" << region << z; + thisRegion->m_zones.append( new TZZone( timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ) ); } std::sort( model.begin(), model.end(), []( const TZRegion* l, const TZRegion* r ) { return *l < *r; } ); + for ( auto& r : model ) + { + std::sort( r->m_zones.begin(), r->m_zones.end(), []( const TZZone* l, const TZZone* r ) { return *l < *r; } ); + } + return model; } diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 6e4ba062d..896661b99 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -60,6 +60,8 @@ public: QString key() const { return m_key; } + bool operator<( const CStringPair& other ) const { return m_key < other.m_key; } + protected: char* m_human = nullptr; QString m_key; @@ -78,8 +80,6 @@ public: virtual ~TZRegion(); QString tr() const override; - bool operator<( const TZRegion& other ) const { return m_key < other.m_key; } - /** @brief Create model from a zone.tab-like file * * Returns a list of all the regions; each region has a list From 6092172f8dbdf59628d1794cefd9abc27e9a677a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 15:32:15 +0100 Subject: [PATCH 582/626] [libcalamares] Regions and zones change to QList - By using QList< CStringPair* > consistently, we can save a bunch of model code at the cost of an occasional dynamic_cast; it's fairly rare for there to be a need for the derived pointer. --- src/libcalamares/locale/TimeZone.cpp | 50 ++++++++++++++++------------ src/libcalamares/locale/TimeZone.h | 30 ++++++++--------- src/modules/locale/LocalePage.cpp | 2 +- src/modules/locale/LocalePage.h | 5 +-- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index dd8ffbf41..e2e13c828 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -130,16 +130,16 @@ TZRegion::~TZRegion() qDeleteAll( m_zones ); } -TZRegionList +CStringPairList TZRegion::fromZoneTab() { return TZRegion::fromFile( TZ_DATA_FILE ); } -TZRegionList +CStringPairList TZRegion::fromFile( const char* fileName ) { - TZRegionList model; + CStringPairList model; QFile file( fileName ); if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) @@ -176,11 +176,11 @@ TZRegion::fromFile( const char* fileName ) continue; } - auto it - = std::find_if( model.begin(), model.end(), [®ion]( const TZRegion* r ) { return r->m_key == region; } ); + auto keyMatch = [®ion]( const CStringPair* r ) { return r->key() == region; }; + auto it = std::find_if( model.begin(), model.end(), keyMatch ); if ( it != model.end() ) { - thisRegion = *it; + thisRegion = dynamic_cast< TZRegion* >( *it ); } else { @@ -195,13 +195,19 @@ TZRegion::fromFile( const char* fileName ) } timezoneParts.removeFirst(); - thisRegion->m_zones.append( new TZZone( timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ) ); + thisRegion->m_zones.append( + new TZZone( timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ) ); } - std::sort( model.begin(), model.end(), []( const TZRegion* l, const TZRegion* r ) { return *l < *r; } ); - for ( auto& r : model ) + auto sorter = []( const CStringPair* l, const CStringPair* r ) { return *l < *r; }; + std::sort( model.begin(), model.end(), sorter ); + for ( auto& it : model ) { - std::sort( r->m_zones.begin(), r->m_zones.end(), []( const TZZone* l, const TZZone* r ) { return *l < *r; } ); + TZRegion* r = dynamic_cast< TZRegion* >( it ); + if ( r ) + { + std::sort( r->m_zones.begin(), r->m_zones.end(), sorter ); + } } return model; @@ -233,21 +239,21 @@ TZZone::print( QDebug& log ) const } -TZRegionModel::TZRegionModel( TZRegionList l ) - : m_regions( l ) +CStringListModel::CStringListModel( CStringPairList l ) + : m_list( l ) { } -TZRegionModel::~TZRegionModel() {} +CStringListModel::~CStringListModel() {} int -TZRegionModel::rowCount( const QModelIndex& parent ) const +CStringListModel::rowCount( const QModelIndex& parent ) const { - return m_regions.count(); + return m_list.count(); } QVariant -TZRegionModel::data( const QModelIndex& index, int role ) const +CStringListModel::data( const QModelIndex& index, int role ) const { if ( ( role != Qt::DisplayRole ) && ( role != Qt::UserRole ) ) { @@ -259,18 +265,18 @@ TZRegionModel::data( const QModelIndex& index, int role ) const return QVariant(); } - const TZRegion* region = m_regions.at( index.row() ); - return role == Qt::DisplayRole ? region->tr() : region->key(); + const auto* item = m_list.at( index.row() ); + return item ? ( role == Qt::DisplayRole ? item->tr() : item->key() ) : QVariant(); } -const TZRegion* -TZRegionModel::region( int index ) const +const CStringPair* +CStringListModel::item( int index ) const { - if ( ( index < 0 ) || ( index >= m_regions.count() ) ) + if ( ( index < 0 ) || ( index >= m_list.count() ) ) { return nullptr; } - return m_regions[ index ]; + return m_list[ index ]; } } // namespace Locale diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 896661b99..0f09d48ca 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -57,7 +57,6 @@ public: /// @brief Give the localized human-readable form virtual QString tr() const = 0; - QString key() const { return m_key; } bool operator<( const CStringPair& other ) const { return m_key < other.m_key; } @@ -67,10 +66,7 @@ protected: QString m_key; }; -class TZZone; -class TZRegion; -using TZZoneList = QList< TZZone* >; -using TZRegionList = QList< TZRegion* >; +using CStringPairList = QList< CStringPair* >; /// @brief A pair of strings for timezone regions (e.g. "America") class TZRegion : public CStringPair @@ -80,20 +76,22 @@ public: virtual ~TZRegion(); QString tr() const override; - /** @brief Create model from a zone.tab-like file + /** @brief Create list from a zone.tab-like file * * Returns a list of all the regions; each region has a list - * of zones within that region. + * of zones within that region. Dyamically, the items in the + * returned list are TZRegions; their zones dynamically are + * TZZones even though all those lists have type CStringPairList. * * The list owns the regions, and the regions own their own list of zones. * When getting rid of the list, remember to qDeleteAll() on it. */ - static TZRegionList fromFile( const char* fileName ); + static CStringPairList fromFile( const char* fileName ); /// @brief Calls fromFile with the standard zone.tab name - static TZRegionList fromZoneTab(); + static CStringPairList fromZoneTab(); private: - TZZoneList m_zones; + CStringPairList m_zones; }; /// @brief A pair of strings for specific timezone names (e.g. "New_York") @@ -119,23 +117,23 @@ operator<<( QDebug& log, const TZZone& z ) return log; } -class DLLEXPORT TZRegionModel : public QAbstractListModel +class CStringListModel : public QAbstractListModel { public: /// @brief Create empty model - TZRegionModel(); + CStringListModel(); /// @brief Create model from list (non-owning) - TZRegionModel( TZRegionList ); - virtual ~TZRegionModel() override; + CStringListModel( CStringPairList ); + virtual ~CStringListModel() override; int rowCount( const QModelIndex& parent ) const override; QVariant data( const QModelIndex& index, int role ) const override; - const TZRegion* region( int index ) const; + const CStringPair* item( int index ) const; private: - TZRegionList m_regions; + CStringPairList m_list; }; } // namespace Locale diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index e5d14027f..bce12e817 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -148,7 +148,7 @@ void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { m_regionList = CalamaresUtils::Locale::TZRegion::fromZoneTab(); - m_regionModel = std::make_unique< CalamaresUtils::Locale::TZRegionModel >( m_regionList ); + m_regionModel = std::make_unique< CalamaresUtils::Locale::CStringListModel >( m_regionList ); m_regionCombo->setModel( m_regionModel.get() ); // Setup locations diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 07f9fe0f2..7c2eba253 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -74,8 +74,9 @@ private: void changeLocale(); void changeFormats(); - CalamaresUtils::Locale::TZRegionList m_regionList; - std::unique_ptr< CalamaresUtils::Locale::TZRegionModel > m_regionModel; + // Dynamically, QList< TZRegion* > + CalamaresUtils::Locale::CStringPairList m_regionList; + std::unique_ptr< CalamaresUtils::Locale::CStringListModel > m_regionModel; TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; From c75e87007317b142267338df657b1fa078a6deb1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 15:54:43 +0100 Subject: [PATCH 583/626] [libcalamares] CStringList::find() convenience function - search for a key and return a type-cast pointer to the result - while here, simplify some other code - the find() function could be done with std::find_if but doesn't get any shorter or more elegant --- src/libcalamares/locale/TimeZone.h | 19 ++++++++++++++++++- src/modules/locale/LocalePage.cpp | 10 +++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 0f09d48ca..86ddd516e 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -66,7 +66,22 @@ protected: QString m_key; }; -using CStringPairList = QList< CStringPair* >; +class CStringPairList : public QList< CStringPair* > +{ +public: + template < typename T > + T* find( const QString& key ) const + { + for ( auto* p : *this ) + { + if ( p->key() == key ) + { + return dynamic_cast< T* >( p ); + } + } + return nullptr; + } +}; /// @brief A pair of strings for timezone regions (e.g. "America") class TZRegion : public CStringPair @@ -90,6 +105,8 @@ public: /// @brief Calls fromFile with the standard zone.tab name static CStringPairList fromZoneTab(); + const CStringPairList& zones() const { return m_zones; } + private: CStringPairList m_zones; }; diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index bce12e817..4bda31d00 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -147,10 +147,13 @@ containsLocation( const QList< LocaleGlobal::Location >& locations, const QStrin void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { - m_regionList = CalamaresUtils::Locale::TZRegion::fromZoneTab(); - m_regionModel = std::make_unique< CalamaresUtils::Locale::CStringListModel >( m_regionList ); + using namespace CalamaresUtils::Locale; + + m_regionList = TZRegion::fromZoneTab(); + m_regionModel = std::make_unique< CStringListModel >( m_regionList ); m_regionCombo->setModel( m_regionModel.get() ); + // Setup locations QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); @@ -159,7 +162,8 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons m_regionCombo->currentIndexChanged( m_regionCombo->currentIndex() ); - if ( keys.contains( initialRegion ) && containsLocation( regions.value( initialRegion ), initialZone ) ) + auto* region = m_regionList.find< TZRegion >( initialRegion ); + if ( region && region->zones().find< TZZone >( initialZone ) ) { m_tzWidget->setCurrentLocation( initialRegion, initialZone ); } From 226530cf6fc2b26b2d41c811d70f82643d44652b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 01:04:09 +1000 Subject: [PATCH 584/626] [locale] Use model functions from locale service - drop the home-grown combo-box filling, use model --- src/modules/locale/LocalePage.cpp | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 4bda31d00..3bfb9bba1 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -152,14 +152,6 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons m_regionList = TZRegion::fromZoneTab(); m_regionModel = std::make_unique< CStringListModel >( m_regionList ); m_regionCombo->setModel( m_regionModel.get() ); - - - // Setup locations - QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); - - QStringList keys = regions.keys(); - keys.sort(); - m_regionCombo->currentIndexChanged( m_regionCombo->currentIndex() ); auto* region = m_regionList.find< TZRegion >( initialRegion ); @@ -406,29 +398,20 @@ LocalePage::updateGlobalStorage() void LocalePage::regionChanged( int currentIndex ) { + using namespace CalamaresUtils::Locale; + Q_UNUSED( currentIndex ) QString selectedRegion = m_regionCombo->currentData().toString(); - QHash< QString, QList< LocaleGlobal::Location > > regions = LocaleGlobal::getLocations(); - if ( !regions.contains( selectedRegion ) ) + TZRegion* region = m_regionList.find< TZRegion >( selectedRegion ); + if ( !region ) { return; } m_zoneCombo->blockSignals( true ); - - m_zoneCombo->clear(); - - const QList< LocaleGlobal::Location > zones = regions.value( selectedRegion ); - for ( const LocaleGlobal::Location& zone : zones ) - { - m_zoneCombo->addItem( LocaleGlobal::Location::pretty( zone.zone ), zone.zone ); - } - - m_zoneCombo->model()->sort( 0 ); - + m_zoneCombo->setModel( new CStringListModel( region->zones() ) ); m_zoneCombo->blockSignals( false ); - m_zoneCombo->currentIndexChanged( m_zoneCombo->currentIndex() ); } From a39c77dfaf0acda6746d3f29ab4a2197d9c5b4d7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 01:11:51 +1000 Subject: [PATCH 585/626] [libcalamares] Store region name in each zone as well --- src/libcalamares/locale/TimeZone.cpp | 5 +++-- src/libcalamares/locale/TimeZone.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index e2e13c828..ea77fc39e 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -196,7 +196,7 @@ TZRegion::fromFile( const char* fileName ) timezoneParts.removeFirst(); thisRegion->m_zones.append( - new TZZone( timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ) ); + new TZZone( region, timezoneParts.join( '/' ).toUtf8().constData(), countryCode, list.at( 1 ) ) ); } auto sorter = []( const CStringPair* l, const CStringPair* r ) { return *l < *r; }; @@ -213,8 +213,9 @@ TZRegion::fromFile( const char* fileName ) return model; } -TZZone::TZZone( const char* zoneName, const QString& country, QString position ) +TZZone::TZZone( const QString& region, const char* zoneName, const QString& country, QString position ) : CStringPair( zoneName ) + , m_region( region ) , m_country( country ) { int cooSplitPos = position.indexOf( QRegExp( "[-+]" ), 1 ); diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 86ddd516e..19d0011b2 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -118,11 +118,12 @@ public: using CStringPair::CStringPair; QString tr() const override; - TZZone( const char* zoneName, const QString& country, QString position ); + TZZone( const QString& region, const char* zoneName, const QString& country, QString position ); void print( QDebug& ) const; protected: + QString m_region; QString m_country; double m_latitude = 0.0, m_longitude = 0.0; }; From 4089a01cb1f30350d31d5c87aa5efc7faf262632 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 01:31:56 +1000 Subject: [PATCH 586/626] [locale] Create TZ model earlier --- src/modules/locale/LocalePage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 3bfb9bba1..ecdfb1935 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -42,6 +42,8 @@ LocalePage::LocalePage( QWidget* parent ) : QWidget( parent ) , m_blockTzWidgetSet( false ) + , m_regionList( CalamaresUtils::Locale::TZRegion::fromZoneTab() ) + , m_regionModel( std::make_unique< CalamaresUtils::Locale::CStringListModel >( m_regionList ) ) { QBoxLayout* mainLayout = new QVBoxLayout; @@ -149,8 +151,6 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons { using namespace CalamaresUtils::Locale; - m_regionList = TZRegion::fromZoneTab(); - m_regionModel = std::make_unique< CStringListModel >( m_regionList ); m_regionCombo->setModel( m_regionModel.get() ); m_regionCombo->currentIndexChanged( m_regionCombo->currentIndex() ); From 3f57b929ee2a2a6a0f7c04e4c3a33625b20bde73 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 01:43:53 +1000 Subject: [PATCH 587/626] [libcalamares] Make the zoneTab region list static - there's only one zone.tab, it won't change during a run, load it only once (this allows for a single global list). --- src/libcalamares/locale/TimeZone.cpp | 5 +++-- src/libcalamares/locale/TimeZone.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index ea77fc39e..ad09d82d5 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -130,10 +130,11 @@ TZRegion::~TZRegion() qDeleteAll( m_zones ); } -CStringPairList +const CStringPairList& TZRegion::fromZoneTab() { - return TZRegion::fromFile( TZ_DATA_FILE ); + static CStringPairList zoneTab = TZRegion::fromFile( TZ_DATA_FILE ); + return zoneTab; } CStringPairList diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 19d0011b2..dd1f9714d 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -103,7 +103,7 @@ public: */ static CStringPairList fromFile( const char* fileName ); /// @brief Calls fromFile with the standard zone.tab name - static CStringPairList fromZoneTab(); + static const CStringPairList& fromZoneTab(); const CStringPairList& zones() const { return m_zones; } From 1880eb514811c4e13c8fb9ae4b5a31a23d72ad64 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 16:10:16 +0000 Subject: [PATCH 588/626] [libcalamares] Add accessors for TZZone --- src/libcalamares/locale/TimeZone.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index dd1f9714d..73e73cf85 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -120,6 +120,11 @@ public: TZZone( const QString& region, const char* zoneName, const QString& country, QString position ); + QString region() const { return m_region; } + QString country() const { return m_country; } + double latitude() const { return m_latitude; } + double longitude() const { return m_longitude; } + void print( QDebug& ) const; protected: From 08dc9011d620dca99a13919d30464c6f9e08b8fd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 17:11:10 +0100 Subject: [PATCH 589/626] [libcalamares] Off-by-one folded the world in half - Dropped the sign from longitudes, wrapping the west onto the east --- src/libcalamares/locale/TimeZone.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index ad09d82d5..a9550ebb6 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -223,7 +223,7 @@ TZZone::TZZone( const QString& region, const char* zoneName, const QString& coun if ( cooSplitPos > 0 ) { m_latitude = getRightGeoLocation( position.mid( 0, cooSplitPos ) ); - m_longitude = getRightGeoLocation( position.mid( cooSplitPos + 1 ) ); + m_longitude = getRightGeoLocation( position.mid( cooSplitPos ) ); } } From 1e0492422449c4b6f843a71037f82832ea37e2bf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 17:29:35 +0100 Subject: [PATCH 590/626] [locale] Drop the TZ-widget's timezone database - use the global TZ service instead - contains hacks to keep some of the API unchanged, which will be removed shortly --- .../locale/timezonewidget/localeglobal.cpp | 88 +++---------------- .../locale/timezonewidget/localeglobal.h | 14 ++- .../locale/timezonewidget/timezonewidget.cpp | 77 ++++++++-------- .../locale/timezonewidget/timezonewidget.h | 7 +- 4 files changed, 68 insertions(+), 118 deletions(-) diff --git a/src/modules/locale/timezonewidget/localeglobal.cpp b/src/modules/locale/timezonewidget/localeglobal.cpp index 683b2bebc..a9c7d3077 100644 --- a/src/modules/locale/timezonewidget/localeglobal.cpp +++ b/src/modules/locale/timezonewidget/localeglobal.cpp @@ -22,6 +22,8 @@ #include "localeglobal.h" +#include "locale/TimeZone.h" + #include //### @@ -29,7 +31,6 @@ //### QHash > > LocaleGlobal::locales; -QHash > LocaleGlobal::locations; //### @@ -53,12 +54,21 @@ LocaleGlobal::Location::comment() const return qtz.comment(); } +LocaleGlobal::Location & LocaleGlobal::Location::operator=(const CalamaresUtils::Locale::TZZone& location) +{ + region = location.region(); + zone = location.key(); + country = location.country(); + latitude = location.latitude(); + longitude = location.longitude(); + return *this; +} + void LocaleGlobal::init() { // TODO: Error handling initLocales(); - initLocations(); } @@ -70,12 +80,6 @@ LocaleGlobal::getLocales() { -QHash< QString, QList< LocaleGlobal::Location > > -LocaleGlobal::getLocations() { - return locations; -} - - //### //### Private methods //### @@ -126,71 +130,3 @@ LocaleGlobal::initLocales() { locales[lang][territory].append(locale); } } - - - -void -LocaleGlobal::initLocations() { - static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab"; - - locations.clear(); - - QFile file(TZ_DATA_FILE); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - return; - - QTextStream in(&file); - while (!in.atEnd()) { - QString line = in.readLine().trimmed().split('#', QString::KeepEmptyParts).first().trimmed(); - if (line.isEmpty()) - continue; - - QStringList list = line.split(QRegExp("[\t ]"), QString::SkipEmptyParts); - if (list.size() < 3) - continue; - - Location location; - QStringList timezoneParts = list.at(2).split('/', QString::SkipEmptyParts); - int cooSplitPos = QString(list.at(1)).remove(0, 1).indexOf(QRegExp("[-+]")) + 1; - - if (timezoneParts.size() < 2) - continue; - - QString countryCode = list.at(0).trimmed(); - if (countryCode.size() != 2) - continue; - - location.region = timezoneParts.takeFirst(); - location.zone = timezoneParts.join( '/' ); - location.latitude = getRightGeoLocation(list.at(1).mid(0, cooSplitPos)); - location.longitude = getRightGeoLocation(list.at(1).mid(cooSplitPos)); - location.country = countryCode; - - locations[location.region].append(location); - } -} - - - -double -LocaleGlobal::getRightGeoLocation(QString str) { - double sign = 1, num = 0.00; - - // Determind sign - if (str.startsWith('-')) { - sign = -1; - str.remove(0, 1); - } - else if (str.startsWith('+')) { - str.remove(0, 1); - } - - - if (str.length() == 4 || str.length() == 6) - num = str.mid(0, 2).toDouble() + str.mid(2, 2).toDouble() / 60; - else if (str.length() == 5 || str.length() == 7) - num = str.mid(0, 3).toDouble() + str.mid(3, 2).toDouble() / 60; - - return sign * num; -} - diff --git a/src/modules/locale/timezonewidget/localeglobal.h b/src/modules/locale/timezonewidget/localeglobal.h index 1a8f796d4..2b0bf0de7 100644 --- a/src/modules/locale/timezonewidget/localeglobal.h +++ b/src/modules/locale/timezonewidget/localeglobal.h @@ -36,6 +36,14 @@ #include #include "localeconst.h" +namespace CalamaresUtils +{ + namespace Locale + { + class TZZone; + } +} + class LocaleGlobal { public: @@ -50,19 +58,17 @@ public: double latitude, longitude; static QString pretty( const QString& s ); QString comment() const; + + Location& operator=(const CalamaresUtils::Locale::TZZone&); }; static void init(); static QHash > > getLocales(); - static QHash > getLocations(); private: static QHash > > locales; - static QHash > locations; static void initLocales(); - static void initLocations(); - static double getRightGeoLocation( QString str ); }; inline QDebug& operator <<( QDebug& s, const LocaleGlobal::Location& l ) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index 33a8f25ac..bcf95cc25 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac - * Copyright 2017-2018, Adriaan de Groot + * Copyright 2017-2019, Adriaan de Groot * * Originally from the Manjaro Installation Framework * by Roland Singer @@ -24,6 +24,7 @@ #include #include "utils/Logger.h" +#include "locale/TimeZone.h" #include "timezonewidget.h" @@ -67,28 +68,27 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) : } -void TimeZoneWidget::setCurrentLocation( QString region, QString zone ) +void TimeZoneWidget::setCurrentLocation( QString regionName, QString zoneName ) { - QHash > hash = LocaleGlobal::getLocations(); - - if ( !hash.contains( region ) ) - return; - - QList locations = hash.value( region ); - for ( int i = 0; i < locations.size(); ++i ) + using namespace CalamaresUtils::Locale; + const auto& regions = TZRegion::fromZoneTab(); + auto *region = regions.find( regionName ); + if ( !region ) { - if ( locations.at( i ).zone == zone ) - { - setCurrentLocation( locations.at( i ) ); - break; - } + return; + } + + auto *zone = region->zones().find< TZZone >(zoneName); + if ( zone ) + { + setCurrentLocation( zone ); } } -void TimeZoneWidget::setCurrentLocation( LocaleGlobal::Location location ) +void TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone *location ) { - currentLocation = location; + currentLocation = *location; // Set zone QPoint pos = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); @@ -259,32 +259,37 @@ void TimeZoneWidget::mousePressEvent( QMouseEvent* event ) // Set nearest location int nX = 999999, mX = event->pos().x(); int nY = 999999, mY = event->pos().y(); - QHash > hash = LocaleGlobal::getLocations(); - QHash >::iterator iter = hash.begin(); - while ( iter != hash.end() ) + using namespace CalamaresUtils::Locale; + const TZZone* closest = nullptr; + for ( const auto* region_p : TZRegion::fromZoneTab() ) { - QList locations = iter.value(); - - for ( int i = 0; i < locations.size(); ++i ) + const auto* region = dynamic_cast(region_p); + if ( region ) { - LocaleGlobal::Location loc = locations[i]; - QPoint locPos = getLocationPosition( loc.longitude, loc.latitude ); - - if ( ( abs( mX - locPos.x() ) + abs( mY - locPos.y() ) < abs( mX - nX ) + abs( mY - nY ) ) ) + for ( const auto* zone_p : region->zones() ) { - currentLocation = loc; - nX = locPos.x(); - nY = locPos.y(); + const auto* zone = dynamic_cast(zone_p); + if ( zone ) + { + QPoint locPos = getLocationPosition( zone->longitude(), zone->latitude() ); + + if ( ( abs( mX - locPos.x() ) + abs( mY - locPos.y() ) < abs( mX - nX ) + abs( mY - nY ) ) ) + { + closest = zone; + nX = locPos.x(); + nY = locPos.y(); + } + } } } - - ++iter; } - // Set zone image and repaint widget - setCurrentLocation( currentLocation ); - - // Emit signal - emit locationChanged( currentLocation ); + if ( closest ) + { + // Set zone image and repaint widget + setCurrentLocation( closest ); + // Emit signal + emit locationChanged( currentLocation ); + } } diff --git a/src/modules/locale/timezonewidget/timezonewidget.h b/src/modules/locale/timezonewidget/timezonewidget.h index dd49b3311..5b09709ba 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.h +++ b/src/modules/locale/timezonewidget/timezonewidget.h @@ -24,6 +24,10 @@ #ifndef TIMEZONEWIDGET_H #define TIMEZONEWIDGET_H +#include "localeglobal.h" + +#include "locale/TimeZone.h" + #include #include #include @@ -34,7 +38,6 @@ #include #include #include -#include "localeglobal.h" #define RGB_TRANSPARENT 0 @@ -54,7 +57,7 @@ public: return currentLocation; } void setCurrentLocation( QString region, QString zone ); - void setCurrentLocation( LocaleGlobal::Location location ); + void setCurrentLocation( const CalamaresUtils::Locale::TZZone *location ); signals: void locationChanged( LocaleGlobal::Location location ); From 7354d35fafe5cb99047e496489b42f4e96ed231f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 17:42:58 +0100 Subject: [PATCH 591/626] [locale] Apply coding style to timezonewidget/ --- .../locale/timezonewidget/localeconst.h | 2 +- .../locale/timezonewidget/localeglobal.cpp | 74 ++++++++----- .../locale/timezonewidget/localeglobal.h | 35 +++--- .../locale/timezonewidget/timezonewidget.cpp | 104 ++++++++++++------ .../locale/timezonewidget/timezonewidget.h | 31 +++--- 5 files changed, 153 insertions(+), 93 deletions(-) diff --git a/src/modules/locale/timezonewidget/localeconst.h b/src/modules/locale/timezonewidget/localeconst.h index 2de1b0dac..8648f0c93 100644 --- a/src/modules/locale/timezonewidget/localeconst.h +++ b/src/modules/locale/timezonewidget/localeconst.h @@ -28,4 +28,4 @@ #define USER_IMAGES_PATH "/usr/share/pixmaps/faces" -#endif // LOCALECONST_H +#endif // LOCALECONST_H diff --git a/src/modules/locale/timezonewidget/localeglobal.cpp b/src/modules/locale/timezonewidget/localeglobal.cpp index a9c7d3077..ef7d64d4d 100644 --- a/src/modules/locale/timezonewidget/localeglobal.cpp +++ b/src/modules/locale/timezonewidget/localeglobal.cpp @@ -30,7 +30,7 @@ //### Private variables //### -QHash > > LocaleGlobal::locales; +QHash< QString, QHash< QString, QList< LocaleGlobal::Locale > > > LocaleGlobal::locales; //### @@ -48,13 +48,12 @@ LocaleGlobal::Location::pretty( const QString& s ) QString LocaleGlobal::Location::comment() const { - QTimeZone qtz = QTimeZone( QString( "%1/%2" ) - .arg( region ) - .arg( zone ).toLatin1() ); + QTimeZone qtz = QTimeZone( QString( "%1/%2" ).arg( region ).arg( zone ).toLatin1() ); return qtz.comment(); } -LocaleGlobal::Location & LocaleGlobal::Location::operator=(const CalamaresUtils::Locale::TZZone& location) +LocaleGlobal::Location& +LocaleGlobal::Location::operator=( const CalamaresUtils::Locale::TZZone& location ) { region = location.region(); zone = location.key(); @@ -66,67 +65,86 @@ LocaleGlobal::Location & LocaleGlobal::Location::operator=(const CalamaresUtils: void -LocaleGlobal::init() { +LocaleGlobal::init() +{ // TODO: Error handling initLocales(); } - QHash< QString, QHash< QString, QList< LocaleGlobal::Locale > > > -LocaleGlobal::getLocales() { +LocaleGlobal::getLocales() +{ return locales; } - //### //### Private methods //### void -LocaleGlobal::initLocales() { +LocaleGlobal::initLocales() +{ locales.clear(); - QStringList files = QDir(LOCALESDIR).entryList(QDir::Files, QDir::Name); + QStringList files = QDir( LOCALESDIR ).entryList( QDir::Files, QDir::Name ); - for (int i = 0; i < files.size(); ++i) { - QString filename = files.at(i); - QFile file(QString(LOCALESDIR) + "/" + filename); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + for ( int i = 0; i < files.size(); ++i ) + { + QString filename = files.at( i ); + QFile file( QString( LOCALESDIR ) + "/" + filename ); + if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) + { continue; + } - QTextStream in(&file); + QTextStream in( &file ); QString commentChar = "%"; Locale locale; QString lang, territory; locale.locale = filename; - while (!in.atEnd()) { + while ( !in.atEnd() ) + { QString line = in.readLine().trimmed(); - QStringList split = line.split(commentChar, QString::KeepEmptyParts).first().split(QRegExp(" (?=[^\"]*(\"[^\"]*\"[^\"]*)*$)"), QString::SkipEmptyParts); + QStringList split = line.split( commentChar, QString::KeepEmptyParts ) + .first() + .split( QRegExp( " (?=[^\"]*(\"[^\"]*\"[^\"]*)*$)" ), QString::SkipEmptyParts ); - if (split.size() < 2) + if ( split.size() < 2 ) + { continue; + } - QString sub1 = QString(split.at(0)).remove("\""); - QString sub2 = QString(split.at(1)).remove("\""); + QString sub1 = QString( split.at( 0 ) ).remove( "\"" ); + QString sub2 = QString( split.at( 1 ) ).remove( "\"" ); - if (sub1 == "comment_char") + if ( sub1 == "comment_char" ) + { commentChar = sub2; - else if (sub1 == "title") + } + else if ( sub1 == "title" ) + { locale.description = sub2; - else if (sub1 == "territory") - territory= sub2; - else if (sub1 == "language") + } + else if ( sub1 == "territory" ) + { + territory = sub2; + } + else if ( sub1 == "language" ) + { lang = sub2; + } } - if (lang.isEmpty() || territory.isEmpty()) + if ( lang.isEmpty() || territory.isEmpty() ) + { continue; + } - locales[lang][territory].append(locale); + locales[ lang ][ territory ].append( locale ); } } diff --git a/src/modules/locale/timezonewidget/localeglobal.h b/src/modules/locale/timezonewidget/localeglobal.h index 2b0bf0de7..4f40db083 100644 --- a/src/modules/locale/timezonewidget/localeglobal.h +++ b/src/modules/locale/timezonewidget/localeglobal.h @@ -24,25 +24,25 @@ #ifndef LOCALEGLOBAL_H #define LOCALEGLOBAL_H -#include -#include -#include +#include "localeconst.h" +#include #include -#include -#include +#include #include +#include #include #include -#include -#include "localeconst.h" +#include +#include +#include namespace CalamaresUtils { - namespace Locale - { - class TZZone; - } +namespace Locale +{ +class TZZone; } +} // namespace CalamaresUtils class LocaleGlobal { @@ -59,21 +59,22 @@ public: static QString pretty( const QString& s ); QString comment() const; - Location& operator=(const CalamaresUtils::Locale::TZZone&); + Location& operator=( const CalamaresUtils::Locale::TZZone& ); }; static void init(); - static QHash > > getLocales(); + static QHash< QString, QHash< QString, QList< LocaleGlobal::Locale > > > getLocales(); private: - static QHash > > locales; + static QHash< QString, QHash< QString, QList< LocaleGlobal::Locale > > > locales; static void initLocales(); }; -inline QDebug& operator <<( QDebug& s, const LocaleGlobal::Location& l ) +inline QDebug& +operator<<( QDebug& s, const LocaleGlobal::Location& l ) { - return s << l.region << '/' << l.zone << '(' << l.country << ") @N" << l.latitude << 'E' << l.longitude; + return s << l.region << '/' << l.zone << '(' << l.country << ") @N" << l.latitude << 'E' << l.longitude; } -#endif // LOCALEGLOBAL_H +#endif // LOCALEGLOBAL_H diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index bcf95cc25..f60e32c96 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -23,8 +23,8 @@ #include -#include "utils/Logger.h" #include "locale/TimeZone.h" +#include "utils/Logger.h" #include "timezonewidget.h" @@ -38,8 +38,8 @@ constexpr static double MATH_PI = 3.14159265; constexpr static QLatin1String ZONE_NAME( "zone" ); #endif -TimeZoneWidget::TimeZoneWidget( QWidget* parent ) : - QWidget( parent ) +TimeZoneWidget::TimeZoneWidget( QWidget* parent ) + : QWidget( parent ) { setMouseTracking( false ); setCursor( Qt::PointingHandCursor ); @@ -60,7 +60,8 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) : QStringList zones = QString( ZONES ).split( " ", QString::SkipEmptyParts ); for ( int i = 0; i < zones.size(); ++i ) { - timeZoneImages.append( QImage( ":/images/timezone_" + zones.at( i ) + ".png" ).scaled( X_SIZE, Y_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); + timeZoneImages.append( QImage( ":/images/timezone_" + zones.at( i ) + ".png" ) + .scaled( X_SIZE, Y_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); #ifdef DEBUG_TIMEZONES timeZoneImages.last().setText( ZONE_NAME, zones.at( i ) ); #endif @@ -68,17 +69,18 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) : } -void TimeZoneWidget::setCurrentLocation( QString regionName, QString zoneName ) +void +TimeZoneWidget::setCurrentLocation( QString regionName, QString zoneName ) { using namespace CalamaresUtils::Locale; const auto& regions = TZRegion::fromZoneTab(); - auto *region = regions.find( regionName ); + auto* region = regions.find< TZRegion >( regionName ); if ( !region ) { return; } - auto *zone = region->zones().find< TZZone >(zoneName); + auto* zone = region->zones().find< TZZone >( zoneName ); if ( zone ) { setCurrentLocation( zone ); @@ -86,7 +88,8 @@ void TimeZoneWidget::setCurrentLocation( QString regionName, QString zoneName ) } -void TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone *location ) +void +TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone* location ) { currentLocation = *location; @@ -104,7 +107,7 @@ void TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone *l for ( int i = 0; i < timeZoneImages.size(); ++i ) { - QImage zone = timeZoneImages[i]; + QImage zone = timeZoneImages[ i ]; // If not transparent set as current if ( zone.pixel( pos ) != RGB_TRANSPARENT ) @@ -119,7 +122,9 @@ void TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone *l cDebug() << Logger::SubEntry << "First zone found" << i << zone.text( ZONE_NAME ); } else + { cDebug() << Logger::SubEntry << "Also in zone" << i << zone.text( ZONE_NAME ); + } #else currentZoneImage = zone; break; @@ -132,13 +137,13 @@ void TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone *l } - //### //### Private //### -QPoint TimeZoneWidget::getLocationPosition( double longitude, double latitude ) +QPoint +TimeZoneWidget::getLocationPosition( double longitude, double latitude ) { const int width = this->width(); const int height = this->height(); @@ -152,39 +157,64 @@ QPoint TimeZoneWidget::getLocationPosition( double longitude, double latitude ) // of the different cities / regions looks ok -- at least Thule ends up in the right // country, and Inuvik isn't in the ocean. if ( latitude > 70.0 ) + { y -= sin( MATH_PI * ( latitude - 70.0 ) / 56.0 ) * MAP_Y_OFFSET * height * 0.8; + } if ( latitude > 74.0 ) + { y += 4; + } if ( latitude > 69.0 ) + { y -= 2; + } if ( latitude > 59.0 ) + { y -= 4 * int( ( latitude - 54.0 ) / 5.0 ); + } if ( latitude > 54.0 ) + { y -= 2; + } if ( latitude > 49.0 ) - y -= int ( (latitude - 44.0) / 5.0 ); + { + y -= int( ( latitude - 44.0 ) / 5.0 ); + } // Far south, some stretching occurs as well, but it is less pronounced. // Move down by 1 pixel per 5 degrees past 10 south if ( latitude < 0 ) - y += int( (-latitude) / 5.0 ); + { + y += int( ( -latitude ) / 5.0 ); + } // Antarctica isn't shown on the map, but you could try clicking there if ( latitude < -60 ) + { y = height - 1; + } if ( x < 0 ) - x = width+x; + { + x = width + x; + } if ( x >= width ) + { x -= width; + } if ( y < 0 ) - y = height+y; + { + y = height + y; + } if ( y >= height ) + { y -= height; + } - return QPoint( int(x), int(y) ); + return QPoint( int( x ), int( y ) ); } -void TimeZoneWidget::paintEvent( QPaintEvent* ) +void +TimeZoneWidget::paintEvent( QPaintEvent* ) { const int width = this->width(); const int height = this->height(); @@ -203,17 +233,19 @@ void TimeZoneWidget::paintEvent( QPaintEvent* ) #ifdef DEBUG_TIMEZONES QPoint point = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); // Draw latitude lines - for ( int y_lat = -50; y_lat < 80 ; y_lat+=5 ) + for ( int y_lat = -50; y_lat < 80; y_lat += 5 ) { QPen p( y_lat ? Qt::black : Qt::red ); p.setWidth( 0 ); painter.setPen( p ); QPoint latLine0( getLocationPosition( 0, y_lat ) ); - int llx = latLine0.x() + ((y_lat & 1) ? -10 : 0); + int llx = latLine0.x() + ( ( y_lat & 1 ) ? -10 : 0 ); int lly = latLine0.y(); - for ( int c = 0 ; c < width ; ++c ) + for ( int c = 0; c < width; ++c ) + { painter.drawPoint( c, lly ); + } } // Just a dot in the selected location, no label painter.setPen( Qt::red ); @@ -222,24 +254,32 @@ void TimeZoneWidget::paintEvent( QPaintEvent* ) // Draw pin at current location QPoint point = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); - painter.drawImage( point.x() - pin.width()/2, point.y() - pin.height()/2, pin ); + painter.drawImage( point.x() - pin.width() / 2, point.y() - pin.height() / 2, pin ); // Draw text and box const int textWidth = fontMetrics.horizontalAdvance( LocaleGlobal::Location::pretty( currentLocation.zone ) ); const int textHeight = fontMetrics.height(); - QRect rect = QRect( point.x() - textWidth/2 - 5, point.y() - textHeight - 8, textWidth + 10, textHeight - 2 ); + QRect rect = QRect( point.x() - textWidth / 2 - 5, point.y() - textHeight - 8, textWidth + 10, textHeight - 2 ); if ( rect.x() <= 5 ) + { rect.moveLeft( 5 ); - if ( rect.right() >= width-5 ) + } + if ( rect.right() >= width - 5 ) + { rect.moveRight( width - 5 ); + } if ( rect.y() <= 5 ) + { rect.moveTop( 5 ); - if ( rect.y() >= height-5 ) - rect.moveBottom( height-5 ); + } + if ( rect.y() >= height - 5 ) + { + rect.moveBottom( height - 5 ); + } - painter.setPen( QPen() ); // no pen + painter.setPen( QPen() ); // no pen painter.setBrush( QColor( 40, 40, 40 ) ); painter.drawRoundedRect( rect, 3, 3 ); painter.setPen( Qt::white ); @@ -250,11 +290,13 @@ void TimeZoneWidget::paintEvent( QPaintEvent* ) } - -void TimeZoneWidget::mousePressEvent( QMouseEvent* event ) +void +TimeZoneWidget::mousePressEvent( QMouseEvent* event ) { if ( event->button() != Qt::LeftButton ) + { return; + } // Set nearest location int nX = 999999, mX = event->pos().x(); @@ -264,17 +306,17 @@ void TimeZoneWidget::mousePressEvent( QMouseEvent* event ) const TZZone* closest = nullptr; for ( const auto* region_p : TZRegion::fromZoneTab() ) { - const auto* region = dynamic_cast(region_p); + const auto* region = dynamic_cast< const TZRegion* >( region_p ); if ( region ) { for ( const auto* zone_p : region->zones() ) { - const auto* zone = dynamic_cast(zone_p); + const auto* zone = dynamic_cast< const TZZone* >( zone_p ); if ( zone ) { QPoint locPos = getLocationPosition( zone->longitude(), zone->latitude() ); - if ( ( abs( mX - locPos.x() ) + abs( mY - locPos.y() ) < abs( mX - nX ) + abs( mY - nY ) ) ) + if ( ( abs( mX - locPos.x() ) + abs( mY - locPos.y() ) < abs( mX - nX ) + abs( mY - nY ) ) ) { closest = zone; nX = locPos.x(); diff --git a/src/modules/locale/timezonewidget/timezonewidget.h b/src/modules/locale/timezonewidget/timezonewidget.h index 5b09709ba..3f5baf16b 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.h +++ b/src/modules/locale/timezonewidget/timezonewidget.h @@ -28,20 +28,22 @@ #include "locale/TimeZone.h" -#include -#include -#include #include -#include -#include -#include -#include -#include #include +#include +#include +#include +#include +#include +#include +#include +#include #define RGB_TRANSPARENT 0 -#define ZONES "0.0 1.0 2.0 3.0 3.5 4.0 4.5 5.0 5.5 5.75 6.0 6.5 7.0 8.0 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.75 13.0 -1.0 -2.0 -3.0 -3.5 -4.0 -4.5 -5.0 -5.5 -6.0 -7.0 -8.0 -9.0 -9.5 -10.0 -11.0" +#define ZONES \ + "0.0 1.0 2.0 3.0 3.5 4.0 4.5 5.0 5.5 5.75 6.0 6.5 7.0 8.0 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.75 13.0 -1.0 -2.0 " \ + "-3.0 -3.5 -4.0 -4.5 -5.0 -5.5 -6.0 -7.0 -8.0 -9.0 -9.5 -10.0 -11.0" #define X_SIZE 780 #define Y_SIZE 340 @@ -52,12 +54,9 @@ class TimeZoneWidget : public QWidget public: explicit TimeZoneWidget( QWidget* parent = nullptr ); - LocaleGlobal::Location getCurrentLocation() - { - return currentLocation; - } + LocaleGlobal::Location getCurrentLocation() { return currentLocation; } void setCurrentLocation( QString region, QString zone ); - void setCurrentLocation( const CalamaresUtils::Locale::TZZone *location ); + void setCurrentLocation( const CalamaresUtils::Locale::TZZone* location ); signals: void locationChanged( LocaleGlobal::Location location ); @@ -65,7 +64,7 @@ signals: private: QFont font; QImage background, pin, currentZoneImage; - QList timeZoneImages; + QList< QImage > timeZoneImages; LocaleGlobal::Location currentLocation; QPoint getLocationPosition( const LocaleGlobal::Location& l ) @@ -78,4 +77,4 @@ private: void mousePressEvent( QMouseEvent* event ); }; -#endif // TIMEZONEWIDGET_H +#endif // TIMEZONEWIDGET_H From 9d9d9c361d8c5a0f22519dfe25a250fe88709514 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 17:45:38 +0100 Subject: [PATCH 592/626] [locale] Clean up constants - move LOCALESDIR to the one place it's used - remove file with only unused #defines --- .../locale/timezonewidget/localeconst.h | 31 ------------------- .../locale/timezonewidget/localeglobal.cpp | 2 ++ .../locale/timezonewidget/localeglobal.h | 1 - 3 files changed, 2 insertions(+), 32 deletions(-) delete mode 100644 src/modules/locale/timezonewidget/localeconst.h diff --git a/src/modules/locale/timezonewidget/localeconst.h b/src/modules/locale/timezonewidget/localeconst.h deleted file mode 100644 index 8648f0c93..000000000 --- a/src/modules/locale/timezonewidget/localeconst.h +++ /dev/null @@ -1,31 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * - * Originally from the Manjaro Installation Framework - * by Roland Singer - * Copyright (C) 2007 Free Software Foundation, Inc. - * - * 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 . - */ - -#ifndef LOCALECONST_H -#define LOCALECONST_H - - -#define LOCALESDIR "/usr/share/i18n/locales" -#define USER_IMAGES_PATH "/usr/share/pixmaps/faces" - - -#endif // LOCALECONST_H diff --git a/src/modules/locale/timezonewidget/localeglobal.cpp b/src/modules/locale/timezonewidget/localeglobal.cpp index ef7d64d4d..593de5cab 100644 --- a/src/modules/locale/timezonewidget/localeglobal.cpp +++ b/src/modules/locale/timezonewidget/localeglobal.cpp @@ -87,6 +87,8 @@ LocaleGlobal::getLocales() void LocaleGlobal::initLocales() { + static const char LOCALESDIR[] = "/usr/share/i18n/locales"; + locales.clear(); QStringList files = QDir( LOCALESDIR ).entryList( QDir::Files, QDir::Name ); diff --git a/src/modules/locale/timezonewidget/localeglobal.h b/src/modules/locale/timezonewidget/localeglobal.h index 4f40db083..b5e175c7c 100644 --- a/src/modules/locale/timezonewidget/localeglobal.h +++ b/src/modules/locale/timezonewidget/localeglobal.h @@ -24,7 +24,6 @@ #ifndef LOCALEGLOBAL_H #define LOCALEGLOBAL_H -#include "localeconst.h" #include #include #include From 2dfbed40c5f3e9b4b398b2e141d5e57accbd0929 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 09:57:40 -0700 Subject: [PATCH 593/626] [locale] Move defines - Used in only one place, move to .cpp - Drop useless scaling all the images *are* that size already - Add debugging check that the images match expected size --- .../locale/timezonewidget/timezonewidget.cpp | 18 +++++++++++++++--- .../locale/timezonewidget/timezonewidget.h | 3 --- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index f60e32c96..307e1d9b8 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -28,6 +28,8 @@ #include "timezonewidget.h" +// Pixel value indicating that a spot is outside of a zone +#define RGB_TRANSPARENT 0 static constexpr double MAP_Y_OFFSET = 0.125; static constexpr double MAP_X_OFFSET = -0.0370; @@ -49,9 +51,16 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) font.setBold( false ); // Images - background = QImage( ":/images/bg.png" ).scaled( X_SIZE, Y_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + background = QImage( ":/images/bg.png" ); pin = QImage( ":/images/pin.png" ); +#ifdef DEBUG_TIMEZONES + if ( background.size() != QSize( 780, 340 ) ) + { + cWarning() << "Timezone background size mitsmatch" << background.size(); + } +#endif + // Set size setMinimumSize( background.size() ); setMaximumSize( background.size() ); @@ -60,9 +69,12 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) QStringList zones = QString( ZONES ).split( " ", QString::SkipEmptyParts ); for ( int i = 0; i < zones.size(); ++i ) { - timeZoneImages.append( QImage( ":/images/timezone_" + zones.at( i ) + ".png" ) - .scaled( X_SIZE, Y_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); + timeZoneImages.append( QImage( ":/images/timezone_" + zones.at( i ) + ".png" ) ); #ifdef DEBUG_TIMEZONES + if ( timeZoneImages.last().size() != background.size() ) + { + cWarning() << "Timezone image size mismatch" << zones.at( i ) << timeZoneImages.last().size(); + } timeZoneImages.last().setText( ZONE_NAME, zones.at( i ) ); #endif } diff --git a/src/modules/locale/timezonewidget/timezonewidget.h b/src/modules/locale/timezonewidget/timezonewidget.h index 3f5baf16b..87b817349 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.h +++ b/src/modules/locale/timezonewidget/timezonewidget.h @@ -40,12 +40,9 @@ #include -#define RGB_TRANSPARENT 0 #define ZONES \ "0.0 1.0 2.0 3.0 3.5 4.0 4.5 5.0 5.5 5.75 6.0 6.5 7.0 8.0 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.75 13.0 -1.0 -2.0 " \ "-3.0 -3.5 -4.0 -4.5 -5.0 -5.5 -6.0 -7.0 -8.0 -9.0 -9.5 -10.0 -11.0" -#define X_SIZE 780 -#define Y_SIZE 340 class TimeZoneWidget : public QWidget From fb9d53909e2feca3f27274a85aa7e365fa5bcd8d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 16:09:48 -0100 Subject: [PATCH 594/626] [locale] Drop ZONES #define - this was a "cheap" way to write a list, but going through QStringList::split() is just a long-way-around for static initialization --- src/modules/locale/timezonewidget/timezonewidget.cpp | 8 +++++--- src/modules/locale/timezonewidget/timezonewidget.h | 6 ------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index 307e1d9b8..a392cc863 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -66,10 +66,12 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) setMaximumSize( background.size() ); // Zone images - QStringList zones = QString( ZONES ).split( " ", QString::SkipEmptyParts ); - for ( int i = 0; i < zones.size(); ++i ) + for ( const auto* zoneName : + { "0.0", "1.0", "2.0", "3.0", "3.5", "4.0", "4.5", "5.0", "5.5", "5.75", "6.0", "6.5", "7.0", + "8.0", "9.0", "9.5", "10.0", "10.5", "11.0", "11.5", "12.0", "12.75", "13.0", "-1.0", "-2.0", "-3.0", + "-3.5", "-4.0", "-4.5", "-5.0", "-5.5", "-6.0", "-7.0", "-8.0", "-9.0", "-9.5", "-10.0", "-11.0" } ) { - timeZoneImages.append( QImage( ":/images/timezone_" + zones.at( i ) + ".png" ) ); + timeZoneImages.append( QImage( QStringLiteral( ":/images/timezone_" ) + zoneName + ".png" ) ); #ifdef DEBUG_TIMEZONES if ( timeZoneImages.last().size() != background.size() ) { diff --git a/src/modules/locale/timezonewidget/timezonewidget.h b/src/modules/locale/timezonewidget/timezonewidget.h index 87b817349..7a3572f10 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.h +++ b/src/modules/locale/timezonewidget/timezonewidget.h @@ -39,12 +39,6 @@ #include #include - -#define ZONES \ - "0.0 1.0 2.0 3.0 3.5 4.0 4.5 5.0 5.5 5.75 6.0 6.5 7.0 8.0 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.75 13.0 -1.0 -2.0 " \ - "-3.0 -3.5 -4.0 -4.5 -5.0 -5.5 -6.0 -7.0 -8.0 -9.0 -9.5 -10.0 -11.0" - - class TimeZoneWidget : public QWidget { Q_OBJECT From e164f8d63a72ca97e9e782d2c0427e3fb6fb864b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 16:19:06 -0100 Subject: [PATCH 595/626] [locale] Fix build with DEBUG_TIMEZONE - all the API changes were not reflected in the debugging code --- src/modules/locale/timezonewidget/timezonewidget.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index a392cc863..41b5b1980 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -75,9 +75,9 @@ TimeZoneWidget::TimeZoneWidget( QWidget* parent ) #ifdef DEBUG_TIMEZONES if ( timeZoneImages.last().size() != background.size() ) { - cWarning() << "Timezone image size mismatch" << zones.at( i ) << timeZoneImages.last().size(); + cWarning() << "Timezone image size mismatch" << zoneName << timeZoneImages.last().size(); } - timeZoneImages.last().setText( ZONE_NAME, zones.at( i ) ); + timeZoneImages.last().setText( ZONE_NAME, zoneName ); #endif } } @@ -111,8 +111,7 @@ TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone* locati QPoint pos = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); #ifdef DEBUG_TIMEZONES - cDebug() << "Setting location" << location.region << location.zone << location.country; - cDebug() << Logger::SubEntry << "longitude" << location.longitude << "latitude" << location.latitude; + cDebug() << "Setting location" << location->region() << *location; cDebug() << Logger::SubEntry << "pixel x" << pos.x() << "pixel y" << pos.y(); bool found = false; From 93ae44e214699b8c2b54fa64c2e48436b479dd35 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 22:33:54 +0000 Subject: [PATCH 596/626] [libcalamares] Split translatable timezone data - Hide the one file from lupdate by giving it a weird suffix - Call lupdate a second time for the timezone translations - While here, adjust so that the options precede the directories they are supposed to affect I don't want to give the translation teams 444 new strings all at once (about 90% of which don't need translation). --- .tx/config | 6 ++++++ ci/txpush.sh | 4 +++- .../locale/{ZoneData_p.cpp => ZoneData_p.cxxtr} | 0 3 files changed, 9 insertions(+), 1 deletion(-) rename src/libcalamares/locale/{ZoneData_p.cpp => ZoneData_p.cxxtr} (100%) diff --git a/.tx/config b/.tx/config index 3cf9489f6..cdae01013 100644 --- a/.tx/config +++ b/.tx/config @@ -7,6 +7,12 @@ source_file = lang/calamares_en.ts source_lang = en type = QT +[calamares.tz] +file_filter = lang/tz_.ts +source_file = lang/tz_en.ts +source_lang = en +type = QT + [calamares.dummypythonqt] file_filter = src/modules/dummypythonqt/lang//LC_MESSAGES/dummypythonqt.po source_file = src/modules/dummypythonqt/lang/dummypythonqt.pot diff --git a/ci/txpush.sh b/ci/txpush.sh index 04e49921d..954e0b4b1 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -56,9 +56,11 @@ lupdate -version > /dev/null 2>&1 || { echo "! No working lupdate" ; lupdate -ve # Don't pull branding translations in, # those are done separately. _srcdirs="src/calamares src/libcalamares src/libcalamaresui src/modules src/qml" -lupdate $_srcdirs -ts -no-obsolete lang/calamares_en.ts +lupdate -no-obsolete $_srcdirs -ts lang/calamares_en.ts +lupdate -no-obsolete -extensions cxxtr src/libcalamares/locale -ts lang/tz_en.ts tx push --source --no-interactive -r calamares.calamares-master +tx push --source --no-interactive -r calamares.tz tx push --source --no-interactive -r calamares.fdo ### PYTHON MODULES diff --git a/src/libcalamares/locale/ZoneData_p.cpp b/src/libcalamares/locale/ZoneData_p.cxxtr similarity index 100% rename from src/libcalamares/locale/ZoneData_p.cpp rename to src/libcalamares/locale/ZoneData_p.cxxtr From 3e3334349baaa76cd9002c9dec4e0a85ec23cbe7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 22:43:52 +0000 Subject: [PATCH 597/626] i18n: untranslated timezone names --- lang/tz_en.ts | 2617 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2617 insertions(+) create mode 100644 lang/tz_en.ts diff --git a/lang/tz_en.ts b/lang/tz_en.ts new file mode 100644 index 000000000..7e46eab3d --- /dev/null +++ b/lang/tz_en.ts @@ -0,0 +1,2617 @@ + + + + + QObject + + + Africa + tz_regions + + + + + America + tz_regions + + + + + Antarctica + tz_regions + + + + + Arctic + tz_regions + + + + + Asia + tz_regions + + + + + Atlantic + tz_regions + + + + + Australia + tz_regions + + + + + Europe + tz_regions + + + + + Indian + tz_regions + + + + + Pacific + tz_regions + + + + + Abidjan + tz_names + + + + + Accra + tz_names + + + + + Adak + tz_names + + + + + Addis Ababa + tz_names + + + + + Adelaide + tz_names + + + + + Aden + tz_names + + + + + Algiers + tz_names + + + + + Almaty + tz_names + + + + + Amman + tz_names + + + + + Amsterdam + tz_names + + + + + Anadyr + tz_names + + + + + Anchorage + tz_names + + + + + Andorra + tz_names + + + + + Anguilla + tz_names + + + + + Antananarivo + tz_names + + + + + Antigua + tz_names + + + + + Apia + tz_names + + + + + Aqtau + tz_names + + + + + Aqtobe + tz_names + + + + + Araguaina + tz_names + + + + + Argentina/Buenos Aires + tz_names + + + + + Argentina/Catamarca + tz_names + + + + + Argentina/Cordoba + tz_names + + + + + Argentina/Jujuy + tz_names + + + + + Argentina/La Rioja + tz_names + + + + + Argentina/Mendoza + tz_names + + + + + Argentina/Rio Gallegos + tz_names + + + + + Argentina/Salta + tz_names + + + + + Argentina/San Juan + tz_names + + + + + Argentina/San Luis + tz_names + + + + + Argentina/Tucuman + tz_names + + + + + Argentina/Ushuaia + tz_names + + + + + Aruba + tz_names + + + + + Ashgabat + tz_names + + + + + Asmara + tz_names + + + + + Astrakhan + tz_names + + + + + Asuncion + tz_names + + + + + Athens + tz_names + + + + + Atikokan + tz_names + + + + + Atyrau + tz_names + + + + + Auckland + tz_names + + + + + Azores + tz_names + + + + + Baghdad + tz_names + + + + + Bahia + tz_names + + + + + Bahia Banderas + tz_names + + + + + Bahrain + tz_names + + + + + Baku + tz_names + + + + + Bamako + tz_names + + + + + Bangkok + tz_names + + + + + Bangui + tz_names + + + + + Banjul + tz_names + + + + + Barbados + tz_names + + + + + Barnaul + tz_names + + + + + Beirut + tz_names + + + + + Belem + tz_names + + + + + Belgrade + tz_names + + + + + Belize + tz_names + + + + + Berlin + tz_names + + + + + Bermuda + tz_names + + + + + Bishkek + tz_names + + + + + Bissau + tz_names + + + + + Blanc-Sablon + tz_names + + + + + Blantyre + tz_names + + + + + Boa Vista + tz_names + + + + + Bogota + tz_names + + + + + Boise + tz_names + + + + + Bougainville + tz_names + + + + + Bratislava + tz_names + + + + + Brazzaville + tz_names + + + + + Brisbane + tz_names + + + + + Broken Hill + tz_names + + + + + Brunei + tz_names + + + + + Brussels + tz_names + + + + + Bucharest + tz_names + + + + + Budapest + tz_names + + + + + Bujumbura + tz_names + + + + + Busingen + tz_names + + + + + Cairo + tz_names + + + + + Cambridge Bay + tz_names + + + + + Campo Grande + tz_names + + + + + Canary + tz_names + + + + + Cancun + tz_names + + + + + Cape Verde + tz_names + + + + + Caracas + tz_names + + + + + Casablanca + tz_names + + + + + Casey + tz_names + + + + + Cayenne + tz_names + + + + + Cayman + tz_names + + + + + Ceuta + tz_names + + + + + Chagos + tz_names + + + + + Chatham + tz_names + + + + + Chicago + tz_names + + + + + Chihuahua + tz_names + + + + + Chisinau + tz_names + + + + + Chita + tz_names + + + + + Choibalsan + tz_names + + + + + Christmas + tz_names + + + + + Chuuk + tz_names + + + + + Cocos + tz_names + + + + + Colombo + tz_names + + + + + Comoro + tz_names + + + + + Conakry + tz_names + + + + + Copenhagen + tz_names + + + + + Costa Rica + tz_names + + + + + Creston + tz_names + + + + + Cuiaba + tz_names + + + + + Curacao + tz_names + + + + + Currie + tz_names + + + + + Dakar + tz_names + + + + + Damascus + tz_names + + + + + Danmarkshavn + tz_names + + + + + Dar es Salaam + tz_names + + + + + Darwin + tz_names + + + + + Davis + tz_names + + + + + Dawson + tz_names + + + + + Dawson Creek + tz_names + + + + + Denver + tz_names + + + + + Detroit + tz_names + + + + + Dhaka + tz_names + + + + + Dili + tz_names + + + + + Djibouti + tz_names + + + + + Dominica + tz_names + + + + + Douala + tz_names + + + + + Dubai + tz_names + + + + + Dublin + tz_names + + + + + DumontDUrville + tz_names + + + + + Dushanbe + tz_names + + + + + Easter + tz_names + + + + + Edmonton + tz_names + + + + + Efate + tz_names + + + + + Eirunepe + tz_names + + + + + El Aaiun + tz_names + + + + + El Salvador + tz_names + + + + + Enderbury + tz_names + + + + + Eucla + tz_names + + + + + Fakaofo + tz_names + + + + + Famagusta + tz_names + + + + + Faroe + tz_names + + + + + Fiji + tz_names + + + + + Fort Nelson + tz_names + + + + + Fortaleza + tz_names + + + + + Freetown + tz_names + + + + + Funafuti + tz_names + + + + + Gaborone + tz_names + + + + + Galapagos + tz_names + + + + + Gambier + tz_names + + + + + Gaza + tz_names + + + + + Gibraltar + tz_names + + + + + Glace Bay + tz_names + + + + + Godthab + tz_names + + + + + Goose Bay + tz_names + + + + + Grand Turk + tz_names + + + + + Grenada + tz_names + + + + + Guadalcanal + tz_names + + + + + Guadeloupe + tz_names + + + + + Guam + tz_names + + + + + Guatemala + tz_names + + + + + Guayaquil + tz_names + + + + + Guernsey + tz_names + + + + + Guyana + tz_names + + + + + Halifax + tz_names + + + + + Harare + tz_names + + + + + Havana + tz_names + + + + + Hebron + tz_names + + + + + Helsinki + tz_names + + + + + Hermosillo + tz_names + + + + + Ho Chi Minh + tz_names + + + + + Hobart + tz_names + + + + + Hong Kong + tz_names + + + + + Honolulu + tz_names + + + + + Hovd + tz_names + + + + + Indiana/Indianapolis + tz_names + + + + + Indiana/Knox + tz_names + + + + + Indiana/Marengo + tz_names + + + + + Indiana/Petersburg + tz_names + + + + + Indiana/Tell City + tz_names + + + + + Indiana/Vevay + tz_names + + + + + Indiana/Vincennes + tz_names + + + + + Indiana/Winamac + tz_names + + + + + Inuvik + tz_names + + + + + Iqaluit + tz_names + + + + + Irkutsk + tz_names + + + + + Isle of Man + tz_names + + + + + Istanbul + tz_names + + + + + Jakarta + tz_names + + + + + Jamaica + tz_names + + + + + Jayapura + tz_names + + + + + Jersey + tz_names + + + + + Jerusalem + tz_names + + + + + Johannesburg + tz_names + + + + + Juba + tz_names + + + + + Juneau + tz_names + + + + + Kabul + tz_names + + + + + Kaliningrad + tz_names + + + + + Kamchatka + tz_names + + + + + Kampala + tz_names + + + + + Karachi + tz_names + + + + + Kathmandu + tz_names + + + + + Kentucky/Louisville + tz_names + + + + + Kentucky/Monticello + tz_names + + + + + Kerguelen + tz_names + + + + + Khandyga + tz_names + + + + + Khartoum + tz_names + + + + + Kiev + tz_names + + + + + Kigali + tz_names + + + + + Kinshasa + tz_names + + + + + Kiritimati + tz_names + + + + + Kirov + tz_names + + + + + Kolkata + tz_names + + + + + Kosrae + tz_names + + + + + Kralendijk + tz_names + + + + + Krasnoyarsk + tz_names + + + + + Kuala Lumpur + tz_names + + + + + Kuching + tz_names + + + + + Kuwait + tz_names + + + + + Kwajalein + tz_names + + + + + La Paz + tz_names + + + + + Lagos + tz_names + + + + + Libreville + tz_names + + + + + Lima + tz_names + + + + + Lindeman + tz_names + + + + + Lisbon + tz_names + + + + + Ljubljana + tz_names + + + + + Lome + tz_names + + + + + London + tz_names + + + + + Longyearbyen + tz_names + + + + + Lord Howe + tz_names + + + + + Los Angeles + tz_names + + + + + Lower Princes + tz_names + + + + + Luanda + tz_names + + + + + Lubumbashi + tz_names + + + + + Lusaka + tz_names + + + + + Luxembourg + tz_names + + + + + Macau + tz_names + + + + + Maceio + tz_names + + + + + Macquarie + tz_names + + + + + Madeira + tz_names + + + + + Madrid + tz_names + + + + + Magadan + tz_names + + + + + Mahe + tz_names + + + + + Majuro + tz_names + + + + + Makassar + tz_names + + + + + Malabo + tz_names + + + + + Maldives + tz_names + + + + + Malta + tz_names + + + + + Managua + tz_names + + + + + Manaus + tz_names + + + + + Manila + tz_names + + + + + Maputo + tz_names + + + + + Mariehamn + tz_names + + + + + Marigot + tz_names + + + + + Marquesas + tz_names + + + + + Martinique + tz_names + + + + + Maseru + tz_names + + + + + Matamoros + tz_names + + + + + Mauritius + tz_names + + + + + Mawson + tz_names + + + + + Mayotte + tz_names + + + + + Mazatlan + tz_names + + + + + Mbabane + tz_names + + + + + McMurdo + tz_names + + + + + Melbourne + tz_names + + + + + Menominee + tz_names + + + + + Merida + tz_names + + + + + Metlakatla + tz_names + + + + + Mexico City + tz_names + + + + + Midway + tz_names + + + + + Minsk + tz_names + + + + + Miquelon + tz_names + + + + + Mogadishu + tz_names + + + + + Monaco + tz_names + + + + + Moncton + tz_names + + + + + Monrovia + tz_names + + + + + Monterrey + tz_names + + + + + Montevideo + tz_names + + + + + Montserrat + tz_names + + + + + Moscow + tz_names + + + + + Muscat + tz_names + + + + + Nairobi + tz_names + + + + + Nassau + tz_names + + + + + Nauru + tz_names + + + + + Ndjamena + tz_names + + + + + New York + tz_names + + + + + Niamey + tz_names + + + + + Nicosia + tz_names + + + + + Nipigon + tz_names + + + + + Niue + tz_names + + + + + Nome + tz_names + + + + + Norfolk + tz_names + + + + + Noronha + tz_names + + + + + North Dakota/Beulah + tz_names + + + + + North Dakota/Center + tz_names + + + + + North Dakota/New Salem + tz_names + + + + + Nouakchott + tz_names + + + + + Noumea + tz_names + + + + + Novokuznetsk + tz_names + + + + + Novosibirsk + tz_names + + + + + Ojinaga + tz_names + + + + + Omsk + tz_names + + + + + Oral + tz_names + + + + + Oslo + tz_names + + + + + Ouagadougou + tz_names + + + + + Pago Pago + tz_names + + + + + Palau + tz_names + + + + + Palmer + tz_names + + + + + Panama + tz_names + + + + + Pangnirtung + tz_names + + + + + Paramaribo + tz_names + + + + + Paris + tz_names + + + + + Perth + tz_names + + + + + Phnom Penh + tz_names + + + + + Phoenix + tz_names + + + + + Pitcairn + tz_names + + + + + Podgorica + tz_names + + + + + Pohnpei + tz_names + + + + + Pontianak + tz_names + + + + + Port Moresby + tz_names + + + + + Port of Spain + tz_names + + + + + Port-au-Prince + tz_names + + + + + Porto Velho + tz_names + + + + + Porto-Novo + tz_names + + + + + Prague + tz_names + + + + + Puerto Rico + tz_names + + + + + Punta Arenas + tz_names + + + + + Pyongyang + tz_names + + + + + Qatar + tz_names + + + + + Qostanay + tz_names + + + + + Qyzylorda + tz_names + + + + + Rainy River + tz_names + + + + + Rankin Inlet + tz_names + + + + + Rarotonga + tz_names + + + + + Recife + tz_names + + + + + Regina + tz_names + + + + + Resolute + tz_names + + + + + Reunion + tz_names + + + + + Reykjavik + tz_names + + + + + Riga + tz_names + + + + + Rio Branco + tz_names + + + + + Riyadh + tz_names + + + + + Rome + tz_names + + + + + Rothera + tz_names + + + + + Saipan + tz_names + + + + + Sakhalin + tz_names + + + + + Samara + tz_names + + + + + Samarkand + tz_names + + + + + San Marino + tz_names + + + + + Santarem + tz_names + + + + + Santiago + tz_names + + + + + Santo Domingo + tz_names + + + + + Sao Paulo + tz_names + + + + + Sao Tome + tz_names + + + + + Sarajevo + tz_names + + + + + Saratov + tz_names + + + + + Scoresbysund + tz_names + + + + + Seoul + tz_names + + + + + Shanghai + tz_names + + + + + Simferopol + tz_names + + + + + Singapore + tz_names + + + + + Sitka + tz_names + + + + + Skopje + tz_names + + + + + Sofia + tz_names + + + + + South Georgia + tz_names + + + + + Srednekolymsk + tz_names + + + + + St Barthelemy + tz_names + + + + + St Helena + tz_names + + + + + St Johns + tz_names + + + + + St Kitts + tz_names + + + + + St Lucia + tz_names + + + + + St Thomas + tz_names + + + + + St Vincent + tz_names + + + + + Stanley + tz_names + + + + + Stockholm + tz_names + + + + + Swift Current + tz_names + + + + + Sydney + tz_names + + + + + Syowa + tz_names + + + + + Tahiti + tz_names + + + + + Taipei + tz_names + + + + + Tallinn + tz_names + + + + + Tarawa + tz_names + + + + + Tashkent + tz_names + + + + + Tbilisi + tz_names + + + + + Tegucigalpa + tz_names + + + + + Tehran + tz_names + + + + + Thimphu + tz_names + + + + + Thule + tz_names + + + + + Thunder Bay + tz_names + + + + + Tijuana + tz_names + + + + + Tirane + tz_names + + + + + Tokyo + tz_names + + + + + Tomsk + tz_names + + + + + Tongatapu + tz_names + + + + + Toronto + tz_names + + + + + Tortola + tz_names + + + + + Tripoli + tz_names + + + + + Troll + tz_names + + + + + Tunis + tz_names + + + + + Ulaanbaatar + tz_names + + + + + Ulyanovsk + tz_names + + + + + Urumqi + tz_names + + + + + Ust-Nera + tz_names + + + + + Uzhgorod + tz_names + + + + + Vaduz + tz_names + + + + + Vancouver + tz_names + + + + + Vatican + tz_names + + + + + Vienna + tz_names + + + + + Vientiane + tz_names + + + + + Vilnius + tz_names + + + + + Vladivostok + tz_names + + + + + Volgograd + tz_names + + + + + Vostok + tz_names + + + + + Wake + tz_names + + + + + Wallis + tz_names + + + + + Warsaw + tz_names + + + + + Whitehorse + tz_names + + + + + Windhoek + tz_names + + + + + Winnipeg + tz_names + + + + + Yakutat + tz_names + + + + + Yakutsk + tz_names + + + + + Yangon + tz_names + + + + + Yekaterinburg + tz_names + + + + + Yellowknife + tz_names + + + + + Yerevan + tz_names + + + + + Zagreb + tz_names + + + + + Zaporozhye + tz_names + + + + + Zurich + tz_names + + + + From 93826c3c2aab96ec615ae8595d921a5b200b488b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 10 Dec 2019 23:23:43 +0000 Subject: [PATCH 598/626] i18n: Dutch TZ translations (provisional) --- lang/tz_nl.ts | 2617 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2617 insertions(+) create mode 100644 lang/tz_nl.ts diff --git a/lang/tz_nl.ts b/lang/tz_nl.ts new file mode 100644 index 000000000..e1eb8d1e5 --- /dev/null +++ b/lang/tz_nl.ts @@ -0,0 +1,2617 @@ + + + + + QObject + + + Africa + tz_regions + Afrika + + + + America + tz_regions + Amerika + + + + Antarctica + tz_regions + + + + + Arctic + tz_regions + + + + + Asia + tz_regions + Azië + + + + Atlantic + tz_regions + Atlantisch + + + + Australia + tz_regions + Australië + + + + Europe + tz_regions + Europa + + + + Indian + tz_regions + + + + + Pacific + tz_regions + Stille Oceaan + + + + Abidjan + tz_names + + + + + Accra + tz_names + + + + + Adak + tz_names + + + + + Addis Ababa + tz_names + + + + + Adelaide + tz_names + + + + + Aden + tz_names + + + + + Algiers + tz_names + + + + + Almaty + tz_names + + + + + Amman + tz_names + + + + + Amsterdam + tz_names + + + + + Anadyr + tz_names + + + + + Anchorage + tz_names + + + + + Andorra + tz_names + + + + + Anguilla + tz_names + + + + + Antananarivo + tz_names + + + + + Antigua + tz_names + + + + + Apia + tz_names + + + + + Aqtau + tz_names + + + + + Aqtobe + tz_names + + + + + Araguaina + tz_names + + + + + Argentina/Buenos Aires + tz_names + + + + + Argentina/Catamarca + tz_names + + + + + Argentina/Cordoba + tz_names + + + + + Argentina/Jujuy + tz_names + + + + + Argentina/La Rioja + tz_names + + + + + Argentina/Mendoza + tz_names + + + + + Argentina/Rio Gallegos + tz_names + + + + + Argentina/Salta + tz_names + + + + + Argentina/San Juan + tz_names + + + + + Argentina/San Luis + tz_names + + + + + Argentina/Tucuman + tz_names + + + + + Argentina/Ushuaia + tz_names + + + + + Aruba + tz_names + + + + + Ashgabat + tz_names + + + + + Asmara + tz_names + + + + + Astrakhan + tz_names + + + + + Asuncion + tz_names + + + + + Athens + tz_names + + + + + Atikokan + tz_names + + + + + Atyrau + tz_names + + + + + Auckland + tz_names + + + + + Azores + tz_names + + + + + Baghdad + tz_names + + + + + Bahia + tz_names + + + + + Bahia Banderas + tz_names + + + + + Bahrain + tz_names + + + + + Baku + tz_names + + + + + Bamako + tz_names + + + + + Bangkok + tz_names + + + + + Bangui + tz_names + + + + + Banjul + tz_names + + + + + Barbados + tz_names + + + + + Barnaul + tz_names + + + + + Beirut + tz_names + + + + + Belem + tz_names + + + + + Belgrade + tz_names + + + + + Belize + tz_names + + + + + Berlin + tz_names + Berlijn + + + + Bermuda + tz_names + + + + + Bishkek + tz_names + + + + + Bissau + tz_names + + + + + Blanc-Sablon + tz_names + + + + + Blantyre + tz_names + + + + + Boa Vista + tz_names + + + + + Bogota + tz_names + + + + + Boise + tz_names + + + + + Bougainville + tz_names + + + + + Bratislava + tz_names + + + + + Brazzaville + tz_names + + + + + Brisbane + tz_names + + + + + Broken Hill + tz_names + + + + + Brunei + tz_names + + + + + Brussels + tz_names + + + + + Bucharest + tz_names + + + + + Budapest + tz_names + + + + + Bujumbura + tz_names + + + + + Busingen + tz_names + + + + + Cairo + tz_names + + + + + Cambridge Bay + tz_names + + + + + Campo Grande + tz_names + + + + + Canary + tz_names + + + + + Cancun + tz_names + + + + + Cape Verde + tz_names + + + + + Caracas + tz_names + + + + + Casablanca + tz_names + + + + + Casey + tz_names + + + + + Cayenne + tz_names + + + + + Cayman + tz_names + + + + + Ceuta + tz_names + + + + + Chagos + tz_names + + + + + Chatham + tz_names + + + + + Chicago + tz_names + + + + + Chihuahua + tz_names + + + + + Chisinau + tz_names + + + + + Chita + tz_names + + + + + Choibalsan + tz_names + + + + + Christmas + tz_names + + + + + Chuuk + tz_names + + + + + Cocos + tz_names + + + + + Colombo + tz_names + + + + + Comoro + tz_names + + + + + Conakry + tz_names + + + + + Copenhagen + tz_names + + + + + Costa Rica + tz_names + + + + + Creston + tz_names + + + + + Cuiaba + tz_names + + + + + Curacao + tz_names + + + + + Currie + tz_names + + + + + Dakar + tz_names + + + + + Damascus + tz_names + + + + + Danmarkshavn + tz_names + + + + + Dar es Salaam + tz_names + + + + + Darwin + tz_names + + + + + Davis + tz_names + + + + + Dawson + tz_names + + + + + Dawson Creek + tz_names + + + + + Denver + tz_names + + + + + Detroit + tz_names + + + + + Dhaka + tz_names + + + + + Dili + tz_names + + + + + Djibouti + tz_names + + + + + Dominica + tz_names + + + + + Douala + tz_names + + + + + Dubai + tz_names + + + + + Dublin + tz_names + + + + + DumontDUrville + tz_names + + + + + Dushanbe + tz_names + + + + + Easter + tz_names + + + + + Edmonton + tz_names + + + + + Efate + tz_names + + + + + Eirunepe + tz_names + + + + + El Aaiun + tz_names + + + + + El Salvador + tz_names + + + + + Enderbury + tz_names + + + + + Eucla + tz_names + + + + + Fakaofo + tz_names + + + + + Famagusta + tz_names + + + + + Faroe + tz_names + + + + + Fiji + tz_names + + + + + Fort Nelson + tz_names + + + + + Fortaleza + tz_names + + + + + Freetown + tz_names + + + + + Funafuti + tz_names + + + + + Gaborone + tz_names + + + + + Galapagos + tz_names + + + + + Gambier + tz_names + + + + + Gaza + tz_names + + + + + Gibraltar + tz_names + + + + + Glace Bay + tz_names + + + + + Godthab + tz_names + + + + + Goose Bay + tz_names + + + + + Grand Turk + tz_names + + + + + Grenada + tz_names + + + + + Guadalcanal + tz_names + + + + + Guadeloupe + tz_names + + + + + Guam + tz_names + + + + + Guatemala + tz_names + + + + + Guayaquil + tz_names + + + + + Guernsey + tz_names + + + + + Guyana + tz_names + + + + + Halifax + tz_names + + + + + Harare + tz_names + + + + + Havana + tz_names + + + + + Hebron + tz_names + + + + + Helsinki + tz_names + + + + + Hermosillo + tz_names + + + + + Ho Chi Minh + tz_names + + + + + Hobart + tz_names + + + + + Hong Kong + tz_names + + + + + Honolulu + tz_names + + + + + Hovd + tz_names + + + + + Indiana/Indianapolis + tz_names + + + + + Indiana/Knox + tz_names + + + + + Indiana/Marengo + tz_names + + + + + Indiana/Petersburg + tz_names + + + + + Indiana/Tell City + tz_names + + + + + Indiana/Vevay + tz_names + + + + + Indiana/Vincennes + tz_names + + + + + Indiana/Winamac + tz_names + + + + + Inuvik + tz_names + + + + + Iqaluit + tz_names + + + + + Irkutsk + tz_names + + + + + Isle of Man + tz_names + + + + + Istanbul + tz_names + + + + + Jakarta + tz_names + + + + + Jamaica + tz_names + + + + + Jayapura + tz_names + + + + + Jersey + tz_names + + + + + Jerusalem + tz_names + + + + + Johannesburg + tz_names + + + + + Juba + tz_names + + + + + Juneau + tz_names + + + + + Kabul + tz_names + + + + + Kaliningrad + tz_names + + + + + Kamchatka + tz_names + + + + + Kampala + tz_names + + + + + Karachi + tz_names + + + + + Kathmandu + tz_names + + + + + Kentucky/Louisville + tz_names + + + + + Kentucky/Monticello + tz_names + + + + + Kerguelen + tz_names + + + + + Khandyga + tz_names + + + + + Khartoum + tz_names + + + + + Kiev + tz_names + + + + + Kigali + tz_names + + + + + Kinshasa + tz_names + + + + + Kiritimati + tz_names + + + + + Kirov + tz_names + + + + + Kolkata + tz_names + + + + + Kosrae + tz_names + + + + + Kralendijk + tz_names + + + + + Krasnoyarsk + tz_names + + + + + Kuala Lumpur + tz_names + + + + + Kuching + tz_names + + + + + Kuwait + tz_names + + + + + Kwajalein + tz_names + + + + + La Paz + tz_names + + + + + Lagos + tz_names + + + + + Libreville + tz_names + + + + + Lima + tz_names + + + + + Lindeman + tz_names + + + + + Lisbon + tz_names + + + + + Ljubljana + tz_names + + + + + Lome + tz_names + + + + + London + tz_names + + + + + Longyearbyen + tz_names + + + + + Lord Howe + tz_names + + + + + Los Angeles + tz_names + + + + + Lower Princes + tz_names + + + + + Luanda + tz_names + + + + + Lubumbashi + tz_names + + + + + Lusaka + tz_names + + + + + Luxembourg + tz_names + + + + + Macau + tz_names + + + + + Maceio + tz_names + + + + + Macquarie + tz_names + + + + + Madeira + tz_names + + + + + Madrid + tz_names + + + + + Magadan + tz_names + + + + + Mahe + tz_names + + + + + Majuro + tz_names + + + + + Makassar + tz_names + + + + + Malabo + tz_names + + + + + Maldives + tz_names + + + + + Malta + tz_names + + + + + Managua + tz_names + + + + + Manaus + tz_names + + + + + Manila + tz_names + + + + + Maputo + tz_names + + + + + Mariehamn + tz_names + + + + + Marigot + tz_names + + + + + Marquesas + tz_names + + + + + Martinique + tz_names + + + + + Maseru + tz_names + + + + + Matamoros + tz_names + + + + + Mauritius + tz_names + + + + + Mawson + tz_names + + + + + Mayotte + tz_names + + + + + Mazatlan + tz_names + + + + + Mbabane + tz_names + + + + + McMurdo + tz_names + + + + + Melbourne + tz_names + + + + + Menominee + tz_names + + + + + Merida + tz_names + + + + + Metlakatla + tz_names + + + + + Mexico City + tz_names + + + + + Midway + tz_names + + + + + Minsk + tz_names + + + + + Miquelon + tz_names + + + + + Mogadishu + tz_names + + + + + Monaco + tz_names + + + + + Moncton + tz_names + + + + + Monrovia + tz_names + + + + + Monterrey + tz_names + + + + + Montevideo + tz_names + + + + + Montserrat + tz_names + + + + + Moscow + tz_names + + + + + Muscat + tz_names + + + + + Nairobi + tz_names + + + + + Nassau + tz_names + + + + + Nauru + tz_names + + + + + Ndjamena + tz_names + + + + + New York + tz_names + + + + + Niamey + tz_names + + + + + Nicosia + tz_names + + + + + Nipigon + tz_names + + + + + Niue + tz_names + + + + + Nome + tz_names + + + + + Norfolk + tz_names + + + + + Noronha + tz_names + + + + + North Dakota/Beulah + tz_names + + + + + North Dakota/Center + tz_names + + + + + North Dakota/New Salem + tz_names + + + + + Nouakchott + tz_names + + + + + Noumea + tz_names + + + + + Novokuznetsk + tz_names + + + + + Novosibirsk + tz_names + + + + + Ojinaga + tz_names + + + + + Omsk + tz_names + + + + + Oral + tz_names + + + + + Oslo + tz_names + + + + + Ouagadougou + tz_names + + + + + Pago Pago + tz_names + + + + + Palau + tz_names + + + + + Palmer + tz_names + + + + + Panama + tz_names + + + + + Pangnirtung + tz_names + + + + + Paramaribo + tz_names + + + + + Paris + tz_names + Parijs + + + + Perth + tz_names + + + + + Phnom Penh + tz_names + + + + + Phoenix + tz_names + + + + + Pitcairn + tz_names + + + + + Podgorica + tz_names + + + + + Pohnpei + tz_names + + + + + Pontianak + tz_names + + + + + Port Moresby + tz_names + + + + + Port of Spain + tz_names + + + + + Port-au-Prince + tz_names + + + + + Porto Velho + tz_names + + + + + Porto-Novo + tz_names + + + + + Prague + tz_names + + + + + Puerto Rico + tz_names + + + + + Punta Arenas + tz_names + + + + + Pyongyang + tz_names + + + + + Qatar + tz_names + + + + + Qostanay + tz_names + + + + + Qyzylorda + tz_names + + + + + Rainy River + tz_names + + + + + Rankin Inlet + tz_names + + + + + Rarotonga + tz_names + + + + + Recife + tz_names + + + + + Regina + tz_names + + + + + Resolute + tz_names + + + + + Reunion + tz_names + + + + + Reykjavik + tz_names + + + + + Riga + tz_names + + + + + Rio Branco + tz_names + + + + + Riyadh + tz_names + + + + + Rome + tz_names + + + + + Rothera + tz_names + + + + + Saipan + tz_names + + + + + Sakhalin + tz_names + + + + + Samara + tz_names + + + + + Samarkand + tz_names + + + + + San Marino + tz_names + + + + + Santarem + tz_names + + + + + Santiago + tz_names + + + + + Santo Domingo + tz_names + + + + + Sao Paulo + tz_names + + + + + Sao Tome + tz_names + + + + + Sarajevo + tz_names + + + + + Saratov + tz_names + + + + + Scoresbysund + tz_names + + + + + Seoul + tz_names + + + + + Shanghai + tz_names + + + + + Simferopol + tz_names + + + + + Singapore + tz_names + + + + + Sitka + tz_names + + + + + Skopje + tz_names + + + + + Sofia + tz_names + + + + + South Georgia + tz_names + + + + + Srednekolymsk + tz_names + + + + + St Barthelemy + tz_names + + + + + St Helena + tz_names + + + + + St Johns + tz_names + + + + + St Kitts + tz_names + + + + + St Lucia + tz_names + + + + + St Thomas + tz_names + + + + + St Vincent + tz_names + + + + + Stanley + tz_names + + + + + Stockholm + tz_names + + + + + Swift Current + tz_names + + + + + Sydney + tz_names + + + + + Syowa + tz_names + + + + + Tahiti + tz_names + + + + + Taipei + tz_names + + + + + Tallinn + tz_names + + + + + Tarawa + tz_names + + + + + Tashkent + tz_names + + + + + Tbilisi + tz_names + + + + + Tegucigalpa + tz_names + + + + + Tehran + tz_names + + + + + Thimphu + tz_names + + + + + Thule + tz_names + + + + + Thunder Bay + tz_names + + + + + Tijuana + tz_names + + + + + Tirane + tz_names + + + + + Tokyo + tz_names + + + + + Tomsk + tz_names + + + + + Tongatapu + tz_names + + + + + Toronto + tz_names + + + + + Tortola + tz_names + + + + + Tripoli + tz_names + + + + + Troll + tz_names + + + + + Tunis + tz_names + + + + + Ulaanbaatar + tz_names + + + + + Ulyanovsk + tz_names + + + + + Urumqi + tz_names + + + + + Ust-Nera + tz_names + + + + + Uzhgorod + tz_names + + + + + Vaduz + tz_names + + + + + Vancouver + tz_names + + + + + Vatican + tz_names + + + + + Vienna + tz_names + + + + + Vientiane + tz_names + + + + + Vilnius + tz_names + + + + + Vladivostok + tz_names + + + + + Volgograd + tz_names + + + + + Vostok + tz_names + + + + + Wake + tz_names + + + + + Wallis + tz_names + + + + + Warsaw + tz_names + + + + + Whitehorse + tz_names + + + + + Windhoek + tz_names + + + + + Winnipeg + tz_names + + + + + Yakutat + tz_names + + + + + Yakutsk + tz_names + + + + + Yangon + tz_names + + + + + Yekaterinburg + tz_names + + + + + Yellowknife + tz_names + + + + + Yerevan + tz_names + + + + + Zagreb + tz_names + + + + + Zaporozhye + tz_names + + + + + Zurich + tz_names + + + + From 8fc94900d3a7e19d4f88c80c251cb81859dd6f1c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 06:39:57 -0500 Subject: [PATCH 599/626] CMake: add the tz_ translation files to the i18n build --- CMakeModules/CalamaresAddTranslations.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeModules/CalamaresAddTranslations.cmake b/CMakeModules/CalamaresAddTranslations.cmake index 4892cc0f9..d74e4bdfb 100644 --- a/CMakeModules/CalamaresAddTranslations.cmake +++ b/CMakeModules/CalamaresAddTranslations.cmake @@ -67,8 +67,12 @@ macro(add_calamares_translations language) # calamares and qt language files set( calamares_i18n_qrc_content "${calamares_i18n_qrc_content}\n" ) foreach( lang ${CALAMARES_LANGUAGES} ) - set( calamares_i18n_qrc_content "${calamares_i18n_qrc_content}calamares_${lang}.qm\n" ) - list( APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/calamares_${lang}.ts" ) + foreach( tlsource "calamares_${lang}" "tz_${lang}" ) + if( EXISTS "${CMAKE_SOURCE_DIR}/lang/${tlsource}.ts" ) + set( calamares_i18n_qrc_content "${calamares_i18n_qrc_content}${tlsource}.qm\n" ) + list( APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/${tlsource}.ts" ) + endif() + endforeach() endforeach() set( calamares_i18n_qrc_content "${calamares_i18n_qrc_content}\n" ) From 0ed2a3e35f56db9cc173a725187f63a3ba770997 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 06:40:22 -0500 Subject: [PATCH 600/626] [libcalamares] Refactor translation-setting - Split the actual loading of translations into classes to encapsulate the loading logic, - Build a collection of classes to do the different kinds of translation loading, - Build a generic function to load something and update a static pointer to the translation. This makes installTranslator() much easier to read, and encapsulates the type-specific loading somewhere else. While here, add a timezone- translations loader so that the split-out TZ translations also work. --- src/libcalamares/utils/Retranslator.cpp | 212 ++++++++++++++++-------- 1 file changed, 139 insertions(+), 73 deletions(-) diff --git a/src/libcalamares/utils/Retranslator.cpp b/src/libcalamares/utils/Retranslator.cpp index d761263ac..047f642e4 100644 --- a/src/libcalamares/utils/Retranslator.cpp +++ b/src/libcalamares/utils/Retranslator.cpp @@ -25,90 +25,156 @@ #include #include +/** @brief Helper class for loading translations + * + * This is used by the loadSingletonTranslator() function to hand off + * work to translation-type specific code. + */ +struct TranslationLoader +{ + static QString mungeLocaleName( const QLocale& locale ) + { + QString localeName = locale.name(); + localeName.replace( "-", "_" ); + + if ( localeName == "C" ) + { + localeName = "en"; + } + + // Special case of sr@latin + // + // See top-level CMakeLists.txt about special cases for translation loading. + if ( locale.language() == QLocale::Language::Serbian && locale.script() == QLocale::Script::LatinScript ) + { + localeName = QStringLiteral( "sr@latin" ); + } + return localeName; + } + + TranslationLoader( const QLocale& locale ) + : m_locale( locale ) + , m_localeName( mungeLocaleName( locale ) ) + { + } + + virtual ~TranslationLoader() {}; + /// @brief Loads @p translator with the specific translations of this type + virtual bool tryLoad( QTranslator* translator ) = 0; + + const QLocale& m_locale; + QString m_localeName; +}; + +struct BrandingLoader : public TranslationLoader +{ + BrandingLoader( const QLocale& locale, const QString& prefix ) + : TranslationLoader( locale ) + , m_prefix( prefix ) + { + } + + bool tryLoad( QTranslator* translator ) override + { + if ( m_prefix.isEmpty() ) + { + return false; + } + QString brandingTranslationsDirPath( m_prefix ); + brandingTranslationsDirPath.truncate( m_prefix.lastIndexOf( QDir::separator() ) ); + QDir brandingTranslationsDir( brandingTranslationsDirPath ); + if ( brandingTranslationsDir.exists() ) + { + QString filenameBase( m_prefix ); + filenameBase.remove( 0, m_prefix.lastIndexOf( QDir::separator() ) + 1 ); + if ( translator->load( m_locale, filenameBase, "_", brandingTranslationsDir.absolutePath() ) ) + { + cDebug() << Logger::SubEntry << "Branding using locale:" << m_localeName; + return true; + } + else + { + cDebug() << Logger::SubEntry << "Branding using default, system locale not found:" << m_localeName; + // TODO: this loads something completely different + return translator->load( m_prefix + "en" ); + } + } + return false; + } + + QString m_prefix; +}; + +struct CalamaresLoader : public TranslationLoader +{ + using TranslationLoader::TranslationLoader; + + bool tryLoad( QTranslator* translator ) override + { + if ( translator->load( QString( ":/lang/calamares_" ) + m_localeName ) ) + { + cDebug() << Logger::SubEntry << "Calamares using locale:" << m_localeName; + return true; + } + else + { + cDebug() << Logger::SubEntry << "Calamares using default, system locale not found:" << m_localeName; + return translator->load( QString( ":/lang/calamares_en" ) ); + } + } +}; + +struct TZLoader : public TranslationLoader +{ + using TranslationLoader::TranslationLoader; + bool tryLoad( QTranslator* translator ) override + { + if ( translator->load( QString( ":/lang/tz_" ) + m_localeName ) ) + { + cDebug() << Logger::SubEntry << "Calamares Timezones using locale:" << m_localeName; + return true; + } + else + { + cDebug() << Logger::SubEntry + << "Calamares Timezones using default, system locale not found:" << m_localeName; + return translator->load( QString( ":/lang/tz_en" ) ); + } + } +}; + +static void +loadSingletonTranslator( TranslationLoader&& loader, QTranslator*& translator_p ) +{ + QTranslator* translator = new QTranslator(); + loader.tryLoad( translator ); + + if ( translator_p ) + { + QCoreApplication::removeTranslator( translator_p ); + delete translator_p; + } + + QCoreApplication::installTranslator( translator ); + translator_p = translator; +} namespace CalamaresUtils { static QTranslator* s_brandingTranslator = nullptr; static QTranslator* s_translator = nullptr; +static QTranslator* s_tztranslator = nullptr; static QString s_translatorLocaleName; void installTranslator( const QLocale& locale, const QString& brandingTranslationsPrefix, QObject* parent ) { - QString localeName = locale.name(); - localeName.replace( "-", "_" ); + loadSingletonTranslator( BrandingLoader( locale, brandingTranslationsPrefix ), s_brandingTranslator ); + loadSingletonTranslator( TZLoader( locale ), s_tztranslator ); - if ( localeName == "C" ) - { - localeName = "en"; - } - - // Special case of sr@latin - // - // See top-level CMakeLists.txt about special cases for translation loading. - if ( locale.language() == QLocale::Language::Serbian && locale.script() == QLocale::Script::LatinScript ) - { - localeName = QStringLiteral( "sr@latin" ); - } - - cDebug() << "Looking for translations for" << localeName; - - QTranslator* translator = nullptr; - - // Branding translations - if ( !brandingTranslationsPrefix.isEmpty() ) - { - QString brandingTranslationsDirPath( brandingTranslationsPrefix ); - brandingTranslationsDirPath.truncate( brandingTranslationsPrefix.lastIndexOf( QDir::separator() ) ); - QDir brandingTranslationsDir( brandingTranslationsDirPath ); - if ( brandingTranslationsDir.exists() ) - { - QString filenameBase( brandingTranslationsPrefix ); - filenameBase.remove( 0, brandingTranslationsPrefix.lastIndexOf( QDir::separator() ) + 1 ); - translator = new QTranslator( parent ); - if ( translator->load( locale, filenameBase, "_", brandingTranslationsDir.absolutePath() ) ) - { - cDebug() << Logger::SubEntry << "Branding using locale:" << localeName; - } - else - { - cDebug() << Logger::SubEntry << "Branding using default, system locale not found:" << localeName; - translator->load( brandingTranslationsPrefix + "en" ); - } - - if ( s_brandingTranslator ) - { - QCoreApplication::removeTranslator( s_brandingTranslator ); - delete s_brandingTranslator; - } - - QCoreApplication::installTranslator( translator ); - s_brandingTranslator = translator; - } - } - - // Calamares translations - translator = new QTranslator( parent ); - if ( translator->load( QString( ":/lang/calamares_" ) + localeName ) ) - { - cDebug() << Logger::SubEntry << "Calamares using locale:" << localeName; - } - else - { - cDebug() << Logger::SubEntry << "Calamares using default, system locale not found:" << localeName; - translator->load( QString( ":/lang/calamares_en" ) ); - } - - if ( s_translator ) - { - QCoreApplication::removeTranslator( s_translator ); - delete s_translator; - } - - QCoreApplication::installTranslator( translator ); - s_translator = translator; - - s_translatorLocaleName = localeName; + CalamaresLoader l( locale ); // because we want the extracted localeName + loadSingletonTranslator( std::move( l ), s_translator ); + s_translatorLocaleName = l.m_localeName; } From daa76080f1b413697d49eddb23b7925891afad33 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 07:00:42 -0500 Subject: [PATCH 601/626] [libcalamares] Add meaningful aliases for key() --- src/libcalamares/locale/TimeZone.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 73e73cf85..248c6b582 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -91,6 +91,8 @@ public: virtual ~TZRegion(); QString tr() const override; + QString region() const { return key(); } + /** @brief Create list from a zone.tab-like file * * Returns a list of all the regions; each region has a list @@ -121,6 +123,7 @@ public: TZZone( const QString& region, const char* zoneName, const QString& country, QString position ); QString region() const { return m_region; } + QString zone() const { return key(); } QString country() const { return m_country; } double latitude() const { return m_latitude; } double longitude() const { return m_longitude; } From 4945408911c40e723ed7cd8aa910ef46e4383e62 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 07:01:15 -0500 Subject: [PATCH 602/626] [libcalamares] Remove debugging cruft --- src/libcalamares/locale/TimeZone.cpp | 6 ------ src/libcalamares/locale/TimeZone.h | 9 --------- 2 files changed, 15 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index a9550ebb6..05aeaf885 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -234,12 +234,6 @@ TZZone::tr() const return QObject::tr( m_human, "tz_names" ); } -void -TZZone::print( QDebug& log ) const -{ - log << key() << '(' << m_country << ' ' << m_latitude << ',' << m_longitude << ')'; -} - CStringListModel::CStringListModel( CStringPairList l ) : m_list( l ) diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 248c6b582..567b42241 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -128,21 +128,12 @@ public: double latitude() const { return m_latitude; } double longitude() const { return m_longitude; } - void print( QDebug& ) const; - protected: QString m_region; QString m_country; double m_latitude = 0.0, m_longitude = 0.0; }; -inline QDebug& -operator<<( QDebug& log, const TZZone& z ) -{ - z.print( log ); - return log; -} - class CStringListModel : public QAbstractListModel { public: From 242b79e2e1292a6f926229c29063473fb94a11fc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 08:36:23 -0500 Subject: [PATCH 603/626] [locale] Remove old Location information - all the TZ location information now lives in the Calamares locale service and the TZ list - replace the Location class that was local to the timezone widget by the TZZone class - chase a bunch of small API changes that this needs --- src/modules/locale/LocalePage.cpp | 38 ++++++------------- src/modules/locale/LocalePage.h | 2 +- .../locale/timezonewidget/localeglobal.cpp | 26 ------------- .../locale/timezonewidget/localeglobal.h | 16 -------- .../locale/timezonewidget/timezonewidget.cpp | 13 ++++--- .../locale/timezonewidget/timezonewidget.h | 16 ++++---- 6 files changed, 28 insertions(+), 83 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index ecdfb1935..4e43fc177 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -133,19 +133,6 @@ LocalePage::updateLocaleLabels() m_formatsLabel->setText( labels.second ); } -static inline bool -containsLocation( const QList< LocaleGlobal::Location >& locations, const QString& zone ) -{ - for ( const LocaleGlobal::Location& location : locations ) - { - if ( location.zone == zone ) - { - return true; - } - } - return false; -} - void LocalePage::init( const QString& initialRegion, const QString& initialZone, const QString& localeGenPath ) { @@ -163,7 +150,6 @@ LocalePage::init( const QString& initialRegion, const QString& initialZone, cons { m_tzWidget->setCurrentLocation( "America", "New_York" ); } - emit m_tzWidget->locationChanged( m_tzWidget->getCurrentLocation() ); // Some distros come with a meaningfully commented and easy to parse locale.gen, // and others ship a separate file /usr/share/i18n/SUPPORTED with a clean list of @@ -298,9 +284,9 @@ Calamares::JobList LocalePage::createJobs() { QList< Calamares::job_ptr > list; - LocaleGlobal::Location location = m_tzWidget->getCurrentLocation(); + const CalamaresUtils::Locale::TZZone* location = m_tzWidget->currentLocation(); - Calamares::Job* j = new SetTimezoneJob( location.region, location.zone ); + Calamares::Job* j = new SetTimezoneJob( location->region(), location->zone() ); list.append( Calamares::job_ptr( j ) ); return list; @@ -333,7 +319,7 @@ LocaleConfiguration LocalePage::guessLocaleConfiguration() const { return LocaleConfiguration::fromLanguageAndLocation( - QLocale().name(), m_localeGenLines, m_tzWidget->getCurrentLocation().country ); + QLocale().name(), m_localeGenLines, m_tzWidget->currentLocation()->country() ); } @@ -351,12 +337,12 @@ LocalePage::updateGlobalStorage() { auto* gs = Calamares::JobQueue::instance()->globalStorage(); - LocaleGlobal::Location location = m_tzWidget->getCurrentLocation(); - bool locationChanged - = ( location.region != gs->value( "locationRegion" ) ) || ( location.zone != gs->value( "locationZone" ) ); + const auto* location = m_tzWidget->currentLocation(); + bool locationChanged = ( location->region() != gs->value( "locationRegion" ) ) + || ( location->zone() != gs->value( "locationZone" ) ); - gs->insert( "locationRegion", location.region ); - gs->insert( "locationZone", location.zone ); + gs->insert( "locationRegion", location->region() ); + gs->insert( "locationZone", location->zone() ); updateGlobalLocale(); @@ -366,7 +352,7 @@ LocalePage::updateGlobalStorage() if ( locationChanged && Calamares::Settings::instance()->doChroot() ) { QProcess::execute( "timedatectl", // depends on systemd - { "set-timezone", location.region + '/' + location.zone } ); + { "set-timezone", location->region() + '/' + location->zone() } ); } #endif @@ -427,12 +413,12 @@ LocalePage::zoneChanged( int currentIndex ) } void -LocalePage::locationChanged( LocaleGlobal::Location location ) +LocalePage::locationChanged( const CalamaresUtils::Locale::TZZone* location ) { m_blockTzWidgetSet = true; // Set region index - int index = m_regionCombo->findData( location.region ); + int index = m_regionCombo->findData( location->region() ); if ( index < 0 ) { return; @@ -441,7 +427,7 @@ LocalePage::locationChanged( LocaleGlobal::Location location ) m_regionCombo->setCurrentIndex( index ); // Set zone index - index = m_zoneCombo->findData( location.zone ); + index = m_zoneCombo->findData( location->zone() ); if ( index < 0 ) { return; diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 7c2eba253..d6aaa6de8 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -70,7 +70,7 @@ private: void regionChanged( int currentIndex ); void zoneChanged( int currentIndex ); - void locationChanged( LocaleGlobal::Location location ); + void locationChanged( const CalamaresUtils::Locale::TZZone* location ); void changeLocale(); void changeFormats(); diff --git a/src/modules/locale/timezonewidget/localeglobal.cpp b/src/modules/locale/timezonewidget/localeglobal.cpp index 593de5cab..d0e889148 100644 --- a/src/modules/locale/timezonewidget/localeglobal.cpp +++ b/src/modules/locale/timezonewidget/localeglobal.cpp @@ -38,32 +38,6 @@ QHash< QString, QHash< QString, QList< LocaleGlobal::Locale > > > LocaleGlobal:: //### -QString -LocaleGlobal::Location::pretty( const QString& s ) -{ - return QString( s ).replace( '_', ' ' ).simplified(); -} - - -QString -LocaleGlobal::Location::comment() const -{ - QTimeZone qtz = QTimeZone( QString( "%1/%2" ).arg( region ).arg( zone ).toLatin1() ); - return qtz.comment(); -} - -LocaleGlobal::Location& -LocaleGlobal::Location::operator=( const CalamaresUtils::Locale::TZZone& location ) -{ - region = location.region(); - zone = location.key(); - country = location.country(); - latitude = location.latitude(); - longitude = location.longitude(); - return *this; -} - - void LocaleGlobal::init() { diff --git a/src/modules/locale/timezonewidget/localeglobal.h b/src/modules/locale/timezonewidget/localeglobal.h index b5e175c7c..1dc9548d0 100644 --- a/src/modules/locale/timezonewidget/localeglobal.h +++ b/src/modules/locale/timezonewidget/localeglobal.h @@ -51,16 +51,6 @@ public: QString description, locale; }; - struct Location - { - QString region, zone, country; - double latitude, longitude; - static QString pretty( const QString& s ); - QString comment() const; - - Location& operator=( const CalamaresUtils::Locale::TZZone& ); - }; - static void init(); static QHash< QString, QHash< QString, QList< LocaleGlobal::Locale > > > getLocales(); @@ -70,10 +60,4 @@ private: static void initLocales(); }; -inline QDebug& -operator<<( QDebug& s, const LocaleGlobal::Location& l ) -{ - return s << l.region << '/' << l.zone << '(' << l.country << ") @N" << l.latitude << 'E' << l.longitude; -} - #endif // LOCALEGLOBAL_H diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index 41b5b1980..926226f8c 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -105,10 +105,10 @@ TimeZoneWidget::setCurrentLocation( QString regionName, QString zoneName ) void TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone* location ) { - currentLocation = *location; + m_currentLocation = location; // Set zone - QPoint pos = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); + QPoint pos = getLocationPosition( location ); #ifdef DEBUG_TIMEZONES cDebug() << "Setting location" << location->region() << *location; @@ -147,6 +147,7 @@ TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone* locati // Repaint widget repaint(); + emit locationChanged( m_currentLocation ); } @@ -265,12 +266,12 @@ TimeZoneWidget::paintEvent( QPaintEvent* ) painter.drawPoint( point ); #else // Draw pin at current location - QPoint point = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); + QPoint point = getLocationPosition( m_currentLocation ); painter.drawImage( point.x() - pin.width() / 2, point.y() - pin.height() / 2, pin ); // Draw text and box - const int textWidth = fontMetrics.horizontalAdvance( LocaleGlobal::Location::pretty( currentLocation.zone ) ); + const int textWidth = fontMetrics.horizontalAdvance( m_currentLocation ? m_currentLocation->tr() : QString() ); const int textHeight = fontMetrics.height(); QRect rect = QRect( point.x() - textWidth / 2 - 5, point.y() - textHeight - 8, textWidth + 10, textHeight - 2 ); @@ -296,7 +297,7 @@ TimeZoneWidget::paintEvent( QPaintEvent* ) painter.setBrush( QColor( 40, 40, 40 ) ); painter.drawRoundedRect( rect, 3, 3 ); painter.setPen( Qt::white ); - painter.drawText( rect.x() + 5, rect.bottom() - 4, LocaleGlobal::Location::pretty( currentLocation.zone ) ); + painter.drawText( rect.x() + 5, rect.bottom() - 4, m_currentLocation ? m_currentLocation->tr() : QString() ); #endif painter.end(); @@ -345,6 +346,6 @@ TimeZoneWidget::mousePressEvent( QMouseEvent* event ) // Set zone image and repaint widget setCurrentLocation( closest ); // Emit signal - emit locationChanged( currentLocation ); + emit locationChanged( m_currentLocation ); } } diff --git a/src/modules/locale/timezonewidget/timezonewidget.h b/src/modules/locale/timezonewidget/timezonewidget.h index 7a3572f10..d91c5cf27 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.h +++ b/src/modules/locale/timezonewidget/timezonewidget.h @@ -43,25 +43,25 @@ class TimeZoneWidget : public QWidget { Q_OBJECT public: + using TZZone = CalamaresUtils::Locale::TZZone; + explicit TimeZoneWidget( QWidget* parent = nullptr ); - LocaleGlobal::Location getCurrentLocation() { return currentLocation; } void setCurrentLocation( QString region, QString zone ); - void setCurrentLocation( const CalamaresUtils::Locale::TZZone* location ); + void setCurrentLocation( const TZZone* location ); + const TZZone* currentLocation() { return m_currentLocation; } + signals: - void locationChanged( LocaleGlobal::Location location ); + void locationChanged( const TZZone* location ); private: QFont font; QImage background, pin, currentZoneImage; QList< QImage > timeZoneImages; - LocaleGlobal::Location currentLocation; + const TZZone* m_currentLocation = nullptr; // Not owned by me - QPoint getLocationPosition( const LocaleGlobal::Location& l ) - { - return getLocationPosition( l.longitude, l.latitude ); - } + QPoint getLocationPosition( const TZZone* l ) { return getLocationPosition( l->longitude(), l->latitude() ); } QPoint getLocationPosition( double longitude, double latitude ); void paintEvent( QPaintEvent* event ); From 7bea19a62cca65296cc1a211d96bc397d5d41bc6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 08:43:36 -0500 Subject: [PATCH 604/626] [locale] Fix build with debugging enabled (API changes) --- src/modules/locale/timezonewidget/timezonewidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index 926226f8c..a96aaafa3 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -111,7 +111,7 @@ TimeZoneWidget::setCurrentLocation( const CalamaresUtils::Locale::TZZone* locati QPoint pos = getLocationPosition( location ); #ifdef DEBUG_TIMEZONES - cDebug() << "Setting location" << location->region() << *location; + cDebug() << "Setting location" << location->region() << location->zone() << '(' << location->country() << '@' << location->latitude() << 'N' << location->longitude() << 'E' << ')'; cDebug() << Logger::SubEntry << "pixel x" << pos.x() << "pixel y" << pos.y(); bool found = false; @@ -245,7 +245,7 @@ TimeZoneWidget::paintEvent( QPaintEvent* ) painter.drawImage( 0, 0, currentZoneImage ); #ifdef DEBUG_TIMEZONES - QPoint point = getLocationPosition( currentLocation.longitude, currentLocation.latitude ); + QPoint point = getLocationPosition( m_currentLocation ); // Draw latitude lines for ( int y_lat = -50; y_lat < 80; y_lat += 5 ) { From f5d7ef1bb75060d51f8c57b7b0a8e0ac7a15c3e1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 14:50:46 +0100 Subject: [PATCH 605/626] Changes: document TZ translations --- CHANGES | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 1f721faca..4d822815d 100644 --- a/CHANGES +++ b/CHANGES @@ -9,10 +9,14 @@ This release contains contributions from (alphabetically by first name): - No other contributors this time around. ## Core ## - - No changes to core functionality. + - Timezone support code has migrated into the core of Calamares. This + means that modules now have easier access to timezone information. + Translations for timezones have also been enabled, so it is **possible** + at least to translate the displayed zones in the *welcome* module. ## Modules ## - - No changes to modules. + - The *welcome* module now supports translations for timezone and + location names (e.g. "Berlin" is "Berlijn" in Dutch). # 3.2.17.1 (2019-12-02) # From 0e7982ec371246cc6e189ada32b2787f204479e5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Dec 2019 18:33:24 +0100 Subject: [PATCH 606/626] [libcalamares] Don't force Hindi on India. FIXES #1284 --- src/libcalamares/locale/CountryData_p.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/locale/CountryData_p.cpp b/src/libcalamares/locale/CountryData_p.cpp index f4736fa2e..4382950ec 100644 --- a/src/libcalamares/locale/CountryData_p.cpp +++ b/src/libcalamares/locale/CountryData_p.cpp @@ -15,6 +15,13 @@ * Conditions herein. */ +/* MODIFICATIONS + * + * Edited anyway: + * 20191211 India changed to AnyLanguage, since Hindi doesn't make sense. #1284 + * + */ + // BEGIN Generated from CLDR data // *INDENT-OFF* // clang-format off @@ -115,7 +122,7 @@ static const CountryData country_data_table[] = { { QLocale::Language::Spanish, QLocale::Country::CanaryIslands, 'I', 'C' }, { QLocale::Language::Indonesian, QLocale::Country::Indonesia, 'I', 'D' }, { QLocale::Language::Hebrew, QLocale::Country::Israel, 'I', 'L' }, -{ QLocale::Language::Hindi, QLocale::Country::India, 'I', 'N' }, +{ QLocale::Language::AnyLanguage, QLocale::Country::India, 'I', 'N' }, { QLocale::Language::Arabic, QLocale::Country::Iraq, 'I', 'Q' }, { QLocale::Language::Persian, QLocale::Country::Iran, 'I', 'R' }, { QLocale::Language::Icelandic, QLocale::Country::Iceland, 'I', 'S' }, From a3da47cd9cff94945ef58ddc8300b86acc438919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20M=C3=BCller?= Date: Mon, 16 Dec 2019 09:34:21 +0100 Subject: [PATCH 607/626] [initcpiocfg] update plymouth check --- src/modules/initcpiocfg/main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index 166cccf44..462528cb4 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -4,7 +4,7 @@ # === This file is part of Calamares - === # # Copyright 2014, Rohan Garg -# Copyright 2015, Philip Müller +# Copyright 2015 - 2019, Philip Müller # Copyright 2017, Alf Gaida # Copyright 2019, Adriaan de Groot # @@ -22,6 +22,7 @@ # along with Calamares. If not, see . import libcalamares +from libcalamares.utils import debug, target_env_call import os from collections import OrderedDict @@ -100,6 +101,11 @@ def write_mkinitcpio_lines(hooks, modules, files, root_mount_point): with open(path, "w") as mkinitcpio_file: mkinitcpio_file.write("\n".join(mklins) + "\n") +def detect_plymouth(): + isPlymouth = target_env_call(["sh", "-c", "which plymouth"]) + debug("which plymouth exit code: {!s}".format(isPlymouth)) + + return isPlymouth def modify_mkinitcpio_conf(partitions, root_mount_point): """ @@ -121,8 +127,7 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): unencrypted_separate_boot = False # It is important that the plymouth hook comes before any encrypt hook - plymouth_bin = os.path.join(root_mount_point, "usr/bin/plymouth") - if os.path.exists(plymouth_bin): + if detect_plymouth() == 0: hooks.append("plymouth") for partition in partitions: From 85d3f9e9b9297415ce1230f9c634271e24de0be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20M=C3=BCller?= Date: Mon, 16 Dec 2019 09:40:54 +0100 Subject: [PATCH 608/626] [initcpiocfg] add usr hook if partition is separate --- src/modules/initcpiocfg/main.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index 166cccf44..8925a1181 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -144,6 +144,9 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): and "luksMapperName" not in partition): unencrypted_separate_boot = True + if partition["mountPoint"] == "/usr": + hooks.append("usr") + if encrypt_hook: hooks.append("encrypt") if not unencrypted_separate_boot and \ From fe64903d2f532441fe5f14e22dcf1a5a282fd51f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Jan 2020 14:34:47 +0100 Subject: [PATCH 609/626] [initcpiocfg] Polish PR #1290 - List discrete years in copyright - Add docstrings - Massage detect_plymouth() to return bool (easier in if() context) --- src/modules/initcpiocfg/main.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index 462528cb4..63ac9f15e 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -4,7 +4,7 @@ # === This file is part of Calamares - === # # Copyright 2014, Rohan Garg -# Copyright 2015 - 2019, Philip Müller +# Copyright 2015,2019, Philip Müller # Copyright 2017, Alf Gaida # Copyright 2019, Adriaan de Groot # @@ -102,10 +102,16 @@ def write_mkinitcpio_lines(hooks, modules, files, root_mount_point): mkinitcpio_file.write("\n".join(mklins) + "\n") def detect_plymouth(): + """ + Checks existence (runnability) of plymouth in the target system. + + @return True if plymouth exists in the target, False otherwise + """ + # Used to only check existence of path /usr/bin/plymouth in target isPlymouth = target_env_call(["sh", "-c", "which plymouth"]) debug("which plymouth exit code: {!s}".format(isPlymouth)) - return isPlymouth + return isPlymouth == 0 def modify_mkinitcpio_conf(partitions, root_mount_point): """ @@ -127,7 +133,7 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): unencrypted_separate_boot = False # It is important that the plymouth hook comes before any encrypt hook - if detect_plymouth() == 0: + if detect_plymouth(): hooks.append("plymouth") for partition in partitions: From 25f0ba672c0a76f444931765b1b0a3e16cf908bb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Jan 2020 17:22:09 +0100 Subject: [PATCH 610/626] i18n: fix spelling of Kyiv - Add Ukranian translations of zone names. Since I don't write Ukranian, add only a translation (er .. in this case, the proper original spelling) of Kyiv. - Fix spelling in English following UN resolution. - Dutch remains unchanged, since as far as I can tell the Dutch Government still sticks to the Soviet-era spelling. FIXES #1298 --- lang/tz_en.ts | 2 +- lang/tz_uk.ts | 2617 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2618 insertions(+), 1 deletion(-) create mode 100644 lang/tz_uk.ts diff --git a/lang/tz_en.ts b/lang/tz_en.ts index 7e46eab3d..ba9b5a350 100644 --- a/lang/tz_en.ts +++ b/lang/tz_en.ts @@ -1285,7 +1285,7 @@ Kiev tz_names - + Kyiv diff --git a/lang/tz_uk.ts b/lang/tz_uk.ts new file mode 100644 index 000000000..6059079ca --- /dev/null +++ b/lang/tz_uk.ts @@ -0,0 +1,2617 @@ + + + + + QObject + + + Africa + tz_regions + + + + + America + tz_regions + + + + + Antarctica + tz_regions + + + + + Arctic + tz_regions + + + + + Asia + tz_regions + + + + + Atlantic + tz_regions + + + + + Australia + tz_regions + + + + + Europe + tz_regions + + + + + Indian + tz_regions + + + + + Pacific + tz_regions + + + + + Abidjan + tz_names + + + + + Accra + tz_names + + + + + Adak + tz_names + + + + + Addis Ababa + tz_names + + + + + Adelaide + tz_names + + + + + Aden + tz_names + + + + + Algiers + tz_names + + + + + Almaty + tz_names + + + + + Amman + tz_names + + + + + Amsterdam + tz_names + + + + + Anadyr + tz_names + + + + + Anchorage + tz_names + + + + + Andorra + tz_names + + + + + Anguilla + tz_names + + + + + Antananarivo + tz_names + + + + + Antigua + tz_names + + + + + Apia + tz_names + + + + + Aqtau + tz_names + + + + + Aqtobe + tz_names + + + + + Araguaina + tz_names + + + + + Argentina/Buenos Aires + tz_names + + + + + Argentina/Catamarca + tz_names + + + + + Argentina/Cordoba + tz_names + + + + + Argentina/Jujuy + tz_names + + + + + Argentina/La Rioja + tz_names + + + + + Argentina/Mendoza + tz_names + + + + + Argentina/Rio Gallegos + tz_names + + + + + Argentina/Salta + tz_names + + + + + Argentina/San Juan + tz_names + + + + + Argentina/San Luis + tz_names + + + + + Argentina/Tucuman + tz_names + + + + + Argentina/Ushuaia + tz_names + + + + + Aruba + tz_names + + + + + Ashgabat + tz_names + + + + + Asmara + tz_names + + + + + Astrakhan + tz_names + + + + + Asuncion + tz_names + + + + + Athens + tz_names + + + + + Atikokan + tz_names + + + + + Atyrau + tz_names + + + + + Auckland + tz_names + + + + + Azores + tz_names + + + + + Baghdad + tz_names + + + + + Bahia + tz_names + + + + + Bahia Banderas + tz_names + + + + + Bahrain + tz_names + + + + + Baku + tz_names + + + + + Bamako + tz_names + + + + + Bangkok + tz_names + + + + + Bangui + tz_names + + + + + Banjul + tz_names + + + + + Barbados + tz_names + + + + + Barnaul + tz_names + + + + + Beirut + tz_names + + + + + Belem + tz_names + + + + + Belgrade + tz_names + + + + + Belize + tz_names + + + + + Berlin + tz_names + + + + + Bermuda + tz_names + + + + + Bishkek + tz_names + + + + + Bissau + tz_names + + + + + Blanc-Sablon + tz_names + + + + + Blantyre + tz_names + + + + + Boa Vista + tz_names + + + + + Bogota + tz_names + + + + + Boise + tz_names + + + + + Bougainville + tz_names + + + + + Bratislava + tz_names + + + + + Brazzaville + tz_names + + + + + Brisbane + tz_names + + + + + Broken Hill + tz_names + + + + + Brunei + tz_names + + + + + Brussels + tz_names + + + + + Bucharest + tz_names + + + + + Budapest + tz_names + + + + + Bujumbura + tz_names + + + + + Busingen + tz_names + + + + + Cairo + tz_names + + + + + Cambridge Bay + tz_names + + + + + Campo Grande + tz_names + + + + + Canary + tz_names + + + + + Cancun + tz_names + + + + + Cape Verde + tz_names + + + + + Caracas + tz_names + + + + + Casablanca + tz_names + + + + + Casey + tz_names + + + + + Cayenne + tz_names + + + + + Cayman + tz_names + + + + + Ceuta + tz_names + + + + + Chagos + tz_names + + + + + Chatham + tz_names + + + + + Chicago + tz_names + + + + + Chihuahua + tz_names + + + + + Chisinau + tz_names + + + + + Chita + tz_names + + + + + Choibalsan + tz_names + + + + + Christmas + tz_names + + + + + Chuuk + tz_names + + + + + Cocos + tz_names + + + + + Colombo + tz_names + + + + + Comoro + tz_names + + + + + Conakry + tz_names + + + + + Copenhagen + tz_names + + + + + Costa Rica + tz_names + + + + + Creston + tz_names + + + + + Cuiaba + tz_names + + + + + Curacao + tz_names + + + + + Currie + tz_names + + + + + Dakar + tz_names + + + + + Damascus + tz_names + + + + + Danmarkshavn + tz_names + + + + + Dar es Salaam + tz_names + + + + + Darwin + tz_names + + + + + Davis + tz_names + + + + + Dawson + tz_names + + + + + Dawson Creek + tz_names + + + + + Denver + tz_names + + + + + Detroit + tz_names + + + + + Dhaka + tz_names + + + + + Dili + tz_names + + + + + Djibouti + tz_names + + + + + Dominica + tz_names + + + + + Douala + tz_names + + + + + Dubai + tz_names + + + + + Dublin + tz_names + + + + + DumontDUrville + tz_names + + + + + Dushanbe + tz_names + + + + + Easter + tz_names + + + + + Edmonton + tz_names + + + + + Efate + tz_names + + + + + Eirunepe + tz_names + + + + + El Aaiun + tz_names + + + + + El Salvador + tz_names + + + + + Enderbury + tz_names + + + + + Eucla + tz_names + + + + + Fakaofo + tz_names + + + + + Famagusta + tz_names + + + + + Faroe + tz_names + + + + + Fiji + tz_names + + + + + Fort Nelson + tz_names + + + + + Fortaleza + tz_names + + + + + Freetown + tz_names + + + + + Funafuti + tz_names + + + + + Gaborone + tz_names + + + + + Galapagos + tz_names + + + + + Gambier + tz_names + + + + + Gaza + tz_names + + + + + Gibraltar + tz_names + + + + + Glace Bay + tz_names + + + + + Godthab + tz_names + + + + + Goose Bay + tz_names + + + + + Grand Turk + tz_names + + + + + Grenada + tz_names + + + + + Guadalcanal + tz_names + + + + + Guadeloupe + tz_names + + + + + Guam + tz_names + + + + + Guatemala + tz_names + + + + + Guayaquil + tz_names + + + + + Guernsey + tz_names + + + + + Guyana + tz_names + + + + + Halifax + tz_names + + + + + Harare + tz_names + + + + + Havana + tz_names + + + + + Hebron + tz_names + + + + + Helsinki + tz_names + + + + + Hermosillo + tz_names + + + + + Ho Chi Minh + tz_names + + + + + Hobart + tz_names + + + + + Hong Kong + tz_names + + + + + Honolulu + tz_names + + + + + Hovd + tz_names + + + + + Indiana/Indianapolis + tz_names + + + + + Indiana/Knox + tz_names + + + + + Indiana/Marengo + tz_names + + + + + Indiana/Petersburg + tz_names + + + + + Indiana/Tell City + tz_names + + + + + Indiana/Vevay + tz_names + + + + + Indiana/Vincennes + tz_names + + + + + Indiana/Winamac + tz_names + + + + + Inuvik + tz_names + + + + + Iqaluit + tz_names + + + + + Irkutsk + tz_names + + + + + Isle of Man + tz_names + + + + + Istanbul + tz_names + + + + + Jakarta + tz_names + + + + + Jamaica + tz_names + + + + + Jayapura + tz_names + + + + + Jersey + tz_names + + + + + Jerusalem + tz_names + + + + + Johannesburg + tz_names + + + + + Juba + tz_names + + + + + Juneau + tz_names + + + + + Kabul + tz_names + + + + + Kaliningrad + tz_names + + + + + Kamchatka + tz_names + + + + + Kampala + tz_names + + + + + Karachi + tz_names + + + + + Kathmandu + tz_names + + + + + Kentucky/Louisville + tz_names + + + + + Kentucky/Monticello + tz_names + + + + + Kerguelen + tz_names + + + + + Khandyga + tz_names + + + + + Khartoum + tz_names + + + + + Kiev + tz_names + Київ + + + + Kigali + tz_names + + + + + Kinshasa + tz_names + + + + + Kiritimati + tz_names + + + + + Kirov + tz_names + + + + + Kolkata + tz_names + + + + + Kosrae + tz_names + + + + + Kralendijk + tz_names + + + + + Krasnoyarsk + tz_names + + + + + Kuala Lumpur + tz_names + + + + + Kuching + tz_names + + + + + Kuwait + tz_names + + + + + Kwajalein + tz_names + + + + + La Paz + tz_names + + + + + Lagos + tz_names + + + + + Libreville + tz_names + + + + + Lima + tz_names + + + + + Lindeman + tz_names + + + + + Lisbon + tz_names + + + + + Ljubljana + tz_names + + + + + Lome + tz_names + + + + + London + tz_names + + + + + Longyearbyen + tz_names + + + + + Lord Howe + tz_names + + + + + Los Angeles + tz_names + + + + + Lower Princes + tz_names + + + + + Luanda + tz_names + + + + + Lubumbashi + tz_names + + + + + Lusaka + tz_names + + + + + Luxembourg + tz_names + + + + + Macau + tz_names + + + + + Maceio + tz_names + + + + + Macquarie + tz_names + + + + + Madeira + tz_names + + + + + Madrid + tz_names + + + + + Magadan + tz_names + + + + + Mahe + tz_names + + + + + Majuro + tz_names + + + + + Makassar + tz_names + + + + + Malabo + tz_names + + + + + Maldives + tz_names + + + + + Malta + tz_names + + + + + Managua + tz_names + + + + + Manaus + tz_names + + + + + Manila + tz_names + + + + + Maputo + tz_names + + + + + Mariehamn + tz_names + + + + + Marigot + tz_names + + + + + Marquesas + tz_names + + + + + Martinique + tz_names + + + + + Maseru + tz_names + + + + + Matamoros + tz_names + + + + + Mauritius + tz_names + + + + + Mawson + tz_names + + + + + Mayotte + tz_names + + + + + Mazatlan + tz_names + + + + + Mbabane + tz_names + + + + + McMurdo + tz_names + + + + + Melbourne + tz_names + + + + + Menominee + tz_names + + + + + Merida + tz_names + + + + + Metlakatla + tz_names + + + + + Mexico City + tz_names + + + + + Midway + tz_names + + + + + Minsk + tz_names + + + + + Miquelon + tz_names + + + + + Mogadishu + tz_names + + + + + Monaco + tz_names + + + + + Moncton + tz_names + + + + + Monrovia + tz_names + + + + + Monterrey + tz_names + + + + + Montevideo + tz_names + + + + + Montserrat + tz_names + + + + + Moscow + tz_names + + + + + Muscat + tz_names + + + + + Nairobi + tz_names + + + + + Nassau + tz_names + + + + + Nauru + tz_names + + + + + Ndjamena + tz_names + + + + + New York + tz_names + + + + + Niamey + tz_names + + + + + Nicosia + tz_names + + + + + Nipigon + tz_names + + + + + Niue + tz_names + + + + + Nome + tz_names + + + + + Norfolk + tz_names + + + + + Noronha + tz_names + + + + + North Dakota/Beulah + tz_names + + + + + North Dakota/Center + tz_names + + + + + North Dakota/New Salem + tz_names + + + + + Nouakchott + tz_names + + + + + Noumea + tz_names + + + + + Novokuznetsk + tz_names + + + + + Novosibirsk + tz_names + + + + + Ojinaga + tz_names + + + + + Omsk + tz_names + + + + + Oral + tz_names + + + + + Oslo + tz_names + + + + + Ouagadougou + tz_names + + + + + Pago Pago + tz_names + + + + + Palau + tz_names + + + + + Palmer + tz_names + + + + + Panama + tz_names + + + + + Pangnirtung + tz_names + + + + + Paramaribo + tz_names + + + + + Paris + tz_names + + + + + Perth + tz_names + + + + + Phnom Penh + tz_names + + + + + Phoenix + tz_names + + + + + Pitcairn + tz_names + + + + + Podgorica + tz_names + + + + + Pohnpei + tz_names + + + + + Pontianak + tz_names + + + + + Port Moresby + tz_names + + + + + Port of Spain + tz_names + + + + + Port-au-Prince + tz_names + + + + + Porto Velho + tz_names + + + + + Porto-Novo + tz_names + + + + + Prague + tz_names + + + + + Puerto Rico + tz_names + + + + + Punta Arenas + tz_names + + + + + Pyongyang + tz_names + + + + + Qatar + tz_names + + + + + Qostanay + tz_names + + + + + Qyzylorda + tz_names + + + + + Rainy River + tz_names + + + + + Rankin Inlet + tz_names + + + + + Rarotonga + tz_names + + + + + Recife + tz_names + + + + + Regina + tz_names + + + + + Resolute + tz_names + + + + + Reunion + tz_names + + + + + Reykjavik + tz_names + + + + + Riga + tz_names + + + + + Rio Branco + tz_names + + + + + Riyadh + tz_names + + + + + Rome + tz_names + + + + + Rothera + tz_names + + + + + Saipan + tz_names + + + + + Sakhalin + tz_names + + + + + Samara + tz_names + + + + + Samarkand + tz_names + + + + + San Marino + tz_names + + + + + Santarem + tz_names + + + + + Santiago + tz_names + + + + + Santo Domingo + tz_names + + + + + Sao Paulo + tz_names + + + + + Sao Tome + tz_names + + + + + Sarajevo + tz_names + + + + + Saratov + tz_names + + + + + Scoresbysund + tz_names + + + + + Seoul + tz_names + + + + + Shanghai + tz_names + + + + + Simferopol + tz_names + + + + + Singapore + tz_names + + + + + Sitka + tz_names + + + + + Skopje + tz_names + + + + + Sofia + tz_names + + + + + South Georgia + tz_names + + + + + Srednekolymsk + tz_names + + + + + St Barthelemy + tz_names + + + + + St Helena + tz_names + + + + + St Johns + tz_names + + + + + St Kitts + tz_names + + + + + St Lucia + tz_names + + + + + St Thomas + tz_names + + + + + St Vincent + tz_names + + + + + Stanley + tz_names + + + + + Stockholm + tz_names + + + + + Swift Current + tz_names + + + + + Sydney + tz_names + + + + + Syowa + tz_names + + + + + Tahiti + tz_names + + + + + Taipei + tz_names + + + + + Tallinn + tz_names + + + + + Tarawa + tz_names + + + + + Tashkent + tz_names + + + + + Tbilisi + tz_names + + + + + Tegucigalpa + tz_names + + + + + Tehran + tz_names + + + + + Thimphu + tz_names + + + + + Thule + tz_names + + + + + Thunder Bay + tz_names + + + + + Tijuana + tz_names + + + + + Tirane + tz_names + + + + + Tokyo + tz_names + + + + + Tomsk + tz_names + + + + + Tongatapu + tz_names + + + + + Toronto + tz_names + + + + + Tortola + tz_names + + + + + Tripoli + tz_names + + + + + Troll + tz_names + + + + + Tunis + tz_names + + + + + Ulaanbaatar + tz_names + + + + + Ulyanovsk + tz_names + + + + + Urumqi + tz_names + + + + + Ust-Nera + tz_names + + + + + Uzhgorod + tz_names + + + + + Vaduz + tz_names + + + + + Vancouver + tz_names + + + + + Vatican + tz_names + + + + + Vienna + tz_names + + + + + Vientiane + tz_names + + + + + Vilnius + tz_names + + + + + Vladivostok + tz_names + + + + + Volgograd + tz_names + + + + + Vostok + tz_names + + + + + Wake + tz_names + + + + + Wallis + tz_names + + + + + Warsaw + tz_names + + + + + Whitehorse + tz_names + + + + + Windhoek + tz_names + + + + + Winnipeg + tz_names + + + + + Yakutat + tz_names + + + + + Yakutsk + tz_names + + + + + Yangon + tz_names + + + + + Yekaterinburg + tz_names + + + + + Yellowknife + tz_names + + + + + Yerevan + tz_names + + + + + Zagreb + tz_names + + + + + Zaporozhye + tz_names + + + + + Zurich + tz_names + + + + From bb4771a12a9dc014e0ee213bee464515ad86f7f1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Jan 2020 17:41:32 +0100 Subject: [PATCH 611/626] Changes: it's the locale module with translated zone names --- CHANGES | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 712bdfeb1..bc3d7d396 100644 --- a/CHANGES +++ b/CHANGES @@ -12,13 +12,13 @@ This release contains contributions from (alphabetically by first name): - Timezone support code has migrated into the core of Calamares. This means that modules now have easier access to timezone information. Translations for timezones have also been enabled, so it is **possible** - at least to translate the displayed zones in the *welcome* module. + at least to translate the displayed zones in the *locale* module. ## Modules ## - The *license* module has seen a significant change to its looks. Actions are now labeled more clearly, and the URL (or filename) for each license is displayed. - - The *welcome* module now supports translations for timezone and + - The *locale* module now supports translations for timezone and location names (e.g. "Berlin" is "Berlijn" in Dutch). From d21ed0cc7ff93209e45696ceb6cf4f4a204313c0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Jan 2020 17:55:13 +0100 Subject: [PATCH 612/626] [packagechooser] Coding style --- src/modules/packagechooser/PackageChooserPage.cpp | 1 - src/modules/packagechooser/PackageChooserViewStep.cpp | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp index 1997c6dcf..16f50abab 100644 --- a/src/modules/packagechooser/PackageChooserPage.cpp +++ b/src/modules/packagechooser/PackageChooserPage.cpp @@ -53,7 +53,6 @@ PackageChooserPage::PackageChooserPage( PackageChooserMode mode, QWidget* parent } ui->products->setMinimumWidth( 10 * CalamaresUtils::defaultFontHeight() ); - } /** @brief size the given @p pixmap to @p size diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 36f6ae015..c933147ee 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -148,7 +148,9 @@ void PackageChooserViewStep::onActivate() { if ( !m_widget->hasSelection() ) + { m_widget->setSelection( m_defaultIdx ); + } } void @@ -221,7 +223,7 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap // find default item if ( first_time && m_model && !default_item_id.isEmpty() ) { - for (int item_n = 0; item_n < m_model->packageCount(); ++item_n) + for ( int item_n = 0; item_n < m_model->packageCount(); ++item_n ) { QModelIndex item_idx = m_model->index( item_n, 0 ); QVariant item_id = m_model->data( item_idx, PackageListModel::IdRole ); From 1625bb1daed5522b5c569f74e0b6f8fa4b603afa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 00:09:04 +0100 Subject: [PATCH 613/626] [locale] Support Qt 5.9 FIXES #1296 --- src/modules/locale/timezonewidget/timezonewidget.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index a96aaafa3..400af0841 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -271,7 +271,14 @@ TimeZoneWidget::paintEvent( QPaintEvent* ) painter.drawImage( point.x() - pin.width() / 2, point.y() - pin.height() / 2, pin ); // Draw text and box - const int textWidth = fontMetrics.horizontalAdvance( m_currentLocation ? m_currentLocation->tr() : QString() ); + // .. the lambda manages deprecations: the old one works in Qt 5.9 and Qt 5.10, + // while the new one avoids deprecation messages in Qt 5.13 and later. +#if QT_VERSION >= QT_VERSION_CHECK( 5, 11, 0 ) + auto textwidth = [&]( const QString& s ) { return fontMetrics.horizontalAdvance( s ); }; +#else + auto textwidth = [&]( const QString& s ) { return fontMetrics.width( s ); }; +#endif + const int textWidth = textwidth( m_currentLocation ? m_currentLocation->tr() : QString() ); const int textHeight = fontMetrics.height(); QRect rect = QRect( point.x() - textWidth / 2 - 5, point.y() - textHeight - 8, textWidth + 10, textHeight - 2 ); From 17d09342e9c7d2bc2352780e4fc7b5eff35f0b22 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 00:27:11 +0100 Subject: [PATCH 614/626] [libcalamaresui] Add a setting for window placement --- src/branding/default/branding.desc | 6 ++++++ src/libcalamaresui/Branding.cpp | 9 +++++++++ src/libcalamaresui/Branding.h | 11 ++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/branding/default/branding.desc b/src/branding/default/branding.desc index 5d9b29c69..f70715aea 100644 --- a/src/branding/default/branding.desc +++ b/src/branding/default/branding.desc @@ -35,6 +35,12 @@ windowExpanding: normal # in CalamaresUtilsGui, 800x520. windowSize: 800px,520px +# Placement of Calamares window. Either "center" or "free". +# Whether "center" actually works does depend on the window +# manager in use (and only makes sense if you're not using +# *windowExpanding* set to "fullscreen"). +windowPlacement: center + # These are strings shown to the user in the user interface. # There is no provision for translating them -- since they # are names, the string is included as-is. diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index edbced5fa..a5b6e5dce 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -410,6 +410,9 @@ Branding::initSimpleSettings( const YAML::Node& doc ) { QStringLiteral( "fullscreen" ), WindowExpansion::Fullscreen }, { QStringLiteral( "noexpand" ), WindowExpansion::Fixed } }; + static const NamedEnumTable< WindowPlacement > placementNames { + { QStringLiteral( "free" ), WindowPlacement::Free }, { QStringLiteral( "center" ), WindowPlacement::Center } + }; bool ok = false; m_welcomeStyleCalamares = doc[ "welcomeStyleCalamares" ].as< bool >( false ); @@ -420,6 +423,12 @@ Branding::initSimpleSettings( const YAML::Node& doc ) cWarning() << "Branding module-setting *windowExpanding* interpreted as" << expansionNames.find( m_windowExpansion, ok ); } + m_windowPlacement = placementNames.find( getString( doc, "windowPlacement" ), ok ); + if ( !ok ) + { + cWarning() << "Branding module-setting *windowPlacement* interpreted as" + << placementNames.find( m_windowPlacement, ok ); + } QString windowSize = getString( doc, "windowSize" ); if ( !windowSize.isEmpty() ) diff --git a/src/libcalamaresui/Branding.h b/src/libcalamaresui/Branding.h index 3723fd07f..30e8be846 100644 --- a/src/libcalamaresui/Branding.h +++ b/src/libcalamaresui/Branding.h @@ -108,6 +108,13 @@ public: { } }; + /** @brief Placement of main window. + */ + enum class WindowPlacement + { + Center, + Free + }; static Branding* instance(); @@ -162,6 +169,7 @@ public: { return QPair< WindowDimension, WindowDimension >( m_windowWidth, m_windowHeight ); } + bool windowPlacementCentered() const { return m_windowPlacement == WindowPlacement::Center; } /** * Creates a map called "branding" in the global storage, and inserts an @@ -193,9 +201,10 @@ private: bool m_welcomeStyleCalamares; bool m_welcomeExpandingLogo; - WindowExpansion m_windowExpansion; + WindowExpansion m_windowExpansion; WindowDimension m_windowHeight, m_windowWidth; + WindowPlacement m_windowPlacement; }; template < typename U > From 60c659c82b90e91222ed572fcebc9935f2c31d45 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 00:28:52 +0100 Subject: [PATCH 615/626] Changes: document new branding element --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index bc3d7d396..b702583d0 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,9 @@ This release contains contributions from (alphabetically by first name): means that modules now have easier access to timezone information. Translations for timezones have also been enabled, so it is **possible** at least to translate the displayed zones in the *locale* module. + - Branding can now specify whether to (try to) display the Calamares window + in the middle of the desktop or not. The *windowPlacement* key in + `branding.desc` specifies *center* or *free* placement. ## Modules ## - The *license* module has seen a significant change to its looks. From 43caf7b46a51531ec6d5e55b03eb7606219fadad Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 00:34:15 +0100 Subject: [PATCH 616/626] [calamares] Restore functionality for 'center window' --- src/calamares/CalamaresApplication.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index 527f92c85..c5fdb6273 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -357,6 +357,10 @@ CalamaresApplication::initView() QTimer::singleShot( 0, m_moduleManager, &Calamares::ModuleManager::loadModules ); + if ( Calamares::Branding::instance() && Calamares::Branding::instance()->windowPlacementCentered() ) + { + m_mainwindow->move( this->desktop()->availableGeometry().center() - m_mainwindow->rect().center() ); + } cDebug() << "STARTUP: CalamaresWindow created; loadModules started"; } From 121013fd96beadae60727b573c47343f69ffa622 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 01:06:26 +0100 Subject: [PATCH 617/626] [calamares] Avoid deprecated desktop() - Put Calamares on the first screen where it fits - This is wordy and weird --- src/calamares/CalamaresApplication.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index c5fdb6273..8e30dfa83 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include @@ -359,7 +360,17 @@ CalamaresApplication::initView() if ( Calamares::Branding::instance() && Calamares::Branding::instance()->windowPlacementCentered() ) { - m_mainwindow->move( this->desktop()->availableGeometry().center() - m_mainwindow->rect().center() ); + QList< QScreen* > screens = qApp->screens(); + QPoint windowCenter = m_mainwindow->rect().center(); + for ( const auto* screen : screens ) + { + QPoint screenCenter = screen->availableGeometry().center(); + if ( ( screenCenter.x() >= windowCenter.x() ) && ( screenCenter.y() >= windowCenter.y() ) ) + { + m_mainwindow->move( screenCenter - windowCenter ); + break; + } + } } cDebug() << "STARTUP: CalamaresWindow created; loadModules started"; } From 61b6d058d7d5f9696ce2d68b36a30a66be544f8e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 01:16:36 +0100 Subject: [PATCH 618/626] Changes: credits for packagechooser bits --- CHANGES | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b702583d0..42a0b8c51 100644 --- a/CHANGES +++ b/CHANGES @@ -6,7 +6,7 @@ website will have to do for older versions. # 3.2.18 (unreleased) # This release contains contributions from (alphabetically by first name): - - No other contributors this time around. + - Bill Auger ## Core ## - Timezone support code has migrated into the core of Calamares. This @@ -23,6 +23,8 @@ This release contains contributions from (alphabetically by first name): for each license is displayed. - The *locale* module now supports translations for timezone and location names (e.g. "Berlin" is "Berlijn" in Dutch). + - *Packagechooser* is a little more careful with displaying + default and empty package names. (thanks to Bill Auger) # 3.2.17.1 (2019-12-02) # From fcb0109b7b600c2bab429f0af8064ef34c0e8005 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 09:56:13 +0100 Subject: [PATCH 619/626] [calamares] Refactor center-placement - Just move it to its own function where it can have more documentation - Tested on multi-screen setups SEE #1293 --- src/calamares/CalamaresApplication.cpp | 47 ++++++++++++++++++++------ 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index 8e30dfa83..a4ae30acb 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -343,6 +343,41 @@ CalamaresApplication::initModuleManager() m_moduleManager->init(); } +/** @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) + * + */ +static void +centerWindowOnScreen( QWidget* w ) +{ + QList< QScreen* > screens = qApp->screens(); + QPoint windowCenter = w->rect().center(); + + for ( const auto* screen : screens ) + { + QPoint screenCenter = screen->availableGeometry().center(); + if ( !itFits && ( screenCenter.x() >= windowCenter.x() ) && ( screenCenter.y() >= windowCenter.y() ) ) + { + w->move( screenCenter - windowCenter ); + break; + } + } +} void CalamaresApplication::initView() @@ -360,17 +395,7 @@ CalamaresApplication::initView() if ( Calamares::Branding::instance() && Calamares::Branding::instance()->windowPlacementCentered() ) { - QList< QScreen* > screens = qApp->screens(); - QPoint windowCenter = m_mainwindow->rect().center(); - for ( const auto* screen : screens ) - { - QPoint screenCenter = screen->availableGeometry().center(); - if ( ( screenCenter.x() >= windowCenter.x() ) && ( screenCenter.y() >= windowCenter.y() ) ) - { - m_mainwindow->move( screenCenter - windowCenter ); - break; - } - } + centerWindowOnScreen( m_mainwindow ); } cDebug() << "STARTUP: CalamaresWindow created; loadModules started"; } From b4c0ebe8ab936d0ad3d9e15b8cdb94e32841e042 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 10:04:10 +0100 Subject: [PATCH 620/626] [calamares] Use screen and window sizes, not position --- src/calamares/CalamaresApplication.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index a4ae30acb..1584b11fa 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -367,13 +367,14 @@ centerWindowOnScreen( QWidget* w ) { QList< QScreen* > screens = qApp->screens(); QPoint windowCenter = w->rect().center(); + QSize windowSize = w->rect().size(); for ( const auto* screen : screens ) { - QPoint screenCenter = screen->availableGeometry().center(); - if ( !itFits && ( screenCenter.x() >= windowCenter.x() ) && ( screenCenter.y() >= windowCenter.y() ) ) + QSize screenSize = screen->availableGeometry().size(); + if ( ( screenSize.width() >= windowSize.width() ) && ( screenSize.height() >= windowSize.height() ) ) { - w->move( screenCenter - windowCenter ); + w->move( screen->availableGeometry().center() - windowCenter ); break; } } From 1b62b2f66ce1a7aa1ca990174f456d3429f83dac Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 10:19:22 +0100 Subject: [PATCH 621/626] [libcalamares] Reduce warnings (extra ;, empty statement ..) --- src/libcalamares/locale/TimeZone.cpp | 3 +-- src/libcalamares/locale/TimeZone.h | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 05aeaf885..58695ee0e 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -171,7 +171,6 @@ TZRegion::fromFile( const char* fileName ) } QString region = timezoneParts.first().trimmed(); - ; if ( region.isEmpty() ) { continue; @@ -243,7 +242,7 @@ CStringListModel::CStringListModel( CStringPairList l ) CStringListModel::~CStringListModel() {} int -CStringListModel::rowCount( const QModelIndex& parent ) const +CStringListModel::rowCount( const QModelIndex& ) const { return m_list.count(); } diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 567b42241..5048b7276 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -48,7 +48,7 @@ class CStringPair { public: /// @brief An empty pair - CStringPair() {}; + CStringPair() {} /// @brief Given an identifier, create the pair explicit CStringPair( const char* s1 ); CStringPair( CStringPair&& t ); @@ -88,7 +88,7 @@ class TZRegion : public CStringPair { public: using CStringPair::CStringPair; - virtual ~TZRegion(); + virtual ~TZRegion() override; QString tr() const override; QString region() const { return key(); } From 5fbd0169cad6444e58a361e9277299b7122cc87c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 10:33:21 +0100 Subject: [PATCH 622/626] [libcalamares] Reduce clang warnings (only-inline-virtual, unused parameters) --- src/libcalamares/utils/Retranslator.cpp | 112 +++++++++++++----------- 1 file changed, 62 insertions(+), 50 deletions(-) diff --git a/src/libcalamares/utils/Retranslator.cpp b/src/libcalamares/utils/Retranslator.cpp index 047f642e4..4c7c3b3f5 100644 --- a/src/libcalamares/utils/Retranslator.cpp +++ b/src/libcalamares/utils/Retranslator.cpp @@ -58,7 +58,7 @@ struct TranslationLoader { } - virtual ~TranslationLoader() {}; + virtual ~TranslationLoader(); /// @brief Loads @p translator with the specific translations of this type virtual bool tryLoad( QTranslator* translator ) = 0; @@ -66,6 +66,7 @@ struct TranslationLoader QString m_localeName; }; +/// @brief Loads translations for branding struct BrandingLoader : public TranslationLoader { BrandingLoader( const QLocale& locale, const QString& prefix ) @@ -74,74 +75,85 @@ struct BrandingLoader : public TranslationLoader { } - bool tryLoad( QTranslator* translator ) override - { - if ( m_prefix.isEmpty() ) - { - return false; - } - QString brandingTranslationsDirPath( m_prefix ); - brandingTranslationsDirPath.truncate( m_prefix.lastIndexOf( QDir::separator() ) ); - QDir brandingTranslationsDir( brandingTranslationsDirPath ); - if ( brandingTranslationsDir.exists() ) - { - QString filenameBase( m_prefix ); - filenameBase.remove( 0, m_prefix.lastIndexOf( QDir::separator() ) + 1 ); - if ( translator->load( m_locale, filenameBase, "_", brandingTranslationsDir.absolutePath() ) ) - { - cDebug() << Logger::SubEntry << "Branding using locale:" << m_localeName; - return true; - } - else - { - cDebug() << Logger::SubEntry << "Branding using default, system locale not found:" << m_localeName; - // TODO: this loads something completely different - return translator->load( m_prefix + "en" ); - } - } - return false; - } + bool tryLoad( QTranslator* translator ) override; QString m_prefix; }; +/// @brief Loads regular Calamares translations (program text) struct CalamaresLoader : public TranslationLoader { using TranslationLoader::TranslationLoader; - - bool tryLoad( QTranslator* translator ) override - { - if ( translator->load( QString( ":/lang/calamares_" ) + m_localeName ) ) - { - cDebug() << Logger::SubEntry << "Calamares using locale:" << m_localeName; - return true; - } - else - { - cDebug() << Logger::SubEntry << "Calamares using default, system locale not found:" << m_localeName; - return translator->load( QString( ":/lang/calamares_en" ) ); - } - } + bool tryLoad( QTranslator* translator ) override; }; +/// @brief Loads timezone name translations struct TZLoader : public TranslationLoader { using TranslationLoader::TranslationLoader; - bool tryLoad( QTranslator* translator ) override + bool tryLoad( QTranslator* translator ) override; +}; + +TranslationLoader::~TranslationLoader() {} + +bool +BrandingLoader::tryLoad( QTranslator* translator ) +{ + if ( m_prefix.isEmpty() ) { - if ( translator->load( QString( ":/lang/tz_" ) + m_localeName ) ) + return false; + } + QString brandingTranslationsDirPath( m_prefix ); + brandingTranslationsDirPath.truncate( m_prefix.lastIndexOf( QDir::separator() ) ); + QDir brandingTranslationsDir( brandingTranslationsDirPath ); + if ( brandingTranslationsDir.exists() ) + { + QString filenameBase( m_prefix ); + filenameBase.remove( 0, m_prefix.lastIndexOf( QDir::separator() ) + 1 ); + if ( translator->load( m_locale, filenameBase, "_", brandingTranslationsDir.absolutePath() ) ) { - cDebug() << Logger::SubEntry << "Calamares Timezones using locale:" << m_localeName; + cDebug() << Logger::SubEntry << "Branding using locale:" << m_localeName; return true; } else { - cDebug() << Logger::SubEntry - << "Calamares Timezones using default, system locale not found:" << m_localeName; - return translator->load( QString( ":/lang/tz_en" ) ); + cDebug() << Logger::SubEntry << "Branding using default, system locale not found:" << m_localeName; + // TODO: this loads something completely different + return translator->load( m_prefix + "en" ); } } -}; + return false; +} + +bool +CalamaresLoader::tryLoad( QTranslator* translator ) +{ + if ( translator->load( QString( ":/lang/calamares_" ) + m_localeName ) ) + { + cDebug() << Logger::SubEntry << "Calamares using locale:" << m_localeName; + return true; + } + else + { + cDebug() << Logger::SubEntry << "Calamares using default, system locale not found:" << m_localeName; + return translator->load( QString( ":/lang/calamares_en" ) ); + } +} + +bool +TZLoader::tryLoad( QTranslator* translator ) +{ + if ( translator->load( QString( ":/lang/tz_" ) + m_localeName ) ) + { + cDebug() << Logger::SubEntry << "Calamares Timezones using locale:" << m_localeName; + return true; + } + else + { + cDebug() << Logger::SubEntry << "Calamares Timezones using default, system locale not found:" << m_localeName; + return translator->load( QString( ":/lang/tz_en" ) ); + } +} static void loadSingletonTranslator( TranslationLoader&& loader, QTranslator*& translator_p ) @@ -167,7 +179,7 @@ static QTranslator* s_tztranslator = nullptr; static QString s_translatorLocaleName; void -installTranslator( const QLocale& locale, const QString& brandingTranslationsPrefix, QObject* parent ) +installTranslator( const QLocale& locale, const QString& brandingTranslationsPrefix, QObject* ) { loadSingletonTranslator( BrandingLoader( locale, brandingTranslationsPrefix ), s_brandingTranslator ); loadSingletonTranslator( TZLoader( locale ), s_tztranslator ); From 2dff2d9d70a9143a459b7f0a171ac7dcd1a59a0d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 10:41:14 +0100 Subject: [PATCH 623/626] [libcalamares] TZRegion is hard to copy - delete the copy and move constructors - adjust tests (which were just interested in simple tr() behavior) to use TZZone instead --- src/libcalamares/locale/Tests.cpp | 6 +++--- src/libcalamares/locale/TimeZone.h | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libcalamares/locale/Tests.cpp b/src/libcalamares/locale/Tests.cpp index 106a77b4c..b63eb9e18 100644 --- a/src/libcalamares/locale/Tests.cpp +++ b/src/libcalamares/locale/Tests.cpp @@ -215,12 +215,12 @@ LocaleTests::testSimpleZones() QVERIFY( n.tr().isEmpty() ); } { - TZRegion r0( "xAmsterdam" ); + TZZone r0( "xAmsterdam" ); QCOMPARE( r0.tr(), QStringLiteral( "xAmsterdam" ) ); - TZRegion r1( r0 ); + TZZone r1( r0 ); QCOMPARE( r0.tr(), QStringLiteral( "xAmsterdam" ) ); QCOMPARE( r1.tr(), QStringLiteral( "xAmsterdam" ) ); - TZRegion r2( std::move( r0 ) ); + TZZone r2( std::move( r0 ) ); QCOMPARE( r2.tr(), QStringLiteral( "xAmsterdam" ) ); QCOMPARE( r0.tr(), QString() ); } diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index 5048b7276..3345e61f8 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -89,6 +89,7 @@ class TZRegion : public CStringPair public: using CStringPair::CStringPair; virtual ~TZRegion() override; + TZRegion( const TZRegion& ) = delete; QString tr() const override; QString region() const { return key(); } From 1a8926181efbd15fbe81efe7e15d4fba86a1216c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 10:46:26 +0100 Subject: [PATCH 624/626] [locale] Warnings-- (initialization-order) --- src/modules/locale/LocalePage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 4e43fc177..c1df7c81c 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -41,9 +41,9 @@ LocalePage::LocalePage( QWidget* parent ) : QWidget( parent ) - , m_blockTzWidgetSet( false ) , m_regionList( CalamaresUtils::Locale::TZRegion::fromZoneTab() ) , m_regionModel( std::make_unique< CalamaresUtils::Locale::CStringListModel >( m_regionList ) ) + , m_blockTzWidgetSet( false ) { QBoxLayout* mainLayout = new QVBoxLayout; From 1bc8a28eac026f1e3140681f6339f9b00deb4154 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 11:20:45 +0100 Subject: [PATCH 625/626] CMake: Calamares doesn't want -p in automoc FIXES #1286 --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b823ccbe..e547ddb84 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,6 +220,8 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) + # The path prefix is only relevant for CMake 3.16 and later, fixes #1286 + set( CMAKE_AUTOMOC_PATH_PREFIX OFF ) set( CALAMARES_AUTOMOC_OPTIONS "-butils/moc-warnings.h" ) set( CALAMARES_AUTOUIC_OPTIONS --include utils/moc-warnings.h ) else() From c482990bc5b5233e2f4abda75fda8700308f5bea Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Jan 2020 11:38:18 +0100 Subject: [PATCH 626/626] CMake: fix find-boost --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e547ddb84..6edc4e4cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -324,6 +324,10 @@ set_package_properties( ) if ( PYTHONLIBS_FOUND ) + # Since Boost provides CMake config files (starting with Boost 1.70. + # or so) the mess that is the Calamares find code picks the wrong + # bits. Suppress those CMake config files, as suggested by @jmrcpn + set(Boost_NO_BOOST_CMAKE ON) include( BoostPython3 ) find_boost_python3( ${BOOSTPYTHON_VERSION} ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3_FOUND ) set_package_properties(