diff --git a/CHANGES b/CHANGES index 58602f256..a541d7380 100644 --- a/CHANGES +++ b/CHANGES @@ -6,11 +6,14 @@ website will have to do for older versions. # 3.2.24 (unreleased) # This release contains contributions from (alphabetically by first name): + - Bill Auger - Gaël PORTAY + - Luna Jernberg ## Core ## - There is now a bash-completions script for Calamares; turn on the (CMake-time) option INSTALL_COMPLETION to get it. (Thanks Gaël) + - The *productWallpaper* setting is documented and works. (Thanks Bill) ## Modules ## - No module changes yet diff --git a/ci/txreduce.py b/ci/txreduce.py new file mode 100644 index 000000000..6e8ae3f35 --- /dev/null +++ b/ci/txreduce.py @@ -0,0 +1,44 @@ +#! /usr/bin/env python3 +# +# Reduce a translation file -- generally, a Timezone translation -- by +# dropping untranslated strings. An untranslated string is one that +# has an empty translation **and** is marked unfinished. +# +# This is mostly useful to cut down the size of the source file: +# far and away most of the zones are not translated, and it's just a +# handful of places that get special treatment. + +from xml.dom.minidom import parse +import sys + +valid = True +dom = parse(sys.argv[1]) +for n in dom.getElementsByTagName("translation"): + attrs = n.attributes.keys() + + drop = True + if "type" not in attrs: + drop = False + elif "type" in attrs and n.attributes["type"].value != "unfinished": + # In the samples I've seen, only "unfinished" is a valid type; + # once something has been translated, the attribute vanishes (see + # the if branch, above). + print("WARNING ''{!s}'' unknown type".format(n.attributes["type"].value)) + drop = False + valid = False + else: + t = n.firstChild + if t is None: + # Unfinished and empty + drop = True + else: + drop = bool(t.data) + if drop: + message = n.parentNode + message.parentNode.removeChild(message) + message.unlink() + +if valid: + for line in dom.toxml().split("\n"): + if line.strip(): + print(line) diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index a569739c8..4599dfe8d 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -1829,27 +1829,27 @@ L'instalador va colar y van perdese tolos cambeos. Communication - + Comunicación Development - + Desendolcu Office - + Oficina Multimedia - + Multimedia Internet - + Internet @@ -1864,7 +1864,7 @@ L'instalador va colar y van perdese tolos cambeos. Utilities - + Utilidaes @@ -3718,7 +3718,7 @@ Salida: Pick your preferred keyboard model or use the default one based on the detected hardware - + Escueyi'l modelu que prefieras o usa'l predetermináu según el hardware deteutáu @@ -3740,12 +3740,12 @@ Salida: Models - + Modelos Variants - + Variantes diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index c7a5c3ec5..de33252ab 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -3666,7 +3666,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-2020 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/>Ophavsret 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Ophavsret 2017-2020 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ætterteamet</a>.<br/><br/>Udviklingen af <a href="https://calamares.io/">Calamares</a> sponsoreres af <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index cbcebc42e..baadd8e29 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -252,171 +252,171 @@ Calamares::ViewManager - + Setup Failed Setup Failed - + Installation Failed Installation Failed - + Would you like to paste the install log to the web? Would you like to paste the install log to the web? - + Error Error - - + + &Yes &Yes - - + + &No &No - + &Close &Close - + 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 setup? Continue with setup? - + 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> - + 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> - + &Set up now &Set up now - + &Install now &Install now - + Go &back Go &back - + &Set up &Set up - + &Install &Install - + Setup is complete. Close the setup program. Setup is complete. Close the setup program. - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Cancel setup without changing the system. Cancel setup without changing the system. - + Cancel installation without changing the system. Cancel installation without changing the system. - + &Next &Next - + &Back &Back - + &Done &Done - + &Cancel &Cancel - + 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? @@ -479,12 +479,12 @@ The installer will quit and all changes will be lost. &Cancel - + %1 Setup Program %1 Setup Program - + %1 Installer %1 Installer @@ -770,22 +770,22 @@ The installer will quit and all changes will be lost. This program will ask you some questions and set up %2 on your computer. - + <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> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the %1 installer.</h1> <h1>Welcome to the %1 installer.</h1> @@ -1668,33 +1668,33 @@ The installer will quit and all changes will be lost. LocalePage - + Region: Region: - + Zone: Zone: - - + + &Change... &Change... - + 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. - + Set timezone to %1/%2.<br/> Set timezone to %1/%2.<br/> @@ -1710,7 +1710,7 @@ The installer will quit and all changes will be lost. LocaleViewStep - + Location Location @@ -2549,52 +2549,52 @@ The installer will quit and all changes will be lost. 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. + + 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>%3</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/>A partition was configured with mount point <strong>%2</strong> but its <strong>%3</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 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. - - - + Option to use GPT on BIOS Option to use GPT on BIOS - + A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>bios_grub</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT. A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>bios_grub</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT. - + 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 partitions to install on. There are no partitions to install on. @@ -3578,93 +3578,93 @@ Output: Form - - + + Select application and system language Select application and system language - + &About &About - + Open donations website Open donations website - + &Donate &Donate - + Open help and support website Open help and support website - + &Support &Support - + Open issues and bug-tracking website Open issues and bug-tracking website - + &Known issues &Known issues - + Open release notes website Open release notes website - + &Release notes &Release notes - + <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> - + <h1>Welcome to the Calamares installer for %1.</h1> <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Welcome to the %1 installer.</h1> <h1>Welcome to the %1 installer.</h1> - + %1 support %1 support - + 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-2020 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-2020 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. @@ -3776,34 +3776,68 @@ Output: - welcomeq + release_notes - - <h3>Welcome to the %1 <quote>%2</quote> installer</h3> - <h3>Welcome to the %1 <quote>%2</quote> installer</h3> + + <h3>%1</h3> + <p>This an example QML file, showing options in RichText with Flickable content.</p> + + <p>QML with RichText can use HTML tags, Flickable content is useful for touchscreens.</p> + + <p><b>This is bold text</b></p> + <p><i>This is italic text</i></p> + <p><u>This is underlined text</u></p> + <p><center>This text will be center-aligned.</center></p> + <p><s>This is strikethrough</s></p> + + <p>Code example: + <code>ls -l /home</code></p> + + <p><b>Lists:</b></p> + <ul> + <li>Intel CPU systems</li> + <li>AMD CPU systems</li> + </ul> + + <p>The vertical scrollbar is adjustable, current width set to 10.</p> + - + + Back + Back + + + + welcomeq + + + <h3>Welcome to the %1 <quote>%2</quote> installer</h3> + <p>This program will ask you some questions and set up %1 on your computer.</p> + + + + About About - + Support Support - + Known issues Known issues - + Release notes Release notes - + Donate Donate diff --git a/lang/calamares_eo.ts b/lang/calamares_eo.ts index 5173f5527..44da4cac1 100644 --- a/lang/calamares_eo.ts +++ b/lang/calamares_eo.ts @@ -811,7 +811,7 @@ La instalilo forlasos kaj ĉiuj ŝanĝoj perdos. MiB - + MiB @@ -3542,7 +3542,7 @@ Output: MiB - + MiB diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index a0fc7fee7..9f167f2a0 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -3668,7 +3668,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. <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-2020 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-2020 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. diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index a4381a1a6..ab3adefcc 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -412,14 +412,14 @@ 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 ? + Voulez-vous vraiment 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 ? + Voulez-vous vraiment abandonner le processus d'installation ? L'installateur se fermera et les changements seront perdus. @@ -782,7 +782,7 @@ L'installateur se fermera et les changements seront perdus. <h1>Welcome to the Calamares installer for %1.</h1> - Bien dans l'installateur Calamares pour %1. + Bienvenue dans l'installateur Calamares pour %1. @@ -3769,7 +3769,7 @@ Sortie <h3>Welcome to the %1 <quote>%2</quote> installer</h3> - + <h3>Bienvenue dans l'installateur de %1 <quote>%2</quote></h3> diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 6fd290255..8a74bb2a1 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -3665,7 +3665,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-2020 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/>per %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017-2020 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/>Lo sviluppo di <a href="https://calamares.io/">Calamares</a> è sponsorizzato da <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 98d5151ec..7bfb1da19 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -525,7 +525,7 @@ O instalador será encerrado e todas as alterações serão perdidas. <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. Having a GPT partition table and <strong>fat32 512Mb /boot partition is a must for UEFI installs</strong>, either use an existing without formatting or create one. - + <strong>Particionamento manual</strong><br/> Pode criar ou redimensionar partições. Ter uma tabela de partições GPT e <strong>uma partição de arranque "/boot" de fat32 512Mb é um requisito obrigatório para as instalações UEFI</strong>, ou utilizar uma existente sem formatação ou então criar uma. @@ -540,7 +540,7 @@ O instalador será encerrado e todas as alterações serão perdidas. %1 will be shrunk to %2MiB and a new %3MiB partition will be created for %4. - + %1 será encolhida para %2MiB e uma nova %3MiB partição será criada para %4. @@ -727,7 +727,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Network Installation. (Disabled: Incorrect configuration) - + Instalação de rede. (Desativada: Configuração incorreta) @@ -737,17 +737,17 @@ O instalador será encerrado e todas as alterações serão perdidas. Network Installation. (Disabled: internal error) - + Instalação de rede. (Desativada: erro interno) 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) + Instalação de rede. (Desativada: Incapaz de buscar listas de pacotes, verifique a sua ligação de rede) 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 requisitos mínimos para configurar %1.<br/>A configuração não pode continuar. <a href="#details">Detalhes...</a> @@ -757,7 +757,7 @@ O instalador será encerrado e todas as alterações serão perdidas. 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 requisitos recomendados para configurar %1.<br/>A configuração pode continuar, mas algumas funcionalidades podem ser desativadas. @@ -1358,22 +1358,22 @@ O instalador será encerrado e todas as alterações serão perdidas. has at least %1 GiB available drive space - + tem pelo menos %1 GiB de espaço livre em disco There is not enough drive space. At least %1 GiB is required. - + Não existe espaço livre suficiente em disco. É necessário pelo menos %1 GiB. has at least %1 GiB working memory - + tem pelo menos %1 GiB de memória disponível The system does not have enough working memory. At least %1 GiB is required. - + O sistema não tem memória disponível suficiente. É necessário pelo menos %1 GiB. @@ -1398,7 +1398,7 @@ O instalador será encerrado e todas as alterações serão perdidas. is running the installer as an administrator (root) - + está a executar o instalador como um administrador (root) @@ -1408,7 +1408,7 @@ O instalador será encerrado e todas as alterações serão perdidas. The installer is not running with administrator rights. - O instalador não está a correr com permissões de administrador. + O instalador não está a ser executado com permissões de administrador. @@ -1820,7 +1820,7 @@ O instalador será encerrado e todas as alterações serão perdidas. Desktop - + Ambiente de trabalho @@ -3047,7 +3047,7 @@ Saída de Dados: 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 requisitos mínimos para configurar %1.<br/>A configuração não pode continuar. <a href="#details">Detalhes...</a> @@ -3057,7 +3057,7 @@ Saída de Dados: 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 requisitos recomendados para configurar %1.<br/>A configuração pode continuar, mas algumas funcionalidades podem ser desativadas. diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 25accf4ef..ba1eb5176 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -106,7 +106,7 @@ Widget Tree - + Дерево виджетов @@ -119,7 +119,7 @@ Set up - + Настроить @@ -132,12 +132,12 @@ Job failed (%1) - Задание не успешно (%1) + Не удалось выполнить задание (%1) Programmed job failure was explicitly requested. - + Работа программы была прекращена пользователем. @@ -153,7 +153,7 @@ Example job (%1) - + Пример задания (%1) @@ -161,12 +161,12 @@ Run command '%1' in target system. - + Запустить комманду'%1'в целевой системе. Run command '%1'. - + Запустить команду '%1'. @@ -212,7 +212,7 @@ Loading ... - + Загрузка... @@ -222,7 +222,7 @@ Loading failed. - + Загрузка не удалась. @@ -230,21 +230,21 @@ Waiting for %n module(s). - - - - - + + Ожидание %n модуля. + Ожидание %n модулей. + Ожидание %n модулей. + Ожидание %n модуля(модулей). (%n second(s)) - - - - - + + (% секунда) + (% секунд) + (% секунд) + (% секунд) @@ -300,7 +300,7 @@ The upload was unsuccessful. No web-paste was done. - + Загрузка не удалась. Веб-вставка не была завершена. @@ -340,7 +340,7 @@ &Set up now - + &Настроить сейчас @@ -355,7 +355,7 @@ &Set up - + &Настроить @@ -370,7 +370,7 @@ The installation is complete. Close the installer. - Установка завершена. Закройте установщик. + Установка завершена. Закройте установщик. @@ -455,7 +455,8 @@ The installer will quit and all changes will be lost. Install log posted to: %1 - + Установочный журнал размещён на: +n%1 @@ -478,7 +479,7 @@ The installer will quit and all changes will be lost. &Cancel - О&тмена + &Отмена @@ -527,7 +528,7 @@ The installer will quit and all changes will be lost. <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. Having a GPT partition table and <strong>fat32 512Mb /boot partition is a must for UEFI installs</strong>, either use an existing without formatting or create one. - + <strong>Ручная разметка</strong><br/>Вы можете создавать или изменять размеры разделов самостоятельно. Наличие таблицы разделов GPT и <strong>fat32 512Mb /boot раздела является обязательным для систем с UEFI</strong>, либо используйте существующий без форматирования, либо создайте его. @@ -626,17 +627,17 @@ The installer will quit and all changes will be lost. Swap (no Hibernate) - + Swap (без Гибернации) Swap (with Hibernate) - + Swap (с Гибернацией) Swap to file - + Файл подкачки @@ -729,7 +730,7 @@ The installer will quit and all changes will be lost. Network Installation. (Disabled: Incorrect configuration) - + Сетевая установка. (Отключено: неверная конфигурация) @@ -739,7 +740,7 @@ The installer will quit and all changes will be lost. Network Installation. (Disabled: internal error) - + Сетевая установка. (Отключено: внутренняя ошибка) @@ -797,7 +798,7 @@ The installer will quit and all changes will be lost. Contextual Processes Job - + Работа с контекстными процессами @@ -815,7 +816,7 @@ The installer will quit and all changes will be lost. MiB - МиБ + МиБ @@ -855,7 +856,7 @@ The installer will quit and all changes will be lost. En&crypt - Ши&фровать + &Шифровать @@ -883,12 +884,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. + Создать новый раздел %2 MiB на %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>. + Создать новый раздел <strong>%2 MiB</strong> на <strong>%4</strong> (%3) с файловой системой <strong>%1</strong>. @@ -1003,17 +1004,17 @@ The installer will quit and all changes will be lost. Create new volume group named %1. - Создать новую группу томов на диске %1 + Создать новую группу томов на диске %1. Create new volume group named <strong>%1</strong>. - Создать новую группу томов на диске %1 + Создать новую группу томов на диске %1. Creating new volume group named %1. - Cоздание новой группы томов на диске %1 + Создание новой группы томов на диске %1. @@ -1027,17 +1028,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. @@ -1177,7 +1178,7 @@ The installer will quit and all changes will be lost. MiB - МиБ + МиБ @@ -1337,7 +1338,7 @@ 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. + Форматировать раздел %1 (файловая система: %2, размер: %3 МиБ) на %4. @@ -1400,7 +1401,7 @@ The installer will quit and all changes will be lost. is running the installer as an administrator (root) - + запуск установщика с правами администратора (root) @@ -1415,7 +1416,7 @@ The installer will quit and all changes will be lost. has a screen large enough to show the whole installer - + экран достаточно большой, чтобы показать установщик полностью @@ -1425,7 +1426,7 @@ The installer will quit and all changes will be lost. The screen is too small to display the installer. - Слишком маленький экран для окна установщика. + Экран слишком маленький, чтобы отобразить окно установщика. @@ -1548,7 +1549,7 @@ The installer will quit and all changes will be lost. &Cancel - О&тмена + &Отмена @@ -1576,27 +1577,27 @@ The installer will quit and all changes will be lost. Please review the End User License Agreements (EULAs). - + Пожалуйста, ознакомьтесь с лицензионным соглашением (EULA). This setup procedure will install proprietary software that is subject to licensing terms. - + В ходе этой процедуры установки будет установлено проприетарное программное обеспечение, на которое распространяются условия лицензирования. If you do not agree with the terms, the setup procedure cannot continue. - + если вы не согласны с условиями, процедура установки не может быть продолжена. This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + Эта процедура установки может установить проприетарное программное обеспечение, на которое распространяются условия лицензирования, чтобы предоставить дополнительные функции и улучшить взаимодействие с пользователем. If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. - + Если вы не согласны с условиями, проприетарное программное обеспечение не будет установлено, и вместо него будут использованы альтернативы с открытым исходным кодом. @@ -1735,7 +1736,7 @@ The installer will quit and all changes will be lost. Encrypted rootfs setup error - + Ошибка шифрования корневой файловой системы @@ -1750,7 +1751,7 @@ The installer will quit and all changes will be lost. Could not configure LUKS key file on partition %1. - + Не удалось настроить файл ключа LUKS на разделе %1. @@ -1763,7 +1764,7 @@ The installer will quit and all changes will be lost. Configuration Error - + Ошибка конфигурации @@ -1782,22 +1783,22 @@ The installer will quit and all changes will be lost. Office software - + Офисное программное обеспечение Office package - + Офисный пакет Browser software - + Браузерное программное обеспечение Browser package - + Браузерный пакет @@ -1812,7 +1813,7 @@ The installer will quit and all changes will be lost. Services - + Сервисы @@ -1822,7 +1823,7 @@ The installer will quit and all changes will be lost. Desktop - + Рабочий стол @@ -1832,42 +1833,42 @@ The installer will quit and all changes will be lost. Communication - + Общение Development - + Разработка Office - + Офис Multimedia - + Мультимедиа Internet - + Интернет Theming - + Темы Gaming - + Игры Utilities - + Утилиты @@ -1875,7 +1876,7 @@ The installer will quit and all changes will be lost. Notes - + Заметки @@ -1888,7 +1889,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> @@ -2079,7 +2080,7 @@ The installer will quit and all changes will be lost. Password generation failed - required entropy too low for settings - + Сбой генерации пароля - слишком низкая энтропия для настроек @@ -2167,27 +2168,27 @@ The installer will quit and all changes will be lost. Product Name - + Имя продукта TextLabel - + Текстовая метка Long Product Description - + Длинное описание продукта Package Selection - + Выбор пакета Please pick a product from the list. The selected product will be installed. - + Пожалуйста, выберите продукт из списка. Выбранный продукт будет установлен. @@ -2195,7 +2196,7 @@ The installer will quit and all changes will be lost. Packages - + Пакеты @@ -2297,12 +2298,12 @@ The installer will quit and all changes will be lost. When this box is checked, password-strength checking is done and you will not be able to use a weak password. - + Когда этот флажок установлен, выполняется проверка надежности пароля, и вы не сможете использовать слабый пароль. Require strong passwords. - + Требовать надежный пароль. @@ -2430,7 +2431,7 @@ The installer will quit and all changes will be lost. Cre&ate - Со&здать + &Создать @@ -2455,7 +2456,7 @@ The installer will quit and all changes will be lost. Deactivate Volume Group - + Отключить группу томов @@ -2573,12 +2574,12 @@ The installer will quit and all changes will be lost. Option to use GPT on BIOS - + Возможность для использования GPT в BIOS A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>bios_grub</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT. - + Таблица разделов GPT - наилучший вариант для всех систем. Этот установщик позволяет использовать таблицу разделов GPT для систем с BIOS. <br/> <br/> Чтобы установить таблицу разделов как GPT (если это еще не сделано) вернитесь назад и создайте таблицу разделов GPT, затем создайте 8 МБ Не форматированный раздел с включенным флагом <strong> bios-grub</strong> </ strong>. <br/> <br/> Не форматированный раздел в 8 МБ необходим для запуска %1 на системе с BIOS и таблицей разделов GPT. @@ -2598,7 +2599,7 @@ The installer will quit and all changes will be lost. There are no partitions to install on. - + Нет разделов для установки. @@ -2625,7 +2626,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. Вы также можете пропустить этот шаг и настроить внешний вид после настройки системы. Нажав на внешний вид, вы получите живой предварительный просмотр этого стиля. @@ -2656,7 +2657,7 @@ The installer will quit and all changes will be lost. Not all of the configured files could be preserved. - + Не все настроенные файлы могут быть сохранены. @@ -2720,7 +2721,7 @@ Output: External command finished with errors. - Внешняя команда завершилась с ошибками + Внешняя команда завершилась с ошибками. @@ -2792,12 +2793,12 @@ Output: No product - + Нет продукта No description provided. - + Описание не предоставлено. @@ -2815,7 +2816,7 @@ Output: Remove live user from target system - + Удалить live пользователя из целевой системы @@ -2824,12 +2825,12 @@ Output: Remove Volume Group named %1. - Удалить группу томов на диске %1 + Удалить группу томов на диске %1. Remove Volume Group named <strong>%1</strong>. - Удалить группу томов на диске %1 + Удалить группу томов на диске <strong>%1</strong>. @@ -2927,17 +2928,17 @@ 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. - + Calamares не может запустить KPMCore для задания изменения размера файловой системы. @@ -3160,7 +3161,7 @@ Output: Set flags on new partition. - Установить флаги нового раздела. + Установите флаги на новый раздел. @@ -3314,7 +3315,7 @@ Output: Shell Processes Job - + Работа с контекстными процессами @@ -3362,7 +3363,7 @@ Output: Internal error in install-tracking. - + Внутренняя ошибка в install-tracking. @@ -3470,7 +3471,7 @@ Output: Your username must start with a lowercase letter or underscore. - + Ваше имя пользователя должно начинаться со строчной буквы или подчеркивания. @@ -3544,12 +3545,12 @@ Output: Physical Extent Size: - + Физический размер: MiB - МиБ + МиБ @@ -3583,7 +3584,7 @@ Output: Select application and system language - + Выберите язык приложения и системы @@ -3603,7 +3604,7 @@ Output: Open help and support website - + Открыть сайт справки и поддержки @@ -3613,7 +3614,7 @@ Output: Open issues and bug-tracking website - + Открыть сайт со списком известных проблем и отслеживанием ошибок @@ -3623,7 +3624,7 @@ Output: Open release notes website - + Открыть сайт с заметками о выпуске @@ -3708,7 +3709,7 @@ Output: Back - + Назад @@ -3716,17 +3717,17 @@ Output: Keyboard Model - + Модель клавиатуры Pick your preferred keyboard model or use the default one based on the detected hardware - + Выберите предпочитаемую модель клавиатуры или используйте модель по умолчанию на основе обнаруженного оборудования Refresh - + Обновить @@ -3738,22 +3739,22 @@ Output: Keyboard Layout - + Раскладка клавиатуры Models - + Модели Variants - + Варианты Test your keyboard - + Проверьте свою клавиатуру @@ -3762,7 +3763,8 @@ Output: <h3>%1</h3> <p>These are example release notes.</p> - + <h3>%1</h3> + <p>Это пример заметок о выпуске..</p> @@ -3770,27 +3772,27 @@ Output: <h3>Welcome to the %1 <quote>%2</quote> installer</h3> - + <h3>Добро пожаловать в %1 <quote>%2</quote> установщик</h3> About - + О Программе Support - + Поддержка Known issues - + Известные проблемы Release notes - + Примечания к выпуску diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 42738f7a8..cf17486b5 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -2580,7 +2580,7 @@ Sistem güç kaynağına bağlı değil. A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>bios_grub</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT. - GPT bölümleme tablosu tüm sistemler için en iyi seçenektir. Bu yükleyici BIOS sistemleri için de böyle bir kurulumu destekler. <br/><br/>BIOS'ta bir GPT bölümleme tablosu yapılandırmak için (daha önce yapılmadıysa) geri gidin ve bölümleme tablosunu GPT'ye ayarlayın, ardından <strong>bios_grub</strong> bayrağı etkinken 8 MB biçimlendirilmemiş bir bölüm oluşturun.<br/> <br/>GPT'li bir BIOS sisteminde% 1'i başlatmak için biçimlendirilmemiş 8 MB'lik bir bölüm gereklidir. + GPT disk bölümleme tablosu tüm sistemler için en iyi seçenektir. Bu yükleyici klasik BIOS sistemler için de böyle bir kurulumu destekler. <br/><br/>Klasik BIOS sistemlerde diskinizi GPT tipinde yapılandırmak için (daha önce yapılmadıysa) geri gidin ve disk yapısını GPT olarak ayarlayın ve ardından <strong>bios_grub</strong> bayrağı ile etiketlenmiş 8 MB biçimlendirilmemiş bir bölüm oluşturun.<br/> <br/>GPT disk yapısı ile kurulan klasik BIOS sistemi %1 başlatmak için biçimlendirilmemiş 8 MB bir disk bölümü gereklidir. diff --git a/lang/python.pot b/lang/python.pot index b1a007d6f..7d98195be 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -2,353 +2,335 @@ # 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: 2020-04-15 13:39+0200\n" +"POT-Creation-Date: 2020-04-30 23:13+0200\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." +#: src/modules/packages/main.py:59 src/modules/packages/main.py:68 +#: src/modules/packages/main.py:78 +msgid "Install packages." +msgstr "" -#: src/modules/mount/main.py:38 -msgid "Mounting partitions." -msgstr "Mounting partitions." +#: src/modules/packages/main.py:66 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" -#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:205 -#: src/modules/initcpiocfg/main.py:209 -#: src/modules/luksopenswaphookcfg/main.py:95 -#: src/modules/luksopenswaphookcfg/main.py:99 src/modules/rawfs/main.py:171 -#: 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:332 -#: src/modules/fstab/main.py:338 src/modules/localecfg/main.py:144 -#: src/modules/networkcfg/main.py:48 +#: src/modules/packages/main.py:71 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:74 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/networkcfg/main.py:37 +msgid "Saving network configuration." +msgstr "" + +#: src/modules/networkcfg/main.py:48 src/modules/initcpiocfg/main.py:205 +#: src/modules/initcpiocfg/main.py:209 src/modules/openrcdmcryptcfg/main.py:78 +#: src/modules/openrcdmcryptcfg/main.py:82 src/modules/localecfg/main.py:144 +#: src/modules/mount/main.py:145 src/modules/luksopenswaphookcfg/main.py:95 +#: src/modules/luksopenswaphookcfg/main.py:99 src/modules/fstab/main.py:332 +#: src/modules/fstab/main.py:338 src/modules/initramfscfg/main.py:94 +#: src/modules/initramfscfg/main.py:98 src/modules/rawfs/main.py:171 msgid "Configuration Error" -msgstr "Configuration Error" - -#: src/modules/mount/main.py:146 src/modules/initcpiocfg/main.py:206 -#: 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:333 -msgid "No partitions are defined for
{!s}
to use." -msgstr "No partitions are defined for
{!s}
to use." - -#: src/modules/services-systemd/main.py:35 -msgid "Configure systemd services" -msgstr "Configure systemd services" - -#: src/modules/services-systemd/main.py:68 -#: src/modules/services-openrc/main.py:102 -msgid "Cannot modify service" -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 "Cannot enable systemd service {name!s}." - -#: src/modules/services-systemd/main.py:74 -msgid "Cannot enable systemd target {name!s}." -msgstr "Cannot enable systemd target {name!s}." - -#: src/modules/services-systemd/main.py:78 -msgid "Cannot disable systemd target {name!s}." -msgstr "Cannot disable systemd target {name!s}." - -#: src/modules/services-systemd/main.py:80 -msgid "Cannot mask systemd unit {name!s}." -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}." +#: src/modules/networkcfg/main.py:49 src/modules/initcpiocfg/main.py:210 +#: src/modules/openrcdmcryptcfg/main.py:83 src/modules/localecfg/main.py:145 +#: src/modules/luksopenswaphookcfg/main.py:100 src/modules/fstab/main.py:339 +#: src/modules/initramfscfg/main.py:99 +msgid "No root mount point is given for
{!s}
to use." 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/initcpiocfg/main.py:37 +msgid "Configuring mkinitcpio." +msgstr "" + +#: src/modules/initcpiocfg/main.py:206 src/modules/openrcdmcryptcfg/main.py:79 +#: src/modules/mount/main.py:146 src/modules/luksopenswaphookcfg/main.py:96 +#: src/modules/fstab/main.py:333 src/modules/initramfscfg/main.py:95 +#: src/modules/rawfs/main.py:172 +msgid "No partitions are defined for
{!s}
to use." +msgstr "" + +#: src/modules/openrcdmcryptcfg/main.py:34 +msgid "Configuring OpenRC dmcrypt service." +msgstr "" #: src/modules/unpackfs/main.py:44 msgid "Filling up filesystems." -msgstr "Filling up filesystems." +msgstr "" #: src/modules/unpackfs/main.py:257 msgid "rsync failed with error code {}." -msgstr "rsync failed with error code {}." +msgstr "" #: src/modules/unpackfs/main.py:302 msgid "Unpacking image {}/{}, file {}/{}" -msgstr "Unpacking image {}/{}, file {}/{}" +msgstr "" #: src/modules/unpackfs/main.py:317 msgid "Starting to unpack {}" -msgstr "Starting to unpack {}" +msgstr "" #: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432 msgid "Failed to unpack image \"{}\"" -msgstr "Failed to unpack image \"{}\"" +msgstr "" #: src/modules/unpackfs/main.py:399 msgid "No mount point for root partition" -msgstr "No mount point for root partition" +msgstr "" #: src/modules/unpackfs/main.py:400 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:405 msgid "Bad mount point for root partition" -msgstr "Bad mount point for root partition" +msgstr "" #: src/modules/unpackfs/main.py:406 msgid "rootMountPoint is \"{}\", which does not exist, doing nothing" -msgstr "rootMountPoint is \"{}\", which does not exist, doing nothing" +msgstr "" #: src/modules/unpackfs/main.py:422 src/modules/unpackfs/main.py:426 #: src/modules/unpackfs/main.py:446 msgid "Bad unsquash configuration" -msgstr "Bad unsquash configuration" +msgstr "" #: src/modules/unpackfs/main.py:423 msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel" -msgstr "The filesystem for \"{}\" ({}) is not supported by your current kernel" +msgstr "" #: src/modules/unpackfs/main.py:427 msgid "The source filesystem \"{}\" does not exist" -msgstr "The source filesystem \"{}\" does not exist" +msgstr "" #: src/modules/unpackfs/main.py:433 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:447 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:515 -msgid "Cannot write KDM configuration file" -msgstr "Cannot write KDM configuration file" - -#: 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:577 -msgid "Cannot write LXDM configuration file" -msgstr "Cannot write LXDM configuration file" - -#: 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:661 -msgid "Cannot write LightDM configuration file" -msgstr "Cannot write LightDM configuration file" - -#: 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:736 -msgid "Cannot configure LightDM" -msgstr "Cannot configure LightDM" - -#: src/modules/displaymanager/main.py:737 -msgid "No LightDM greeter installed." -msgstr "No LightDM greeter installed." - -#: src/modules/displaymanager/main.py:768 -msgid "Cannot write SLIM configuration file" -msgstr "Cannot write SLIM configuration file" - -#: 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:895 -msgid "No display managers selected for the displaymanager module." -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 "Display manager configuration was incomplete" +#: src/modules/services-systemd/main.py:35 +msgid "Configure systemd services" +msgstr "" -#: src/modules/initcpiocfg/main.py:37 -msgid "Configuring mkinitcpio." -msgstr "Configuring mkinitcpio." +#: src/modules/services-systemd/main.py:68 +#: src/modules/services-openrc/main.py:102 +msgid "Cannot modify service" +msgstr "" -#: src/modules/initcpiocfg/main.py:210 -#: src/modules/luksopenswaphookcfg/main.py:100 -#: src/modules/initramfscfg/main.py:99 src/modules/openrcdmcryptcfg/main.py:83 -#: src/modules/fstab/main.py:339 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." +#: 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/dummypython/main.py:44 +msgid "Dummy python job." +msgstr "" + +#: src/modules/dummypython/main.py:46 src/modules/dummypython/main.py:102 +#: src/modules/dummypython/main.py:103 +msgid "Dummy python step {}" +msgstr "" + +#: src/modules/bootloader/main.py:51 +msgid "Install bootloader." +msgstr "" + +#: src/modules/localecfg/main.py:39 +msgid "Configuring locales." +msgstr "" + +#: src/modules/mount/main.py:38 +msgid "Mounting partitions." +msgstr "" + +#: src/modules/plymouthcfg/main.py:36 +msgid "Configure Plymouth theme" +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." +#: src/modules/fstab/main.py:38 +msgid "Writing fstab." +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" - -#: src/modules/packages/main.py:59 src/modules/packages/main.py:68 -#: src/modules/packages/main.py:78 -msgid "Install packages." -msgstr "Install packages." - -#: src/modules/packages/main.py:66 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Processing packages (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:71 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Installing one package." -msgstr[1] "Installing %(num)d packages." - -#: src/modules/packages/main.py:74 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Removing one package." -msgstr[1] "Removing %(num)d packages." - -#: src/modules/bootloader/main.py:51 -msgid "Install bootloader." -msgstr "Install bootloader." - -#: src/modules/hwclock/main.py:35 -msgid "Setting hardware clock." -msgstr "Setting hardware clock." #: 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/grubcfg/main.py:37 +msgid "Configure GRUB." +msgstr "" + +#: src/modules/displaymanager/main.py:515 +msgid "Cannot write KDM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:516 +msgid "KDM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:577 +msgid "Cannot write LXDM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:578 +msgid "LXDM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:661 +msgid "Cannot write LightDM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:662 +msgid "LightDM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:736 +msgid "Cannot configure LightDM" +msgstr "" + +#: src/modules/displaymanager/main.py:737 +msgid "No LightDM greeter installed." +msgstr "" + +#: src/modules/displaymanager/main.py:768 +msgid "Cannot write SLIM configuration file" +msgstr "" + +#: src/modules/displaymanager/main.py:769 +msgid "SLIM config file {!s} does not exist" +msgstr "" + +#: src/modules/displaymanager/main.py:895 +msgid "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 "" + +#: src/modules/displaymanager/main.py:978 +msgid "Display manager configuration was incomplete" +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." +#: src/modules/hwclock/main.py:35 +msgid "Setting hardware clock." +msgstr "" -#: src/modules/fstab/main.py:38 -msgid "Writing fstab." -msgstr "Writing fstab." - -#: src/modules/dummypython/main.py:44 -msgid "Dummy python job." -msgstr "Dummy python job." - -#: src/modules/dummypython/main.py:46 src/modules/dummypython/main.py:102 -#: src/modules/dummypython/main.py:103 -msgid "Dummy python step {}" -msgstr "Dummy python step {}" - -#: src/modules/localecfg/main.py:39 -msgid "Configuring locales." -msgstr "Configuring locales." - -#: src/modules/networkcfg/main.py:37 -msgid "Saving network configuration." -msgstr "Saving network configuration." +#: src/modules/rawfs/main.py:35 +msgid "Installing data." +msgstr "" diff --git a/lang/python/ru/LC_MESSAGES/python.mo b/lang/python/ru/LC_MESSAGES/python.mo index d492218d4..c26778b42 100644 Binary files a/lang/python/ru/LC_MESSAGES/python.mo and b/lang/python/ru/LC_MESSAGES/python.mo differ diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 91ef063c7..aa9c01a96 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -5,6 +5,7 @@ # # Translators: # Aleksey Kabanov , 2018 +# ZIzA, 2020 # #, fuzzy msgid "" @@ -13,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-15 13:39+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Aleksey Kabanov , 2018\n" +"Last-Translator: ZIzA, 2020\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,11 +24,11 @@ msgstr "" #: src/modules/grubcfg/main.py:37 msgid "Configure GRUB." -msgstr "" +msgstr "Настройте GRUB." #: src/modules/mount/main.py:38 msgid "Mounting partitions." -msgstr "" +msgstr "Монтирование разделов." #: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:205 #: src/modules/initcpiocfg/main.py:209 @@ -39,28 +40,29 @@ msgstr "" #: src/modules/fstab/main.py:338 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:206 #: 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:333 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 "" +"Вызов systemctl {arg!s} в chroot вернул код ошибки {num!s}." #: src/modules/services-systemd/main.py:72 #: src/modules/services-systemd/main.py:76 @@ -87,11 +89,11 @@ msgstr "" #: src/modules/umount/main.py:40 msgid "Unmount file systems." -msgstr "" +msgstr "Размонтирование файловой системы." #: src/modules/unpackfs/main.py:44 msgid "Filling up filesystems." -msgstr "" +msgstr "Наполнение файловой системы." #: src/modules/unpackfs/main.py:257 msgid "rsync failed with error code {}." @@ -216,15 +218,15 @@ msgstr "" #: 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}." @@ -257,7 +259,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 "" @@ -267,12 +269,12 @@ msgstr "" #: src/modules/plymouthcfg/main.py:36 msgid "Configure Plymouth theme" -msgstr "" +msgstr "Настроить тему Plymouth" #: src/modules/packages/main.py:59 src/modules/packages/main.py:68 #: src/modules/packages/main.py:78 msgid "Install packages." -msgstr "" +msgstr "Установить пакеты." #: src/modules/packages/main.py:66 #, python-format @@ -283,51 +285,51 @@ msgstr "Обработка пакетов (%(count)d / %(total)d)" #, 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:74 #, 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/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." @@ -340,8 +342,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/sq/LC_MESSAGES/python.mo b/lang/python/sq/LC_MESSAGES/python.mo index 24638bb1d..5f245ee0c 100644 Binary files a/lang/python/sq/LC_MESSAGES/python.mo and b/lang/python/sq/LC_MESSAGES/python.mo differ diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index ee6b2f1eb..7ecf0407a 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Besnik , 2020 +# Besnik Bleta , 2020 # #, fuzzy msgid "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-15 13:39+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: Besnik , 2020\n" +"Last-Translator: Besnik Bleta , 2020\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.mo b/lang/python/tr_TR/LC_MESSAGES/python.mo index 7c9e48d45..817072661 100644 Binary files a/lang/python/tr_TR/LC_MESSAGES/python.mo and b/lang/python/tr_TR/LC_MESSAGES/python.mo differ diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 32222f28a..25123ed50 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Demiray Muhterem , 2020 # abc Def , 2020 +# Demiray Muhterem , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-15 13:39+0200\n" "PO-Revision-Date: 2017-08-09 10:34+0000\n" -"Last-Translator: abc Def , 2020\n" +"Last-Translator: Demiray Muhterem , 2020\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -104,11 +104,11 @@ msgstr "rsync {} hata koduyla başarısız oldu." #: src/modules/unpackfs/main.py:302 msgid "Unpacking image {}/{}, file {}/{}" -msgstr "Disk görüntüsü paketi açılıyor {}/{}, dosya {}/{}" +msgstr "Açılan kurulum medyası {}/{}, dışa aktarılan dosya sayısı {}/{}" #: src/modules/unpackfs/main.py:317 msgid "Starting to unpack {}" -msgstr "Paketi açmaya başlıyor {}" +msgstr "Dışa aktarım başlatılıyor {}" #: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:432 msgid "Failed to unpack image \"{}\"" @@ -233,7 +233,7 @@ msgstr "Veri yükleniyor." #: src/modules/services-openrc/main.py:38 msgid "Configure OpenRC services" -msgstr " OpenRC hizmetlerini yapılandır" +msgstr " OpenRC servislerini yapılandır" #: src/modules/services-openrc/main.py:66 msgid "Cannot add service {name!s} to run-level {level!s}." @@ -308,7 +308,7 @@ msgstr[1] "%(num)d paket kaldırılıyor." #: src/modules/bootloader/main.py:51 msgid "Install bootloader." -msgstr "Önyükleyici yükle" +msgstr "Önyükleyici kuruluyor" #: src/modules/hwclock/main.py:35 msgid "Setting hardware clock." diff --git a/lang/tz_sv.ts b/lang/tz_sv.ts new file mode 100644 index 000000000..98d9b83c3 --- /dev/null +++ b/lang/tz_sv.ts @@ -0,0 +1,77 @@ + + + QObject + + + Africa + tz_regions + Afrika + + + + America + tz_regions + Amerika + + + + Antarctica + tz_regions + Antarktis + + + + Asia + tz_regions + Asien + + + + Australia + tz_regions + Australien + + + + Europe + tz_regions + Europa + + + + Indian + tz_regions + Indien + + + + Aqtobe + tz_names + Aqtöbe + + + + Athens + tz_names + Aten + + + + Azores + tz_names + Azorerna + + + + Kiev + tz_names + Kyiv + + + + Moscow + tz_names + Moskva + + + diff --git a/src/branding/default/branding.desc b/src/branding/default/branding.desc index 53884e311..720bcc25d 100644 --- a/src/branding/default/branding.desc +++ b/src/branding/default/branding.desc @@ -118,6 +118,12 @@ strings: # productLogo is used as the logo at the top of the left-hand column # which shows the steps to be taken. The image should be square, # and is displayed at 80x80 pixels (also on HiDPI). +# productWallpaper is an optional image, which if present, will replace +# the normal solid background on every page of the application. +# It can be any size and proportion, +# and will be tiled to fit the entire window. +# For a non-tiled wallpaper, the size should be the same as +# the overall window, see *windowSize* above (800x520). # productWelcome is shown on the welcome page of the application in # the middle of the window, below the welcome text. It can be # any size and proportion, and will be scaled to fit inside @@ -129,6 +135,7 @@ images: # productBanner: "banner.png" productIcon: "squid.png" productLogo: "squid.png" + # productWallpaper: "wallpaper.png" productWelcome: "languages.png" # The slideshow is displayed during execution steps (e.g. when the diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index 57fffd1bb..7dda0cbd3 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -61,11 +61,11 @@ windowDimensionToPixels( const Calamares::Branding::WindowDimension& u ) QWidget* -CalamaresWindow::getWidgetSidebar( int desiredWidth ) +CalamaresWindow::getWidgetSidebar( QWidget* parent, int desiredWidth ) { const Calamares::Branding* const branding = Calamares::Branding::instance(); - QWidget* sideBox = new QWidget( this ); + QWidget* sideBox = new QWidget( parent ); sideBox->setObjectName( "sidebarApp" ); QBoxLayout* sideLayout = new QVBoxLayout; @@ -107,12 +107,12 @@ CalamaresWindow::getWidgetSidebar( int desiredWidth ) sideLayout->addWidget( debugWindowBtn ); debugWindowBtn->setFlat( true ); debugWindowBtn->setCheckable( true ); - connect( debugWindowBtn, &QPushButton::clicked, this, [=]( bool checked ) { + connect( debugWindowBtn, &QPushButton::clicked, this, [ = ]( bool checked ) { if ( checked ) { m_debugWindow = new Calamares::DebugWindow(); m_debugWindow->show(); - connect( m_debugWindow.data(), &Calamares::DebugWindow::closed, this, [=]() { + connect( m_debugWindow.data(), &Calamares::DebugWindow::closed, this, [ = ]() { m_debugWindow->deleteLater(); debugWindowBtn->setChecked( false ); } ); @@ -132,10 +132,10 @@ CalamaresWindow::getWidgetSidebar( int desiredWidth ) } QWidget* -CalamaresWindow::getQmlSidebar( int ) +CalamaresWindow::getQmlSidebar( QWidget* parent, int ) { CalamaresUtils::registerCalamaresModels(); - QQuickWidget* w = new QQuickWidget( this ); + QQuickWidget* w = new QQuickWidget( parent ); w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); w->setResizeMode( QQuickWidget::SizeRootObjectToView ); w->setSource( QUrl( @@ -161,9 +161,9 @@ setButtonIcon( QPushButton* button, const QString& name ) } QWidget* -CalamaresWindow::getWidgetNavigation() +CalamaresWindow::getWidgetNavigation( QWidget* parent ) { - QWidget* navigation = new QWidget( this ); + QWidget* navigation = new QWidget( parent ); QBoxLayout* bottomLayout = new QHBoxLayout; bottomLayout->addStretch(); @@ -175,7 +175,7 @@ CalamaresWindow::getWidgetNavigation() connect( back, &QPushButton::clicked, m_viewManager, &Calamares::ViewManager::back ); connect( m_viewManager, &Calamares::ViewManager::backEnabledChanged, back, &QPushButton::setEnabled ); connect( m_viewManager, &Calamares::ViewManager::backLabelChanged, back, &QPushButton::setText ); - connect( m_viewManager, &Calamares::ViewManager::backIconChanged, this, [=]( QString n ) { + connect( m_viewManager, &Calamares::ViewManager::backIconChanged, this, [ = ]( QString n ) { setButtonIcon( back, n ); } ); bottomLayout->addWidget( back ); @@ -187,7 +187,7 @@ CalamaresWindow::getWidgetNavigation() connect( next, &QPushButton::clicked, m_viewManager, &Calamares::ViewManager::next ); connect( m_viewManager, &Calamares::ViewManager::nextEnabledChanged, next, &QPushButton::setEnabled ); connect( m_viewManager, &Calamares::ViewManager::nextLabelChanged, next, &QPushButton::setText ); - connect( m_viewManager, &Calamares::ViewManager::nextIconChanged, this, [=]( QString n ) { + connect( m_viewManager, &Calamares::ViewManager::nextIconChanged, this, [ = ]( QString n ) { setButtonIcon( next, n ); } ); bottomLayout->addWidget( next ); @@ -199,7 +199,7 @@ CalamaresWindow::getWidgetNavigation() connect( quit, &QPushButton::clicked, m_viewManager, &Calamares::ViewManager::quit ); connect( m_viewManager, &Calamares::ViewManager::quitEnabledChanged, quit, &QPushButton::setEnabled ); connect( m_viewManager, &Calamares::ViewManager::quitLabelChanged, quit, &QPushButton::setText ); - connect( m_viewManager, &Calamares::ViewManager::quitIconChanged, this, [=]( QString n ) { + connect( m_viewManager, &Calamares::ViewManager::quitIconChanged, this, [ = ]( QString n ) { setButtonIcon( quit, n ); } ); connect( m_viewManager, &Calamares::ViewManager::quitTooltipChanged, quit, &QPushButton::setToolTip ); @@ -213,10 +213,10 @@ CalamaresWindow::getWidgetNavigation() } QWidget* -CalamaresWindow::getQmlNavigation() +CalamaresWindow::getQmlNavigation( QWidget* parent ) { CalamaresUtils::registerCalamaresModels(); - QQuickWidget* w = new QQuickWidget( this ); + QQuickWidget* w = new QQuickWidget( parent ); w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); w->setResizeMode( QQuickWidget::SizeRootObjectToView ); w->setSource( QUrl( @@ -234,6 +234,7 @@ template < typename widgetMaker, typename... args > QWidget* flavoredWidget( Calamares::Branding::PanelFlavor flavor, CalamaresWindow* w, + QWidget* parent, widgetMaker widget, widgetMaker qml, args... a ) @@ -242,9 +243,9 @@ flavoredWidget( Calamares::Branding::PanelFlavor flavor, switch ( flavor ) { case Calamares::Branding::PanelFlavor::Widget: - return ( w->*widget )( a... ); + return ( w->*widget )( parent, a... ); case Calamares::Branding::PanelFlavor::Qml: - return ( w->*qml )( a... ); + return ( w->*qml )( parent, a... ); case Calamares::Branding::PanelFlavor::None: return nullptr; } @@ -281,6 +282,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) : tr( "%1 Installer" ).arg( *Calamares::Branding::ProductName ) ); ) const Calamares::Branding* const branding = Calamares::Branding::instance(); + using ImageEntry = Calamares::Branding::ImageEntry; using CalamaresUtils::windowMinimumHeight; using CalamaresUtils::windowMinimumWidth; @@ -307,7 +309,23 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) cDebug() << Logger::SubEntry << "Proposed window size:" << w << h; resize( w, h ); - m_viewManager = Calamares::ViewManager::instance( this ); + QWidget* baseWidget = this; + if ( !( branding->imagePath( ImageEntry::ProductWallpaper ).isEmpty() ) ) + { + QWidget* label = new QWidget( this ); + QVBoxLayout* l = new QVBoxLayout; + CalamaresUtils::unmarginLayout( l ); + l->addWidget( label ); + setLayout( l ); + label->setObjectName( "backgroundWidget" ); + label->setStyleSheet( + QStringLiteral( "#backgroundWidget { background-image: url(%1); background-repeat: repeat-xy; }" ) + .arg( branding->imagePath( ImageEntry::ProductWallpaper ) ) ); + + baseWidget = label; + } + + m_viewManager = Calamares::ViewManager::instance( baseWidget ); if ( branding->windowExpands() ) { connect( m_viewManager, &Calamares::ViewManager::ensureSize, this, &CalamaresWindow::ensureSize ); @@ -328,11 +346,15 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) QWidget* sideBox = flavoredWidget( branding->sidebarFlavor(), this, + baseWidget, &CalamaresWindow::getWidgetSidebar, &CalamaresWindow::getQmlSidebar, qBound( 100, CalamaresUtils::defaultFontHeight() * 12, w < windowPreferredWidth ? 100 : 190 ) ); - QWidget* navigation = flavoredWidget( - branding->navigationFlavor(), this, &CalamaresWindow::getWidgetNavigation, &CalamaresWindow::getQmlNavigation ); + QWidget* navigation = flavoredWidget( branding->navigationFlavor(), + this, + baseWidget, + &CalamaresWindow::getWidgetNavigation, + &CalamaresWindow::getQmlNavigation ); // Build up the contentsLayout (a VBox) top-to-bottom // .. note that the bottom is mirrored wrt. the top @@ -351,7 +373,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) CalamaresUtils::unmarginLayout( mainLayout ); CalamaresUtils::unmarginLayout( contentsLayout ); - setLayout( mainLayout ); + baseWidget->setLayout( mainLayout ); setStyleSheet( Calamares::Branding::instance()->stylesheet() ); } diff --git a/src/calamares/CalamaresWindow.h b/src/calamares/CalamaresWindow.h index 1d3162b86..e6c27fd3f 100644 --- a/src/calamares/CalamaresWindow.h +++ b/src/calamares/CalamaresWindow.h @@ -37,7 +37,7 @@ class CalamaresWindow : public QWidget Q_OBJECT public: CalamaresWindow( QWidget* parent = nullptr ); - virtual ~CalamaresWindow() override {} + virtual ~CalamaresWindow() override { } public slots: /** @@ -52,12 +52,12 @@ protected: private: // Two variations on sidebar (the progress view) - QWidget* getWidgetSidebar( int desiredWidth ); - QWidget* getQmlSidebar( int desiredWidth ); + QWidget* getWidgetSidebar( QWidget* parent, int desiredWidth ); + QWidget* getQmlSidebar( QWidget* parent, int desiredWidth ); // Two variations on navigation (buttons at bottom) - QWidget* getWidgetNavigation(); - QWidget* getQmlNavigation(); + QWidget* getWidgetNavigation( QWidget* parent ); + QWidget* getQmlNavigation( QWidget* parent ); QPointer< Calamares::DebugWindow > m_debugWindow; // Managed by self Calamares::ViewManager* m_viewManager; diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 67054a902..bd2d94c5c 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -193,7 +193,7 @@ Branding::Branding( const QString& brandingFilePath, QObject* parent ) { QStringLiteral( "VARIANT" ), relInfo.variant() }, { QStringLiteral( "VARIANT_ID" ), relInfo.variantId() }, { QStringLiteral( "LOGO" ), relInfo.logo() } } }; - auto expand = [&]( const QString& s ) -> QString { + auto expand = [ & ]( const QString& s ) -> QString { return KMacroExpander::expandMacros( s, relMap, QLatin1Char( '@' ) ); }; #else @@ -203,7 +203,7 @@ Branding::Branding( const QString& brandingFilePath, QObject* parent ) // 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 ) ); @@ -359,11 +359,10 @@ Branding::image( const QString& imageName, const QSize& size ) const return ImageRegistry::instance()->pixmap( imageFi.absoluteFilePath(), size ); } -QString -Branding::stylesheet() const +static QString +_stylesheet( const QDir& dir ) { - QFileInfo fi( m_descriptorPath ); - QFileInfo importQSSPath( fi.absoluteDir().filePath( "stylesheet.qss" ) ); + QFileInfo importQSSPath( dir.filePath( "stylesheet.qss" ) ); if ( importQSSPath.exists() && importQSSPath.isReadable() ) { QFile stylesheetFile( importQSSPath.filePath() ); @@ -372,11 +371,17 @@ Branding::stylesheet() const } else { - cWarning() << "The branding component" << fi.absoluteDir().absolutePath() << "does not ship stylesheet.qss."; + cWarning() << "The branding component" << dir.absolutePath() << "does not ship stylesheet.qss."; } return QString(); } +QString +Branding::stylesheet() const +{ + return _stylesheet( QFileInfo( m_descriptorPath ).absoluteDir() ); +} + void Branding::setGlobals( GlobalStorage* globalStorage ) const { @@ -538,7 +543,7 @@ Branding::initSimpleSettings( const YAML::Node& doc ) [[noreturn]] void Branding::bail( const QString& message ) { - cError() << "FATAL in" << m_descriptorPath << Logger::Continuation << Logger::NoQuote{} << message; + cError() << "FATAL in" << m_descriptorPath << Logger::Continuation << Logger::NoQuote {} << message; ::exit( EXIT_FAILURE ); } diff --git a/src/libcalamaresui/Branding.h b/src/libcalamaresui/Branding.h index 847f28d89..78c0c54c1 100644 --- a/src/libcalamaresui/Branding.h +++ b/src/libcalamaresui/Branding.h @@ -250,7 +250,8 @@ private: }; template < typename U > -inline QString operator*( U e ) +inline QString +operator*( U e ) { return Branding::instance()->string( e ); } diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 137a7d99e..a4b8d8b8d 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -71,9 +71,11 @@ ViewManager::ViewManager( QObject* parent ) Q_ASSERT( !s_instance ); QBoxLayout* mainLayout = new QVBoxLayout; + m_widget->setObjectName( "viewManager" ); m_widget->setLayout( mainLayout ); m_stack = new QStackedWidget( m_widget ); + m_stack->setObjectName( "viewManagerStack" ); m_stack->setContentsMargins( 0, 0, 0, 0 ); mainLayout->addWidget( m_stack ); @@ -181,7 +183,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 ( msgBox->buttonRole( button ) == QMessageBox::ButtonRole::YesRole ) { // TODO: host and port should be configurable diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index 7a2fc3386..7e4956fda 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: 2020-04-07 22:12+0200\n" +"POT-Creation-Date: 2020-04-30 23:13+0200\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 "" diff --git a/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.mo index 8234ab079..b7daa29f5 100644 Binary files a/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.mo and b/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.mo differ diff --git a/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po index 36cffdf1e..6335e9c56 100644 --- a/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sq/LC_MESSAGES/dummypythonqt.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Besnik , 2017 +# Besnik Bleta , 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: 2020-04-15 13:39+0200\n" "PO-Revision-Date: 2016-12-16 12:18+0000\n" -"Last-Translator: Besnik , 2017\n" +"Last-Translator: Besnik Bleta , 2017\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/welcome/Config.cpp b/src/modules/welcome/Config.cpp index 1c2b17c38..1f12033a5 100644 --- a/src/modules/welcome/Config.cpp +++ b/src/modules/welcome/Config.cpp @@ -191,12 +191,6 @@ Config::setIsNextEnabled( bool isNextEnabled ) emit isNextEnabledChanged( m_isNextEnabled ); } -QString -Config::donateUrl() const -{ - return m_donateUrl; -} - void Config::setDonateUrl( const QString& url ) { @@ -204,12 +198,6 @@ Config::setDonateUrl( const QString& url ) emit donateUrlChanged(); } -QString -Config::knownIssuesUrl() const -{ - return m_knownIssuesUrl; -} - void Config::setKnownIssuesUrl( const QString& url ) { @@ -224,18 +212,6 @@ Config::setReleaseNotesUrl( const QString& url ) emit releaseNotesUrlChanged(); } -QString -Config::releaseNotesUrl() const -{ - return m_releaseNotesUrl; -} - -QString -Config::supportUrl() const -{ - return m_supportUrl; -} - void Config::setSupportUrl( const QString& url ) { diff --git a/src/modules/welcome/Config.h b/src/modules/welcome/Config.h index 80e4eeea9..db26ec169 100644 --- a/src/modules/welcome/Config.h +++ b/src/modules/welcome/Config.h @@ -59,19 +59,19 @@ public: void setIsNextEnabled( bool isNextEnabled ); - void setLocaleIndex( int index ); int localeIndex() const { return m_localeIndex; } + void setLocaleIndex( int index ); - QString supportUrl() const; + QString supportUrl() const { return m_supportUrl; } void setSupportUrl( const QString& url ); - QString knownIssuesUrl() const; + QString knownIssuesUrl() const { return m_knownIssuesUrl; } void setKnownIssuesUrl( const QString& url ); - QString releaseNotesUrl() const; + QString releaseNotesUrl() const { return m_releaseNotesUrl; } void setReleaseNotesUrl( const QString& url ); - QString donateUrl() const; + QString donateUrl() const { return m_donateUrl; } void setDonateUrl( const QString& url ); QString genericWelcomeMessage() const; diff --git a/src/modules/welcomeq/welcomeq.qml b/src/modules/welcomeq/welcomeq.qml index 6330f5116..f597f7105 100644 --- a/src/modules/welcomeq/welcomeq.qml +++ b/src/modules/welcomeq/welcomeq.qml @@ -72,14 +72,14 @@ Page icon.name: "dialog-information" Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) Kirigami.Theme.textColor: Kirigami.Theme.textColor - + visible: true - onClicked: { + onClicked: { //onClicked: load.source = "file:/usr/share/calamares/branding/default/show.qml" onClicked: load.source = "about.qml" } } - + Button { Layout.fillWidth: true text: qsTr("Support") @@ -90,7 +90,7 @@ Page visible: config.supportUrl !== "" onClicked: Qt.openUrlExternally(config.supportUrl) } - + Button { Layout.fillWidth: true text: qsTr("Known issues") @@ -101,7 +101,7 @@ Page visible: config.knownIssuesUrl !== "" onClicked: Qt.openUrlExternally(config.knownIssuesUrl) } - + Button { Layout.fillWidth: true text: qsTr("Release notes") @@ -113,7 +113,7 @@ Page onClicked: load.source = "release_notes.qml" //onClicked: load.source = "file:/usr/share/calamares/release_notes.qml" } - + Button { Layout.fillWidth: true text: qsTr("Donate") @@ -125,17 +125,17 @@ Page onClicked: Qt.openUrlExternally(config.donateUrl) } } - + RowLayout { id: languageBar width: parent.width /1.2 height: 48 - + anchors.bottom: parent.bottom anchors.bottomMargin: parent.height /7 anchors.horizontalCenter: parent.horizontalCenter spacing: Kirigami.Units.largeSpacing* 4 - + Rectangle { width: parent.width Layout.fillWidth: true @@ -146,21 +146,21 @@ Page fillMode: Image.PreserveAspectFit source: "img/language-icon-48px.png" } - + ComboBox { id: languages anchors.left: image.right width: languageBar.width /1.1 textRole: "label" - currentIndex: 4 //model.currentIndex + currentIndex: config.localeIndex model: config.languagesModel - onCurrentIndexChanged: console.debug(currentText, currentIndex) + onCurrentIndexChanged: config.localeIndex = currentIndex } } } - - Loader { - id:load + + Loader { + id:load anchors.fill: parent } }