Merge branch 'master' of https://github.com/calamares/calamares into development

This commit is contained in:
Philip Müller 2019-08-31 01:52:28 -04:00
commit 37750cb9f4
32 changed files with 321 additions and 230 deletions

15
CHANGES
View File

@ -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):

View File

@ -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()

View File

@ -22,27 +22,27 @@
<message>
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="70"/>
<source>Master Boot Record of %1</source>
<translation type="unfinished"/>
<translation>Галоўны загрузачны запіс %1</translation>
</message>
<message>
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="104"/>
<source>Boot Partition</source>
<translation type="unfinished"/>
<translation>Загрузачны раздзел</translation>
</message>
<message>
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="109"/>
<source>System Partition</source>
<translation type="unfinished"/>
<translation>Сістэмны раздзел</translation>
</message>
<message>
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="139"/>
<source>Do not install a boot loader</source>
<translation type="unfinished"/>
<translation>Не ўсталёўваць загрузчык</translation>
</message>
<message>
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="156"/>
<source>%1 (%2)</source>
<translation type="unfinished"/>
<translation>%1 (%2)</translation>
</message>
</context>
<context>
@ -50,7 +50,7 @@
<message>
<location filename="../src/libcalamaresui/viewpages/BlankViewStep.cpp" line="69"/>
<source>Blank Page</source>
<translation type="unfinished"/>
<translation>Пустая старонка</translation>
</message>
</context>
<context>
@ -58,58 +58,58 @@
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="24"/>
<source>GlobalStorage</source>
<translation type="unfinished"/>
<translation>Глабальнае сховішча</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="34"/>
<source>JobQueue</source>
<translation type="unfinished"/>
<translation>Чарга задач</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="44"/>
<source>Modules</source>
<translation type="unfinished"/>
<translation>Модулі</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="57"/>
<source>Type:</source>
<translation type="unfinished"/>
<translation>Тып:</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="64"/>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="78"/>
<source>none</source>
<translation type="unfinished"/>
<translation>няма</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="71"/>
<source>Interface:</source>
<translation type="unfinished"/>
<translation>Інтэрфейс:</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="93"/>
<source>Tools</source>
<translation type="unfinished"/>
<translation>Інструменты</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="106"/>
<source>Reload Stylesheet</source>
<translation type="unfinished"/>
<translation>Перазагрузіць табліцу стыляў</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="113"/>
<source>Widget Tree</source>
<translation type="unfinished"/>
<translation>Дрэва віджэтаў</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/DebugWindow.cpp" line="233"/>
<source>Debug information</source>
<translation type="unfinished"/>
<translation>Адладачная інфармацыя</translation>
</message>
</context>
<context>
@ -117,12 +117,12 @@
<message>
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="121"/>
<source>Set up</source>
<translation type="unfinished"/>
<translation>Наладзіць</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="122"/>
<source>Install</source>
<translation type="unfinished"/>
<translation>Усталяваць</translation>
</message>
</context>
<context>
@ -130,7 +130,7 @@
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="39"/>
<source>Job failed (%1)</source>
<translation type="unfinished"/>
<translation>Задача схібіла (%1)</translation>
</message>
<message>
<location filename="../src/libcalamares/JobExample.cpp" line="39"/>
@ -432,7 +432,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="154"/>
@ -1035,7 +1035,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="32"/>
@ -1101,7 +1101,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
@ -1375,7 +1375,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/license/LicensePage.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="123"/>
@ -1869,7 +1869,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="70"/>
@ -1887,7 +1887,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/users/page_usersetup.ui" line="36"/>
@ -2024,7 +2024,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="22"/>
@ -2224,7 +2224,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/plasmalnf/page_plasmalnf.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="70"/>
@ -2381,7 +2381,7 @@ Output:
<location filename="../src/libcalamares/locale/Label.cpp" line="46"/>
<source>%1 (%2)</source>
<extracomment>language[name] (country[name])</extracomment>
<translation type="unfinished"/>
<translation>%1 (%2)</translation>
</message>
</context>
<context>
@ -2408,7 +2408,7 @@ Output:
<message>
<location filename="../src/modules/partition/gui/ReplaceWidget.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="135"/>
@ -2969,7 +2969,7 @@ Output:
<message>
<location filename="../src/modules/tracking/page_trackingstep.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/tracking/page_trackingstep.ui" line="24"/>
@ -3125,7 +3125,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"/>
<translation>Форма</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="160"/>

View File

@ -117,7 +117,7 @@
<message>
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="121"/>
<source>Set up</source>
<translation type="unfinished"/>
<translation>Installazione</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="122"/>
@ -159,12 +159,12 @@
<message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="51"/>
<source>Run command &apos;%1&apos; in target system.</source>
<translation type="unfinished"/>
<translation>Esegui il comando &apos;%1&apos; sul sistema di destinazione</translation>
</message>
<message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="51"/>
<source> Run command &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>Esegui il comando &apos;1%&apos;</translation>
</message>
<message>
<location filename="../src/libcalamares/ProcessJob.cpp" line="59"/>
@ -243,7 +243,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="361"/>
<source>Cancel setup without changing the system.</source>
<translation type="unfinished"/>
<translation>Annulla l&apos;installazione senza modificare il computer</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="362"/>
@ -253,7 +253,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="197"/>
<source>Setup Failed</source>
<translation type="unfinished"/>
<translation>Installazione fallita</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="222"/>
@ -273,22 +273,22 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="290"/>
<source>Continue with installation?</source>
<translation type="unfinished"/>
<translation>Continuare l&apos;installazione?</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="292"/>
<source>The %1 setup program is about to make changes to your disk in order to set up %2.&lt;br/&gt;&lt;strong&gt;You will not be able to undo these changes.&lt;/strong&gt;</source>
<translation type="unfinished"/>
<translation>Il %1 programma di installazione sta per fare dei cambiamenti sul tuo disco per installare %2. Non sarà possibile annullare questi cambiamenti.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="299"/>
<source>&amp;Set up now</source>
<translation type="unfinished"/>
<translation>&amp;Installa adesso</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="355"/>
<source>&amp;Set up</source>
<translation type="unfinished"/>
<translation>&amp;Installazione</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="356"/>
@ -298,12 +298,12 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="358"/>
<source>Setup is complete. Close the setup program.</source>
<translation type="unfinished"/>
<translation>Installazione completata. Chiudere il programma di installazione.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="441"/>
<source>Cancel setup?</source>
<translation type="unfinished"/>
<translation>Annullare l&apos;installazione?</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="442"/>
@ -314,7 +314,7 @@
<location filename="../src/libcalamaresui/ViewManager.cpp" line="444"/>
<source>Do you really want to cancel the current setup process?
The setup program will quit and all changes will be lost.</source>
<translation type="unfinished"/>
<translation>Vuoi davvero annullare il processo di installazione? Il programma di installazione verrrà terminato e tutti i cambiamenti verranno persi.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="446"/>
@ -407,7 +407,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/calamares/CalamaresWindow.cpp" line="72"/>
<source>%1 Setup Program</source>
<translation type="unfinished"/>
<translation>%1 Programma di installazione</translation>
</message>
<message>
<location filename="../src/calamares/CalamaresWindow.cpp" line="73"/>
@ -476,7 +476,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="967"/>
<source>%1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4.</source>
<translation type="unfinished"/>
<translation>%1 sarà ridotta a %2MiB ed una nuova partizione di %3MiB sarà creata per %4</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1073"/>
@ -719,7 +719,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="44"/>
<source>Create new %2MiB partition on %4 (%3) with file system %1.</source>
<translation type="unfinished"/>
<translation>Crea una nuova partizione da %2MiB su %4 (%3) con file system %1</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="55"/>
@ -1155,7 +1155,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="132"/>
<source>Setup Complete</source>
<translation type="unfinished"/>
<translation>Installazione completata</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="133"/>
@ -1165,7 +1165,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="135"/>
<source>The setup of %1 is complete.</source>
<translation type="unfinished"/>
<translation>L&apos;installazione di %1 è completa</translation>
</message>
<message>
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="136"/>
@ -1201,22 +1201,22 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="108"/>
<source>has at least %1 GiB available drive space</source>
<translation type="unfinished"/>
<translation>ha almeno %1 GiB di spazio disponibile</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="109"/>
<source>There is not enough drive space. At least %1 GiB is required.</source>
<translation type="unfinished"/>
<translation>Non c&apos;è abbastanza spazio sul disco. E&apos; richiesto almeno %1 GiB</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="116"/>
<source>has at least %1 GiB working memory</source>
<translation type="unfinished"/>
<translation>ha almeno %1 GiB di memoria</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="117"/>
<source>The system does not have enough working memory. At least %1 GiB is required.</source>
<translation type="unfinished"/>
<translation>Il sistema non ha abbastanza memoria. E&apos; richiesto almeno %1 GiB</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="124"/>
@ -1241,7 +1241,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="142"/>
<source>The setup program is not running with administrator rights.</source>
<translation type="unfinished"/>
<translation>Il programma di installazione non è stato lanciato con i permessi di amministratore.</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="143"/>
@ -1251,7 +1251,7 @@ Il programma d&apos;installazione sarà terminato e tutte le modifiche andranno
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="152"/>
<source>The screen is too small to display the setup program.</source>
<translation type="unfinished"/>
<translation>Lo schermo è troppo piccolo per mostrare il programma di installazione</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="153"/>

View File

@ -1299,7 +1299,7 @@ O instalador será encerrado e todas as alterações serão perdidas.</translati
<message>
<location filename="../src/modules/initramfs/InitramfsJob.cpp" line="37"/>
<source>Creating initramfs.</source>
<translation type="unfinished"/>
<translation>A criar o initramfs.</translation>
</message>
</context>
<context>
@ -1530,20 +1530,20 @@ O instalador será encerrado e todas as alterações serão perdidas.</translati
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="39"/>
<source>Configuring LUKS key file.</source>
<translation type="unfinished"/>
<translation>A configurar o ficheiro chave do LUKS.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="156"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="164"/>
<source>No partitions are defined.</source>
<translation type="unfinished"/>
<translation>Nenhuma partição é definida.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="192"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="199"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="207"/>
<source>Encrypted rootfs setup error</source>
<translation type="unfinished"/>
<translation>Erro de configuração do rootfs criptografado</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="193"/>

View File

@ -3155,7 +3155,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.ui" line="130"/>
<source>&amp;About</source>
<translation>&amp;О</translation>
<translation>&amp;О программе</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="76"/>

Binary file not shown.

View File

@ -3,6 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Zmicer Turok <nashtlumach@gmail.com>, 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 <nashtlumach@gmail.com>, 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 <pre>{!s}</pre> to use."
msgstr ""
msgstr "Раздзелы для <pre>{!s}</pre> не вызначаныя."
#: src/modules/services-systemd/main.py:35
msgid "Configure systemd services"
msgstr ""
msgstr "Наладзіць службы systemd"
#: src/modules/services-systemd/main.py:68
#: src/modules/services-openrc/main.py:102
msgid "Cannot modify service"
msgstr ""
msgstr "Немагчыма наладзіць службу"
#: src/modules/services-systemd/main.py:69
msgid ""
"<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}."
msgstr ""
msgstr "<code>systemctl {arg!s}</code> у chroot вярнуў код памылкі {num!s}."
#: src/modules/services-systemd/main.py:72
#: src/modules/services-systemd/main.py:76
msgid "Cannot enable systemd service <code>{name!s}</code>."
msgstr ""
msgstr "Немагчыма ўключыць службу systemd <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:74
msgid "Cannot enable systemd target <code>{name!s}</code>."
msgstr ""
msgstr "Немагчыма ўключыць мэту systemd <code>{name!s}</code>."
#: src/modules/services-systemd/main.py:78
msgid "Cannot disable systemd target <code>{name!s}</code>."
msgstr ""
msgstr "Немагчыма выключыць мэту systemd <code>{name!s}."
#: src/modules/services-systemd/main.py:80
msgid "Cannot mask systemd unit <code>{name!s}</code>."
msgstr ""
msgstr "Немагчыма замаскаваць юніт systemd <code>{name!s}</code>. "
#: src/modules/services-systemd/main.py:82
msgid ""
"Unknown systemd commands <code>{command!s}</code> and "
"<code>{suffix!s}</code> for unit {name!s}."
msgstr ""
"Невядомыя systemd загады <code>{command!s}</code> і <code>{suffix!s}</code> "
"для юніта {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 <pre>{!s}</pre> to use."
msgstr ""
msgstr "Каранёвы пункт мантавання для<pre>{!s}</pre> не пададзены."
#: 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 <code>{arg!s}</code> for service {name!s} in run-"
"level {level!s}."
msgstr ""
"Невядомае дзеянне <code>{arg!s}</code> для службы {name!s} на ўзроўні "
"запуску {level!s}."
#: src/modules/services-openrc/main.py:103
msgid ""
"<code>rc-update {arg!s}</code> call in chroot returned error code {num!s}."
msgstr ""
"<code>rc-update {arg!s}</code> пад 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 <code>{path!s}</code>, which does not "
"exist."
msgstr ""
msgstr "Шлях <code>{path!s}</code> да ўзроўня запуску {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 <code>{path!s}</code>, which does not "
"exist."
msgstr ""
msgstr "Шлях <code>{path!s}</code> да службы {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 "Захаванне сеткавай канфігурацыі."

Binary file not shown.

View File

@ -7,7 +7,7 @@
# strel, 2018
# Francisco Sánchez López de Lerma <fslopezlerma@gmail.com>, 2018
# Guido Grasso <cuquiman97@gmail.com>, 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"

View File

@ -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 <pre>{!s}</pre> to use."
msgstr ""
msgstr "Nenhum ponto de montagem root é fornecido para <pre>{!s}</pre> 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."

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl">
<TS version="2.1" language="ar">
<context>
<name>show</name>
<message>
@ -11,7 +11,7 @@
<message>
<location filename="../show.qml" line="68"/>
<source>This is a third Slide element.</source>
<translation>عرض الثالث</translation>
<translation>عرض الثالث</translation>
</message>
</context>
</TS>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<TS version="2.1" language="en">
<context>
<name>show</name>
<message>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="eo">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="64"/>
<source>This is a second Slide element.</source>
<translation>Ĉi tio estas la dua gliteja.</translation>
</message>
<message>
<location filename="../show.qml" line="68"/>
<source>This is a third Slide element.</source>
<translation>Ĉi tio estas la tria gliteja.</translation>
</message>
</context>
</TS>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl">
<TS version="2.1" language="fr">
<context>
<name>show</name>
<message>
@ -11,7 +11,7 @@
<message>
<location filename="../show.qml" line="68"/>
<source>This is a third Slide element.</source>
<translation>La troisième affice ce trouve ici.</translation>
<translation>La troisième affice ce trouve ici.</translation>
</message>
</context>
</TS>

View File

@ -11,7 +11,7 @@
<message>
<location filename="../show.qml" line="68"/>
<source>This is a third Slide element.</source>
<translation>Dit is het derde Dia element.</translation>
<translation>Dit is het derde Dia element.</translation>
</message>
</context>
</TS>

View File

@ -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();
}
}
}

View File

@ -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

View File

@ -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

View File

@ -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 )
{

View File

@ -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.

View File

@ -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
}

View File

@ -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

View File

@ -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" );

View File

@ -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"
# <Response><TimeZone>Europe/Brussels</TimeZone></Response>
# ```
#
# 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

View File

@ -65,7 +65,7 @@ DeviceInfoWidget::DeviceInfoWidget( QWidget* parent )
m_ptIcon->setPalette( palette );
m_ptLabel->setPalette( palette );
CALAMARES_RETRANSLATE( retranslateUi(); )
CALAMARES_RETRANSLATE_SLOT( &DeviceInfoWidget::retranslateUi )
}

View File

@ -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)

View File

@ -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( "<h1>Welcome to the Calamares setup program for %1.</h1>" )
: tr( "<h1>Welcome to %1 setup.</h1>" );
else message = Calamares::Branding::instance()->welcomeStyleCalamares()
? tr( "<h1>Welcome to the Calamares installer for %1.</h1>" )
: tr( "<h1>Welcome to the %1 installer.</h1>" );
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( "<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." )
.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( "<h1>Welcome to the Calamares setup program for %1.</h1>" )
: tr( "<h1>Welcome to %1 setup.</h1>" );
}
else
{
message = Calamares::Branding::instance()->welcomeStyleCalamares()
? tr( "<h1>Welcome to the Calamares installer for %1.</h1>" )
: tr( "<h1>Welcome to the %1 installer.</h1>" );
}
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( "<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." )
.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

View File

@ -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

View File

@ -176,7 +176,7 @@
<item>
<widget class="QPushButton" name="releaseNotesButton">
<property name="toolTip">
<string>Open relead notes website</string>
<string>Open release notes website</string>
</property>
<property name="text">
<string>&amp;Release notes</string>

View File

@ -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