Merge branch 'development' into 3.2.x-stable
This commit is contained in:
commit
4a87702381
21
CHANGES
21
CHANGES
@ -3,7 +3,7 @@ contributors are listed. Note that Calamares does not have a historical
|
||||
changelog -- this log starts with version 3.2.0. The release notes on the
|
||||
website will have to do for older versions.
|
||||
|
||||
# 3.2.27 (unreleased) #
|
||||
# 3.2.28 (unreleased) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- No external contributors yet
|
||||
@ -15,6 +15,25 @@ This release contains contributions from (alphabetically by first name):
|
||||
- No module changes yet
|
||||
|
||||
|
||||
# 3.2.27 (2020-07-11) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- Gaël PORTAY
|
||||
- Vitor Lopes (new! welcome!)
|
||||
|
||||
## Core ##
|
||||
- QML modules with no surrounding navigation -- this is basically a
|
||||
special case for full-screen Calamares -- now have margins suitable
|
||||
for full-screen use.
|
||||
- PythonQt modules are increasingly on the way out.
|
||||
|
||||
## Modules ##
|
||||
- The Manjaro package manager *pamac* has been added to those supported by
|
||||
the *packages* module.
|
||||
- The *netinstall* module has had some minor UI tweaks.
|
||||
- Partitioning now tries harder to avoid floppy drives.
|
||||
|
||||
|
||||
# 3.2.26.1 (2020-06-23) #
|
||||
|
||||
This is a hotfix release for undefined behavior caused by an
|
||||
|
@ -46,10 +46,10 @@
|
||||
# TODO:3.3: Require CMake 3.12
|
||||
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
|
||||
project( CALAMARES
|
||||
VERSION 3.2.26.1
|
||||
VERSION 3.2.28
|
||||
LANGUAGES C CXX )
|
||||
|
||||
set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development
|
||||
set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development
|
||||
|
||||
### OPTIONS
|
||||
#
|
||||
|
@ -70,7 +70,11 @@ function( calamares_add_branding NAME )
|
||||
foreach( BRANDING_COMPONENT_FILE ${BRANDING_COMPONENT_FILES} )
|
||||
set( _subpath ${_brand_dir}/${BRANDING_COMPONENT_FILE} )
|
||||
if( NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_subpath} )
|
||||
configure_file( ${_subpath} ${_subpath} COPYONLY )
|
||||
set( _src ${CMAKE_CURRENT_SOURCE_DIR}/${_subpath} )
|
||||
set( _dst ${CMAKE_CURRENT_BINARY_DIR}/${_subpath} )
|
||||
if( ${_src} IS_NEWER_THAN ${_dst} )
|
||||
configure_file( ${_src} ${_dst} COPYONLY )
|
||||
endif()
|
||||
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${_subpath}
|
||||
DESTINATION ${BRANDING_COMPONENT_DESTINATION}/${_subdir}/ )
|
||||
|
@ -33,6 +33,10 @@ Name[bg]=Инсталирай системата
|
||||
Icon[bg]=calamares
|
||||
GenericName[bg]=Системен Инсталатор
|
||||
Comment[bg]=Calamares — Системен Инсталатор
|
||||
Name[bn]=সিস্টেম ইনস্টল করুন
|
||||
Icon[bn]=ক্যালামারেস
|
||||
GenericName[bn]=সিস্টেম ইনস্টলার
|
||||
Comment[bn]=ক্যালামারেস - সিস্টেম ইনস্টলার
|
||||
Name[ca]=Instal·la el sistema
|
||||
Icon[ca]=calamares
|
||||
GenericName[ca]=Instal·lador de sistema
|
||||
|
@ -24,7 +24,7 @@
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="68"/>
|
||||
<source>Master Boot Record of %1</source>
|
||||
<translation>%1 Əsas ön yükləyici qurmaq</translation>
|
||||
<translation>%1 əsas Ön yükləyici qurmaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="102"/>
|
||||
@ -132,7 +132,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/JobExample.cpp" line="42"/>
|
||||
<source>Job failed (%1)</source>
|
||||
<translation>Tapşırığı yerinə yetirmək mümkün olmadı (%1)</translation>
|
||||
<translation> (%1) Tapşırığı yerinə yetirmək mümkün olmadı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/JobExample.cpp" line="43"/>
|
||||
@ -199,7 +199,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonJob.cpp" line="250"/>
|
||||
<source>Main script file %1 for python job %2 is not readable.</source>
|
||||
<translation>%1 Əsas əmrlər faylı %2 python işləri üçün açıla bilmir.</translation>
|
||||
<translation>%1 əsas əmrlər faylı %2 python işləri üçün açıla bilmir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonJob.cpp" line="318"/>
|
||||
@ -311,7 +311,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="212"/>
|
||||
<source>%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.</source>
|
||||
<translation>%1 quraşdırılmadı. Calamares konfiqurasiya edilmiş modulların hamısını yükləyə bilmədi. Bu Calamares'i sizin distribütör tərəfindən necə istifadə edilməsindən asılı olan bir problemdir.</translation>
|
||||
<translation>%1 quraşdırılmadı. Calamares konfiqurasiya edilmiş modulların hamısını yükləyə bilmədi. Bu Calamares'i, sizin distribütör tərəfindən necə istifadə edilməsindən asılı olan bir problemdir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="218"/>
|
||||
@ -433,22 +433,22 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="301"/>
|
||||
<source>Unknown exception type</source>
|
||||
<translation>Naməlum istisna halı</translation>
|
||||
<translation>Naməlum istisna hal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="319"/>
|
||||
<source>unparseable Python error</source>
|
||||
<translation>görünməmiş python xətası</translation>
|
||||
<translation>görünməmiş Python xətası</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="363"/>
|
||||
<source>unparseable Python traceback</source>
|
||||
<translation>görünməmiş python izi</translation>
|
||||
<translation>görünməmiş Python izi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="370"/>
|
||||
<source>Unfetchable Python error.</source>
|
||||
<translation>Oxunmayan python xətası.</translation>
|
||||
<translation>Oxunmayan Python xətası.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -530,7 +530,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="334"/>
|
||||
<source><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.</source>
|
||||
<translation><strong>Əli ilə bölmək</strong><br/>Siz disk sahəsini özünüz bölə və ölçülərini təyin edə bilərsiniz. GPT disk bölmələri cədvəli və <strong>fat32 512Mb /boot bölməsi UEFI sistemi üçün vacibdir.</strong>ya da mövcud bir bölmə varsa onu istifadə edin, və ya başqa birini yaradın.</translation>
|
||||
<translation><strong>Əl ilə bölmək</strong><br/>Siz disk sahəsini özünüz bölə və ölçülərini təyin edə bilərsiniz. GPT disk bölmələri cədvəli və <strong>fat32 512Mb /boot bölməsi UEFI sistemi üçün vacibdir</strong>, ya da mövcud bir bölmə varsa onu istifadə edin, və ya başqa birini yaradın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="833"/>
|
||||
@ -583,7 +583,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1336"/>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1362"/>
|
||||
<source><strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device.</source>
|
||||
<translation><strong>Diski təmizləmək</strong><br/> <font color="red">Silmək</font> hal-hazırda seçilmiş diskdəki bütün verilənləri siləcəkdir.</translation>
|
||||
<translation><strong>Diski təmizləmək</strong><br/> <font color="red">Silmək</font>seçimi hal-hazırda, seçilmiş diskdəki bütün verilənləri siləcəkdir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1279"/>
|
||||
@ -694,7 +694,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="155"/>
|
||||
<source>The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined.</source>
|
||||
<translation>Əmr quraşdırı mühitində icra olunur və kök qovluğa yolu bilinməlidir, lakin rootMountPoint aşkar edilmədi.</translation>
|
||||
<translation>Əmr, quraşdırı mühitində icra olunur və kök qovluğa yolu bilinməlidir, lakin rootMountPoint - KökQoşulmaNöqtəsi - aşkar edilmədi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="168"/>
|
||||
@ -772,7 +772,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="81"/>
|
||||
<source>This program will ask you some questions and set up %2 on your computer.</source>
|
||||
<translation>Bu proqram sizə bəi suallar verəcək və %2 sizin komputerinizə qurmağa kömək edəcək.</translation>
|
||||
<translation>Bu proqram sizə bəzi suallar verəcək və %2 əməliyyat sistemini sizin komputerinizə qurmağa kömək edəcək.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="245"/>
|
||||
@ -914,7 +914,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="39"/>
|
||||
<source>Creating a new partition table will delete all existing data on the disk.</source>
|
||||
<translation>Bölmələr Cədvəli yaratmaq bütün diskdə olan məlumatların hamısını siləcək.</translation>
|
||||
<translation>Bölmələr Cədvəli yaratmaq, bütün diskdə olan məlumatların hamısını siləcək.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="65"/>
|
||||
@ -1203,7 +1203,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="14"/>
|
||||
<source>Form</source>
|
||||
<translation>Forma</translation>
|
||||
<translation>Format</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="32"/>
|
||||
@ -1223,7 +1223,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.cpp" line="153"/>
|
||||
<source>Please enter the same passphrase in both boxes.</source>
|
||||
<translation>Lütfən hər iki sahəyə eyni şifrəni daxil edin.</translation>
|
||||
<translation>Lütfən, hər iki sahəyə eyni şifrəni daxil edin.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1279,17 +1279,17 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="53"/>
|
||||
<source><h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system.</source>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 sizin kopyuterə qurulacaqdır.<br/>Siz indi yeni sisteminizi başlada bilərsiniz.</translation>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 kompyuterinizə qurulub.<br/>Siz indi yeni sisteminizi başlada bilərsiniz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="57"/>
|
||||
<source><html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html></source>
|
||||
<translation><html><head/><body><p>Bu çərçivə işarələnərsə siz <span style="font-style:italic;">Hazır</span> düyməsinə vurduğunuz və ya quraşdırıcı proqramı bağladığınız zaman sisteminiz dərhal yenidən başladılacaqdır.</p></body></html></translation>
|
||||
<translation><html><head/><body><p>Bu çərçivə işarələnərsə siz <span style="font-style:italic;">Hazır</span> düyməsinə vurduğunuz və ya quraşdırıcı proqramı bağlatdığınız zaman sisteminiz dərhal yenidən başladılacaqdır.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="63"/>
|
||||
<source><h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment.</source>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 sizin kompyuterinizə quraşdırıldı.<br/>Siz yenidən başladaraq yeni sisteminizə daxil ola və ya %2 Canlı mühitini istifadə etməyə davam edə bilərsiniz.</translation>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 kompyuterinizə quraşdırıldı.<br/>Siz yenidən başladaraq yeni sisteminizə daxil ola və ya %2 Canlı mühitini istifadə etməyə davam edə bilərsiniz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="68"/>
|
||||
@ -1299,12 +1299,12 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="125"/>
|
||||
<source><h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2.</source>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 sizin kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="131"/>
|
||||
<source><h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2.</source>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 sizin kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1332,7 +1332,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="137"/>
|
||||
<source>The installation of %1 is complete.</source>
|
||||
<translation>%1in quraşdırılması başa çatdı.</translation>
|
||||
<translation>%1-n quraşdırılması başa çatdı.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1340,7 +1340,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="45"/>
|
||||
<source>Format partition %1 (file system: %2, size: %3 MiB) on %4.</source>
|
||||
<translation>%4-də %1 bölməsini format etmək (fayl sistemi: %2, ölçüsü: %3 MB).</translation>
|
||||
<translation>%4 üzərində %1 bölməsini format etmək (fayl sistemi: %2, ölçüsü: %3 MB).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="56"/>
|
||||
@ -1368,7 +1368,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="162"/>
|
||||
<source>There is not enough drive space. At least %1 GiB is required.</source>
|
||||
<translation>Kifayət qədər disk sahəsi yoxdur. əƏn azı %1 QB tələb olunur.</translation>
|
||||
<translation>Kifayət qədər disk sahəsi yoxdur. Ən azı %1 QB tələb olunur.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="171"/>
|
||||
@ -1403,7 +1403,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="198"/>
|
||||
<source>is running the installer as an administrator (root)</source>
|
||||
<translation>quraşdırıcı adminstrator (root) imtiyazları ilə başladılması</translation>
|
||||
<translation>quraşdırıcını adminstrator (root) imtiyazları ilə başladılması</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="201"/>
|
||||
@ -1428,7 +1428,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="214"/>
|
||||
<source>The screen is too small to display the installer.</source>
|
||||
<translation>Bu quarşdırıcını göstəmək üçün ekran çox kiçikdir.</translation>
|
||||
<translation>Bu quarşdırıcını göstərmək üçün ekran çox kiçikdir.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1680,7 +1680,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="128"/>
|
||||
<source>Zone:</source>
|
||||
<translation>Zona:</translation>
|
||||
<translation>Saat qurşağı:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="129"/>
|
||||
@ -3845,7 +3845,7 @@ Output:
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="51"/>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="163"/>
|
||||
<source>Layouts</source>
|
||||
<translation>Qatları</translation>
|
||||
<translation>Qatlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="79"/>
|
||||
@ -3866,7 +3866,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="189"/>
|
||||
<source>Test your keyboard</source>
|
||||
<translation>klaviaturanızı yoxlayın</translation>
|
||||
<translation>Klaviaturanızı yoxlayın</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3879,7 +3879,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="106"/>
|
||||
<source>Numbers and dates locale set to %1</source>
|
||||
<translation>Yerli saylvə tarix formatlarını %1 qurmaq</translation>
|
||||
<translation>Yerli say və tarix formatlarını %1 qurmaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="112"/>
|
||||
|
@ -24,7 +24,7 @@
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="68"/>
|
||||
<source>Master Boot Record of %1</source>
|
||||
<translation>%1 Əsas ön yükləyici qurmaq</translation>
|
||||
<translation>%1 əsas Ön yükləyici qurmaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="102"/>
|
||||
@ -132,7 +132,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/JobExample.cpp" line="42"/>
|
||||
<source>Job failed (%1)</source>
|
||||
<translation>Tapşırığı yerinə yetirmək mümkün olmadı (%1)</translation>
|
||||
<translation> (%1) Tapşırığı yerinə yetirmək mümkün olmadı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/JobExample.cpp" line="43"/>
|
||||
@ -199,7 +199,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonJob.cpp" line="250"/>
|
||||
<source>Main script file %1 for python job %2 is not readable.</source>
|
||||
<translation>%1 Əsas əmrlər faylı %2 python işləri üçün açıla bilmir.</translation>
|
||||
<translation>%1 əsas əmrlər faylı %2 python işləri üçün açıla bilmir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonJob.cpp" line="318"/>
|
||||
@ -311,7 +311,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="212"/>
|
||||
<source>%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.</source>
|
||||
<translation>%1 quraşdırılmadı. Calamares konfiqurasiya edilmiş modulların hamısını yükləyə bilmədi. Bu Calamares'i sizin distribütör tərəfindən necə istifadə edilməsindən asılı olan bir problemdir.</translation>
|
||||
<translation>%1 quraşdırılmadı. Calamares konfiqurasiya edilmiş modulların hamısını yükləyə bilmədi. Bu Calamares'i, sizin distribütör tərəfindən necə istifadə edilməsindən asılı olan bir problemdir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="218"/>
|
||||
@ -433,22 +433,22 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="301"/>
|
||||
<source>Unknown exception type</source>
|
||||
<translation>Naməlum istisna halı</translation>
|
||||
<translation>Naməlum istisna hal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="319"/>
|
||||
<source>unparseable Python error</source>
|
||||
<translation>görünməmiş python xətası</translation>
|
||||
<translation>görünməmiş Python xətası</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="363"/>
|
||||
<source>unparseable Python traceback</source>
|
||||
<translation>görünməmiş python izi</translation>
|
||||
<translation>görünməmiş Python izi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonHelper.cpp" line="370"/>
|
||||
<source>Unfetchable Python error.</source>
|
||||
<translation>Oxunmayan python xətası.</translation>
|
||||
<translation>Oxunmayan Python xətası.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -530,7 +530,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="334"/>
|
||||
<source><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.</source>
|
||||
<translation><strong>Əli ilə bölmək</strong><br/>Siz disk sahəsini özünüz bölə və ölçülərini təyin edə bilərsiniz. GPT disk bölmələri cədvəli və <strong>fat32 512Mb /boot bölməsi UEFI sistemi üçün vacibdir.</strong>ya da mövcud bir bölmə varsa onu istifadə edin, və ya başqa birini yaradın.</translation>
|
||||
<translation><strong>Əl ilə bölmək</strong><br/>Siz disk sahəsini özünüz bölə və ölçülərini təyin edə bilərsiniz. GPT disk bölmələri cədvəli və <strong>fat32 512Mb /boot bölməsi UEFI sistemi üçün vacibdir</strong>, ya da mövcud bir bölmə varsa onu istifadə edin, və ya başqa birini yaradın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="833"/>
|
||||
@ -583,7 +583,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1336"/>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1362"/>
|
||||
<source><strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device.</source>
|
||||
<translation><strong>Diski təmizləmək</strong><br/> <font color="red">Silmək</font> hal-hazırda seçilmiş diskdəki bütün verilənləri siləcəkdir.</translation>
|
||||
<translation><strong>Diski təmizləmək</strong><br/> <font color="red">Silmək</font>seçimi hal-hazırda, seçilmiş diskdəki bütün verilənləri siləcəkdir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1279"/>
|
||||
@ -694,7 +694,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="155"/>
|
||||
<source>The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined.</source>
|
||||
<translation>Əmr quraşdırı mühitində icra olunur və kök qovluğa yolu bilinməlidir, lakin rootMountPoint aşkar edilmədi.</translation>
|
||||
<translation>Əmr, quraşdırı mühitində icra olunur və kök qovluğa yolu bilinməlidir, lakin rootMountPoint - KökQoşulmaNöqtəsi - aşkar edilmədi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="168"/>
|
||||
@ -772,7 +772,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="81"/>
|
||||
<source>This program will ask you some questions and set up %2 on your computer.</source>
|
||||
<translation>Bu proqram sizə bəi suallar verəcək və %2 sizin komputerinizə qurmağa kömək edəcək.</translation>
|
||||
<translation>Bu proqram sizə bəzi suallar verəcək və %2 əməliyyat sistemini sizin komputerinizə qurmağa kömək edəcək.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="245"/>
|
||||
@ -914,7 +914,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="39"/>
|
||||
<source>Creating a new partition table will delete all existing data on the disk.</source>
|
||||
<translation>Bölmələr Cədvəli yaratmaq bütün diskdə olan məlumatların hamısını siləcək.</translation>
|
||||
<translation>Bölmələr Cədvəli yaratmaq, bütün diskdə olan məlumatların hamısını siləcək.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="65"/>
|
||||
@ -1203,7 +1203,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="14"/>
|
||||
<source>Form</source>
|
||||
<translation>Forma</translation>
|
||||
<translation>Format</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="32"/>
|
||||
@ -1223,7 +1223,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.cpp" line="153"/>
|
||||
<source>Please enter the same passphrase in both boxes.</source>
|
||||
<translation>Lütfən hər iki sahəyə eyni şifrəni daxil edin.</translation>
|
||||
<translation>Lütfən, hər iki sahəyə eyni şifrəni daxil edin.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1279,17 +1279,17 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="53"/>
|
||||
<source><h1>All done.</h1><br/>%1 has been set up on your computer.<br/>You may now start using your new system.</source>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 sizin kopyuterə qurulacaqdır.<br/>Siz indi yeni sisteminizi başlada bilərsiniz.</translation>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 kompyuterinizə qurulub.<br/>Siz indi yeni sisteminizi başlada bilərsiniz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="57"/>
|
||||
<source><html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style="font-style:italic;">Done</span> or close the setup program.</p></body></html></source>
|
||||
<translation><html><head/><body><p>Bu çərçivə işarələnərsə siz <span style="font-style:italic;">Hazır</span> düyməsinə vurduğunuz və ya quraşdırıcı proqramı bağladığınız zaman sisteminiz dərhal yenidən başladılacaqdır.</p></body></html></translation>
|
||||
<translation><html><head/><body><p>Bu çərçivə işarələnərsə siz <span style="font-style:italic;">Hazır</span> düyməsinə vurduğunuz və ya quraşdırıcı proqramı bağlatdığınız zaman sisteminiz dərhal yenidən başladılacaqdır.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="63"/>
|
||||
<source><h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment.</source>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 sizin kompyuterinizə quraşdırıldı.<br/>Siz yenidən başladaraq yeni sisteminizə daxil ola və ya %2 Canlı mühitini istifadə etməyə davam edə bilərsiniz.</translation>
|
||||
<translation><h1>Hər şey hazırdır.</h1><br/>%1 kompyuterinizə quraşdırıldı.<br/>Siz yenidən başladaraq yeni sisteminizə daxil ola və ya %2 Canlı mühitini istifadə etməyə davam edə bilərsiniz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="68"/>
|
||||
@ -1299,12 +1299,12 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="125"/>
|
||||
<source><h1>Setup Failed</h1><br/>%1 has not been set up on your computer.<br/>The error message was: %2.</source>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 sizin kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="131"/>
|
||||
<source><h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2.</source>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 sizin kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
<translation><h1>Quraşdırılma alınmadı</h1><br/>%1 kompyuterinizə quraşdırıla bilmədi.<br/>Baş vermiş xəta: %2.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1332,7 +1332,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="137"/>
|
||||
<source>The installation of %1 is complete.</source>
|
||||
<translation>%1in quraşdırılması başa çatdı.</translation>
|
||||
<translation>%1-n quraşdırılması başa çatdı.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1340,7 +1340,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="45"/>
|
||||
<source>Format partition %1 (file system: %2, size: %3 MiB) on %4.</source>
|
||||
<translation>%4-də %1 bölməsini format etmək (fayl sistemi: %2, ölçüsü: %3 MB).</translation>
|
||||
<translation>%4 üzərində %1 bölməsini format etmək (fayl sistemi: %2, ölçüsü: %3 MB).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="56"/>
|
||||
@ -1368,7 +1368,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="162"/>
|
||||
<source>There is not enough drive space. At least %1 GiB is required.</source>
|
||||
<translation>Kifayət qədər disk sahəsi yoxdur. əƏn azı %1 QB tələb olunur.</translation>
|
||||
<translation>Kifayət qədər disk sahəsi yoxdur. Ən azı %1 QB tələb olunur.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="171"/>
|
||||
@ -1403,7 +1403,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="198"/>
|
||||
<source>is running the installer as an administrator (root)</source>
|
||||
<translation>quraşdırıcı adminstrator (root) imtiyazları ilə başladılması</translation>
|
||||
<translation>quraşdırıcını adminstrator (root) imtiyazları ilə başladılması</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="201"/>
|
||||
@ -1428,7 +1428,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="214"/>
|
||||
<source>The screen is too small to display the installer.</source>
|
||||
<translation>Bu quarşdırıcını göstəmək üçün ekran çox kiçikdir.</translation>
|
||||
<translation>Bu quarşdırıcını göstərmək üçün ekran çox kiçikdir.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1680,7 +1680,7 @@ Bu proqramdan çıxılacaq və bütün dəyişikliklər itiriləcəkdir.</transl
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="128"/>
|
||||
<source>Zone:</source>
|
||||
<translation>Zona:</translation>
|
||||
<translation>Saat qurşağı:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="129"/>
|
||||
@ -3845,7 +3845,7 @@ Output:
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="51"/>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="163"/>
|
||||
<source>Layouts</source>
|
||||
<translation>Qatları</translation>
|
||||
<translation>Qatlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="79"/>
|
||||
@ -3866,7 +3866,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="189"/>
|
||||
<source>Test your keyboard</source>
|
||||
<translation>klaviaturanızı yoxlayın</translation>
|
||||
<translation>Klaviaturanızı yoxlayın</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3879,7 +3879,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="106"/>
|
||||
<source>Numbers and dates locale set to %1</source>
|
||||
<translation>Yerli saylvə tarix formatlarını %1 qurmaq</translation>
|
||||
<translation>Yerli say və tarix formatlarını %1 qurmaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="112"/>
|
||||
|
@ -1763,7 +1763,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="62"/>
|
||||
<source>Configuration Error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>কনফিগারেশন ত্রুটি</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="63"/>
|
||||
|
@ -1781,7 +1781,9 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.</translation
|
||||
<source>Please select your preferred location on the map so the installer can suggest the locale
|
||||
and timezone settings for you. You can fine-tune the suggested settings below. Search the map by dragging
|
||||
to move and using the +/- buttons to zoom in/out or use mouse scrolling for zooming.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vælg venligst din foretrukne placering på kortet, så installationsprogrammet kan foreslå lokalitets-
|
||||
og tidszoneindstillinger til dig. Du kan finjustere de foreslåede indstillinger nedenfor. Søg på kortet ved ved at trække
|
||||
for at flytte og brug knapperne +/- for at zoome ind/ud eller brug muserulning til at zoome.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1932,7 +1934,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="77"/>
|
||||
<source>To be able to select a timezone, make sure you are connected to the internet. Restart the installer after connecting. You can fine-tune Language and Locale settings below.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>For at kunne vælge en tidszone skal du sørge for at der er forbindelse til internettet. Genstart installationsprogrammet efter forbindelsen er blevet oprettet. Du kan finjustere sprog- og lokalitetsindstillinger nedenfor.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3503,7 +3505,7 @@ setting
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="95"/>
|
||||
<source>Tracking helps %1 to see how often it is installed, what hardware it is installed on and which applications are used. To see what will be sent, please click the help icon next to each area.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sporing hjælper %1 med at se hvor ofte den installeres, hvilken hardware den installeres på og hvilke programmer der bruges. Klik på hjælpeikonet ved siden af hvert område for at se hvad der sendes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="100"/>
|
||||
@ -3518,7 +3520,7 @@ setting
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="107"/>
|
||||
<source>By selecting this you will regularly send information about your <b>user</b> installation, hardware, applications and application usage patterns, to %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vælges dette sender du regelmæssigt information om din <b>bruger</b>installation, hardware, programmer og programmernes anvendelsesmønstre, til %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -777,17 +777,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="245"/>
|
||||
<source><h1>Welcome to the Calamares setup program for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Willkommen bei Calamares, dem Installationsprogramm für %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="246"/>
|
||||
<source><h1>Welcome to %1 setup</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Willkommen zur Installation von %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="251"/>
|
||||
<source><h1>Welcome to the Calamares installer for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Willkommen bei Calamares, dem Installationsprogramm für %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="252"/>
|
||||
@ -1927,7 +1927,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren.
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="62"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Zeitzone: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="77"/>
|
||||
@ -3866,17 +3866,17 @@ Liberating Software.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="98"/>
|
||||
<source>System language set to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Systemsprache eingestellt auf %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="106"/>
|
||||
<source>Numbers and dates locale set to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Zahlen- und Datumsformat eingestellt auf %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="112"/>
|
||||
<source>Change</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ändern</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1782,7 +1782,9 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<source>Please select your preferred location on the map so the installer can suggest the locale
|
||||
and timezone settings for you. You can fine-tune the suggested settings below. Search the map by dragging
|
||||
to move and using the +/- buttons to zoom in/out or use mouse scrolling for zooming.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valitse sijainti kartalla, jotta asentaja voi ehdottaa paikalliset ja aikavyöhykeen asetukset.
|
||||
Voit hienosäätää alla olevia asetuksia. Etsi kartalta vetämällä ja suurenna/pienennä +/- -painikkeella tai käytä
|
||||
hiiren vieritystä skaalaamiseen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1933,7 +1935,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="77"/>
|
||||
<source>To be able to select a timezone, make sure you are connected to the internet. Restart the installer after connecting. You can fine-tune Language and Locale settings below.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Jos haluat valita aikavyöhykkeen niin varmista, että olet yhteydessä Internetiin. Käynnistä asennusohjelma uudelleen yhteyden muodostamisen jälkeen. Voit hienosäätää alla olevia kieli- ja kieliasetuksia.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3493,7 +3495,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
|
||||
<source><html><head/><body><p>Click here to send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><html><head/><body><p>Napsauta tätä <span style=" font-weight:600;">jos et halua lähettää mitään</span> tietoja asennuksesta.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="271"/>
|
||||
@ -3503,22 +3505,22 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="95"/>
|
||||
<source>Tracking helps %1 to see how often it is installed, what hardware it is installed on and which applications are used. To see what will be sent, please click the help icon next to each area.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Seuranta auttaa %1 näkemään, kuinka usein se asennetaan, mihin laitteistoon se on asennettu ja mihin sovelluksiin sitä käytetään. Jos haluat nähdä, mitä lähetetään, napsauta kunkin alueen vieressä olevaa ohjekuvaketta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="100"/>
|
||||
<source>By selecting this you will send information about your installation and hardware. This information will only be sent <b>once</b> after the installation finishes.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valitsemalla tämän lähetät tietoja asennuksesta ja laitteistosta. Nämä tiedot lähetetään vain </b>kerran</b> asennuksen päätyttyä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="103"/>
|
||||
<source>By selecting this you will periodically send information about your <b>machine</b> installation, hardware and applications, to %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valitsemalla tämän lähetät määräajoin tietoja <b>koneesi</b> asennuksesta, laitteistosta ja sovelluksista, %1:lle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="107"/>
|
||||
<source>By selecting this you will regularly send information about your <b>user</b> installation, hardware, applications and application usage patterns, to %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valitsemalla tämän lähetät säännöllisesti tietoja <b>käyttäjän</b> asennuksesta, laitteistosta, sovelluksista ja sovellusten käyttötavoista %1:lle.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3807,13 +3809,15 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="59"/>
|
||||
<source><h1>Languages</h1> </br>
|
||||
The system locale setting affects the language and character set for some command line user interface elements. The current setting is <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Kielet</h1> </br>
|
||||
Järjestelmän sijaintiasetukset vaikuttaa joidenkin komentorivin käyttöliittymän elementtien kieliin ja merkistöihin. Nykyinen asetus on <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="120"/>
|
||||
<source><h1>Locales</h1> </br>
|
||||
The system locale setting affects the language and character set for some command line user interface elements. The current setting is <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Sijainti</h1> </br>
|
||||
Järjestelmän sijaintiasetukset vaikuttaa joidenkin komentorivin käyttöliittymän elementtien kieliin ja merkistöihin. Nykyinen asetus on <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="174"/>
|
||||
|
@ -781,22 +781,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="245"/>
|
||||
<source><h1>Welcome to the Calamares setup program for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation></h1>Jus sveikina Calamares sąrankos programa, skirta %1 sistemai.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="246"/>
|
||||
<source><h1>Welcome to %1 setup</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Jus sveikina %1 sąranka</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="251"/>
|
||||
<source><h1>Welcome to the Calamares installer for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Jus sveikina Calamares diegimo programa, skirta %1 sistemai</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="252"/>
|
||||
<source><h1>Welcome to the %1 installer</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Jus sveikina %1 diegimo programa</h1></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3870,7 +3870,7 @@ Išvestis:
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="98"/>
|
||||
<source>System language set to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sistemos kalba nustatyta į %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="106"/>
|
||||
@ -3880,7 +3880,7 @@ Išvestis:
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="112"/>
|
||||
<source>Change</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Keisti</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -230,7 +230,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="106"/>
|
||||
<source>Requirements checking for module <i>%1</i> is complete.</source>
|
||||
<translation>A verificação de requerimentos para o módulo <i>%1</i> está completa.</translation>
|
||||
<translation>A verificação de requisitos para o módulo <i>%1</i> está completa.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="127"/>
|
||||
@ -251,7 +251,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/modulesystem/RequirementsChecker.cpp" line="133"/>
|
||||
<source>System-requirements checking is complete.</source>
|
||||
<translation>Verificação de requerimentos do sistema completa.</translation>
|
||||
<translation>Verificação de requisitos do sistema completa.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -722,7 +722,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/locale/Config.cpp" line="280"/>
|
||||
<source>The numbers and dates locale will be set to %1.</source>
|
||||
<translation>O local dos números e datas será definido como %1.</translation>
|
||||
<translation>A localidade dos números e datas será definida como %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/Config.cpp" line="313"/>
|
||||
@ -752,7 +752,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="56"/>
|
||||
<source>This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a></source>
|
||||
<translation>Este computador não satisfaz os requerimentos mínimos para configurar %1.<br/>A configuração não pode continuar. <a href="#details">Detalhes...</a></translation>
|
||||
<translation>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></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="60"/>
|
||||
@ -762,7 +762,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="67"/>
|
||||
<source>This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled.</source>
|
||||
<translation>Este computador não satisfaz alguns dos requerimentos recomendados para configurar %1.<br/>A configuração pode continuar, mas algumas funções podem ser desativadas.</translation>
|
||||
<translation>Este computador não satisfaz alguns dos requisitos recomendados para configurar %1.<br/>A configuração pode continuar, mas alguns recursos podem ser desativados.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="71"/>
|
||||
@ -777,22 +777,22 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="245"/>
|
||||
<source><h1>Welcome to the Calamares setup program for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Bem-vindo ao programa de configuração Calamares para %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="246"/>
|
||||
<source><h1>Welcome to %1 setup</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Bem-vindo à configuração de %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="251"/>
|
||||
<source><h1>Welcome to the Calamares installer for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Bem-vindo ao instalador Calamares para %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="252"/>
|
||||
<source><h1>Welcome to the %1 installer</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Bem-vindo ao instalador de %1</h1></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1546,7 +1546,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="39"/>
|
||||
<source>The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>.</source>
|
||||
<translation>A configuração de localidade do sistema afeta a linguagem e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário.<br/>A configuração atual é <strong>%1</strong>.</translation>
|
||||
<translation>A configuração de localidade do sistema afeta o idioma e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário.<br/>A configuração atual é <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="63"/>
|
||||
@ -1696,7 +1696,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="263"/>
|
||||
<source>The numbers and dates locale will be set to %1.</source>
|
||||
<translation>O local dos números e datas será definido como %1.</translation>
|
||||
<translation>A localidade dos números e datas será definida como %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="270"/>
|
||||
@ -1781,7 +1781,9 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<source>Please select your preferred location on the map so the installer can suggest the locale
|
||||
and timezone settings for you. You can fine-tune the suggested settings below. Search the map by dragging
|
||||
to move and using the +/- buttons to zoom in/out or use mouse scrolling for zooming.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Por favor selecione seu local preferido no mapa para que o instalador possa sugerir as configurações de localidade
|
||||
e fuso horário para você. Você pode ajustar as configurações sugeridas abaixo. Procure no mapa arrastando
|
||||
para mover e usando os botões +/- para aumentar/diminuir ou use a rolagem do mouse para dar zoom.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1927,12 +1929,12 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="62"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fuso horário: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="77"/>
|
||||
<source>To be able to select a timezone, make sure you are connected to the internet. Restart the installer after connecting. You can fine-tune Language and Locale settings below.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Para poder selecionar o fuso horário, tenha certeza que você está conectado à internet. Reinicie o instalador após conectar. Você pode ajustar as configurações de Idioma e Localidade abaixo.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2837,7 +2839,8 @@ Saída:
|
||||
<location filename="../src/modules/welcomeq/Recommended.qml" line="49"/>
|
||||
<source><p>This computer does not satisfy some of the recommended requirements for setting up %1.<br/>
|
||||
Setup can continue, but some features might be disabled.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><p>Este computador não satisfaz alguns dos requisitos recomendados para configurar %1.<br/>
|
||||
A configuração pode continuar, mas alguns recursos podem ser desativados.</p></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2948,13 +2951,15 @@ Saída:
|
||||
<location filename="../src/modules/welcomeq/Requirements.qml" line="47"/>
|
||||
<source><p>This computer does not satisfy the minimum requirements for installing %1.<br/>
|
||||
Installation cannot continue.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><p>Este computador não satisfaz os requisitos mínimos para instalar %1.<br/>
|
||||
A instalação não pode continuar.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcomeq/Requirements.qml" line="49"/>
|
||||
<source><p>This computer does not satisfy some of the recommended requirements for setting up %1.<br/>
|
||||
Setup can continue, but some features might be disabled.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><p>Este computador não satisfaz alguns dos requisitos recomendados para configurar %1.<br/>
|
||||
A configuração pode continuar, mas alguns recursos podem ser desativados.</p></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3094,7 +3099,7 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/ResultsListWidget.cpp" line="265"/>
|
||||
<source>This computer does not satisfy the minimum requirements for setting up %1.<br/>Setup cannot continue. <a href="#details">Details...</a></source>
|
||||
<translation>Este computador não satisfaz os requerimentos mínimos para configurar %1.<br/>A configuração não pode continuar. <a href="#details">Detalhes...</a></translation>
|
||||
<translation>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></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/ResultsListWidget.cpp" line="269"/>
|
||||
@ -3104,7 +3109,7 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/ResultsListWidget.cpp" line="276"/>
|
||||
<source>This computer does not satisfy some of the recommended requirements for setting up %1.<br/>Setup can continue, but some features might be disabled.</source>
|
||||
<translation>Este computador não satisfaz alguns dos requerimentos recomendados para configurar %1.<br/>A configuração pode continuar, mas algumas funções podem ser desativadas.</translation>
|
||||
<translation>Este computador não satisfaz alguns dos requisitos recomendados para configurar %1.<br/>A configuração pode continuar, mas alguns recursos podem ser desativados.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/ResultsListWidget.cpp" line="280"/>
|
||||
@ -3420,28 +3425,28 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="202"/>
|
||||
<source>KDE user feedback</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Feedback de usuário KDE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="214"/>
|
||||
<source>Configuring KDE user feedback.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configurando feedback de usuário KDE.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="236"/>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="242"/>
|
||||
<source>Error in KDE user feedback configuration.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Erro na configuração do feedback de usuário KDE.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="237"/>
|
||||
<source>Could not configure KDE user feedback correctly, script error %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Não foi possível configurar o feedback de usuário KDE corretamente, erro de script %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="243"/>
|
||||
<source>Could not configure KDE user feedback correctly, Calamares error %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Não foi possível configurar o feedback de usuário KDE corretamente, erro do Calamares %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3488,7 +3493,7 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
|
||||
<source><html><head/><body><p>Click here to send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><html><head/><body><p>Clique aqui para não enviar <span style=" font-weight:600;">nenhum tipo de informação</span> sobre sua instalação.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="271"/>
|
||||
@ -3498,22 +3503,22 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="95"/>
|
||||
<source>Tracking helps %1 to see how often it is installed, what hardware it is installed on and which applications are used. To see what will be sent, please click the help icon next to each area.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>O rastreamento ajuda %1 a ver quão frequentemente ele é instalado, em qual hardware ele é instalado e quais aplicações são usadas. Para ver o que será enviado, por favor, clique no ícone de ajuda próximo a cada área.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="100"/>
|
||||
<source>By selecting this you will send information about your installation and hardware. This information will only be sent <b>once</b> after the installation finishes.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ao selecionar isto você enviará informações sobre sua instalação e hardware. Essa informação será enviada apenas <b>uma vez</b> depois que a instalação terminar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="103"/>
|
||||
<source>By selecting this you will periodically send information about your <b>machine</b> installation, hardware and applications, to %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ao selecionar isto você enviará periodicamente informações sobre a instalação da sua <b>máquina</b>, hardware e aplicações para %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="107"/>
|
||||
<source>By selecting this you will regularly send information about your <b>user</b> installation, hardware, applications and application usage patterns, to %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ao selecionar isto você enviará periodicamente informações sobre a instalação do seu <b>usuário</b>, hardware, aplicações e padrões de uso das aplicações para %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3657,7 +3662,7 @@ Saída:
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="75"/>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="94"/>
|
||||
<source>Select application and system language</source>
|
||||
<translation>Selecione a aplicação e a linguagem do sistema</translation>
|
||||
<translation>Selecione o idioma do sistema e das aplicações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="136"/>
|
||||
@ -3722,7 +3727,7 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="232"/>
|
||||
<source><h1>Welcome to the %1 installer.</h1></source>
|
||||
<translation><h1>Bem-vindo ao instalador %1 .</h1></translation>
|
||||
<translation><h1>Bem-vindo ao instalador %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="237"/>
|
||||
@ -3802,13 +3807,15 @@ Saída:
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="59"/>
|
||||
<source><h1>Languages</h1> </br>
|
||||
The system locale setting affects the language and character set for some command line user interface elements. The current setting is <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Idiomas</h1> </br>
|
||||
A configuração de localidade do sistema afeta o idioma e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário. A configuração atual é <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="120"/>
|
||||
<source><h1>Locales</h1> </br>
|
||||
The system locale setting affects the language and character set for some command line user interface elements. The current setting is <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Localidades</h1> </br>
|
||||
A configuração de localidade do sistema afeta o idioma e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário. A configuração atual é <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="174"/>
|
||||
@ -3866,17 +3873,17 @@ Saída:
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="98"/>
|
||||
<source>System language set to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Idioma do sistema definido como %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="106"/>
|
||||
<source>Numbers and dates locale set to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A localidade de números e datas foi definida para %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="112"/>
|
||||
<source>Change</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Modificar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1926,7 +1926,7 @@ Alla ändringar kommer att gå förlorade.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="62"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tidszon: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="77"/>
|
||||
@ -3875,7 +3875,7 @@ Utdata:
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/localeq.qml" line="112"/>
|
||||
<source>Change</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ändra</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
Binary file not shown.
@ -3,6 +3,9 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# 508a8b0ef95404aa3dc5178f0ccada5e_017b8a4 <d0ef5d977ab7abf012ef53891f8ca2b5_900530>, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@ -10,6 +13,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: 508a8b0ef95404aa3dc5178f0ccada5e_017b8a4 <d0ef5d977ab7abf012ef53891f8ca2b5_900530>, 2020\n"
|
||||
"Language-Team: Bengali (https://www.transifex.com/calamares/teams/20061/bn/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -19,11 +23,11 @@ msgstr ""
|
||||
|
||||
#: src/modules/grubcfg/main.py:37
|
||||
msgid "Configure GRUB."
|
||||
msgstr ""
|
||||
msgstr "কনফিগার করুন জিআরইউবি।"
|
||||
|
||||
#: src/modules/mount/main.py:38
|
||||
msgid "Mounting partitions."
|
||||
msgstr ""
|
||||
msgstr "মাউন্ট করছে পার্টিশনগুলো।"
|
||||
|
||||
#: src/modules/mount/main.py:150 src/modules/initcpiocfg/main.py:205
|
||||
#: src/modules/initcpiocfg/main.py:209
|
||||
@ -35,28 +39,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:151 src/modules/initcpiocfg/main.py:206
|
||||
#: src/modules/luksopenswaphookcfg/main.py:96 src/modules/rawfs/main.py:174
|
||||
#: src/modules/initramfscfg/main.py:95 src/modules/openrcdmcryptcfg/main.py:79
|
||||
#: src/modules/fstab/main.py:333
|
||||
msgid "No partitions are defined for <pre>{!s}</pre> to use."
|
||||
msgstr ""
|
||||
msgstr "কোন পার্টিশন নির্দিষ্ট করা হয়নি<pre>{!এস}</pre> ব্যবহার করার জন্য।"
|
||||
|
||||
#: src/modules/services-systemd/main.py:35
|
||||
msgid "Configure systemd services"
|
||||
msgstr ""
|
||||
msgstr "কনফিগার করুন সিস্টেমডি সেবাগুলি"
|
||||
|
||||
#: 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 ""
|
||||
"<code>সিস্টেমসিটিএল {এআরজি!এস}</code>সিএইচরুট ফেরত ত্রুটি কোড দে{NUM! গুলি}।"
|
||||
|
||||
#: src/modules/services-systemd/main.py:72
|
||||
#: src/modules/services-systemd/main.py:76
|
||||
@ -83,27 +88,27 @@ 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 {}."
|
||||
msgstr ""
|
||||
msgstr "ত্রুটি কোড সহ আরসিঙ্ক ব্যর্থ হয়েছে {}।"
|
||||
|
||||
#: src/modules/unpackfs/main.py:302
|
||||
msgid "Unpacking image {}/{}, file {}/{}"
|
||||
msgstr ""
|
||||
msgstr "চিত্র আনপ্যাক করছে {} / {}, ফাইল {} / {}"
|
||||
|
||||
#: src/modules/unpackfs/main.py:317
|
||||
msgid "Starting to unpack {}"
|
||||
msgstr ""
|
||||
msgstr "আনপ্যাক করা শুরু করছে {}"
|
||||
|
||||
#: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:448
|
||||
msgid "Failed to unpack image \"{}\""
|
||||
msgstr ""
|
||||
msgstr "চিত্র আনপ্যাক করতে ব্যর্থ হয়েছে \"{}\""
|
||||
|
||||
#: src/modules/unpackfs/main.py:415
|
||||
msgid "No mount point for root partition"
|
||||
|
Binary file not shown.
@ -4,9 +4,9 @@
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Adriaan de Groot <groot@kde.org>, 2019
|
||||
# Christian Spaan, 2020
|
||||
# Andreas Eitel <github-aneitel@online.de>, 2020
|
||||
# Adriaan de Groot <groot@kde.org>, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -15,7 +15,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Andreas Eitel <github-aneitel@online.de>, 2020\n"
|
||||
"Last-Translator: Adriaan de Groot <groot@kde.org>, 2020\n"
|
||||
"Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -105,7 +105,7 @@ msgstr "rsync fehlgeschlagen mit Fehlercode {}."
|
||||
|
||||
#: src/modules/unpackfs/main.py:302
|
||||
msgid "Unpacking image {}/{}, file {}/{}"
|
||||
msgstr "Bild Entpacken {}/{}, Datei {}/{}"
|
||||
msgstr "Abbilddatei Entpacken {}/{}, Datei {}/{}"
|
||||
|
||||
#: src/modules/unpackfs/main.py:317
|
||||
msgid "Starting to unpack {}"
|
||||
@ -113,7 +113,7 @@ msgstr "Beginn des Entpackens {}"
|
||||
|
||||
#: src/modules/unpackfs/main.py:326 src/modules/unpackfs/main.py:448
|
||||
msgid "Failed to unpack image \"{}\""
|
||||
msgstr "Entpacken des Image \"{}\" fehlgeschlagen"
|
||||
msgstr "Entpacken der Abbilddatei \"{}\" fehlgeschlagen"
|
||||
|
||||
#: src/modules/unpackfs/main.py:415
|
||||
msgid "No mount point for root partition"
|
||||
|
@ -7,6 +7,12 @@
|
||||
---
|
||||
componentName: default
|
||||
|
||||
|
||||
### WELCOME / OVERALL WORDING
|
||||
#
|
||||
# These settings affect some overall phrasing and looks,
|
||||
# which are most visible in the welcome page.
|
||||
|
||||
# This selects between different welcome texts. When false, uses
|
||||
# the traditional "Welcome to the %1 installer.", and when true,
|
||||
# uses "Welcome to the Calamares installer for %1." This allows
|
||||
@ -20,6 +26,12 @@ welcomeStyleCalamares: false
|
||||
# may have surprising effects on HiDPI monitors).
|
||||
welcomeExpandingLogo: true
|
||||
|
||||
### WINDOW CONFIGURATION
|
||||
#
|
||||
# The settings here affect the placement of the Calamares
|
||||
# window through hints to the window manager and initial
|
||||
# sizing of the Calamares window.
|
||||
|
||||
# Size and expansion policy for Calamares.
|
||||
# - "normal" or unset, expand as needed, use *windowSize*
|
||||
# - "fullscreen", start as large as possible, ignore *windowSize*
|
||||
@ -41,6 +53,14 @@ windowSize: 800px,520px
|
||||
# *windowExpanding* set to "fullscreen").
|
||||
windowPlacement: center
|
||||
|
||||
### PANELS CONFIGURATION
|
||||
#
|
||||
# Calamares has a main content area, and two panels (navigation
|
||||
# and progress / sidebar). The panels can be controlled individually,
|
||||
# or switched off. If both panels are switched off, the layout of
|
||||
# the main content area loses its margins, on the assumption that
|
||||
# you're doing something special.
|
||||
|
||||
# Kind of sidebar (panel on the left, showing progress).
|
||||
# - "widget" or unset, use traditional sidebar (logo, items)
|
||||
# - "none", hide it entirely
|
||||
@ -66,6 +86,12 @@ sidebar: widget
|
||||
# except the default is *bottom*.
|
||||
navigation: widget
|
||||
|
||||
|
||||
### STRINGS, IMAGES AND COLORS
|
||||
#
|
||||
# This section contains the "branding proper" of names
|
||||
# and images, rather than global-look settings.
|
||||
|
||||
# These are strings shown to the user in the user interface.
|
||||
# There is no provision for translating them -- since they
|
||||
# are names, the string is included as-is.
|
||||
@ -139,9 +165,28 @@ images:
|
||||
# productWallpaper: "wallpaper.png"
|
||||
productWelcome: "languages.png"
|
||||
|
||||
# Colors for text and background components.
|
||||
#
|
||||
# - sidebarBackground is the background of the sidebar
|
||||
# - sidebarText is the (foreground) text color
|
||||
# - sidebarTextHighlight sets the background of the selected (current) step.
|
||||
# Optional, and defaults to the application palette.
|
||||
# - sidebarSelect is the text color of the selected step.
|
||||
#
|
||||
# These colors can **also** be set through the stylesheet, if the
|
||||
# branding component also ships a stylesheet.qss. Then they are
|
||||
# the corresponding CSS attributes of #sidebarApp.
|
||||
style:
|
||||
sidebarBackground: "#292F34"
|
||||
sidebarText: "#FFFFFF"
|
||||
sidebarTextSelect: "#292F34"
|
||||
sidebarTextHighlight: "#D35400"
|
||||
|
||||
### SLIDESHOW
|
||||
#
|
||||
# The slideshow is displayed during execution steps (e.g. when the
|
||||
# installer is actually writing to disk and doing other slow things).
|
||||
#
|
||||
|
||||
# The slideshow can be a QML file (recommended) which can display
|
||||
# arbitrary things -- text, images, animations, or even play a game --
|
||||
# during the execution step. The QML **is** abruptly stopped when the
|
||||
@ -171,19 +216,3 @@ slideshow: "show.qml"
|
||||
slideshowAPI: 2
|
||||
|
||||
|
||||
# Colors for text and background components.
|
||||
#
|
||||
# - sidebarBackground is the background of the sidebar
|
||||
# - sidebarText is the (foreground) text color
|
||||
# - sidebarTextHighlight sets the background of the selected (current) step.
|
||||
# Optional, and defaults to the application palette.
|
||||
# - sidebarSelect is the text color of the selected step.
|
||||
#
|
||||
# These colors can **also** be set through the stylesheet, if the
|
||||
# branding component also ships a stylesheet.qss. Then they are
|
||||
# the corresponding CSS attributes of #sidebarApp.
|
||||
style:
|
||||
sidebarBackground: "#292F34"
|
||||
sidebarText: "#FFFFFF"
|
||||
sidebarTextSelect: "#292F34"
|
||||
sidebarTextHighlight: "#D35400"
|
||||
|
@ -49,10 +49,10 @@ windowPlacement: center
|
||||
strings:
|
||||
productName: Manjaro Linux
|
||||
shortProductName: Manjaro
|
||||
version: 20.0
|
||||
shortVersion: 20.0
|
||||
versionedName: Manjaro Linux 20.0 "Lysia"
|
||||
shortVersionedName: Manjaro 20.0
|
||||
version: 20.1
|
||||
shortVersion: 20.1
|
||||
versionedName: Manjaro Linux 20.1 "Mikah"
|
||||
shortVersionedName: Manjaro 20.1
|
||||
bootloaderEntryName: Manjaro
|
||||
|
||||
# These images are loaded from the branding module directory.
|
||||
|
@ -111,12 +111,12 @@ CalamaresWindow::getWidgetSidebar( QWidget* parent, 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 );
|
||||
} );
|
||||
@ -167,7 +167,7 @@ CalamaresWindow::getWidgetNavigation( QWidget* parent )
|
||||
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 );
|
||||
@ -179,7 +179,7 @@ CalamaresWindow::getWidgetNavigation( QWidget* parent )
|
||||
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 );
|
||||
@ -191,7 +191,7 @@ CalamaresWindow::getWidgetNavigation( QWidget* parent )
|
||||
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 );
|
||||
@ -237,11 +237,13 @@ CalamaresWindow::getQmlNavigation( QWidget* parent )
|
||||
}
|
||||
#else
|
||||
// Bogus to keep the linker happy
|
||||
QWidget * CalamaresWindow::getQmlSidebar(QWidget* , int )
|
||||
QWidget*
|
||||
CalamaresWindow::getQmlSidebar( QWidget*, int )
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
QWidget * CalamaresWindow::getQmlNavigation(QWidget* )
|
||||
QWidget*
|
||||
CalamaresWindow::getQmlNavigation( QWidget* )
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
@ -401,6 +403,14 @@ CalamaresWindow::CalamaresWindow( QWidget* parent )
|
||||
insertIf( mainLayout, PanelSide::Right, navigation, branding->navigationSide() );
|
||||
insertIf( mainLayout, PanelSide::Right, sideBox, branding->sidebarSide() );
|
||||
|
||||
// layout->count() returns number of things in it; above we have put
|
||||
// at **least** the central widget, which comes from the view manager,
|
||||
// both vertically and horizontally -- so if there's a panel along
|
||||
// either axis, the count in that axis will be > 1.
|
||||
m_viewManager->setPanelSides(
|
||||
( contentsLayout->count() > 1 ? Qt::Orientations( Qt::Horizontal ) : Qt::Orientations() )
|
||||
| ( mainLayout->count() > 1 ? Qt::Orientations( Qt::Vertical ) : Qt::Orientations() ) );
|
||||
|
||||
CalamaresUtils::unmarginLayout( mainLayout );
|
||||
CalamaresUtils::unmarginLayout( contentsLayout );
|
||||
baseWidget->setLayout( mainLayout );
|
||||
|
@ -7,6 +7,7 @@ import QtQuick.Layouts 1.3
|
||||
Rectangle {
|
||||
id: sideBar;
|
||||
color: Branding.styleString( Branding.SidebarBackground );
|
||||
anchors.fill: parent;
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent;
|
||||
@ -27,16 +28,17 @@ Rectangle {
|
||||
Repeater {
|
||||
model: ViewManager
|
||||
Rectangle {
|
||||
Layout.leftMargin: 12;
|
||||
width: parent.width - 24;
|
||||
Layout.leftMargin: 6;
|
||||
Layout.rightMargin: 6;
|
||||
Layout.fillWidth: true;
|
||||
height: 35;
|
||||
radius: 6;
|
||||
color: Branding.styleString( index == ViewManager.currentStepIndex ? Branding.SidebarTextHighlight : Branding.SidebarBackground );
|
||||
color: Branding.styleString( index == ViewManager.currentStepIndex ? Branding.SidebarBackgroundSelected : Branding.SidebarBackground );
|
||||
|
||||
Text {
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
x: parent.x + 12;
|
||||
color: Branding.styleString( index == ViewManager.currentStepIndex ? Branding.SidebarTextSelect : Branding.SidebarText );
|
||||
anchors.horizontalCenter: parent.horizontalCenter;
|
||||
color: Branding.styleString( index == ViewManager.currentStepIndex ? Branding.SidebarTextSelected : Branding.SidebarText );
|
||||
text: display;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2010-2011 Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||
* SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
* SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
|
||||
@ -50,7 +50,7 @@ static unsigned int s_threshold =
|
||||
static QMutex s_mutex;
|
||||
|
||||
static const char s_Continuation[] = "\n ";
|
||||
static const char s_SubEntry[] = " .. ";
|
||||
static const char s_SubEntry[] = " .. ";
|
||||
|
||||
|
||||
namespace Logger
|
||||
@ -79,7 +79,7 @@ logLevel()
|
||||
}
|
||||
|
||||
static void
|
||||
log( const char* msg, unsigned int debugLevel )
|
||||
log( const char* msg, unsigned int debugLevel, bool withTime = true )
|
||||
{
|
||||
if ( true )
|
||||
{
|
||||
@ -95,13 +95,15 @@ log( const char* msg, unsigned int debugLevel )
|
||||
logfile.flush();
|
||||
}
|
||||
|
||||
if ( debugLevel <= LOGEXTRA || debugLevel < s_threshold )
|
||||
if ( logLevelEnabled( debugLevel ) )
|
||||
{
|
||||
QMutexLocker lock( &s_mutex );
|
||||
|
||||
std::cout << QTime::currentTime().toString().toUtf8().data() << " ["
|
||||
<< QString::number( debugLevel ).toUtf8().data() << "]: " << msg << std::endl;
|
||||
std::cout.flush();
|
||||
if ( withTime )
|
||||
{
|
||||
std::cout << QTime::currentTime().toString().toUtf8().data() << " ["
|
||||
<< QString::number( debugLevel ).toUtf8().data() << "]: ";
|
||||
}
|
||||
std::cout << msg << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
@ -199,12 +201,15 @@ CDebug::CDebug( unsigned int debugLevel, const char* func )
|
||||
|
||||
CDebug::~CDebug()
|
||||
{
|
||||
if ( m_funcinfo )
|
||||
if ( logLevelEnabled( m_debugLevel ) )
|
||||
{
|
||||
m_msg.prepend( s_Continuation ); // Prepending, so back-to-front
|
||||
m_msg.prepend( m_funcinfo );
|
||||
if ( m_funcinfo )
|
||||
{
|
||||
m_msg.prepend( s_Continuation ); // Prepending, so back-to-front
|
||||
m_msg.prepend( m_funcinfo );
|
||||
}
|
||||
log( m_msg.toUtf8().data(), m_debugLevel, m_funcinfo );
|
||||
}
|
||||
log( m_msg.toUtf8().data(), m_debugLevel );
|
||||
}
|
||||
|
||||
constexpr FuncSuppressor::FuncSuppressor( const char s[] )
|
||||
|
@ -38,21 +38,19 @@ namespace CalamaresUtils
|
||||
bool
|
||||
getBool( const QVariantMap& map, const QString& key, bool d )
|
||||
{
|
||||
bool result = d;
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
auto v = map.value( key );
|
||||
if ( v.type() == QVariant::Bool )
|
||||
{
|
||||
result = v.toBool();
|
||||
return v.toBool();
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return d;
|
||||
}
|
||||
|
||||
QString
|
||||
getString( const QVariantMap& map, const QString& key )
|
||||
getString( const QVariantMap& map, const QString& key, const QString& d )
|
||||
{
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
@ -62,11 +60,11 @@ getString( const QVariantMap& map, const QString& key )
|
||||
return v.toString();
|
||||
}
|
||||
}
|
||||
return QString();
|
||||
return d;
|
||||
}
|
||||
|
||||
QStringList
|
||||
getStringList( const QVariantMap& map, const QString& key )
|
||||
getStringList( const QVariantMap& map, const QString& key, const QStringList& d )
|
||||
{
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
@ -76,60 +74,53 @@ getStringList( const QVariantMap& map, const QString& key )
|
||||
return v.toStringList();
|
||||
}
|
||||
}
|
||||
return QStringList();
|
||||
return d;
|
||||
}
|
||||
|
||||
qint64
|
||||
getInteger( const QVariantMap& map, const QString& key, qint64 d )
|
||||
{
|
||||
qint64 result = d;
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
auto v = map.value( key );
|
||||
result = v.toString().toLongLong(nullptr, 0);
|
||||
return v.toString().toLongLong(nullptr, 0);
|
||||
}
|
||||
|
||||
return result;
|
||||
return d;
|
||||
}
|
||||
|
||||
quint64
|
||||
getUnsignedInteger( const QVariantMap& map, const QString& key, quint64 u )
|
||||
getUnsignedInteger( const QVariantMap& map, const QString& key, quint64 d )
|
||||
{
|
||||
quint64 result = u;
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
auto v = map.value( key );
|
||||
result = v.toString().toULongLong(nullptr, 0);
|
||||
return v.toString().toULongLong(nullptr, 0);
|
||||
}
|
||||
|
||||
return result;
|
||||
return d;
|
||||
}
|
||||
|
||||
double
|
||||
getDouble( const QVariantMap& map, const QString& key, double d )
|
||||
{
|
||||
double result = d;
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
auto v = map.value( key );
|
||||
if ( v.type() == QVariant::Int )
|
||||
{
|
||||
result = v.toInt();
|
||||
return v.toInt();
|
||||
}
|
||||
else if ( v.type() == QVariant::Double )
|
||||
{
|
||||
result = v.toDouble();
|
||||
return v.toDouble();
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return d;
|
||||
}
|
||||
|
||||
QVariantMap
|
||||
getSubMap( const QVariantMap& map, const QString& key, bool& success )
|
||||
getSubMap( const QVariantMap& map, const QString& key, bool& success, const QVariantMap& d )
|
||||
{
|
||||
success = false;
|
||||
|
||||
if ( map.contains( key ) )
|
||||
{
|
||||
auto v = map.value( key );
|
||||
@ -139,7 +130,7 @@ getSubMap( const QVariantMap& map, const QString& key, bool& success )
|
||||
return v.toMap();
|
||||
}
|
||||
}
|
||||
return QVariantMap();
|
||||
return d;
|
||||
}
|
||||
|
||||
} // namespace CalamaresUtils
|
||||
|
@ -33,45 +33,44 @@
|
||||
namespace CalamaresUtils
|
||||
{
|
||||
/**
|
||||
* Get a bool value from a mapping with a given key; returns the default
|
||||
* if no value is stored in the map.
|
||||
* Get a bool value from a mapping with a given key; returns @p d if no value.
|
||||
*/
|
||||
DLLEXPORT bool getBool( const QVariantMap& map, const QString& key, bool d );
|
||||
DLLEXPORT bool getBool( const QVariantMap& map, const QString& key, bool d = false );
|
||||
|
||||
/**
|
||||
* Get a string value from a mapping; returns empty QString if no value.
|
||||
* Get a string value from a mapping with a given key; returns @p d if no value.
|
||||
*/
|
||||
DLLEXPORT QString getString( const QVariantMap& map, const QString& key );
|
||||
DLLEXPORT QString getString( const QVariantMap& map, const QString& key, const QString& d = QString() );
|
||||
|
||||
/**
|
||||
* Get a string list from a mapping; returns empty list if no value.
|
||||
* Get a string list from a mapping with a given key; returns @p d if no value.
|
||||
*/
|
||||
DLLEXPORT QStringList getStringList( const QVariantMap& map, const QString& key );
|
||||
DLLEXPORT QStringList getStringList( const QVariantMap& map, const QString& key, const QStringList& d = QStringList() );
|
||||
|
||||
/**
|
||||
* Get an integer value from a mapping; returns @p d if no value.
|
||||
* Get an integer value from a mapping with a given key; returns @p d if no value.
|
||||
*/
|
||||
DLLEXPORT qint64 getInteger( const QVariantMap& map, const QString& key, qint64 d );
|
||||
DLLEXPORT qint64 getInteger( const QVariantMap& map, const QString& key, qint64 d = 0);
|
||||
|
||||
/**
|
||||
* Get an unsigned integer value from a mapping; returns @p u if no value.
|
||||
* Get an unsigned integer value from a mapping with a given key; returns @p d if no value.
|
||||
*/
|
||||
DLLEXPORT quint64 getUnsignedInteger( const QVariantMap& map, const QString& key, quint64 u );
|
||||
DLLEXPORT quint64 getUnsignedInteger( const QVariantMap& map, const QString& key, quint64 d = 0 );
|
||||
|
||||
/**
|
||||
* Get a double value from a mapping (integers are converted); returns @p d if no value.
|
||||
* Get a double value from a mapping with a given key (integers are converted); returns @p d if no value.
|
||||
*/
|
||||
DLLEXPORT double getDouble( const QVariantMap& map, const QString& key, double d );
|
||||
DLLEXPORT double getDouble( const QVariantMap& map, const QString& key, double d = 0.0 );
|
||||
|
||||
/**
|
||||
* Returns a sub-map (i.e. a nested map) from the given mapping with the
|
||||
* Returns a sub-map (i.e. a nested map) from a given mapping with a
|
||||
* given key. @p success is set to true if the @p key exists
|
||||
* in @p map and converts to a map, false otherwise.
|
||||
*
|
||||
* Returns an empty map if there is no such key or it is not a map-value.
|
||||
* Returns @p d if there is no such key or it is not a map-value.
|
||||
* (e.g. if @p success is false).
|
||||
*/
|
||||
DLLEXPORT QVariantMap getSubMap( const QVariantMap& map, const QString& key, bool& success );
|
||||
DLLEXPORT QVariantMap getSubMap( const QVariantMap& map, const QString& key, bool& success, const QVariantMap& d = QVariantMap() );
|
||||
} // namespace CalamaresUtils
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,8 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
* SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
@ -17,8 +18,6 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
* License-Filename: LICENSE
|
||||
*
|
||||
*/
|
||||
#include "Yaml.h"
|
||||
@ -125,7 +124,6 @@ yamlToStringList( const YAML::Node& listNode )
|
||||
return l;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
explainYamlException( const YAML::Exception& e, const QByteArray& yamlData, const char* label )
|
||||
{
|
||||
|
@ -1,7 +1,8 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
* SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
@ -17,11 +18,16 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
* License-Filename: LICENSE
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* YAML conversions and YAML convenience header.
|
||||
*
|
||||
* Includes the system YAMLCPP headers without warnings (by switching off
|
||||
* the expected warnings) and provides a handful of methods for
|
||||
* converting between YAML and QVariant.
|
||||
*/
|
||||
#ifndef UTILS_YAML_H
|
||||
#define UTILS_YAML_H
|
||||
|
||||
@ -50,7 +56,7 @@ class QFileInfo;
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
/// @brief Appends all te elements of @p node to the string list @p v
|
||||
/// @brief Appends all the elements of @p node to the string list @p v
|
||||
void operator>>( const YAML::Node& node, QStringList& v );
|
||||
|
||||
namespace CalamaresUtils
|
||||
|
@ -132,9 +132,7 @@ loadStrings( QMap< QString, QString >& map,
|
||||
throw YAML::Exception( YAML::Mark(), std::string( "Branding configuration is not a map: " ) + key );
|
||||
}
|
||||
|
||||
const auto& config = CalamaresUtils::yamlMapToVariant( doc[ key ] );
|
||||
|
||||
map.clear();
|
||||
const QVariantMap config = CalamaresUtils::yamlMapToVariant( doc[ key ] );
|
||||
for ( auto it = config.constBegin(); it != config.constEnd(); ++it )
|
||||
{
|
||||
map.insert( it.key(), transform( it.value().toString() ) );
|
||||
@ -369,7 +367,7 @@ Branding::WindowDimension::isValid() const
|
||||
}
|
||||
|
||||
|
||||
/// @brief Guard against cases where the @p key doesn't exist in @p doc
|
||||
/// @brief Get a string (empty is @p key doesn't exist) from @p key in @p doc
|
||||
static inline QString
|
||||
getString( const YAML::Node& doc, const char* key )
|
||||
{
|
||||
@ -380,6 +378,18 @@ getString( const YAML::Node& doc, const char* key )
|
||||
return QString();
|
||||
}
|
||||
|
||||
/// @brief Get a node (throws if @p key doesn't exist) from @p key in @p doc
|
||||
static inline YAML::Node
|
||||
get( const YAML::Node& doc, const char* key )
|
||||
{
|
||||
auto r = doc[ key ];
|
||||
if ( !r.IsDefined() )
|
||||
{
|
||||
throw YAML::KeyNotFound( YAML::Mark::null_mark(), std::string( key ) );
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
static inline void
|
||||
flavorAndSide( const YAML::Node& doc, const char* key, Branding::PanelFlavor& flavor, Branding::PanelSide& side )
|
||||
{
|
||||
@ -516,10 +526,11 @@ Branding::initSlideshowSettings( const YAML::Node& doc )
|
||||
{
|
||||
QDir componentDir( componentDirectory() );
|
||||
|
||||
if ( doc[ "slideshow" ].IsSequence() )
|
||||
auto slideshow = get( doc, "slideshow" );
|
||||
if ( slideshow.IsSequence() )
|
||||
{
|
||||
QStringList slideShowPictures;
|
||||
doc[ "slideshow" ] >> slideShowPictures;
|
||||
slideshow >> slideShowPictures;
|
||||
for ( int i = 0; i < slideShowPictures.count(); ++i )
|
||||
{
|
||||
QString pathString = slideShowPictures[ i ];
|
||||
@ -537,9 +548,9 @@ Branding::initSlideshowSettings( const YAML::Node& doc )
|
||||
m_slideshowAPI = -1;
|
||||
}
|
||||
#ifdef WITH_QML
|
||||
else if ( doc[ "slideshow" ].IsScalar() )
|
||||
else if ( slideshow.IsScalar() )
|
||||
{
|
||||
QString slideshowPath = QString::fromStdString( doc[ "slideshow" ].as< std::string >() );
|
||||
QString slideshowPath = QString::fromStdString( slideshow.as< std::string >() );
|
||||
QFileInfo slideshowFi( componentDir.absoluteFilePath( slideshowPath ) );
|
||||
if ( !slideshowFi.exists() || !slideshowFi.fileName().toLower().endsWith( ".qml" ) )
|
||||
bail( m_descriptorPath,
|
||||
@ -548,7 +559,9 @@ Branding::initSlideshowSettings( const YAML::Node& doc )
|
||||
m_slideshowPath = slideshowFi.absoluteFilePath();
|
||||
|
||||
// API choice is relevant for QML slideshow
|
||||
int api = doc[ "slideshowAPI" ].IsScalar() ? doc[ "slideshowAPI" ].as< int >() : -1;
|
||||
// TODO:3.3: use get(), make slideshowAPI required
|
||||
int api
|
||||
= ( doc[ "slideshowAPI" ] && doc[ "slideshowAPI" ].IsScalar() ) ? doc[ "slideshowAPI" ].as< int >() : -1;
|
||||
if ( ( api < 1 ) || ( api > 2 ) )
|
||||
{
|
||||
cWarning() << "Invalid or missing *slideshowAPI* in branding file.";
|
||||
@ -557,7 +570,7 @@ Branding::initSlideshowSettings( const YAML::Node& doc )
|
||||
m_slideshowAPI = api;
|
||||
}
|
||||
#else
|
||||
else if ( doc[ "slideshow" ].IsScalar() )
|
||||
else if ( slideshow.IsScalar() )
|
||||
{
|
||||
cWarning() << "Invalid *slideshow* setting, must be list of images.";
|
||||
}
|
||||
|
@ -83,7 +83,9 @@ public:
|
||||
SidebarBackground,
|
||||
SidebarText,
|
||||
SidebarTextSelect,
|
||||
SidebarTextHighlight
|
||||
SidebarTextSelected = SidebarTextSelect, // TODO:3.3:Remove SidebarTextSelect
|
||||
SidebarTextHighlight,
|
||||
SidebarBackgroundSelected = SidebarTextHighlight // TODO:3.3:Remove SidebarTextHighlight
|
||||
};
|
||||
Q_ENUM( StyleEntry )
|
||||
|
||||
|
@ -67,10 +67,12 @@ ViewManager::ViewManager( QObject* parent )
|
||||
: QAbstractListModel( parent )
|
||||
, m_currentStep( -1 )
|
||||
, m_widget( new QWidget() )
|
||||
, m_panelSides( Qt::Horizontal | Qt::Vertical )
|
||||
{
|
||||
Q_ASSERT( !s_instance );
|
||||
|
||||
QBoxLayout* mainLayout = new QVBoxLayout;
|
||||
mainLayout->setContentsMargins( 0, 0, 0, 0 );
|
||||
m_widget->setObjectName( "viewManager" );
|
||||
m_widget->setLayout( mainLayout );
|
||||
|
||||
@ -127,15 +129,19 @@ ViewManager::insertViewStep( int before, ViewStep* step )
|
||||
{
|
||||
cError() << "ViewStep" << step->moduleInstanceKey() << "has no widget.";
|
||||
}
|
||||
|
||||
QLayout* layout = step->widget()->layout();
|
||||
if ( layout )
|
||||
else
|
||||
{
|
||||
layout->setContentsMargins( 0, 0, 0, 0 );
|
||||
QLayout* layout = step->widget()->layout();
|
||||
if ( layout )
|
||||
{
|
||||
const auto margins = step->widgetMargins( m_panelSides );
|
||||
layout->setContentsMargins( margins.width(), margins.height(), margins.width(), margins.height() );
|
||||
}
|
||||
|
||||
m_stack->insertWidget( before, step->widget() );
|
||||
m_stack->setCurrentIndex( 0 );
|
||||
step->widget()->setFocus();
|
||||
}
|
||||
m_stack->insertWidget( before, step->widget() );
|
||||
m_stack->setCurrentIndex( 0 );
|
||||
step->widget()->setFocus();
|
||||
emit endInsertRows();
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,9 @@ class UIDLLEXPORT ViewManager : public QAbstractListModel
|
||||
|
||||
Q_PROPERTY( bool quitVisible READ quitVisible NOTIFY quitVisibleChanged FINAL )
|
||||
|
||||
///@brief Sides on which the ViewManager has side-panels
|
||||
Q_PROPERTY( Qt::Orientations panelSides READ panelSides WRITE setPanelSides MEMBER m_panelSides )
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief instance access to the ViewManager singleton.
|
||||
@ -100,13 +103,17 @@ public:
|
||||
int currentStepIndex() const;
|
||||
|
||||
/**
|
||||
* @ brief Called when "Cancel" is clicked; asks for confirmation.
|
||||
* @brief Called when "Cancel" is clicked; asks for confirmation.
|
||||
* Other means of closing Calamares also call this method, e.g. alt-F4.
|
||||
* At the end of installation, no confirmation is asked. Returns true
|
||||
* if the user confirms closing the window.
|
||||
* At the end of installation, no confirmation is asked.
|
||||
*
|
||||
* @return @c true if the user confirms closing the window.
|
||||
*/
|
||||
bool confirmCancelInstallation();
|
||||
|
||||
Qt::Orientations panelSides() const { return m_panelSides; }
|
||||
void setPanelSides( Qt::Orientations panelSides ) { m_panelSides = panelSides; }
|
||||
|
||||
public Q_SLOTS:
|
||||
/**
|
||||
* @brief next moves forward to the next page of the current ViewStep (if any),
|
||||
@ -244,6 +251,8 @@ private:
|
||||
QString m_quitTooltip;
|
||||
bool m_quitVisible = true;
|
||||
|
||||
Qt::Orientations m_panelSides;
|
||||
|
||||
public:
|
||||
/** @section Model
|
||||
*
|
||||
|
@ -87,6 +87,7 @@ UIDLLEXPORT QPixmap defaultPixmap( ImageType type,
|
||||
ImageMode mode = CalamaresUtils::Original,
|
||||
const QSize& size = QSize( 0, 0 ) );
|
||||
|
||||
// TODO:3.3:This has only one consumer, move to ImageRegistry, make static
|
||||
/**
|
||||
* @brief createRoundedImage returns a rounded version of a pixmap.
|
||||
* @param avatar the input pixmap.
|
||||
@ -103,6 +104,7 @@ UIDLLEXPORT QPixmap createRoundedImage( const QPixmap& avatar, const QSize& size
|
||||
*/
|
||||
UIDLLEXPORT void unmarginLayout( QLayout* layout );
|
||||
|
||||
// TODO:3.3:This has only one consumer, move to LicensePage, make static
|
||||
/**
|
||||
* @brief clearLayout recursively walks the QLayout tree and deletes all the child
|
||||
* widgets and layouts.
|
||||
@ -113,7 +115,7 @@ UIDLLEXPORT void clearLayout( QLayout* layout );
|
||||
UIDLLEXPORT void setDefaultFontSize( int points );
|
||||
UIDLLEXPORT int defaultFontSize(); // in points
|
||||
UIDLLEXPORT int defaultFontHeight(); // in pixels, DPI-specific
|
||||
UIDLLEXPORT QFont defaultFont();
|
||||
UIDLLEXPORT QFont defaultFont(); // TODO:3.3:This has one consumer, move to BlankViewStep
|
||||
UIDLLEXPORT QFont largeFont();
|
||||
UIDLLEXPORT QSize defaultIconSize();
|
||||
|
||||
|
@ -151,6 +151,22 @@ QmlViewStep::widget()
|
||||
return m_widget;
|
||||
}
|
||||
|
||||
QSize
|
||||
QmlViewStep::widgetMargins( Qt::Orientations panelSides )
|
||||
{
|
||||
// If any panels around it, use the standard, but if all the
|
||||
// panels are hidden, like on full-screen with subsumed navigation,
|
||||
// then no margins.
|
||||
if ( panelSides )
|
||||
{
|
||||
return ViewStep::widgetMargins( panelSides );
|
||||
}
|
||||
else
|
||||
{
|
||||
return QSize( 0, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
QmlViewStep::loadComplete()
|
||||
{
|
||||
|
@ -35,6 +35,15 @@ namespace Calamares
|
||||
* This is generally a **base** class for other view steps, but
|
||||
* it can be used stand-alone for viewsteps that don't really have
|
||||
* any functionality.
|
||||
*
|
||||
* Most subclasses will override the following methods:
|
||||
* - prettyName() to provide a meaningful human-readable name
|
||||
* - jobs() if there is real work to be done during installation
|
||||
* - getConfig() to return a meaningful configuration object
|
||||
*
|
||||
* For details on the interaction between the config object and
|
||||
* the QML in the module, see the module documentation:
|
||||
* src/modules/README.md
|
||||
*/
|
||||
class QmlViewStep : public Calamares::ViewStep
|
||||
{
|
||||
@ -55,6 +64,7 @@ public:
|
||||
virtual QString prettyName() const override;
|
||||
|
||||
virtual QWidget* widget() override;
|
||||
virtual QSize widgetMargins( Qt::Orientations panelSides ) override;
|
||||
|
||||
virtual bool isNextEnabled() const override;
|
||||
virtual bool isBackEnabled() const override;
|
||||
|
@ -19,6 +19,9 @@
|
||||
|
||||
#include "ViewStep.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QStyle>
|
||||
|
||||
namespace Calamares
|
||||
{
|
||||
|
||||
@ -85,4 +88,14 @@ ViewStep::checkRequirements()
|
||||
return RequirementsList();
|
||||
}
|
||||
|
||||
QSize
|
||||
ViewStep::widgetMargins( Qt::Orientations panelSides )
|
||||
{
|
||||
Q_UNUSED( panelSides )
|
||||
|
||||
// Application's default style
|
||||
const auto* s = QApplication::style();
|
||||
return QSize( s->pixelMetric( QStyle::PM_LayoutLeftMargin ), s->pixelMetric( QStyle::PM_LayoutTopMargin ) );
|
||||
}
|
||||
|
||||
} // namespace Calamares
|
||||
|
@ -52,27 +52,61 @@ public:
|
||||
explicit ViewStep( QObject* parent = nullptr );
|
||||
virtual ~ViewStep() override;
|
||||
|
||||
/** @brief Human-readable name of the step
|
||||
*
|
||||
* This (translated) string is shown in the sidebar (progress)
|
||||
* and during installation. There is no default.
|
||||
*/
|
||||
virtual QString prettyName() const = 0;
|
||||
|
||||
/**
|
||||
/** @brief Describe what this step will do during install
|
||||
*
|
||||
* Optional. May return a non-empty string describing what this
|
||||
* step is going to do (should be translated). This is also used
|
||||
* in the summary page to describe what is going to be done.
|
||||
* Return an empty string to provide no description.
|
||||
*
|
||||
* The default implementation returns an empty string, so nothing
|
||||
* will be displayed for this step when a summary is shown.
|
||||
*/
|
||||
virtual QString prettyStatus() const;
|
||||
|
||||
/**
|
||||
/** @brief Return a long description what this step will do during install
|
||||
*
|
||||
* Optional. May return a widget which will be inserted in the summary
|
||||
* page. The caller takes ownership of the widget. Return nullptr to
|
||||
* provide no widget. In general, this is only used for complicated
|
||||
* steps where prettyStatus() is not sufficient.
|
||||
*
|
||||
* The default implementation returns nullptr, so nothing
|
||||
* will be displayed for this step when a summary is shown.
|
||||
*/
|
||||
virtual QWidget* createSummaryWidget() const;
|
||||
|
||||
//TODO: we might want to make this a QSharedPointer
|
||||
/** @brief Get (or create) the widget for this view step
|
||||
*
|
||||
* While a view step **may** create the widget when it is loaded,
|
||||
* it is recommended to wait with widget creation until the
|
||||
* widget is actually asked for: a view step **may** be used
|
||||
* without a UI.
|
||||
*/
|
||||
virtual QWidget* widget() = 0;
|
||||
|
||||
/** @brief Get margins for this widget
|
||||
*
|
||||
* This is called by the layout manager to find the desired
|
||||
* margins (width is used for left and right margin, height is
|
||||
* used for top and bottom margins) for the widget. The
|
||||
* @p panelSides indicates where there are panels in the overall
|
||||
* layout: horizontally and / or vertically adjacent (or none!)
|
||||
* to the view step's widget.
|
||||
*
|
||||
* Should return a size based also on QStyle metrics for layout.
|
||||
* The default implementation just returns the default layout metrics
|
||||
* (often 11 pixels on a side).
|
||||
*/
|
||||
virtual QSize widgetMargins( Qt::Orientations panelSides );
|
||||
|
||||
/**
|
||||
* @brief Multi-page support, go next
|
||||
*
|
||||
|
@ -9,20 +9,16 @@ Each Calamares module lives in its own directory.
|
||||
All modules are installed in `$DESTDIR/lib/calamares/modules`.
|
||||
|
||||
There are two **types** of Calamares module:
|
||||
* viewmodule, for user-visible modules. These may be in C++, or PythonQt.
|
||||
* viewmodule, for user-visible modules. These use C++ and QWidgets or QML
|
||||
* jobmodule, for not-user-visible modules. These may be done in C++,
|
||||
Python, or as external processes.
|
||||
|
||||
A viewmodule exposes a UI to the user. The PythonQt-based modules
|
||||
are considered experimental (and as of march 2019 may be on the
|
||||
way out again as never-used-much and PythonQt is not packaged
|
||||
on Debian anymore).
|
||||
A viewmodule exposes a UI to the user.
|
||||
|
||||
There are three (four) **interfaces** for Calamares modules:
|
||||
There are three **interfaces** for Calamares modules:
|
||||
* qtplugin (viewmodules, jobmodules),
|
||||
* python (jobmodules only),
|
||||
* pythonqt (viewmodules, jobmodules, optional),
|
||||
* process (jobmodules only).
|
||||
* process (jobmodules only, not recommended).
|
||||
|
||||
## Module directory
|
||||
|
||||
@ -50,7 +46,7 @@ Module descriptors **must** have the following keys:
|
||||
- *interface* (see below for the different interfaces; generally we
|
||||
refer to the kinds of modules by their interface)
|
||||
|
||||
Module descriptors for Python and PythonQt modules **must** have the following key:
|
||||
Module descriptors for Python modules **must** have the following key:
|
||||
- *script* (the name of the Python script to load, nearly always `main.py`)
|
||||
|
||||
Module descriptors **may** have the following keys:
|
||||
@ -133,15 +129,67 @@ a `CMakeLists.txt` with a `calamares_add_plugin` call. It will be picked
|
||||
up automatically by our CMake magic. The `module.desc` file is not recommended:
|
||||
nearly all cases can be described in CMake.
|
||||
|
||||
### C++ Jobmodule
|
||||
|
||||
**TODO:** this needs documentation
|
||||
|
||||
### C++ Widgets Viewmodule
|
||||
|
||||
**TODO:** this needs documentation
|
||||
|
||||
### C++ QML Viewmodule
|
||||
|
||||
A QML Viewmodule (or view step) puts much of the UI work in one or more
|
||||
QML files; the files may be loaded from the branding directory or compiled
|
||||
into the module. Which QML is used depends on the deployment and the
|
||||
configuration files for Calamares.
|
||||
|
||||
#### Explicit properties
|
||||
|
||||
The QML can access data from the C++ framework though properties
|
||||
exposed to QML. There are two libraries that need to be imported
|
||||
explicitly:
|
||||
|
||||
```
|
||||
import io.calamares.core 1.0
|
||||
import io.calamares.ui 1.0
|
||||
```
|
||||
|
||||
The *ui* library contains the *Branding* object, which corresponds to
|
||||
the branding information set through `branding.desc`. The Branding
|
||||
class (in `src/libcalamaresui/Branding.h` offers a QObject-property
|
||||
based API, where the most important functions are `string()` and the
|
||||
convenience functions `versionedName()` and similar.
|
||||
|
||||
The *core* library contains both *ViewManager*, which handles overall
|
||||
progress through the application, and *Global*, which holds global
|
||||
storage information. Both objects have an extensive API. The *ViewManager*
|
||||
can behave as a model for list views and the like.
|
||||
|
||||
These explicit properties from libraries are shared across all the
|
||||
QML modules (for global storage that goes without saying: it is
|
||||
the mechanism to share information with other modules).
|
||||
|
||||
#### Implicit properties
|
||||
|
||||
Each module also has an implicit context property available to it.
|
||||
No import is needed. The context property *config* (note lower case)
|
||||
holds the Config object for the module.
|
||||
|
||||
The Config object is the bridge between C++ and QML.
|
||||
|
||||
A Config object must inherit QObject and should expose, as `Q_PROPERTY`,
|
||||
all of the relevant configuration information for the module instance.
|
||||
The general description how to do that is available
|
||||
in the [Qt documentation](https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html).
|
||||
|
||||
|
||||
## Python modules
|
||||
|
||||
Modules may use one of the python interfaces, which may be present
|
||||
in a Calamares installation (but also may not be). These modules must have
|
||||
a `module.desc` file. The Python script must implement one or more of the
|
||||
Python interfaces for Calamares -- either the python jobmodule interface,
|
||||
or the experimental pythonqt job- and viewmodule interfaces.
|
||||
a `module.desc` file. The Python script must implement the
|
||||
Python jobmodule interface.
|
||||
|
||||
To add a Python or process jobmodule, put it in a subdirectory and make sure
|
||||
it has a `module.desc`. It will be picked up automatically by our CMake magic.
|
||||
@ -178,31 +226,19 @@ description if something went wrong.
|
||||
|
||||
|
||||
|
||||
## PythonQt modules
|
||||
## PythonQt modules (deprecated)
|
||||
|
||||
> Type: viewmodule, jobmodule
|
||||
> Interface: pythonqt
|
||||
|
||||
The PythonQt modules are considered experimental and may be removed again
|
||||
due to low uptake. Their documentation is also almost completely lacking.
|
||||
|
||||
### PythonQt Jobmodule
|
||||
|
||||
A PythonQt jobmodule implements the experimental Job interface by defining
|
||||
a subclass of something.
|
||||
|
||||
### PythonQt Viewmodule
|
||||
|
||||
A PythonQt viewmodule implements the experimental View interface by defining
|
||||
a subclass of something.
|
||||
|
||||
### Python API
|
||||
|
||||
**TODO:** this needs documentation
|
||||
The PythonQt modules are deprecated and will be removed in Calamares 3.3.
|
||||
Their documentation is also almost completely lacking.
|
||||
|
||||
|
||||
|
||||
## Process jobmodules
|
||||
## Process modules
|
||||
|
||||
Use of this kind of module is **not** recommended.
|
||||
|
||||
> Type: jobmodule
|
||||
> Interface: process
|
||||
|
@ -107,10 +107,6 @@ LicensePage::LicensePage( QWidget* parent )
|
||||
// ui->verticalLayout->insertSpacing( 1, CalamaresUtils::defaultFontHeight() );
|
||||
CalamaresUtils::unmarginLayout( ui->verticalLayout );
|
||||
|
||||
ui->mainText->setWordWrap( true );
|
||||
ui->mainText->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum );
|
||||
|
||||
ui->acceptFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain );
|
||||
ui->acceptFrame->setStyleSheet( mustAccept );
|
||||
ui->acceptFrame->layout()->setMargin( CalamaresUtils::defaultFontHeight() / 2 );
|
||||
|
||||
|
@ -40,6 +40,7 @@ NetInstallPage::NetInstallPage( Config* c, QWidget* parent )
|
||||
, ui( new Ui::Page_NetInst )
|
||||
{
|
||||
ui->setupUi( this );
|
||||
ui->groupswidget->header()->setSectionResizeMode( QHeaderView::ResizeToContents );
|
||||
ui->groupswidget->setModel( c->model() );
|
||||
connect( c, &Config::statusChanged, this, &NetInstallPage::setStatus );
|
||||
connect( c, &Config::statusReady, this, &NetInstallPage::expandGroups );
|
||||
@ -88,8 +89,6 @@ NetInstallPage::expandGroups()
|
||||
ui->groupswidget->setExpanded( index, true );
|
||||
}
|
||||
}
|
||||
// Make sure all the group names are visible
|
||||
ui->groupswidget->resizeColumnToContents(0);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -178,6 +178,7 @@ class PMPackageKit(PackageManager):
|
||||
def update_system(self):
|
||||
check_target_env_call(["pkcon", "-py", "update"])
|
||||
|
||||
|
||||
class PMZypp(PackageManager):
|
||||
backend = "zypp"
|
||||
|
||||
@ -198,6 +199,7 @@ class PMZypp(PackageManager):
|
||||
# Doesn't need to update the system explicitly
|
||||
pass
|
||||
|
||||
|
||||
class PMYum(PackageManager):
|
||||
backend = "yum"
|
||||
|
||||
@ -215,6 +217,7 @@ class PMYum(PackageManager):
|
||||
def update_system(self):
|
||||
check_target_env_call(["yum", "-y", "upgrade"])
|
||||
|
||||
|
||||
class PMDnf(PackageManager):
|
||||
backend = "dnf"
|
||||
|
||||
@ -274,6 +277,7 @@ class PMApt(PackageManager):
|
||||
# Doesn't need to update the system explicitly
|
||||
pass
|
||||
|
||||
|
||||
class PMXbps(PackageManager):
|
||||
backend = "xbps"
|
||||
|
||||
@ -289,6 +293,7 @@ class PMXbps(PackageManager):
|
||||
def update_system(self):
|
||||
check_target_env_call(["xbps", "-Suy"])
|
||||
|
||||
|
||||
class PMPacman(PackageManager):
|
||||
backend = "pacman"
|
||||
|
||||
@ -311,6 +316,31 @@ class PMPacman(PackageManager):
|
||||
check_target_env_call(["pacman", "-Su", "--noconfirm"])
|
||||
|
||||
|
||||
class PMPamac(PackageManager):
|
||||
backend = "pamac"
|
||||
|
||||
def del_db_lock(self, lock="/var/lib/pacman/db.lck"):
|
||||
# In case some error or crash, the database will be locked,
|
||||
# resulting in remaining packages not being installed.
|
||||
check_target_env_call(["rm", "-f", lock])
|
||||
|
||||
def install(self, pkgs, from_local=False):
|
||||
self.del_db_lock()
|
||||
check_target_env_call([self.backend, "install", "--no-confirm"] + pkgs)
|
||||
|
||||
def remove(self, pkgs):
|
||||
self.del_db_lock()
|
||||
check_target_env_call([self.backend, "remove", "--no-confirm"] + pkgs)
|
||||
|
||||
def update_db(self):
|
||||
self.del_db_lock()
|
||||
check_target_env_call([self.backend, "update", "--no-confirm"])
|
||||
|
||||
def update_system(self):
|
||||
self.del_db_lock()
|
||||
check_target_env_call([self.backend, "upgrade", "--no-confirm"])
|
||||
|
||||
|
||||
class PMPortage(PackageManager):
|
||||
backend = "portage"
|
||||
|
||||
|
@ -1,16 +1,19 @@
|
||||
---
|
||||
#
|
||||
# Which package manager to use, options are:
|
||||
# - packagekit - PackageKit CLI tool
|
||||
# - zypp - Zypp RPM frontend
|
||||
# - yum - Yum RPM frontend
|
||||
# - dnf - DNF, the new RPM frontend
|
||||
# - urpmi - Mandriva package manager
|
||||
# - apk - Alpine Linux package manager
|
||||
# - apt - APT frontend for DEB and RPM
|
||||
# - pacman - Pacman
|
||||
# - portage - Gentoo package manager
|
||||
# - dnf - DNF, the new RPM frontend
|
||||
# - entropy - Sabayon package manager
|
||||
# - apk = Alpine Linux package manager
|
||||
# - packagekit - PackageKit CLI tool
|
||||
# - pacman - Pacman
|
||||
# - pamac - Manjaro package manager
|
||||
# - portage - Gentoo package manager
|
||||
# - urpmi - Mandriva package manager
|
||||
# - yum - Yum RPM frontend
|
||||
# - zypp - Zypp RPM frontend
|
||||
#
|
||||
# Not actually a package manager, but suitable for testing:
|
||||
# - dummy - Dummy manager, only logs
|
||||
#
|
||||
backend: dummy
|
||||
|
@ -4,30 +4,40 @@ $id: https://calamares.io/schemas/packages
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"backend": { type: string, required: true, enum: [packagekit, zypp, yum, dnf, urpmi, apt, pacman, portage, entropy] }
|
||||
"update_db": { type: boolean, default: true }
|
||||
"operations":
|
||||
type: seq
|
||||
sequence:
|
||||
- type: map
|
||||
mapping:
|
||||
"install":
|
||||
type: seq
|
||||
sequence:
|
||||
- { type: text }
|
||||
"remove":
|
||||
type: seq
|
||||
sequence:
|
||||
- { type: text }
|
||||
"localInstall":
|
||||
type: seq
|
||||
sequence:
|
||||
- { type: text }
|
||||
"try_install":
|
||||
type: seq
|
||||
sequence:
|
||||
- { type: text }
|
||||
"try_remove":
|
||||
type: seq
|
||||
sequence:
|
||||
- { type: text }
|
||||
backend:
|
||||
type: string
|
||||
enum:
|
||||
- apk
|
||||
- apt
|
||||
- dnf
|
||||
- entropy
|
||||
- packagekit
|
||||
- pacman
|
||||
- pamac
|
||||
- portage
|
||||
- urpmi
|
||||
- yum
|
||||
- zypp
|
||||
- dummy
|
||||
|
||||
update_db: { type: boolean, default: true }
|
||||
update_system: { type: boolean, default: false }
|
||||
skip_if_no_internet: { type: boolean, default: false }
|
||||
|
||||
operations:
|
||||
type: array
|
||||
items:
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
# TODO: these are either-string-or-struct items,
|
||||
# need their own little schema.
|
||||
install: { type: array }
|
||||
remove: { type: array }
|
||||
try_install: { type: array }
|
||||
try_remove: { type: array }
|
||||
localInstall: { type: array }
|
||||
source: { type: string }
|
||||
|
||||
|
||||
required: [ backend ]
|
||||
|
@ -92,6 +92,19 @@ isIso9660( const Device* device )
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
isZRam( const Device* device )
|
||||
{
|
||||
const QString path = device->deviceNode();
|
||||
return path.startsWith( "/dev/zram" );
|
||||
}
|
||||
|
||||
static inline bool
|
||||
isFloppyDrive( const Device* device )
|
||||
{
|
||||
const QString path = device->deviceNode();
|
||||
return path.startsWith( "/dev/fd" ) || path.startsWith( "/dev/floppy" );
|
||||
}
|
||||
|
||||
static inline QDebug&
|
||||
operator<<( QDebug& s, QList< Device* >::iterator& it )
|
||||
@ -112,7 +125,7 @@ erase( DeviceList& l, DeviceList::iterator& it )
|
||||
}
|
||||
|
||||
QList< Device* >
|
||||
getDevices( DeviceType which, qint64 minimumSize )
|
||||
getDevices( DeviceType which )
|
||||
{
|
||||
bool writableOnly = ( which == DeviceType::WritableOnly );
|
||||
|
||||
@ -138,11 +151,16 @@ getDevices( DeviceType which, qint64 minimumSize )
|
||||
cDebug() << Logger::SubEntry << "Skipping nullptr device";
|
||||
it = erase( devices, it );
|
||||
}
|
||||
else if ( ( *it )->deviceNode().startsWith( "/dev/zram" ) )
|
||||
else if ( isZRam( *it ) )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "Removing zram" << it;
|
||||
it = erase( devices, it );
|
||||
}
|
||||
else if ( isFloppyDrive( ( *it ) ) )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "Removing floppy disk" << it;
|
||||
it = erase( devices, it );
|
||||
}
|
||||
else if ( writableOnly && hasRootPartition( *it ) )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "Removing device with root filesystem (/) on it" << it;
|
||||
@ -153,11 +171,6 @@ getDevices( DeviceType which, qint64 minimumSize )
|
||||
cDebug() << Logger::SubEntry << "Removing device with iso9660 filesystem (probably a CD) on it" << it;
|
||||
it = erase( devices, it );
|
||||
}
|
||||
else if ( ( minimumSize >= 0 ) && !( ( *it )->capacity() > minimumSize ) )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "Removing too-small" << it;
|
||||
it = erase( devices, it );
|
||||
}
|
||||
else
|
||||
{
|
||||
++it;
|
||||
|
@ -40,12 +40,9 @@ enum class DeviceType
|
||||
* the system, filtering out those that do not meet a criterium.
|
||||
* If set to WritableOnly, only devices which can be overwritten
|
||||
* safely are returned (e.g. RO-media are ignored, as are mounted partitions).
|
||||
* @param minimumSize Can be used to filter devices based on their
|
||||
* size (in bytes). If non-negative, only devices with a size
|
||||
* greater than @p minimumSize will be returned.
|
||||
* @return a list of Devices meeting this criterium.
|
||||
*/
|
||||
QList< Device* > getDevices( DeviceType which = DeviceType::All, qint64 minimumSize = -1 );
|
||||
QList< Device* > getDevices( DeviceType which = DeviceType::All );
|
||||
|
||||
} // namespace PartUtils
|
||||
|
||||
|
@ -122,6 +122,7 @@ PartitionViewStep::~PartitionViewStep()
|
||||
{
|
||||
m_manualPartitionPage->deleteLater();
|
||||
}
|
||||
delete m_core;
|
||||
}
|
||||
|
||||
|
||||
|
@ -93,6 +93,10 @@ mapForPartition( Partition* partition, const QString& uuid )
|
||||
map[ "device" ] = partition->partitionPath();
|
||||
map[ "partlabel" ] = partition->label();
|
||||
map[ "partuuid" ] = partition->uuid();
|
||||
#ifdef WITH_KPMCORE42API
|
||||
map[ "parttype" ] = partition->type();
|
||||
map[ "partattrs" ] = partition->attributes();
|
||||
#endif
|
||||
map[ "mountPoint" ] = PartitionInfo::mountPoint( partition );
|
||||
map[ "fsName" ] = userVisibleFS( partition->fileSystem() );
|
||||
map[ "fs" ] = untranslatedFS( partition->fileSystem() );
|
||||
@ -110,6 +114,7 @@ mapForPartition( Partition* partition, const QString& uuid )
|
||||
using TR = Logger::DebugRow< const char* const, const QString& >;
|
||||
deb << Logger::SubEntry << "mapping for" << partition->partitionPath() << partition->deviceNode()
|
||||
<< TR( "partlabel", map[ "partlabel" ].toString() ) << TR( "partuuid", map[ "partuuid" ].toString() )
|
||||
<< TR( "parttype", map[ "partype" ].toString() ) << TR( "partattrs", map[ "partattrs" ].toString() )
|
||||
<< TR( "mountPoint:", PartitionInfo::mountPoint( partition ) ) << TR( "fs:", map[ "fs" ].toString() )
|
||||
<< TR( "fsName", map[ "fsName" ].toString() ) << TR( "uuid", uuid )
|
||||
<< TR( "claimed", map[ "claimed" ].toString() );
|
||||
|
Loading…
Reference in New Issue
Block a user