diff --git a/CHANGES b/CHANGES index 02a7fc4f5..ad985b1e4 100644 --- a/CHANGES +++ b/CHANGES @@ -3,11 +3,23 @@ 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.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): - Arnaud Ferraris - Arnaud Rebillout + - Bill Auger + - Kevin Kofler ## Core ## @@ -37,6 +49,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 321989ac0..46acedaf9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ 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 1 ) # Set to 0 during release cycle, 1 during development @@ -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() 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 - + &О программе diff --git a/lang/python/be/LC_MESSAGES/python.mo b/lang/python/be/LC_MESSAGES/python.mo index f068d4290..475d252c5 100644 Binary files a/lang/python/be/LC_MESSAGES/python.mo and b/lang/python/be/LC_MESSAGES/python.mo differ 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 5f74bc29c..5dac1ae94 100644 Binary files a/lang/python/es/LC_MESSAGES/python.mo and b/lang/python/es/LC_MESSAGES/python.mo differ 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 60d342d6e..9ac0dcef1 100644 Binary files a/lang/python/pt_PT/LC_MESSAGES/python.mo and b/lang/python/pt_PT/LC_MESSAGES/python.mo differ 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." 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. 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(); } } } 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 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. diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 7baefdbd0..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 ); @@ -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 } 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 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/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/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) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 8f989c47c..02f91f79f 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -73,58 +73,16 @@ 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_SLOT( &WelcomePage::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 ); - ui->verticalLayout->insertWidget( 3, m_checkingWidget ); + int welcome_text_idx = ui->verticalLayout->indexOf( ui->mainText ); + ui->verticalLayout->insertWidget( welcome_text_idx + 1, m_checkingWidget ); } @@ -278,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 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 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